gold产出、消耗埋点

This commit is contained in:
hujiabin 2023-07-09 14:44:43 +08:00
parent d4112e56a7
commit b0bfc5f475
4 changed files with 86 additions and 7 deletions

View File

@ -2,6 +2,7 @@
require_once('services/AwardService.php'); require_once('services/AwardService.php');
require_once('services/PropertyChgService.php'); require_once('services/PropertyChgService.php');
require_once('services/BlockChainService.php'); require_once('services/BlockChainService.php');
require_once('services/LogService.php');
require_once('mt/BattlePass.php'); require_once('mt/BattlePass.php');
require_once('mt/StarLevel.php'); require_once('mt/StarLevel.php');
@ -16,6 +17,7 @@ use phpcommon\SqlHelper;
use models\Pass; use models\Pass;
use models\RealtimeData; use models\RealtimeData;
use models\BcOrder; use models\BcOrder;
use services\LogService;
class PassController extends BaseAuthedController class PassController extends BaseAuthedController
{ {
@ -70,6 +72,7 @@ class PassController extends BaseAuthedController
public function commit() public function commit()
{ {
$gold = 0;
$level = getReqVal('level', 0); $level = getReqVal('level', 0);
$type = getReqVal('type', 0); $type = getReqVal('type', 0);
$passMeta = \mt\BattlePass::find($level); $passMeta = \mt\BattlePass::find($level);
@ -97,6 +100,9 @@ class PassController extends BaseAuthedController
'item_id' => $passMeta['basic_item_id'], 'item_id' => $passMeta['basic_item_id'],
'item_num' => $passMeta['basic_item_num'], 'item_num' => $passMeta['basic_item_num'],
)); ));
if ($passMeta['basic_item_id'] == V_ITEM_GOLD){
$gold += $passMeta['basic_item_num'];
}
} }
} }
break; break;
@ -118,6 +124,12 @@ class PassController extends BaseAuthedController
'item_id' => $passMeta['platinum_item_id2'], 'item_id' => $passMeta['platinum_item_id2'],
'item_num' => $passMeta['platinum_item_num2'], 'item_num' => $passMeta['platinum_item_num2'],
)); ));
if ($passMeta['platinum_item_id1'] == V_ITEM_GOLD){
$gold += $passMeta['platinum_item_num1'];
}
if ($passMeta['platinum_item_id2'] == V_ITEM_GOLD){
$gold += $passMeta['platinum_item_num2'];
}
} }
} }
break; break;
@ -144,6 +156,14 @@ class PassController extends BaseAuthedController
} }
$data['basic'] = array_values($data['basic']); $data['basic'] = array_values($data['basic']);
$data['platinum'] = array_values($data['platinum']); $data['platinum'] = array_values($data['platinum']);
if ($gold > 0){
//埋点
$event = [
'name' => LogService::BATTLE_PASS_AWARD,
'val' => $gold
];
LogService::productGold($event);
}
Pass::upsert($this->currSeasonMeta['id'], json_encode($data)); Pass::upsert($this->currSeasonMeta['id'], json_encode($data));
$this->_rspData(array( $this->_rspData(array(
'award' => $this->awardService->toDto(), 'award' => $this->awardService->toDto(),
@ -153,6 +173,7 @@ class PassController extends BaseAuthedController
public function commitAll() public function commitAll()
{ {
$gold = 0;
$passDb = Pass::find($this->currSeasonMeta['id']); $passDb = Pass::find($this->currSeasonMeta['id']);
$rewards = emptyReplace(json_decode($passDb['data'], true), array()); $rewards = emptyReplace(json_decode($passDb['data'], true), array());
foreach ($rewards['basic'] as &$reward) { foreach ($rewards['basic'] as &$reward) {
@ -164,6 +185,9 @@ class PassController extends BaseAuthedController
'item_num' => $passMeta['basic_item_num'], 'item_num' => $passMeta['basic_item_num'],
) )
); );
if ($passMeta['basic_item_id'] == V_ITEM_GOLD){
$gold += $passMeta['basic_item_num'];
}
$this->_addItems($items, $this->awardService, $this->propertyChgService); $this->_addItems($items, $this->awardService, $this->propertyChgService);
$reward['state'] = 1; $reward['state'] = 1;
} }
@ -182,11 +206,25 @@ class PassController extends BaseAuthedController
'item_num' => $passMeta['platinum_item_num2'], 'item_num' => $passMeta['platinum_item_num2'],
) )
); );
if ($passMeta['platinum_item_id1'] == V_ITEM_GOLD){
$gold += $passMeta['platinum_item_num1'];
}
if ($passMeta['platinum_item_id2'] == V_ITEM_GOLD){
$gold += $passMeta['platinum_item_num2'];
}
$this->_addItems($items, $this->awardService, $this->propertyChgService); $this->_addItems($items, $this->awardService, $this->propertyChgService);
$reward['state'] = 1; $reward['state'] = 1;
} }
} }
} }
if ($gold > 0){
//埋点
$event = [
'name' => LogService::BATTLE_PASS_AWARD,
'val' => $gold
];
LogService::productGold($event);
}
Pass::upsert($this->currSeasonMeta['id'], json_encode($rewards)); Pass::upsert($this->currSeasonMeta['id'], json_encode($rewards));
$this->_rspData(array( $this->_rspData(array(
'award' => $this->awardService->toDto(), 'award' => $this->awardService->toDto(),

View File

@ -5,12 +5,14 @@ require_once('mt/Parameter.php');
require_once('models/SignLog.php'); require_once('models/SignLog.php');
require_once('services/LogService.php');
require_once('services/AwardService.php'); require_once('services/AwardService.php');
require_once('services/PropertyChgService.php'); require_once('services/PropertyChgService.php');
use phpcommon\SqlHelper; use phpcommon\SqlHelper;
use models\User; use models\User;
use models\SignLog; use models\SignLog;
use services\LogService;
class SignController extends BaseAuthedController class SignController extends BaseAuthedController
{ {
@ -72,9 +74,23 @@ class SignController extends BaseAuthedController
return; return;
} }
$addItems = \mt\Sign::getAward($meta); $addItems = \mt\Sign::getAward($meta);
$gold = 0;
foreach ($addItems as $item){
if ($item['item_id'] == V_ITEM_GOLD){
$gold += $item['item_num'];
}
}
$awardService = new services\AwardService(); $awardService = new services\AwardService();
$propertyChgService = new services\PropertyChgService(); $propertyChgService = new services\PropertyChgService();
$this->_addItems($addItems, $awardService, $propertyChgService); $this->_addItems($addItems, $awardService, $propertyChgService);
if ($gold > 0){
//埋点
$event = [
'name' => LogService::SIGN_AWARD,
'val' => $gold
];
LogService::productGold($event);
}
$fieldKv = array( $fieldKv = array(
'is_receive' => 1, 'is_receive' => 1,
'modifytime' => myself()->_getNowTime() 'modifytime' => myself()->_getNowTime()

View File

@ -1,6 +1,7 @@
<?php <?php
require_once('services/AwardService.php'); require_once('services/AwardService.php');
require_once('services/PropertyChgService.php'); require_once('services/PropertyChgService.php');
require_once('services/LogService.php');
require_once('mt/LevelUp.php'); require_once('mt/LevelUp.php');
require_once('mt/StarLevel.php'); require_once('mt/StarLevel.php');
@ -10,6 +11,8 @@ require_once('models/RealtimeData.php');
use phpcommon\SqlHelper; use phpcommon\SqlHelper;
use models\MissionStar; use models\MissionStar;
use models\RealtimeData; use models\RealtimeData;
use services\LogService;
class StarController extends BaseAuthedController { class StarController extends BaseAuthedController {
private $awardService = null; private $awardService = null;
@ -96,6 +99,14 @@ class StarController extends BaseAuthedController {
) )
); );
$this->_addItems($items,$this->awardService, $this->propertyChgService); $this->_addItems($items,$this->awardService, $this->propertyChgService);
if ($meta['item_id'] == V_ITEM_GOLD){
//埋点
$event = [
'name' => LogService::STAR_MISSION_AWARD,
'val' => $meta['item_num']
];
LogService::productGold($event);
}
// $dropMeta = mt\Drop::get($meta['drop_id']); // $dropMeta = mt\Drop::get($meta['drop_id']);
// if (!$dropMeta) { // if (!$dropMeta) {
// $this->_rspErr(10, 'server internal error:' . $meta['drop_id']); // $this->_rspErr(10, 'server internal error:' . $meta['drop_id']);
@ -113,10 +124,14 @@ class StarController extends BaseAuthedController {
$defaultList = \mt\StarLevel::getDefaultList(); $defaultList = \mt\StarLevel::getDefaultList();
$lvUpMetaList = \mt\StarLevel::getListBySeason($this->currMissionSeasonMeta['id']); $lvUpMetaList = \mt\StarLevel::getListBySeason($this->currMissionSeasonMeta['id']);
$collection = array_merge($defaultList,$lvUpMetaList); $collection = array_merge($defaultList,$lvUpMetaList);
$gold = 0;
foreach ($collection as $meta){ foreach ($collection as $meta){
$target = getXVal($meta, 'need_star_num', 1); $target = getXVal($meta, 'need_star_num', 1);
$missionStarDb = MissionStar::find($meta['season_id'],$meta['id']); $missionStarDb = MissionStar::find($meta['season_id'],$meta['id']);
if ($this->userInfo['star_num'] >= $target && !$missionStarDb && !empty($meta['item_id'])){ if ($this->userInfo['star_num'] >= $target && !$missionStarDb && !empty($meta['item_id'])){
if ($meta['item_id'] == V_ITEM_GOLD){
$gold += $meta['item_num'];
}
//可领取 //可领取
$items = array( $items = array(
array( array(
@ -133,6 +148,14 @@ class StarController extends BaseAuthedController {
// } // }
} }
} }
if ($gold > 0){
//埋点
$event = [
'name' => LogService::STAR_MISSION_AWARD,
'val' => $gold
];
LogService::productGold($event);
}
$this->_rspData(array( $this->_rspData(array(
'award' => $this->awardService->toDto(), 'award' => $this->awardService->toDto(),
'property_chg' => $this->propertyChgService->toDto(), 'property_chg' => $this->propertyChgService->toDto(),

View File

@ -12,7 +12,7 @@ use models\User;
use phpcommon\TGLog; use phpcommon\TGLog;
class LogService extends BaseService class LogService extends BaseService
{ {
const USER_RENAME = "user_rename"; //用户改名 const USER_RENAME = "user_rename"; //用户改名
const HERO_LEVEL_UP = "hero_level_Up"; //英雄升级 const HERO_LEVEL_UP = "hero_level_Up"; //英雄升级
const CHIP_LEVEL_UP = "chip_level_Up"; //芯片升级 const CHIP_LEVEL_UP = "chip_level_Up"; //芯片升级
@ -20,7 +20,9 @@ class LogService extends BaseService
const PRODUCT_TYPE = 1; //产出 ↓ const PRODUCT_TYPE = 1; //产出 ↓
const BATTLE_AWARD_PVP = "battle_award_pvp"; //PVP战斗奖励 const BATTLE_AWARD_PVP = "battle_award_pvp"; //PVP战斗奖励
const BATTLE_AWARD_RANK = "battle_award_rank"; //排位赛战斗奖励 const STAR_MISSION_AWARD = "star_mission_award"; //星星之路奖励
const BATTLE_PASS_AWARD = "battle_pass_award"; //通行证奖励
const SIGN_AWARD = "sign_award"; //签到奖励
const PRONAME = 'game_2006_api'; const PRONAME = 'game_2006_api';
const GAMEID = 2006; const GAMEID = 2006;
@ -30,7 +32,7 @@ class LogService extends BaseService
public static function consumeGold($event,$param = []) public static function consumeGold($event,$param = [])
{ {
$logInfo = self::tokenRecord(); $logInfo = self::goldRecord();
$data = self::userInfo(); $data = self::userInfo();
$data['type'] = self::CONSUME_TYPE; $data['type'] = self::CONSUME_TYPE;
$data['event_name'] = $event['name']; $data['event_name'] = $event['name'];
@ -45,7 +47,7 @@ class LogService extends BaseService
public static function consumeDiamond($event,$param = []) public static function consumeDiamond($event,$param = [])
{ {
$logInfo = self::tokenRecord(); $logInfo = self::goldRecord();
$data = self::userInfo(); $data = self::userInfo();
$data['type'] = self::CONSUME_TYPE; $data['type'] = self::CONSUME_TYPE;
$data['event_name'] = $event['name']; $data['event_name'] = $event['name'];
@ -60,7 +62,7 @@ class LogService extends BaseService
public static function productGold($event,$param = []) public static function productGold($event,$param = [])
{ {
$logInfo = self::tokenRecord(); $logInfo = self::goldRecord();
$data = self::userInfo(); $data = self::userInfo();
$data['type'] = self::PRODUCT_TYPE; $data['type'] = self::PRODUCT_TYPE;
$data['event_name'] = $event['name']; $data['event_name'] = $event['name'];
@ -93,13 +95,13 @@ class LogService extends BaseService
return $info; return $info;
} }
private static function tokenRecord() private static function goldRecord()
{ {
// $logInfo['log_class'] = $logInfo['log_class']; // $logInfo['log_class'] = $logInfo['log_class'];
// unset($logInfo['log_class']); // unset($logInfo['log_class']);
$data = array( $data = array(
"#account_id" => myself()->_getAccountId(), "#account_id" => myself()->_getAccountId(),
"#event_name"=> "token_record", "#event_name"=> "gold_record",
"#ip"=> $_SERVER['REMOTE_ADDR'], "#ip"=> $_SERVER['REMOTE_ADDR'],
"#time"=> myself()->_getNowTime(), "#time"=> myself()->_getNowTime(),
"#type"=> "track", "#type"=> "track",