123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247 |
- <?php
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- namespace loyalsoft;
- /**
- * Description of StatisticsProc
- *
- * @author cyzhao
- */
- class StatisticsProc {
-
- /**
- * 已经完成新手引导的玩家记录
- * @param type $uid
- * @param type $index
- */
- static function NewbieGuideRecord($uid,$index) {
- if($index == 2){//现在游戏新手引导就2步
- $key = "NewbieGuideRecord-".req()->zoneid;
- gMem()->lpush($key, $uid);
- }
- }
-
- /**
- * 玩家自己任务完成统计-----每日任务进度变化--主线,学院,日程,悬赏的任务全记录在这
- * @param type $id
- */
- static function SelfTaskDataCollect($taskId) {
- $task = $taskId."-".time();
-
- $arr = array();
- $arr[] = $task;
-
- $num = gMem()->rpush("SelfTaskDataCollect-".req()->uid."-". req()->zoneid, $arr);
- }
-
- /**
- * 全区:记录uid-主线任务id,玩家做任务更新id,以获取最高任务--------主线,学院,日程,悬赏的任务全记录在这
- * @param type $taskId
- */
- static function TaskDataCollect($taskId) {
- $taskMo = GameConfig::item_taskcard_getItem($taskId);
- // if($taskMo->type != 1){
- // return;
- // }
-
- $key = "TaskDataCollect-".req()->zoneid;
- gMem()->hset($key, req()->uid, $taskId);
- }
-
- /**
- * 全区--玩家解锁课程进度:uid-courseId
- * @param type $courseId
- */
- static function UserCourseIngRecord($courseId){
- $key = "UserCourseIngRecord-".req()->zoneid;
- gMem()->hset($key, req()->uid, $courseId);
- }
-
-
- /*
- * 统计全区------玩家最新解锁建筑
- */
- static function unlockBuild($buildId) {
- $key = "unlockBuild-".req()->zoneid;
- gMem()->hset($key, req()->uid, $buildId);
- }
-
- /**
- * 统计全区------玩家最新解锁关卡
- * @param type $gateId
- */
- static function unlockGate($gateId) {
- $key = "unlockGate-".req()->zoneid;
- gMem()->hset($key, req()->uid, $gateId);
- }
-
- static function dailyTaskInit() {
- $list = GameConfig::item_taskcard_type_getItemArray(2);
- if($list == null || count($list) == 0){
- return;
- }
- $key = "TargetStatistics-".req()->zoneid;
- foreach ($list as $value) {
- $str = "dailyTaskId_ComUserNum_".$value->typeId;
- if(gMem()->hexists($key, $str)){
- break;
- }
- gMem()->hset($key,$str,0);
- }
- }
- /**
- *
- * @param type $type
- * @param type $id
- * @param type $ctx
- */
- static function TargetStatistics($type,$id = 0,$ctx = "0") {
- $key = "TargetStatistics-".req()->zoneid;
-
- $specialArr = array();
- switch ($type) {
- case Enum_TargetStatistics::registerUserNum:
- $field = "registerUserNum";
- break;
- case Enum_TargetStatistics::comNewGuide_UserNum:
- $field = "comNewGuideUserNum";
- break;
- case Enum_TargetStatistics::unlockbuidId:
- $field = "unlockbuidId-".$id;
- break;
- case Enum_TargetStatistics::mainTaskId_ComUserNum:
- $field = "mainTaskId_ComUserNum-".$id;
- break;
- case Enum_TargetStatistics::shopTaskId_ComUserNum:
- $field = "shopTaskId_ComUserNum-".$id;
- break;
- case Enum_TargetStatistics::shopTaskId_BuyUserNum:
- $field = "shopTaskId_BuyUserNum-".$id;
- break;
- case Enum_TargetStatistics::collegeTaskId_ComUserNum:
- $field = "collegeTaskId_ComUserNum-".$id;
- break;
- case Enum_TargetStatistics::collegeCouseId_UnlockUserNum:
- $field = "collegeCouseId_UnlockUserNum-".$id;
- break;
-
- case Enum_TargetStatistics::dailyTaskId_ComUserNum:
- $field = "dailyTaskId_ComUserNum-".$id;
- break;
-
- case Enum_TargetStatistics::storyGateId_ComUserNum:
- $field = "storyGateId_ComUserNum-".$id;
- break;
- case Enum_TargetStatistics::storyGateId_BattleNum:
- $field = "storyGateId_BattleNum-".$id;
- $specialArr[] = Enum_TargetStatistics::storyGateId_BattleNum;
- break;
- case Enum_TargetStatistics::HuanLingShiGateId_ComUserNum:
- $field = "HuanLingShiGateId_ComUserNum-".$id;
- break;
- case Enum_TargetStatistics::HuanLingShiGateId_BattleNum:
- $field = "HuanLingShiGateId_BattleNum-".$id;
- $specialArr[] = Enum_TargetStatistics::HuanLingShiGateId_BattleNum;
- break;
-
- case Enum_TargetStatistics::WeaponGateId_ComUserNum:
- $field = "WeaponGateId_ComUserNum-".$id;
- break;
- case Enum_TargetStatistics::WeaponGateId_BattleNum:
- $field = "WeaponGateId_BattleNum-".$id;
- $specialArr[] = Enum_TargetStatistics::WeaponGateId_BattleNum;
- break;
- case Enum_TargetStatistics::YanLingGateId_ComUserNum:
- $field = "YanLingGateId_ComUserNum-".$id;
- break;
- case Enum_TargetStatistics::YanLingGateId_BattleNum:
- $field = "YanLingGateId_BattleNum-".$id;
- $specialArr[] = Enum_TargetStatistics::YanLingGateId_BattleNum;
- break;
-
- case Enum_TargetStatistics::userlevel:
- $field = "userlevel-".$id;
- break;
-
- case Enum_TargetStatistics::newUserLotteryDraw_one:
- $field = "newUserLotteryDraw_one";
- break;
- case Enum_TargetStatistics::newUserLotteryDraw_ten:
- $field = "newUserLotteryDraw_ten";
- break;
-
- case Enum_TargetStatistics::yanLingLotteryDraw_one:
- $field = "yanLingLotteryDraw_one";
- break;
-
- case Enum_TargetStatistics::yanLingLotteryDraw_ten:
- $field = "yanLingLotteryDraw_ten";
- break;
- case Enum_TargetStatistics::weaponLotteryDraw_one:
- $field = "weaponLotteryDraw_one";
- break;
-
- case Enum_TargetStatistics::weaponLotteryDraw_ten:
- $field = "weaponLotteryDraw_ten";
- break;
-
- case Enum_TargetStatistics::commonLotteryDraw_one:
- $field = "commonLotteryDraw_one";
- break;
-
- case Enum_TargetStatistics::commonLotteryDraw_ten:
- $field = "commonLotteryDraw_ten";
- break;
- case Enum_TargetStatistics::HuanLingShiLevel_UserNum:
- $field = "HuanLingShiLevel_UserNum-".$id."-level".$ctx;
- break;
- case Enum_TargetStatistics::HuanLingShiId_UserNum:
- $field = "HuanLingShiId_UserNum-".$id;
- break;
- case Enum_TargetStatistics::YanLingId_UserNum:
- $field = "YanLingId_UserNum-".$id;
- break;
- case Enum_TargetStatistics::YanLingIdLevel_UserNum:
- $field = "YanLingIdLevel_UserNum-".$id."-level".$ctx;
- break;
- case Enum_TargetStatistics::WeaponId_UserNum:
- $field = "WeaponId_UserNum-".$id;
- break;
- case Enum_TargetStatistics::WeaponIdLevel_UserNum:
- $field = "WeaponIdLevel_UserNum-".$id."-level".$ctx;
- break;
- default:
- break;
- }
-
- if(in_array($type,$specialArr)){
- $val = gMem()->hget($key,$field);
- if($val == null){
- $val = $ctx;
- } else {
- $vlist = explode('/',$val);
- $clist = explode('/',$ctx);
-
- $n1 = $vlist[0]+$clist[0];
- $n2 = $vlist[1]+$clist[1];
- $val = $n1."/".$n2;
- }
- gMem()->hset($key,$field,$val);
- } else {
- $count = gMem()->hget($key,$field);
- if($count == null){
- $count = 0;
- }
- gMem()->hset($key,$field,$count+1);
- }
- }
- }
|