From 8c67ec43ee3287e4513cf0d71515654df0aa07d9 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 8 Dec 2021 10:46:36 +0800 Subject: [PATCH] 1 --- webapp/controller/MissionController.class.php | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/webapp/controller/MissionController.class.php b/webapp/controller/MissionController.class.php index 7811164..21a0b87 100644 --- a/webapp/controller/MissionController.class.php +++ b/webapp/controller/MissionController.class.php @@ -1,6 +1,5 @@ _rspErr(10, '服务器内部错误drop错误'); return; } - $propertyChgService = new services\PropertyChgService(); - $awardService = new services\AwardService(); - $this->_scatterDrop($dropMeta, $awardService, $propertyChgService); + $this->_scatterDrop($dropMeta, $this->awardService, $this->propertyChgService); Mission::add($missionId); $missionDb = Mission::find($missionId); $missionDto = $this->getMissionDto($missionDb, $missionMeta); $this->_rspData(array( - 'award' => $awardService->toDto(), - 'property_chg' => $propertyChgService->toDto(), + 'award' => $this->awardService->toDto(), + 'property_chg' => $this->propertyChgService->toDto(), 'mission_chg' => $missionDto )); } @@ -125,15 +122,20 @@ class MissionController extends BaseAuthedController { foreach ($missionMetaList as $missionMeta) { $missionDb = getXVal($missionHash, $missionMeta['id'], null); $missionDto = $this->getMissionDto($this->userInfo, $this->seasonDb, $missionDb, $missionMeta); - array_push($missionDtoList, $missionDto); + if ($missionDto['state'] == Mission::RECEIVEABLE_STATE) { + array_push($missionDtoList, $missionDto); + } + } + foreach ($missionDtoList as $missionDto) { + $missionMeta = mt\Mission::get($missionDto['mission_id']); + $dropMeta = mt\Drop::get($missionMeta['reward']); + if ($dropMeta) { + $this->_scatterDrop($dropMeta, $this->awardService, $this->propertyChgService); + } } - $propertyChgService = new services\PropertyChgService(); - $awardService = new services\AwardService(); - $this->_scatterDrop($dropMeta, $awardService, $propertyChgService); - Mission::add($missionId); $this->_rspData(array( - 'award' => $awardService->toDto(), - 'property_chg' => $propertyChgService->toDto(), + 'award' => $this->awardService->toDto(), + 'property_chg' => $this->propertyChgService->toDto(), )); }