This commit is contained in:
aozhiwei 2022-03-11 17:11:24 +08:00
parent f02f2e2927
commit bb6f073569
2 changed files with 20 additions and 7 deletions

View File

@ -241,7 +241,10 @@ class MissionController extends BaseAuthedController {
public function boostOfferRewardMission() public function boostOfferRewardMission()
{ {
$missionId = getReqVal('mission_id', 0); $missionId = getReqVal('mission_id', 0);
$this->missionService->boostOfferRewardMission($missionId); $this->missionService->boostOfferRewardMission(
$missionId,
$this->awardService,
$this->propertyChgService);
} }
} }

View File

@ -4,6 +4,7 @@ namespace services;
require_once('mt/Task.php'); require_once('mt/Task.php');
require_once('mt/Parameter.php'); require_once('mt/Parameter.php');
require_once('mt/Drop.php');
require_once('models/Mission.php'); require_once('models/Mission.php');
require_once('models/Battle.php'); require_once('models/Battle.php');
@ -684,7 +685,7 @@ class MissionService extends BaseService {
myself()->_rspOk(); myself()->_rspOk();
} }
public function boostOfferRewardMission($missionId) public function boostOfferRewardMission($missionId, $awardService, $propertyChgService)
{ {
$idx = 0; $idx = 0;
$mission = null; $mission = null;
@ -692,13 +693,14 @@ class MissionService extends BaseService {
myself()->_rspErr(1, 'mission_id parameter error'); myself()->_rspErr(1, 'mission_id parameter error');
return; return;
} }
if ($mission['sendtime'] > 0) { /*$leftTime = max(0, ($mission['sendtime'] + $missionMeta['time'] + 1000)-myself()->_getNowTime());
myself()->_rspErr(1, 'mission_id parameter error2'); if ($leftTime > 0) {
myself()->_rspErr(1, 'mission_id parameter error' . $leftTime);
return; return;
} }*/
$missionMeta = mt\Task::get($missionId); $missionMeta = mt\Task::get($missionId);
if (!$missionMeta) { if (!$missionMeta) {
myself()->_rspErr(1, 'mission_id parameter error2'); myself()->_rspErr(1, 'mission_id parameter error3');
return; return;
} }
if (myself()->_getItemCount(V_ITEM_DIAMOND, $this->userInfo) < $missionMeta['boost']){ if (myself()->_getItemCount(V_ITEM_DIAMOND, $this->userInfo) < $missionMeta['boost']){
@ -711,9 +713,17 @@ class MissionService extends BaseService {
'item_num' => $missionMeta['boost'] 'item_num' => $missionMeta['boost']
) )
)); ));
$dropMeta = mt\Drop::get($missionMeta['reward']);
if (!$dropMeta) {
myself()->_rspErr(10, 'server internal error:' . $missionMeta['reward']);
return;
}
myself()->_scatterDrop('mission:' . $missionId, $dropMeta, $awardService, $propertyChgService);
$this->removeOfferRewardMission($missionId); $this->removeOfferRewardMission($missionId);
$this->saveOfferRewardMission(); $this->saveOfferRewardMission();
myself()->_rspOk(); myself()->_rspData(array(
'award' => $awardService->toDto(),
));
} }
private function getOfferRewardMissionById($missionId, &$mission, &$idx) private function getOfferRewardMissionById($missionId, &$mission, &$idx)