Data.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. /**
  3. * Data.php UTF-8
  4. * 渠道数据处理
  5. *
  6. * @date : 2018/5/19 10:24
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : wuyonghong <wyh@huosdk.com>
  10. * @version : HUOSDK 8.0
  11. */
  12. namespace huo\controller\agent;
  13. use huo\controller\common\Base;
  14. use huo\logic\agent\AgentDayLogic;
  15. use huo\logic\agent\AgentLogic;
  16. use huolib\constant\AgentConst;
  17. use huolib\status\CommonStatus;
  18. class Data extends Base {
  19. /**
  20. * 获取渠道平台币充值记录
  21. *
  22. * @param int $agent_id
  23. * @param array $where
  24. * @param string $page
  25. * @param string $order
  26. *
  27. * @return array
  28. */
  29. public function getTgDataIndex($agent_id, $where, $page = '1,10', $order = '-date') {
  30. $_map['agent_id'] = ['in', (new AgentLogic())->getAgentIds($agent_id, true)];
  31. $_map = $_map + $where;
  32. $_rdata = (new AgentDayLogic())->getGroupList([], $_map, $page, $order);
  33. $_code = CommonStatus::NO_ERROR;
  34. return $this->huoSuccess($_code, CommonStatus::getMsg($_code), $_rdata);
  35. }
  36. /**
  37. * @param int $agent_id
  38. * @param string $field sum_money user_cnt reg_cnt pay_user_cnt
  39. * @param string $start_date
  40. * @param string $ent_date
  41. *
  42. * @return array
  43. */
  44. public function getTgReportData($agent_id, $field = 'sum_money', $start_date = '', $ent_date = '') {
  45. $_map['start_time'] = $start_date;
  46. $_map['end_time'] = $ent_date;
  47. $_agent_ids = (new AgentLogic())->getAgentIds($agent_id);
  48. if (1 == count($_agent_ids)) {
  49. $_map['agent_id'] = $_agent_ids[0];
  50. } elseif (1 < count($_agent_ids)) {
  51. $_map['agent_id'] = ['in', $_agent_ids];
  52. } else {
  53. $_code = CommonStatus::INVALID_PARAMS;
  54. return $this->huoSuccess($_code, CommonStatus::getMsg($_code));
  55. }
  56. $_role_type = (new Agent())->getRoleType($agent_id);
  57. $_group = '';
  58. if (AgentConst::ROLE_TYPE_AGENT == $_role_type) {
  59. $_field = $field.' as data_value';
  60. } else {
  61. $_field = 'sum('.$field.') as data_value';
  62. $_group = 'date';
  63. }
  64. $_rdata = (new AgentDayLogic())->getDataByField($_field, $_map, $_group);
  65. $_code = CommonStatus::NO_ERROR;
  66. return $this->huoSuccess($_code, CommonStatus::getMsg($_code), $_rdata);
  67. }
  68. }