diff --git a/webapp/controller/BagController.class.php b/webapp/controller/BagController.class.php index c5ba6a40..94e132a0 100644 --- a/webapp/controller/BagController.class.php +++ b/webapp/controller/BagController.class.php @@ -3,8 +3,10 @@ require_once('mt/Parameter.php'); require_once('mt/Item.php'); require_once('mt/Drop.php'); +require_once('mt/Hero.php'); require_once('models/Bag.php'); +require_once('models/Hero.php'); require_once('services/AwardService.php'); require_once('services/PropertyChgService.php'); @@ -13,6 +15,7 @@ require_once('services/NameService.php'); use phpcommon\SqlHelper; use models\Bag; +use models\Hero; class BagController extends BaseAuthedController { @@ -228,6 +231,19 @@ class BagController extends BaseAuthedController { { $errCode = 0; $errMsg = ''; + $heroUniId = $param1; + $heroDb = Hero::find($heroUniId); + if (!$heroDb) { + $this->_rspErr(1, "You don't have the hero yet"); + return; + } + Hero::addTili($heroUniId, $itemMeta['param1']); + Bag::decItemByUnIid($heroUniId, $itemNum); + $this->propertyChgService->addBagChg(); + $this->propertyChgService->addHeroChg(); + $this->_rspData(array( + 'property_chg' => $this->propertyChgService->toDto(), + )); } private function useDurabilityDrug($itemDb, $itemMeta, $itemNum, $param1, $param2, $param3) diff --git a/webapp/models/Bag.php b/webapp/models/Bag.php index bc834406..cb1d180b 100644 --- a/webapp/models/Bag.php +++ b/webapp/models/Bag.php @@ -161,4 +161,22 @@ class Bag extends BaseModel { ); } + public static function decItemByUnIid($itemUniId, $itemNum) + { + SqlHelper::update + (myself()->_getSelfMysql(), + 't_bag', + array( + 'account_id' => myself()->_getAccountId(), + 'idx' => $itemUniId, + ), + array( + 'item_num' => function () use($itemNum) { + return "GREATEST(0, item_num - ${itemNum})"; + }, + 'modifytime' => myself()->_getNowTime(), + ) + ); + } + } diff --git a/webapp/models/Hero.php b/webapp/models/Hero.php index a02cc677..c66c8e66 100644 --- a/webapp/models/Hero.php +++ b/webapp/models/Hero.php @@ -215,4 +215,14 @@ class Hero extends BaseModel { } } + public static function addTili($heroUniId, $tili) + { + self::update($heroUniId, + array( + 'hero_tili' => function () use($tili) { + return "hero_tili + ${tili}"; + }, + )); + } + }