This commit is contained in:
aozhiwei 2021-12-01 12:02:26 +08:00
parent ec8231e4eb
commit a2aebe000f
4 changed files with 29 additions and 21 deletions

View File

@ -7,13 +7,19 @@ require_once('mt/Item.php');
require_once('mt/Parameter.php'); require_once('mt/Parameter.php');
require_once('mt/Drop.php'); require_once('mt/Drop.php');
require_once('models/User.php');
require_once('models/Hero.php'); require_once('models/Hero.php');
require_once('models/HeroSkin.php');
require_once('models/GunSkin.php');
require_once('models/ShopBuyRecord.php'); require_once('models/ShopBuyRecord.php');
require_once('services/AwardService.php'); require_once('services/AwardService.php');
use phpcommon\SqlHelper; use phpcommon\SqlHelper;
use models\User;
use models\Hero; use models\Hero;
use models\HeroSkin;
use models\GunSkin;
use models\ShopBuyRecord; use models\ShopBuyRecord;
class ShopController extends BaseAuthedController { class ShopController extends BaseAuthedController {
@ -177,7 +183,7 @@ class ShopController extends BaseAuthedController {
$this->_rspErr(2, '配置表错误'); $this->_rspErr(2, '配置表错误');
return; return;
} }
$costItems = $this->getCostTimes($priceInfo, $costItemId); $costItems = $this->getCostItems($priceInfo, $costItemId);
if (empty($costItems)) { if (empty($costItems)) {
$this->_rspErr(2, '配置表错误2'); $this->_rspErr(2, '配置表错误2');
return; return;
@ -283,7 +289,7 @@ class ShopController extends BaseAuthedController {
} }
$costItemMeta = mt\Item::get($costItemId); $costItemMeta = mt\Item::get($costItemId);
if (!$costItemMeta) { if (!$costItemMeta) {
$this->_rspErr(1, 'item_id参数错误'); $this->_rspErr(1, 'cost_item_id参数错误');
return; return;
} }
$types = array(mt\Item::HERO_TYPE, $types = array(mt\Item::HERO_TYPE,
@ -306,7 +312,7 @@ class ShopController extends BaseAuthedController {
$this->_rspErr(2, '配置表错误'); $this->_rspErr(2, '配置表错误');
return; return;
} }
$costItems = $this->getCostTimes($priceInfo, $costItemId); $costItems = $this->getCostItems($priceInfo, $costItemId);
if (empty($costItems)) { if (empty($costItems)) {
$this->_rspErr(2, '配置表错误2'); $this->_rspErr(2, '配置表错误2');
return; return;
@ -341,7 +347,7 @@ class ShopController extends BaseAuthedController {
$goodsDto['price_info'] = $priceInfo; $goodsDto['price_info'] = $priceInfo;
} }
} }
$this->rspData(array( $this->_rspData(array(
'award' => $awardService->toDto(), 'award' => $awardService->toDto(),
'property_chg' => array( 'property_chg' => array(
'user_info' => User::info($this->_getOrmUserInfo()) 'user_info' => User::info($this->_getOrmUserInfo())
@ -394,7 +400,7 @@ class ShopController extends BaseAuthedController {
private function getCostItems($priceInfo, $costItemId) private function getCostItems($priceInfo, $costItemId)
{ {
$costGroup = null; $costGroup = null;
array_walk($priceInfo['cost_list'], function ($val) use(&$costGroup, $costItemId) { array_walk($priceInfo['price_info']['cost_list'], function ($val) use(&$costGroup, $costItemId) {
if ($costGroup) { if ($costGroup) {
return; return;
} }
@ -408,8 +414,7 @@ class ShopController extends BaseAuthedController {
} }
$costItems = array(); $costItems = array();
array_walk($costGroup, function ($val) use (&$costItems, $priceInfo) { array_walk($costGroup, function ($val) use (&$costItems, $priceInfo) {
if ($val['is_discount'] && if ($val['discount'] > 0 &&
$priceInfo['discount'] > 0 &&
$this->_getNowTime() >= $priceInfo['discount_begin_time'] && $this->_getNowTime() >= $priceInfo['discount_begin_time'] &&
$this->_getNowTime() <= $priceInfo['discount_end_time'] $this->_getNowTime() <= $priceInfo['discount_end_time']
) { ) {
@ -460,7 +465,7 @@ class ShopController extends BaseAuthedController {
case mt\Item::HERO_TYPE: case mt\Item::HERO_TYPE:
{ {
$heroDb = Hero::find($itemMeta['id']); $heroDb = Hero::find($itemMeta['id']);
if (!$heroDb) { if ($heroDb) {
$errCode = 10; $errCode = 10;
$errMsg = '你已经拥有该英雄'; $errMsg = '你已经拥有该英雄';
return false; return false;
@ -470,7 +475,7 @@ class ShopController extends BaseAuthedController {
case mt\Item::HERO_SKIN_TYPE: case mt\Item::HERO_SKIN_TYPE:
{ {
$heroSkinDb = HeroSkin::find($itemMeta['id']); $heroSkinDb = HeroSkin::find($itemMeta['id']);
if (!$heroSkinDb) { if ($heroSkinDb) {
$errCode = 10; $errCode = 10;
$errMsg = '你已经拥有该皮肤'; $errMsg = '你已经拥有该皮肤';
return false; return false;
@ -480,7 +485,7 @@ class ShopController extends BaseAuthedController {
case mt\Item::GUN_SKIN_TYPE: case mt\Item::GUN_SKIN_TYPE:
{ {
$gunSkinDb = GunSkin::find($itemMeta['id']); $gunSkinDb = GunSkin::find($itemMeta['id']);
if (!$gunSkinDb) { if ($gunSkinDb) {
$errCode = 10; $errCode = 10;
$errMsg = '你已经拥有该皮肤'; $errMsg = '你已经拥有该皮肤';
return false; return false;

View File

@ -34,14 +34,14 @@ class HeroSkin extends BaseModel {
); );
} }
public static function addSkin($skinId) public static function addSkin($itemMeta)
{ {
SqlHelper::upsert( SqlHelper::upsert(
myself()->_getSelfMysql(), myself()->_getSelfMysql(),
't_hero_skin', 't_hero_skin',
array( array(
'account_id' => myself()->_getAccountId(), 'account_id' => myself()->_getAccountId(),
'skin_id' => $skinId 'skin_id' => $itemMeta['id']
), ),
array( array(
'skin_state' => 3, 'skin_state' => 3,
@ -49,7 +49,7 @@ class HeroSkin extends BaseModel {
), ),
array( array(
'account_id' => myself()->_getAccountId(), 'account_id' => myself()->_getAccountId(),
'skin_id' => $skinId, 'skin_id' => $itemMeta['id'],
'skin_state' => 0, 'skin_state' => 0,
'get_from' => 0, 'get_from' => 0,
'consume_num' => 0, 'consume_num' => 0,

View File

@ -95,17 +95,20 @@ class Item {
if ($meta['gold'] > 0) { if ($meta['gold'] > 0) {
array_push($info['price_info']['cost_list'], array_push($info['price_info']['cost_list'],
array( array(
'item_id' => V_ITEM_GOLD, array(
'item_num' => $meta['gold'], 'item_id' => V_ITEM_GOLD,
'discount' => count($discount) > 0 ? (int)$discount[0] : 0 'item_num' => $meta['gold'],
)); 'discount' => count($discount) > 0 ? (int)$discount[0] : 0
)));
} }
if ($meta['diamond_price'] > 0) { if ($meta['diamond_price'] > 0) {
array_push($info['price_info']['cost_list'], array_push($info['price_info']['cost_list'],
array( array(
'item_id' => V_ITEM_DIAMOND, array(
'item_num' => $meta['diamond_price'], 'item_id' => V_ITEM_DIAMOND,
'discount' => count($discount) > 1 ? (int)$discount[1] : 0 'item_num' => $meta['diamond_price'],
'discount' => count($discount) > 1 ? (int)$discount[1] : 0
)
)); ));
} }
return $info; return $info;

View File

@ -8,7 +8,7 @@ class AwardService extends BaseService {
public function addItem($itemId, $itemNum) public function addItem($itemId, $itemNum)
{ {
array_push($items, array( array_push($this->items, array(
'item_id' => $itemId, 'item_id' => $itemId,
'item_num' => $itemNum 'item_num' => $itemNum
)); ));