From ed24fd5b48a8648f58fc55e6a5ece0d2c5007f3a Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 6 Jun 2022 09:26:36 +0800 Subject: [PATCH] 1 --- webapp/models/Gun.php | 1 + webapp/models/Hero.php | 1 + webapp/services/MissionService.php | 42 +++++++++++++++++++++++++++--- 3 files changed, 41 insertions(+), 3 deletions(-) diff --git a/webapp/models/Gun.php b/webapp/models/Gun.php index 6ead6479..20e48fd4 100644 --- a/webapp/models/Gun.php +++ b/webapp/models/Gun.php @@ -22,6 +22,7 @@ class Gun extends BaseModel { const NO_LOCK = 0; const LEVEL_LOCK = 1; const QUALITY_LOCK = 2; + const SEND_LOCK = 3; public static function find($gunUniId) { diff --git a/webapp/models/Hero.php b/webapp/models/Hero.php index f35a6158..1e1d2366 100644 --- a/webapp/models/Hero.php +++ b/webapp/models/Hero.php @@ -25,6 +25,7 @@ class Hero extends BaseModel { const NO_LOCK = 0; const LEVEL_LOCK = 1; const QUALITY_LOCK = 2; + const SEND_LOCK = 3; public static function find($heroUniId) { diff --git a/webapp/services/MissionService.php b/webapp/services/MissionService.php index e15fc939..decfef40 100644 --- a/webapp/services/MissionService.php +++ b/webapp/services/MissionService.php @@ -10,6 +10,7 @@ require_once('models/Mission.php'); require_once('models/Battle.php'); require_once('models/BigData.php'); require_once('models/Hero.php'); +require_once('models/Gun.php'); use phpcommon\SqlHelper; use mt; @@ -18,6 +19,7 @@ use models\Mission; use models\Battle; use models\BigData; use models\Hero; +use models\Gun; /* offer.reward.missions @@ -674,6 +676,12 @@ class MissionService extends BaseService { break; } } + error_log(json_encode(array( + 'heroCount' => $heroCount, + 'gunCount' => $gunCount, + 'param3' => $missionMeta['param3'], + 'param4' => $missionMeta['param4'], + ))); if ($heroCount > $missionMeta['param3']) { myself()->_rspErr(1, 'hero number error'); return; @@ -682,9 +690,36 @@ class MissionService extends BaseService { myself()->_rspErr(1, 'gun number error'); return; } - { - } $mission['sendtime'] = myself()->_getNowTime(); + { + foreach ($mission['objects'] as $obj) { + switch ($obj['type']) { + case 0: + { + Gun::Update + ($obj['id'], + array( + 'lock_type' => Gun::SEND_LOCK, + 'unlock_time' => myself()->_getNowTime() + $missionMeta['time'] + )); + } + case 1: + { + Hero::Update + ($obj['id'], + array( + 'lock_type' => Hero::SEND_LOCK, + 'unlock_time' => myself()->_getNowTime() + $missionMeta['time'] + )); + } + break; + default: + { + } + break; + } + } + } error_log(json_encode($mission)); $this->offerRewartdMission['missions'][$idx] = $mission; $this->saveOfferRewardMission(); @@ -695,9 +730,10 @@ class MissionService extends BaseService { public function cancelOfferRewardMission($missionId, $propertyChgService) { foreach ($this->offerRewartdMission['missions'] as &$mission) { - if ($mission['mission_id'] > $missionId) { + if ($mission['mission_id'] == $missionId) { $mission['sendtime'] = 0; $mission['objects'] = array(); + error_log(json_encode($mission)); } } $this->saveOfferRewardMission();