From 6204f7cfacd0f1e8bc950a945a36ccafd1785dd9 Mon Sep 17 00:00:00 2001 From: hujiabin <519660157@qq.com> Date: Thu, 25 Jul 2024 18:07:46 +0800 Subject: [PATCH] 1 --- webapp/controller/HeroSkinController.class.php | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/webapp/controller/HeroSkinController.class.php b/webapp/controller/HeroSkinController.class.php index f1a62e07..eb167302 100644 --- a/webapp/controller/HeroSkinController.class.php +++ b/webapp/controller/HeroSkinController.class.php @@ -116,6 +116,8 @@ class HeroSkinController extends BaseAuthedController { public function synSkin(){ $skinId = trim(getReqVal('skin_id', 0)); + $itemId = getReqVal('item_id',0); + $itemNum = getReqVal('item_num',0); $itemMeta = \mt\Item::get($skinId); if ($itemMeta['type'] != \mt\Item::HERO_SKIN_TYPE){ $this->_rspErr(1, 'skin_id error'); @@ -127,10 +129,15 @@ class HeroSkinController extends BaseAuthedController { return; } $needItem = explode(':',$dressMeta['needItem']); + if ($itemId !=$needItem[0] || $itemNum < $needItem[1]){ + $this->_rspErr(1, "item number enough "); + return; + } + $number = floor($itemNum / $needItem[1]); $costItems = array( array( 'item_id' => $needItem[0], - 'item_num' => $needItem[1] + 'item_num' => $needItem[1] * $number ), ); $lackItem = null; @@ -141,7 +148,9 @@ class HeroSkinController extends BaseAuthedController { $this->_decItems($costItems); $propertyChgService = new services\PropertyChgService(); $propertyChgService->addBagChg(); - HeroSkin::addSkin($itemMeta); + for ($i=0; $i<$number; $i++){ + HeroSkin::addSkin($itemMeta); + } $lastIdx = SqlHelper::getLastInsertId( myself()->_getSelfMysql()); $skinDb = HeroSkin::find($lastIdx); $propertyChgService->addHeroSkinChg(); @@ -151,7 +160,10 @@ class HeroSkinController extends BaseAuthedController { 'SUB_KEY' => 'heroSkin_synthesis', 'cost_fragment' => $costItems, 'result' => 1, - 'outcome_skin' => $skinDb, + 'outcome_skin' => array( + 'item_id' => $skinId, + 'item_num' => $number + ), ); LogService::burialPointEvent($event); $this->_rspData(array(