This commit is contained in:
aozhiwei 2021-12-09 10:31:55 +08:00
parent b2b6d23100
commit 041eb4f995
3 changed files with 23 additions and 4 deletions

View File

@ -250,7 +250,7 @@ class SeasonMission(object):
def __init__(self):
self.fields = [
['state', 0, '0:不可领取 1:可领取 2:已领取'],
['state', 0, '任务状态 0:可领取 1:已领取 2:未完成(不可领取)'],
['current', 0, '当前匹配场次'],
['target', 0, '目标匹配场次'],
['target_rank', 0, '目标段位'],

View File

@ -4,15 +4,19 @@ require_once('mt/Parameter.php');
require_once('mt/Rank.php');
require_once('mt/Season.php');
require_once('models/User.php');
require_once('models/Season.php');
require_once('models/Mission.php');
require_once('services/AwardService.php');
require_once('services/PropertyChgService.php');
require_once('services/SeasonService.php');
require_once('services/MissionService.php');
use phpcommon\SqlHelper;
use models\User;
use models\Season;
use models\Mission;
class SeasonController extends BaseAuthedController {
@ -22,6 +26,7 @@ class SeasonController extends BaseAuthedController {
private $seasonService = null;
private $currSeasonMeta = null;
private $seasonDb = null;
private $missionService = null;
public function _handlePre()
{
@ -48,6 +53,7 @@ class SeasonController extends BaseAuthedController {
$this->_rspErr(10, '服务器内部错误');
die();
}
$this->missionService = new services\MissionService();
}
public function info()
@ -67,7 +73,7 @@ class SeasonController extends BaseAuthedController {
public function getMissionReward()
{
$mission = $this->getMissionInfo();
if ($mission['state'] != 1) {
if ($mission['state'] != Mission::RECEIVEABLE_STATE) {
$this->_rspErr(1, '不可领取');
return;
}
@ -77,11 +83,24 @@ class SeasonController extends BaseAuthedController {
private function getMissionInfo()
{
$info = array(
'state' => 0,
'state' => Mission::NOT_FINISHED_STATE,
'current' => 0,
'target' => 0,
'target_rank' => 0
);
$missionMeta = mt\Task::get($this->currSeasonMeta['task_id']);
if ($missionMeta) {
$info['target_rank'] = $missionMeta['param1'];
$info['target'] = $missionMeta['target'];
$missionDb = Mission::find($missionMeta['id']);
$missionDto = $this->missionService->getMissionDto(
$this->userInfo, $this->seasonDb, $missionDb, $missionMeta);
if ($missionDto) {
$info['state'] = $missionDto['state'];
$info['current'] = $missionDto['current'];
$info['target'] = $missionDto['target'];
}
}
return $info;
}

View File

@ -20,7 +20,7 @@ class Mission extends BaseModel {
't_mission',
array(
'account_id' => myself()->_getAccountId(),
'mission_id' => $missionid,
'mission_id' => $missionId,
)
);
return $row;