This commit is contained in:
aozhiwei 2024-07-26 14:04:04 +08:00
commit 8abfa414dc
2 changed files with 55 additions and 3 deletions

View File

@ -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(

View File

@ -0,0 +1,40 @@
<?php
namespace models;
require_once('models/BuyRecord.php');
use phpcommon\SqlHelper;
class Recharge
{
public static function addOrder($goodsId){
$orderId = BuyRecord::genOrderId
(
GAME_ID,
phpcommon\BC_FUNC_CREATION,
myself()->_getNowTime(),
myself()->_getAddress()
);
SqlHelper::insert
(myself()->_getSelfMysql(),
't_recharge_order',
array(
'order_id' => $orderId,
'account_id' => myself()->_getAccountId(),
'account_address' => myself()->_getAddress(),
'currency_address' => '0xfd42bfb03212da7e1a4608a44d7658641d99cf34',
'currency_name' => 'TestToken',
'status' => 0,
'item_id' => $goodsId,
'item_num' => 1,
'price' => 1,
'createtime' => myself()->_getNowTime(),
'modifytime' => myself()->_getNowTime(),
)
);
return $orderId;
}
}