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

View File

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

View File

@ -1,6 +1,7 @@
<?php
require_once('services/AwardService.php');
require_once('services/PropertyChgService.php');
require_once('services/LogService.php');
require_once('mt/LevelUp.php');
require_once('mt/StarLevel.php');
@ -10,6 +11,8 @@ require_once('models/RealtimeData.php');
use phpcommon\SqlHelper;
use models\MissionStar;
use models\RealtimeData;
use services\LogService;
class StarController extends BaseAuthedController {
private $awardService = null;
@ -96,6 +99,14 @@ class StarController extends BaseAuthedController {
)
);
$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']);
// if (!$dropMeta) {
// $this->_rspErr(10, 'server internal error:' . $meta['drop_id']);
@ -113,10 +124,14 @@ class StarController extends BaseAuthedController {
$defaultList = \mt\StarLevel::getDefaultList();
$lvUpMetaList = \mt\StarLevel::getListBySeason($this->currMissionSeasonMeta['id']);
$collection = array_merge($defaultList,$lvUpMetaList);
$gold = 0;
foreach ($collection as $meta){
$target = getXVal($meta, 'need_star_num', 1);
$missionStarDb = MissionStar::find($meta['season_id'],$meta['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(
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(
'award' => $this->awardService->toDto(),
'property_chg' => $this->propertyChgService->toDto(),

View File

@ -12,7 +12,7 @@ use models\User;
use phpcommon\TGLog;
class LogService extends BaseService
{
const USER_RENAME = "user_rename"; //用户改名
const USER_RENAME = "user_rename"; //用户改名
const HERO_LEVEL_UP = "hero_level_Up"; //英雄升级
const CHIP_LEVEL_UP = "chip_level_Up"; //芯片升级
@ -20,7 +20,9 @@ class LogService extends BaseService
const PRODUCT_TYPE = 1; //产出 ↓
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 GAMEID = 2006;
@ -30,7 +32,7 @@ class LogService extends BaseService
public static function consumeGold($event,$param = [])
{
$logInfo = self::tokenRecord();
$logInfo = self::goldRecord();
$data = self::userInfo();
$data['type'] = self::CONSUME_TYPE;
$data['event_name'] = $event['name'];
@ -45,7 +47,7 @@ class LogService extends BaseService
public static function consumeDiamond($event,$param = [])
{
$logInfo = self::tokenRecord();
$logInfo = self::goldRecord();
$data = self::userInfo();
$data['type'] = self::CONSUME_TYPE;
$data['event_name'] = $event['name'];
@ -60,7 +62,7 @@ class LogService extends BaseService
public static function productGold($event,$param = [])
{
$logInfo = self::tokenRecord();
$logInfo = self::goldRecord();
$data = self::userInfo();
$data['type'] = self::PRODUCT_TYPE;
$data['event_name'] = $event['name'];
@ -93,13 +95,13 @@ class LogService extends BaseService
return $info;
}
private static function tokenRecord()
private static function goldRecord()
{
// $logInfo['log_class'] = $logInfo['log_class'];
// unset($logInfo['log_class']);
$data = array(
"#account_id" => myself()->_getAccountId(),
"#event_name"=> "token_record",
"#event_name"=> "gold_record",
"#ip"=> $_SERVER['REMOTE_ADDR'],
"#time"=> myself()->_getNowTime(),
"#type"=> "track",