Usercampaignconsume.php 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. namespace app\admin\controller\auth;
  3. use app\main\constants\AdminConstants;
  4. use app\main\constants\ConsumeConstants;
  5. use think\db\Query;
  6. class Usercampaignconsume extends UserDetailBase
  7. {
  8. public function _initialize()
  9. {
  10. parent::_initialize();
  11. }
  12. public function index()
  13. {
  14. if ($this->request->isAjax()) {
  15. list($where, $sort, $order, $offset, $limit) = $this->buildparams();
  16. $whereChannel = [];
  17. if (in_array($this->group, [AdminConstants::ADMIN_GROUP_ID_CHANNEL, AdminConstants::ADMIN_GROUP_ID_AGENT])) {
  18. $whereChannel = function(Query $query){
  19. $query->where('free_kandian+kandian-dd_free_kandian-dd_kandian>0');
  20. };
  21. }
  22. if (in_array($this->group, [AdminConstants::ADMIN_GROUP_ID_CHANNEL, AdminConstants::ADMIN_GROUP_ID_AGENT])) {
  23. $list = model('consume')->setConnect($this->ids)
  24. ->field(['id', 'FROM_UNIXTIME(createtime)'=> 'createdate'])
  25. ->field(['kandian', 'free_kandian', 'dd_kandian', 'dd_free_kandian'])
  26. ->field([('kandian + free_kandian - dd_kandian - dd_free_kandian') => 'total_kandian'])
  27. ->field(['JSON_EXTRACT(camp_info, "$.campaign_name")' => 'campaign_name'])
  28. ->field(['JSON_EXTRACT(camp_info, "$.campaign_id")' => 'match_id'])
  29. ->field(['JSON_EXTRACT(camp_info, "$.match_name")' => 'match_name'])
  30. ->field(['JSON_EXTRACT(camp_info, "$.campaign_id")' => 'campaign_id'])
  31. ->where(['user_id' => $this->ids])
  32. ->where('type', 'eq', ConsumeConstants::CONSUME_TYPE_CAMPAIGN)
  33. ->where($where)
  34. ->where($whereChannel)
  35. ->limit($offset, $limit)
  36. ->select();
  37. }else{
  38. $list = model('consume')->setConnect($this->ids)
  39. ->field(['id', 'FROM_UNIXTIME(createtime)'=> 'createdate'])
  40. ->field(['kandian', 'free_kandian', 'dd_kandian', 'dd_free_kandian'])
  41. ->field([('kandian + free_kandian') => 'total_kandian'])
  42. ->field(['JSON_EXTRACT(camp_info, "$.campaign_name")' => 'campaign_name'])
  43. ->field(['JSON_EXTRACT(camp_info, "$.campaign_id")' => 'match_id'])
  44. ->field(['JSON_EXTRACT(camp_info, "$.match_name")' => 'match_name'])
  45. ->field(['JSON_EXTRACT(camp_info, "$.campaign_id")' => 'campaign_id'])
  46. ->where(['user_id' => $this->ids])
  47. ->where('type', 'eq', ConsumeConstants::CONSUME_TYPE_CAMPAIGN)
  48. ->where($where)
  49. ->where($whereChannel)
  50. ->limit($offset, $limit)
  51. ->select();
  52. }
  53. $total = model('consume')->setConnect($this->ids)
  54. ->where(['user_id' => $this->ids])
  55. ->where('type', 'eq', ConsumeConstants::CONSUME_TYPE_CAMPAIGN)
  56. ->where($where)
  57. ->where($whereChannel)
  58. ->count();
  59. $result = array("total" => $total, "rows" => $list);
  60. return json($result);
  61. }
  62. $this->view->assign('title', '消耗活动消费记录');
  63. $this->view->assign('type', 'usercampaignconsume');
  64. return $this->view->fetch();
  65. }
  66. }