AgentCpaLogLogic.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <?php
  2. /**
  3. * AgentCpaLogLogic.php UTF-8
  4. * 渠道cpa逻辑
  5. *
  6. * @date : 2020/3/7 18:27
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : wuyonghong <wyh@huosdk.com>
  10. * @version : HUOOA 1.0
  11. */
  12. namespace huo\logic\agent;
  13. use huo\controller\agent\AgentCache;
  14. use huo\controller\game\GameCache;
  15. use huo\controller\member\Member;
  16. use huo\controller\member\MemCache;
  17. use huo\model\agent\AgentCpaLogModel;
  18. use huo\model\common\CommonModel;
  19. use huolib\constant\CommonConst;
  20. class AgentCpaLogLogic extends CommonModel {
  21. protected $base_field = [];
  22. /**
  23. * 搜索条件
  24. *
  25. * @param array $param
  26. *
  27. * @return array
  28. */
  29. public function getWhere($param = []) {
  30. $_map = [];
  31. if (!empty($param['start_time']) && !empty($param['start_time'])) {
  32. $_map['create_time'] = ['between',
  33. [strtotime($param['start_time']),
  34. CommonConst::CONST_DAY_SECONDS + strtotime($param['end_time'])]];
  35. } else if (!empty($param['start_time'])) {
  36. $_map['create_time'] = ['gt', strtotime($param['start_time'])];
  37. } else if (!empty($param['end_time'])) {
  38. $_map['create_time'] = ['lt',
  39. CommonConst::CONST_DAY_SECONDS + strtotime($param['end_time'])];
  40. }
  41. if (!empty($param['mem_id'])) {
  42. $_map['mem_id'] = $param['mem_id'];
  43. }
  44. if (!empty($param['agent_id'])) {
  45. $_map['agent_id'] = $param['agent_id'];
  46. }
  47. if (!empty($param['parent_id'])) {
  48. $_map['parent_id'] = $param['parent_id'];
  49. }
  50. if (!empty($param['order_id'])) {
  51. $_map['order_id'] = $param['order_id'];
  52. }
  53. if (!empty($param['app_id'])) {
  54. $_map['app_id'] = $param['app_id'];
  55. }
  56. if (!empty($param['username'])) {
  57. $_mem_id = (new Member())->getIdByName($param['username']);
  58. $_map['mem_id'] = $_mem_id;
  59. }
  60. return $_map;
  61. }
  62. /**
  63. * 获取列表
  64. *
  65. * @param array $where
  66. * @param string $page
  67. * @param string $order
  68. * @param string $field
  69. *
  70. * @return array
  71. */
  72. public function getList($where = [], $page = '1,10', $order = '-create_time', $field = '') {
  73. $_model = new AgentCpaLogModel();
  74. $_count = $_model->where($where)->count('id');
  75. if (empty($_count)) {
  76. return ['count' => 0, 'list' => []];
  77. }
  78. $_order = $_model->orderFilter($order);
  79. $_datas = $_model->where($where)->field($field)->order($_order)->page($page)->select();
  80. if (isset($_datas)) {
  81. $_datas = $_datas->toArray();
  82. }
  83. return [
  84. 'count' => $_count,
  85. 'list' => $_datas
  86. ];
  87. }
  88. /***
  89. * 获取后台列表
  90. *
  91. * @param array $where
  92. * @param string $page
  93. * @param string $order
  94. *
  95. * @return array
  96. */
  97. public function getAdminList($where = [], $page = '1,10', $order = '-create_time') {
  98. $_map = $this->getWhere($where);
  99. $_field = $this->base_field;
  100. $_rdata = $this->getList($_map, $page, $order, $_field);
  101. if (empty($_rdata['count'])) {
  102. return $_rdata;
  103. }
  104. $_list = [];
  105. $_mem_cache = MemCache::ins();
  106. $_agent_cache = AgentCache::ins();
  107. $_game_cache = GameCache::ins();
  108. foreach ($_rdata['list'] as $_v) {
  109. $_data = $_v;
  110. $_mem_data = $_mem_cache->getInfoById($_v['mem_id']);
  111. $_data['username'] = get_val($_mem_data, 'username', '');
  112. $_agent_data = $_agent_cache->getInfoByAgentId($_v['agent_id']);
  113. $_data['agent_name'] = get_val($_agent_data, 'user_login', '');
  114. $_parent_data = $_agent_cache->getInfoByAgentId($_v['parent_id']);
  115. $_data['parent_name'] = get_val($_parent_data, 'user_login', '');
  116. $_game_data = $_game_cache->getInfoByAppId($_v['app_id']);
  117. $_data['game_name'] = get_val($_game_data, 'name', '');
  118. $_list[] = $_data;
  119. }
  120. $_rdata['list'] = $_list;
  121. return $_rdata;
  122. }
  123. }