From 687bdadbfa776c301a8adc1b18f3c0da4a4581ce Mon Sep 17 00:00:00 2001 From: hujiabin <519660157@qq.com> Date: Mon, 23 Sep 2024 11:44:32 +0800 Subject: [PATCH] 1 --- doc/OutAppCircuit.py | 31 +++++++++++++++++++ .../OutAppCircuitController.class.php | 31 +++++++++++++++++++ webapp/models/CircuitReward.php | 12 +++++++ webapp/mt/CircuitTime.php | 2 +- 4 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 doc/OutAppCircuit.py diff --git a/doc/OutAppCircuit.py b/doc/OutAppCircuit.py new file mode 100644 index 00000000..79890d2d --- /dev/null +++ b/doc/OutAppCircuit.py @@ -0,0 +1,31 @@ +import _common + +class OutAppTools(object): + + def __init__(self): + self.apis = [ + { + 'name': 'getCircuitRewardHistory', + 'desc': '获取巡回赛奖励记录', + 'group': 'OutAppCircuit', + 'url': 'webapp/index.php?c=OutAppCircuit&a=getCircuitRewardHistory', + 'params': [ + ['address', '0', 'address'], + ], + 'response': [ + _common.RspHead(), + ['!data', [rewardInfo()], '奖励信息'], + ] + }, + + ] + + +class rewardInfo(object): + + def __init__(self): + self.fields = [ + ['start_time', 0, '阶段开始时间'], + ['end_time', 0, '阶段结束时间'], + ['reward', 0, '-1:未结算 0:结算无奖励'], + ] \ No newline at end of file diff --git a/webapp/controller/OutAppCircuitController.class.php b/webapp/controller/OutAppCircuitController.class.php index 26b6f5b6..c9fd2927 100644 --- a/webapp/controller/OutAppCircuitController.class.php +++ b/webapp/controller/OutAppCircuitController.class.php @@ -17,6 +17,37 @@ use models\Circuit; use models\User; class OutAppCircuitController extends BaseController { + public function getCircuitRewardHistory(){ + $address = getReqVal('address', ''); + if (empty($address)){ + myself()->_rspErr(1, 'param error'); + return; + } + $user = User::findByAddress($address); + if (!$user){ + myself()->_rspErr(1, 'user not found'); + return; + } + $data = array(); + $currentCircuitMeta = mt\CircuitTime::getCurrentCircuit(); + if ($currentCircuitMeta){ + $metas = mt\CircuitTime::getListBySeason($currentCircuitMeta['circuit_season']); + foreach ($metas as $meta){ + $info = array( + 'start_time' => strtotime($meta['start_time']), + 'end_time' => strtotime($meta['end_time']), + 'reward' => -1, + ); + $rewardDb = CircuitReward::find($address,$currentCircuitMeta['circuit_season'],$meta['circuit_phase']); + if ($rewardDb){ + $info['reward'] = $rewardDb['reward_num']; + } + array_push($data,$info); + } + } + $this->_rspData(array('data' => $data)); + } + public function circuitSettlement(){ $currentStageMeta = \mt\CircuitTime::getCurrentStage(); diff --git a/webapp/models/CircuitReward.php b/webapp/models/CircuitReward.php index 26367933..dd6293ef 100644 --- a/webapp/models/CircuitReward.php +++ b/webapp/models/CircuitReward.php @@ -7,6 +7,18 @@ use mt; use phpcommon\SqlHelper; class CircuitReward extends BaseModel { + public static function find($address, $season, $stage){ + return SqlHelper::ormSelectOne( + myself()->_getMysql(''), + 't_circuit_reward', + array( + 'address' => $address, + 'season' => $season, + 'stage' => $stage + ) + ); + } + public static function _verifySettlement($season,$stage){ $row = SqlHelper::ormSelectOne( myself()->_getMysql(''), diff --git a/webapp/mt/CircuitTime.php b/webapp/mt/CircuitTime.php index 1eb61c36..75c1040d 100644 --- a/webapp/mt/CircuitTime.php +++ b/webapp/mt/CircuitTime.php @@ -60,7 +60,7 @@ class CircuitTime { return $metas; } - private static function getListBySeason($season){ + public static function getListBySeason($season){ $metas =array(); foreach (self::getMetaList() as $meta){ if ($meta['circuit_season'] == $season && $meta['circuit_time_type'] == self::STAGE_SEASON_TYPE){