1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- <?php
- namespace app\admin\controller\auth;
- use app\main\constants\AdminConstants;
- use app\main\constants\ConsumeConstants;
- use think\db\Query;
- class Usercampaignconsume extends UserDetailBase
- {
- public function _initialize()
- {
- parent::_initialize();
- }
- public function index()
- {
- if ($this->request->isAjax()) {
- list($where, $sort, $order, $offset, $limit) = $this->buildparams();
- $whereChannel = [];
- if (in_array($this->group, [AdminConstants::ADMIN_GROUP_ID_CHANNEL, AdminConstants::ADMIN_GROUP_ID_AGENT])) {
- $whereChannel = function(Query $query){
- $query->where('free_kandian+kandian-dd_free_kandian-dd_kandian>0');
- };
- }
- if (in_array($this->group, [AdminConstants::ADMIN_GROUP_ID_CHANNEL, AdminConstants::ADMIN_GROUP_ID_AGENT])) {
- $list = model('consume')->setConnect($this->ids)
- ->field(['id', 'FROM_UNIXTIME(createtime)'=> 'createdate'])
- ->field(['kandian', 'free_kandian', 'dd_kandian', 'dd_free_kandian'])
- ->field([('kandian + free_kandian - dd_kandian - dd_free_kandian') => 'total_kandian'])
- ->field(['JSON_EXTRACT(camp_info, "$.campaign_name")' => 'campaign_name'])
- ->field(['JSON_EXTRACT(camp_info, "$.campaign_id")' => 'match_id'])
- ->field(['JSON_EXTRACT(camp_info, "$.match_name")' => 'match_name'])
- ->field(['JSON_EXTRACT(camp_info, "$.campaign_id")' => 'campaign_id'])
- ->where(['user_id' => $this->ids])
- ->where('type', 'eq', ConsumeConstants::CONSUME_TYPE_CAMPAIGN)
- ->where($where)
- ->where($whereChannel)
- ->limit($offset, $limit)
- ->select();
- }else{
- $list = model('consume')->setConnect($this->ids)
- ->field(['id', 'FROM_UNIXTIME(createtime)'=> 'createdate'])
- ->field(['kandian', 'free_kandian', 'dd_kandian', 'dd_free_kandian'])
- ->field([('kandian + free_kandian') => 'total_kandian'])
- ->field(['JSON_EXTRACT(camp_info, "$.campaign_name")' => 'campaign_name'])
- ->field(['JSON_EXTRACT(camp_info, "$.campaign_id")' => 'match_id'])
- ->field(['JSON_EXTRACT(camp_info, "$.match_name")' => 'match_name'])
- ->field(['JSON_EXTRACT(camp_info, "$.campaign_id")' => 'campaign_id'])
- ->where(['user_id' => $this->ids])
- ->where('type', 'eq', ConsumeConstants::CONSUME_TYPE_CAMPAIGN)
- ->where($where)
- ->where($whereChannel)
- ->limit($offset, $limit)
- ->select();
- }
- $total = model('consume')->setConnect($this->ids)
- ->where(['user_id' => $this->ids])
- ->where('type', 'eq', ConsumeConstants::CONSUME_TYPE_CAMPAIGN)
- ->where($where)
- ->where($whereChannel)
- ->count();
- $result = array("total" => $total, "rows" => $list);
- return json($result);
- }
- $this->view->assign('title', '消耗活动消费记录');
- $this->view->assign('type', 'usercampaignconsume');
- return $this->view->fetch();
- }
- }
|