Mem.php 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. <?php
  2. /**
  3. * Mem.php UTF-8
  4. * 玩家事件处理
  5. *
  6. * @date : 2018/5/30 16:46
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : wuyonghong <wyh@huosdk.com>
  10. * @version : HUOSDK 8.0
  11. */
  12. namespace huo\controller\data;
  13. use huo\logic\data\DataLogic;
  14. use huolib\queue\request\Channel;
  15. use huolib\queue\request\Common;
  16. use huolib\queue\request\Device;
  17. use huolib\queue\request\Game;
  18. use huolib\queue\request\Mem as MemRq;
  19. class Mem {
  20. /**
  21. * 玩家创建
  22. * 记录玩家创建账户的日志,在该账户首次生成时调用。
  23. * http://doc.1tsdk.com/138?page_id=3379
  24. *
  25. * @param Common $com_rq
  26. * @param Device $device_rq
  27. * @param Game $game_rq
  28. * @param Channel $agent_rq
  29. * @param MemRq $mem_rq
  30. *
  31. * @return bool
  32. */
  33. public function create(Common $com_rq, Device $device_rq, Game $game_rq, Channel $agent_rq, MemRq $mem_rq) {
  34. $_dm_class = new DayMem();
  35. $_dm_class->setIsLogin(2);
  36. $_role_rq = new \huolib\queue\request\Role();
  37. $_order_rq = new \huolib\queue\request\Order();
  38. $_return = $_dm_class->updateDayMem($com_rq, $device_rq, $game_rq, $agent_rq, $mem_rq, $_role_rq, $_order_rq);
  39. // $_day_class = new Day();
  40. // $_day_class->setSumLoginCnt($_dm_class->getSumLoginCnt());
  41. // $_day_class->setDate(date('Y-m-d', $com_rq->getTs()));
  42. // $_day_class->setAppId($com_rq->getAppId());
  43. // $_day_class->setAgentId($agent_rq->getCh());
  44. // $_day_class->setUserCnt(1); /* 新增一个用户 */
  45. // $_day_class->setRegCnt(1); /* 新增一个用户 */
  46. // $_rs = \huo\controller\common\Device::isRepeat($device_rq->getDeviceId());
  47. // if (false == $_rs) {
  48. // $_day_class->setRegDeviceCnt(1);
  49. // }
  50. // /* 更新每日游戏渠道数据 */
  51. // $_day_logic = new DataLogic();
  52. // $_return = $_day_logic->upDayGameAgent($_day_class->toArray());
  53. // if (\huolib\oa\Oa::hasOa()) {
  54. // $_oa_login = new \huolib\oa\OaLogin();
  55. // $_param = array();
  56. // $_param['flag'] = 1;/* 1 注册 其它登陆 */
  57. // $_param['reg_time'] = $mem_rq->getRegTime();
  58. // $_param['app_id'] = $com_rq->getAppId();
  59. // $_param['mem_id'] = $mem_rq->getMemId();
  60. // $_param['agent_id'] = $agent_rq->getCh();
  61. // $_param['login_ip'] = $device_rq->getIp();
  62. // $_param['imei'] = $device_rq->getDeviceId();
  63. // $_param['userua'] = $device_rq->getUserua();
  64. // $_param['from'] = \huolib\oa\Oa::osToFrom($device_rq->getOs());
  65. // $_oa_login->login($_param);
  66. // }
  67. return $_return;
  68. }
  69. /**
  70. * 玩家登陆
  71. * 记录玩家账号登录的日志,输入账户和密码后,进入到“选择服务器”界面即可调用。
  72. * http://doc.1tsdk.com/138?page_id=3380
  73. *
  74. * @param Common $com_rq
  75. * @param Device $device_rq
  76. * @param Game $game_rq
  77. * @param Channel $agent_rq
  78. * @param MemRq $mem_rq
  79. *
  80. * @return bool
  81. */
  82. public function online(Common $com_rq, Device $device_rq, Game $game_rq, Channel $agent_rq, MemRq $mem_rq) {
  83. $_dm_class = new DayMem();
  84. $_dm_class->setIsLogin(1);
  85. $_role_rq = new \huolib\queue\request\Role();
  86. $_order_rq = new \huolib\queue\request\Order();
  87. $_rs = $_dm_class->updateDayMem($com_rq, $device_rq, $game_rq, $agent_rq, $mem_rq, $_role_rq, $_order_rq);
  88. if ($_dm_class->getLoginCnt() > 1) {
  89. /* 同一游戏登陆多次 不重复计算 */
  90. return true;
  91. }
  92. return $_rs;
  93. // $_day_class = new Day();
  94. // $_day_class->setSumLoginCnt($_dm_class->getSumLoginCnt());
  95. // $_day_class->setDate(date('Y-m-d', $com_rq->getTs()));
  96. // $_day_class->setAppId($com_rq->getAppId());
  97. // $_day_class->setAgentId($agent_rq->getCh());
  98. // /* 活跃用户 */
  99. // $_day_class->setUserCnt(1);
  100. // $_reg_days = $_dm_class->getRegDays();
  101. // $_reg_days += 1;
  102. // if (in_array($_reg_days, $_day_class->getRetainDayArr())) {
  103. // $_func = 'setDay'.$_reg_days;
  104. // $_day_class->$_func(1);
  105. // $_rs = \huo\controller\common\Device::isRepeat($device_rq->getDeviceId(), date('Y-m-d'));
  106. // if (false == $_rs) {
  107. // $_func = 'setDeviceDay'.$_reg_days;
  108. // $_day_class->$_func(1);
  109. // }
  110. // }
  111. // /* 更新每日游戏渠道数据 */
  112. // $_day_logic = new DataLogic();
  113. // if (\huolib\oa\Oa::hasOa()) {
  114. // $_oa_login = new \huolib\oa\OaLogin();
  115. // $_param = array();
  116. // $_param['flag'] = 2;/* 1 注册 其它登陆 */
  117. // $_param['login_time'] = $com_rq->getTs();
  118. // $_param['app_id'] = $game_rq->getHAppId();
  119. // $_param['agent_id'] = $agent_rq->getCh();
  120. // $_param['login_ip'] = $device_rq->getIp();
  121. // $_param['imei'] = $device_rq->getDeviceId();
  122. // $_param['userua'] = $device_rq->getUserua();
  123. // $_param['from'] = \huolib\oa\Oa::osToFrom($device_rq->getOs());
  124. // $_oa_login->login($_param);
  125. // }
  126. // return $_day_logic->upDayGameAgent($_day_class->toArray());
  127. }
  128. /**
  129. * 玩家登出
  130. * 记录玩家登出游戏的日志,执行“切换账户”、“退出游戏”操作时调用。
  131. * http://doc.1tsdk.com/138?page_id=3382
  132. *
  133. * @param Common $com_rq
  134. * @param Device $device_rq
  135. * @param Game $game_rq
  136. * @param Channel $agent_rq
  137. * @param MemRq $mem_rq
  138. *
  139. * @return bool
  140. */
  141. public function offline(Common $com_rq, Device $device_rq, Game $game_rq, Channel $agent_rq, MemRq $mem_rq) {
  142. // TODO: wuyonghong 2018/5/31
  143. return true;
  144. }
  145. }