diff --git a/webapp/controller/BaseAuthedController.class.php b/webapp/controller/BaseAuthedController.class.php index 5995533f..b2edd242 100644 --- a/webapp/controller/BaseAuthedController.class.php +++ b/webapp/controller/BaseAuthedController.class.php @@ -8,6 +8,7 @@ require_once('models/Gun.php'); require_once('models/Hero.php'); require_once('models/HeroSkin.php'); require_once('models/GunSkin.php'); +require_once('models/User.php'); require_once('mt/Parameter.php'); use phpcommon\SqlHelper; @@ -17,6 +18,7 @@ use models\Hero; use models\Gun; use models\HeroSkin; use models\GunSkin; +use models\User; class BaseAuthedController extends BaseController { @@ -299,7 +301,9 @@ class BaseAuthedController extends BaseController { case mt\Item::HERO_TYPE: { Hero::addHero($itemMeta); + User::upsertHeadList($itemMeta); $propertyService->addHeroChg(); + $propertyService->addUserChg(); } break; case mt\Item::HERO_SKIN_TYPE: diff --git a/webapp/controller/ChipController.class.php b/webapp/controller/ChipController.class.php index a0a5a410..9bcdfefb 100644 --- a/webapp/controller/ChipController.class.php +++ b/webapp/controller/ChipController.class.php @@ -398,7 +398,8 @@ class ChipController extends BaseAuthedController 'lucky_temporary'=>0, 'strength_max' => $strength_max, 'strength' => $strength_max, - 'upgrade_mint' => $mint_cost + 'upgrade_mint' => $mint_cost, + 'labour' => 0 ]; $userObj = new User(); $user=$userObj->find(myself()->_getAccountId()); diff --git a/webapp/controller/GunController.class.php b/webapp/controller/GunController.class.php index ab828cd6..9b7fc9e2 100644 --- a/webapp/controller/GunController.class.php +++ b/webapp/controller/GunController.class.php @@ -626,6 +626,7 @@ class GunController extends BaseAuthedController { 'quality' => $gunDb['quality'] + 1, 'lock_type' => 0, 'unlock_time' => 0, + 'labour' => 0, ) ); if ($gunDb['quality'] + 1 > myself()->_getV(TN_GUN_MAX_QUALITY, 0)) { diff --git a/webapp/controller/HeroController.class.php b/webapp/controller/HeroController.class.php index b279302e..2e18390c 100644 --- a/webapp/controller/HeroController.class.php +++ b/webapp/controller/HeroController.class.php @@ -424,6 +424,7 @@ class HeroController extends BaseAuthedController { 'advanced_count' => $heroDb['advanced_count'] + 1, 'lock_type' => 0, 'unlock_time' => 0, + 'labour' => 0, ) ); if ($heroDb['quality'] + 1 > myself()->_getV(TN_HERO_MAX_QUALITY, 0)) { diff --git a/webapp/controller/UserController.class.php b/webapp/controller/UserController.class.php index 78fb398f..84851577 100644 --- a/webapp/controller/UserController.class.php +++ b/webapp/controller/UserController.class.php @@ -450,12 +450,12 @@ class UserController extends BaseAuthedController { 'val_func' => function ($val) { return $val; }, - 'valid_func' => function ($val, &$errCode, &$errMsg) use (&$heroId) { - if (Hero::getValidHero($val)) { + 'valid_func' => function ($val, &$errCode, &$errMsg) use ($userInfo) { + if (User::isValidHeroId($userInfo, $val)) { return true; } else { $errCode = 1; - $errMsg = 'hero does not exist'; + $errMsg = 'hero_id parameter error'; return false; } } diff --git a/webapp/models/User.php b/webapp/models/User.php index 8e4a3230..359e0c37 100644 --- a/webapp/models/User.php +++ b/webapp/models/User.php @@ -113,8 +113,14 @@ class User extends BaseModel { public static function isValidHeadId($userInfo, $headId) { - $headList = self::getHeadList($userInfo); - return in_array($headId, $headList); + $headList = self::exportHeadList($userInfo); + return in_array($headId, $headList['head_list']); + } + + public static function isValidHeroId($userInfo, $heroId) + { + $heroList = self::exportHeadList($userInfo); + return in_array($heroId, $heroList['hero_list']); } public static function isValidHeadFrame($userInfo, $headFrame) @@ -220,7 +226,7 @@ class User extends BaseModel { } for ($i = 0; $i < $len - 1; $i++) { for ($j = $i + 1; $j < $len; $j++) { - if ($users[$i]['idx'] < $users[$j]['idx']) { + if ($users[$i]['score'] < $users[$j]['score']) { $tmp = $users[$i]; $users[$i] = $users[$j]; $users[$j] = $tmp; @@ -230,4 +236,31 @@ class User extends BaseModel { return $users; } + public static function allUser(){ + $list = SqlHelper::ormSelect( + myself()->_getSelfMysql(), + 't_user', + array( + ) + ); + return $list ? $list: array(); + } + + public static function upsertHeadList($itemMeta){ + $head = $itemMeta?$itemMeta['normal_gift']:''; + if (!$head){ + return; + } + $userInfo = myself()->_getOrmUserInfo(); + $head_list = emptyReplace(json_decode($userInfo['head_list'], true), array()); + if (in_array($head,$head_list)){ + return; + } + array_push($head_list,$head); + $fields = array( + 'head_list' => json_encode($head_list), + ); + self::update($fields); + } + }