Files
code/application/common/config/BusinessConfig.php
2026-01-29 17:48:51 +08:00

93 lines
2.8 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
/**
* 业务配置类
* 用于区分不同小程序业务的数据表映射
*/
namespace app\common\config;
class BusinessConfig
{
// 业务类型常量
const BUSINESS_ADMIN = 'admin'; // 通用后台
const BUSINESS_ADMINGHD = 'adminghd'; // GHD项目后台
/**
* 获取业务类型对应的数据表映射
* @param string $businessType 业务类型
* @return array
*/
public static function getTableMap($businessType)
{
$maps = [
self::BUSINESS_ADMIN => [
'user' => 'wechat_user',
'real_time_info' => 'wechat_real_time_info',
'calculate_record' => 'wechat_calculate_record',
],
self::BUSINESS_ADMINGHD => [
'user' => 'ghd_wechat_user',
'real_time_info' => 'wechat_real_time_info',
'calculate_record' => 'wechat_calculate_record',
],
];
return isset($maps[$businessType]) ? $maps[$businessType] : $maps[self::BUSINESS_ADMIN];
}
/**
* 获取业务类型对应的Session标识
* @param string $businessType 业务类型
* @return string
*/
public static function getSessionKey($businessType)
{
$keys = [
self::BUSINESS_ADMIN => 'admin_user_id',
self::BUSINESS_ADMINGHD => 'adminghd_user_id',
];
return isset($keys[$businessType]) ? $keys[$businessType] : 'admin_user_id';
}
/**
* 获取业务类型对应的登录时间Session标识
* @param string $businessType 业务类型
* @return string
*/
public static function getLoginTimeKey($businessType)
{
$keys = [
self::BUSINESS_ADMIN => 'admin_user_login_time',
self::BUSINESS_ADMINGHD => 'adminghd_user_login_time',
];
return isset($keys[$businessType]) ? $keys[$businessType] : 'admin_user_login_time';
}
/**
* 根据当前模块名获取业务类型
* @return string
*/
public static function getBusinessTypeByModule()
{
$module = request()->module();
return $module === 'adminghd' ? self::BUSINESS_ADMINGHD : self::BUSINESS_ADMIN;
}
/**
* 获取数据表名
* @param string $tableKey 表键名user, real_time_info, calculate_record
* @param string|null $businessType 业务类型,为空则自动检测
* @return string
*/
public static function getTableName($tableKey, $businessType = null)
{
if ($businessType === null) {
$businessType = self::getBusinessTypeByModule();
}
$map = self::getTableMap($businessType);
return isset($map[$tableKey]) ? $map[$tableKey] : $tableKey;
}
}