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(); } }