This commit is contained in:
aozhiwei 2024-08-01 13:11:40 +08:00
parent 112e52ec9d
commit b4b97656e6
3 changed files with 49 additions and 10 deletions

View File

@ -10,7 +10,7 @@ class BaseController {
private $relationDbConn = null; private $relationDbConn = null;
private $mailDbConn = null; private $mailDbConn = null;
private $timeOffset = 0; private $timeOffset = 0;
private $serviceHash = array(); private $moduleHash = array();
function __construct() function __construct()
{ {
@ -278,24 +278,56 @@ class BaseController {
public function _getServiceConstant($serviceName, $name) public function _getServiceConstant($serviceName, $name)
{ {
$this->_mustBeLoadService($serviceName); return $this->_internalGetModuleConstant('services', $serviceName, $name);
$reflectionConstant = new ReflectionClassConstant('services\\' . $serviceName, $name);
return $reflectionConstant->getValue();;
} }
public function _callServiceStatic($serviceName, $funcName, ...$args) public function _callServiceStatic($serviceName, $funcName, ...$args)
{ {
$this->_mustBeLoadService($serviceName); return $this->_internalCallModuleStatic('services', $serviceName, $funcName, ... $args);
$method = new ReflectionMethod('services\\' . $serviceName, $funcName); }
public function _getModelConstant($modelName, $name)
{
return $this->_internalGetModuleConstant('models', $modelName, $name);
}
public function _callModelStatic($modelName, $funcName, ...$args)
{
return $this->_internalCallModuleStatic('models', $modelName, $funcName, ... $args);
}
public function _getMtConstant($modelName, $name)
{
return $this->_internalGetModuleConstant('mt', $modelName, $name);
}
public function _callMtStatic($modelName, $funcName, ...$args)
{
return $this->_internalCallModuleStatic('mt', $modelName, $funcName, ... $args);
}
private function _internalGetModuleConstant($dir, $moduleName, $name)
{
$fullName = $dir . '\\' . $moduleName;
$this->_internalMustBeLoadModule($fullName);
$reflectionConstant = new ReflectionClassConstant($fullName, $name);
return $reflectionConstant->getValue();;
}
private function _internalCallModuleStatic($dir, $moduleName, $funcName, ...$args)
{
$fullName = $dir . '\\' . $moduleName;
$this->_internalMustBeLoadModule($fullName);
$method = new ReflectionMethod($fullName, $funcName);
$ret = $method->invoke(null, ...$args); $ret = $method->invoke(null, ...$args);
return $ret; return $ret;
} }
private function _mustBeLoadService($serviceName) private function _internalMustBeLoadModule($fullName)
{ {
if (!array_key_exists($serviceName, $this->serviceHash)) { if (!array_key_exists($fullName, $this->moduleHash)) {
require_once('services/' . $serviceName . '.php'); require_once($fullName . '.php');
$this->serviceHash[$serviceName] = $this->_getNowTime(); $this->moduleHash[$fullName] = $this->_getNowTime();
} }
} }

View File

@ -22,4 +22,9 @@ class BigwheelController extends BaseAuthedController
public function buyS(){ public function buyS(){
} }
private function getMidDataKey()
{
return myself()->_getServiceConstant();
}
} }

View File

@ -7,6 +7,8 @@ use phpcommon\SqlHelper;
class MidData extends BaseModel { class MidData extends BaseModel {
const BIG_WHEEL_TYPE = 'offer.reward.missions';
public static function getData($type) public static function getData($type)
{ {
$row = SqlHelper::ormSelectOne( $row = SqlHelper::ormSelectOne(