英雄出战
This commit is contained in:
parent
1eabba61ff
commit
e47ef98c3f
@ -71,7 +71,7 @@ class User(object):
|
||||
['sex', 0, '更新性别(可选参数,不传就不更新)'],
|
||||
['head_id', 0, '更新头像(可选参数,不传就不更新)'],
|
||||
['head_frame', 0, '更新头像框(可选参数,不传就不更新)'],
|
||||
['hero_id', 0, '更新上阵英雄id(可选参数,不传就不更新)'],
|
||||
['hero_id', 0, '更新上阵英雄唯一id(可选参数,不传就不更新)'],
|
||||
['first_fight', 0, '更新首次战斗(可选参数,不传就不更新)'],
|
||||
['already_guide', 0, '已引导(可选参数,不传就不更新)'],
|
||||
['guild_id', 0, '跟新工会id(可选参数,不传就不更新)'],
|
||||
|
@ -333,7 +333,6 @@ class BaseAuthedController extends BaseController {
|
||||
case mt\Item::HERO_TYPE:
|
||||
{
|
||||
Hero::addHero($itemMeta);
|
||||
User::upsertHeadList($itemMeta);
|
||||
$propertyService->addHeroChg();
|
||||
$propertyService->addUserChg();
|
||||
}
|
||||
|
@ -661,7 +661,6 @@ class ShopController extends BaseAuthedController {
|
||||
case mt\Item::HERO_TYPE:
|
||||
{
|
||||
Hero::addHero($itemMeta);
|
||||
User::upsertHeadList($itemMeta);
|
||||
$propertyChgService->addHeroChg();
|
||||
$propertyChgService->addUserChg();
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ require_once('models/Season.php');
|
||||
require_once('models/Nft.php');
|
||||
require_once('models/Gun.php');
|
||||
require_once('models/UserSeasonRing.php');
|
||||
require_once('models/Chip.php');
|
||||
|
||||
require_once('mt/Parameter.php');
|
||||
require_once('mt/Drop.php');
|
||||
@ -28,6 +29,7 @@ use models\Hero;
|
||||
use models\Gun;
|
||||
use models\Season;
|
||||
use models\Nft;
|
||||
use models\Chip;
|
||||
use models\UserSeasonRing;
|
||||
|
||||
class UserController extends BaseAuthedController {
|
||||
@ -62,74 +64,17 @@ class UserController extends BaseAuthedController {
|
||||
));
|
||||
$this->_incDailyV(TN_DAILY_LOGINS, 0, 1);
|
||||
}
|
||||
|
||||
private function addFragmentBox(){
|
||||
$items = array(
|
||||
array(
|
||||
'item_id' => V_ITEM_GOLD,
|
||||
'item_num' => 10000
|
||||
),array(
|
||||
'item_id' => V_ITEM_DIAMOND,
|
||||
'item_num' => 10000
|
||||
),
|
||||
);
|
||||
$boxMeta=\mt\Item::getMetaListByType(\mt\Item::FRAGMENT_BOX_TYPE);
|
||||
foreach ($boxMeta as $box){
|
||||
array_push($items,array(
|
||||
'item_id' => $box['id'],
|
||||
'item_num' => 10
|
||||
));
|
||||
}
|
||||
$awardService = new services\AwardService();
|
||||
$propertyChgService = new services\PropertyChgService();
|
||||
$this->_addItems($items,$awardService,$propertyChgService);
|
||||
}
|
||||
|
||||
private function addChip(){
|
||||
$itemMeta = \mt\Item::getMetaListByType(\mt\Item::CHIP_TYPE);
|
||||
$list1 = [];
|
||||
$list2 = [];
|
||||
foreach ($itemMeta as $value){
|
||||
switch ($value['sub_type']){
|
||||
case 1:{
|
||||
array_push($list1,$value['id']);
|
||||
};break;
|
||||
case 2:{
|
||||
array_push($list2,$value['id']);
|
||||
};break;
|
||||
default:{}
|
||||
}
|
||||
}
|
||||
for ($i=1;$i<=15;$i++){
|
||||
$itemId1 = $list1[rand(0,count($list1)-1)];
|
||||
$itemId2 = $list2[rand(0,count($list2)-1)];
|
||||
$itemMeta = mt\Item::get($itemId1);
|
||||
if ($itemMeta) {
|
||||
$tokenType = Nft::getTokenType($itemMeta);
|
||||
if ($tokenType == Nft::NONE_TYPE) {
|
||||
return;
|
||||
} else {
|
||||
Nft::addNft($itemMeta);
|
||||
}
|
||||
}
|
||||
$itemMeta2= mt\Item::get($itemId2);
|
||||
if ($itemMeta2) {
|
||||
$tokenType = Nft::getTokenType($itemMeta2);
|
||||
if ($tokenType == Nft::NONE_TYPE) {
|
||||
return;
|
||||
} else {
|
||||
Nft::addNft($itemMeta2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private function _addFreeItem(){
|
||||
$chipMeta = \mt\Item::getMetaListByType(\mt\Item::CHIP_TYPE);
|
||||
foreach ($chipMeta as $row){
|
||||
Chip::addChip($row);
|
||||
}
|
||||
|
||||
foreach (mt\Parameter::getListValue('creator_hero_id') as $heroId) {
|
||||
$heroMeta = mt\Item::get($heroId);
|
||||
if ($heroMeta) {
|
||||
Hero::addHero($heroMeta);
|
||||
User::upsertHeadList($heroMeta);
|
||||
}
|
||||
}
|
||||
$addItems =array();
|
||||
@ -143,15 +88,15 @@ class UserController extends BaseAuthedController {
|
||||
));
|
||||
}
|
||||
}
|
||||
$items = array(
|
||||
array_push($addItems,
|
||||
array(
|
||||
'item_id' => V_ITEM_GOLD,
|
||||
'item_num' => 50
|
||||
)
|
||||
);
|
||||
));
|
||||
|
||||
$awardService = new services\AwardService();
|
||||
$propertyChgService = new services\PropertyChgService();
|
||||
$this->_addItems($items, $awardService, $propertyChgService);
|
||||
$this->_addItems($addItems, $awardService, $propertyChgService);
|
||||
}
|
||||
|
||||
private function loginCheck($userInfo)
|
||||
@ -723,17 +668,17 @@ class UserController extends BaseAuthedController {
|
||||
$this->_rspErr(1, 'gun_id is error');
|
||||
return;
|
||||
}
|
||||
$temp = explode('|',$heroMeta['normal_gift']);
|
||||
$userInfo = $this->_getOrmUserInfo();
|
||||
$headList = emptyReplace(json_decode($userInfo['head_list'], true), array());
|
||||
if ($heroMeta['normal_gift'] && !in_array($heroMeta['normal_gift'],$headList)){
|
||||
array_push($headList,$heroMeta['normal_gift']);
|
||||
if ($heroMeta['hero_head'] && !in_array($heroMeta['hero_head'],$headList)){
|
||||
array_push($headList,$heroMeta['hero_head']);
|
||||
}
|
||||
Hero::addFreeHero($heroMeta);
|
||||
$heroUid = SqlHelper::getLastInsertId($this->_getSelfMysql());
|
||||
Gun::addFreeGun($gunMeta);
|
||||
$fields = array(
|
||||
'hero_id' => $temp ? $temp[1] : 0,
|
||||
'head_id' => $temp ? $temp[0] : 0,
|
||||
'hero_id' => $heroUid,
|
||||
'head_id' => $heroMeta['hero_head'],
|
||||
'head_frame' => 60000,
|
||||
'head_list' => json_encode($headList),
|
||||
'head_frame_list' => json_encode(array(60000)),
|
||||
|
@ -6,12 +6,14 @@ require_once('mt/Item.php');
|
||||
require_once('mt/LevelUp.php');
|
||||
require_once('models/UserSeasonRing.php');
|
||||
require_once('models/Parachute.php');
|
||||
require_once('models/Hero.php');
|
||||
|
||||
use mt;
|
||||
use phpcommon;
|
||||
use phpcommon\SqlHelper;
|
||||
use models\UserSeasonRing;
|
||||
use models\Parachute;
|
||||
use models\Hero;
|
||||
|
||||
class User extends BaseModel {
|
||||
|
||||
@ -42,6 +44,11 @@ class User extends BaseModel {
|
||||
public static function show($row)
|
||||
{
|
||||
mt\LevelUp::getExpByLv($row['level'],$row['exp']);
|
||||
$heroDb = Hero::find($row['hero_id']);
|
||||
$heroId = 0;
|
||||
if ($heroDb){
|
||||
$heroId = $heroDb['hero_id'];
|
||||
}
|
||||
return array(
|
||||
'activated' => $row['activated'],
|
||||
'rename_count' => $row['rename_count'],
|
||||
@ -59,14 +66,14 @@ class User extends BaseModel {
|
||||
'bceg' => cegFormat($row['bceg']),
|
||||
'gold' => cegFormat($row['gold']),
|
||||
'diamond' => cecFormat($row['diamond']),
|
||||
'hero_id' => $row['hero_id'],
|
||||
'hero_id' => $heroId,
|
||||
'first_fight' => $row['first_fight'],
|
||||
'already_guide' => $row['already_guide'],
|
||||
'pve_instance_id' => $row['pve_instance_id'],
|
||||
'like_count' => $row['like_count'],
|
||||
// 'head_list' => self::getHeadList($row),
|
||||
'head_list' => self::exportHeadList($row)['head_list'],
|
||||
'hero_list' => self::exportHeadList($row)['hero_list'],
|
||||
'head_list' => self::getHeadList($row),
|
||||
// 'head_list' => self::exportHeadList($row)['head_list'],
|
||||
// 'hero_list' => self::exportHeadList($row)['hero_list'],
|
||||
'head_frame_list' => emptyReplace(json_decode($row['head_frame_list'], true), array()),
|
||||
'is_gain_item' => $row['is_gain_item'],
|
||||
'guild_id' => $row['guild_id'],
|
||||
@ -82,6 +89,11 @@ class User extends BaseModel {
|
||||
public static function info($row)
|
||||
{
|
||||
mt\LevelUp::getExpByLv($row['level'],$row['exp']);
|
||||
$heroDb = Hero::find($row['hero_id']);
|
||||
$heroId = 0;
|
||||
if ($heroDb){
|
||||
$heroId = $heroDb['hero_id'];
|
||||
}
|
||||
return array(
|
||||
'activated' => $row['activated'],
|
||||
'rename_count' => $row['rename_count'],
|
||||
@ -99,12 +111,12 @@ class User extends BaseModel {
|
||||
'bceg' => cegFormat($row['bceg']),
|
||||
'gold' => cegFormat($row['gold']),
|
||||
'diamond' => cecFormat($row['diamond']),
|
||||
'hero_id' => $row['hero_id'],
|
||||
'hero_id' => $heroId,
|
||||
'first_fight' => $row['first_fight'],
|
||||
'already_guide' => $row['already_guide'],
|
||||
// 'head_list' => self::getHeadList($row),
|
||||
'head_list' => self::exportHeadList($row)['head_list'],
|
||||
'hero_list' => self::exportHeadList($row)['hero_list'],
|
||||
'head_list' => self::getHeadList($row),
|
||||
// 'head_list' => self::exportHeadList($row)['head_list'],
|
||||
// 'hero_list' => self::exportHeadList($row)['hero_list'],
|
||||
'pve_instance_id' => $row['pve_instance_id'],
|
||||
'like_count' => $row['like_count'],
|
||||
'head_frame_list' => emptyReplace(json_decode($row['head_frame_list'], true), array()),
|
||||
@ -122,6 +134,12 @@ class User extends BaseModel {
|
||||
|
||||
public static function toSimple($row)
|
||||
{
|
||||
mt\LevelUp::getExpByLv($row['level'],$row['exp']);
|
||||
$heroDb = Hero::find($row['hero_id']);
|
||||
$heroId = 0;
|
||||
if ($heroDb){
|
||||
$heroId = $heroDb['hero_id'];
|
||||
}
|
||||
return array(
|
||||
'account_id' => $row['account_id'],
|
||||
'address' => phpcommon\extractOpenId($row['account_id']),
|
||||
@ -135,7 +153,7 @@ class User extends BaseModel {
|
||||
'score' => $row['score'],
|
||||
'gold' => cegFormat($row['gold']),
|
||||
'diamond' => cecFormat($row['diamond']),
|
||||
'hero_id' => $row['hero_id'],
|
||||
'hero_id' => $heroId,
|
||||
'pve_instance_id' => $row['pve_instance_id'],
|
||||
'like_count' => $row['like_count'],
|
||||
'first_fight' => $row['first_fight'],
|
||||
@ -144,14 +162,18 @@ class User extends BaseModel {
|
||||
|
||||
public static function isValidHeadId($userInfo, $headId)
|
||||
{
|
||||
$headList = self::exportHeadList($userInfo);
|
||||
return in_array($headId, $headList['head_list']);
|
||||
// $headList = self::exportHeadList($userInfo);
|
||||
// return in_array($headId, $headList['head_list']);
|
||||
$headList = emptyReplace(json_decode($userInfo['head_list'], true), array());
|
||||
return in_array($headId, $headList);
|
||||
}
|
||||
|
||||
public static function isValidHeroId($userInfo, $heroId)
|
||||
{
|
||||
$heroList = self::exportHeadList($userInfo);
|
||||
return in_array($heroId, $heroList['hero_list']);
|
||||
// $heroList = self::exportHeadList($userInfo);
|
||||
// return in_array($heroId, $heroList['hero_list']);
|
||||
$heroDb = Hero::find($heroId);
|
||||
return empty($heroDb) ? false : true ;
|
||||
}
|
||||
|
||||
public static function isValidHeadFrame($userInfo, $headFrame)
|
||||
@ -173,16 +195,13 @@ class User extends BaseModel {
|
||||
private static function getHeadList($userInfo)
|
||||
{
|
||||
$headList = emptyReplace(json_decode($userInfo['head_list'], true), array());
|
||||
$rows = SqlHelper::ormSelect(
|
||||
myself()->_getSelfMysql(),
|
||||
't_hero',
|
||||
array(
|
||||
'account_id' => $userInfo['account_id'],
|
||||
)
|
||||
);
|
||||
$rows = array();
|
||||
Hero::getHeroList(function ($row) use (&$rows){
|
||||
array_push($rows,$row);
|
||||
});
|
||||
foreach ($rows as $row) {
|
||||
$itemMeta = mt\Item::get($row['hero_id']);
|
||||
if ($itemMeta && $itemMeta['hero_head']) {
|
||||
if ($itemMeta && $itemMeta['hero_head'] && !in_array($itemMeta['hero_head'],$headList)) {
|
||||
array_push($headList, $itemMeta['hero_head']);
|
||||
}
|
||||
}
|
||||
@ -230,17 +249,6 @@ class User extends BaseModel {
|
||||
);
|
||||
}
|
||||
|
||||
public static function getUserByRank($rank){
|
||||
|
||||
$list = SqlHelper::ormSelect(
|
||||
myself()->_getSelfMysql(),
|
||||
't_user',
|
||||
array(
|
||||
'rank'=> $rank
|
||||
)
|
||||
);
|
||||
return $list ? $list: array();
|
||||
}
|
||||
|
||||
public static function getUserByRankMess($row){
|
||||
$currSeasonMeta = mt\RankSeason::getCurrentSeason();
|
||||
@ -318,22 +326,4 @@ class User extends BaseModel {
|
||||
);
|
||||
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);
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user