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