RetainePlatformChannel.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <?php
  2. /**
  3. * 留存统计
  4. * Created by PhpStorm.
  5. * User: hhhhh
  6. * Date: 2019/1/8
  7. * Time: 18:02
  8. */
  9. namespace app\admin\controller;
  10. use app\service\RetaineService;
  11. use think\Controller;
  12. use think\Db;
  13. use think\Exception;
  14. use think\Model;
  15. class RetainePlatformChannel extends Controller
  16. {
  17. /**
  18. * 留存表-游戏-新增玩家
  19. * @return string
  20. */
  21. public function reg_num()
  22. {
  23. $day = input('day', '');
  24. if (!$day) {
  25. $day = date('Y-m-d', strtotime('-1 day'));
  26. }
  27. $retaineService = new RetaineService();
  28. //当天注册账号
  29. $mebmers = $retaineService->getMembers($day);
  30. $list = $retaineService->regNum($day, $mebmers,0,1,1);
  31. $retaineService->insertOrUpdatePlatform($list, 2, $day, 'reg_num');
  32. return 'ok';
  33. }
  34. /**
  35. * 留存表-游戏-新增角色
  36. * @return string
  37. */
  38. public function role_num()
  39. {
  40. $day = input('day', '');
  41. if (!$day) {
  42. $day = date('Y-m-d', strtotime('-1 day'));
  43. }
  44. $retaineService = new RetaineService();
  45. //当天新增角色
  46. $list = $retaineService->getFirstRoleMember($day,0,1,1);
  47. $retaineService->insertOrUpdatePlatform($list, 2, $day, 'role_num');
  48. return 'ok';
  49. }
  50. /**
  51. * 留存表-游戏-活跃玩家
  52. * @return string
  53. */
  54. public function act_num()
  55. {
  56. $day = input('day', '');
  57. if (!$day) {
  58. $day = date('Y-m-d', strtotime('-1 day'));
  59. }
  60. $retaineService = new RetaineService();
  61. //当天活跃玩家
  62. // $list = $retaineService->activeMember($day, 'act_num',0,1,[],1);
  63. $list = $retaineService->activeMemberV2($day, 'act_num',1, [], 1);
  64. $retaineService->insertOrUpdatePlatform($list, 2, $day, 'act_num');
  65. return 'ok';
  66. }
  67. /**
  68. * 留存表-游戏-充值金额-付费人数
  69. * @return string
  70. */
  71. public function recharge_num()
  72. {
  73. $day = input('day', '');
  74. if (!$day) {
  75. $day = date('Y-m-d', strtotime('-1 day'));
  76. }
  77. $retaineService = new RetaineService();
  78. //充值金额
  79. $list = $retaineService->rechargeMoney($day,0,1,1);
  80. $retaineService->insertOrUpdatePlatform($list, 2, $day, 'recharge_num');
  81. $retaineService->insertOrUpdatePlatform($list, 2, $day, 'pay_num');
  82. return 'ok';
  83. }
  84. private function getTime($day, $num)
  85. {
  86. return date('Y-m-d', strtotime($day) - 86400 * $num);
  87. }
  88. }