['a.status','a.pay_status','a.pay_way','a.refund_status','a.group_activity_id','a.user_equity_id','a.group_order_id','c.sn','d.mobile'], ]; } public function queryWhere(){ $where = []; if(!empty($this->params['area'])){ $where[] = ['a.area', 'like', '%'.$this->params['area'].'%']; } if(!empty($this->params['title'])){ $where[] = ['b.title', 'like', '%'.$this->params['title'].'%']; } if (isset($this->params['group_order_status'])) { $where[] = ['c.status', '=', $this->params['group_order_status']]; } return $where; } /** * @notes 获取拼团订单列表 * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author likeadmin * @date 2025/03/13 10:31 */ public function lists(): array { $list = GroupUserOrder::alias('a') ->leftJoin('group_activity b', 'b.id = a.group_activity_id') ->leftJoin('group_order c', 'c.id = a.group_order_id') ->leftJoin('user d', 'd.id = a.user_id') ->where($this->searchWhere) ->where($this->queryWhere()) ->field(['a.*', 'b.title','b.image','c.sn as group_order_sn','c.status as group_order_status','d.mobile']) ->append(['group_order_status_text','status_text','pay_status_text','pay_way_text','refund_status_text']) ->limit($this->limitOffset, $this->limitLength) ->order(['a.id' => 'desc']) ->select() ->toArray(); return $list; } /** * @notes 获取拼团活动数量 * @return int * @author likeadmin * @date 2025/03/13 10:31 */ public function count(): int { return GroupUserOrder::alias('a') ->leftJoin('group_activity b', 'b.id = a.group_activity_id') ->leftJoin('group_order c', 'c.id = a.group_order_id') ->leftJoin('user d', 'd.id = a.user_id') ->where($this->searchWhere) ->where($this->queryWhere()) ->count(); } public function setExcelComplexFields(): array { $zh_cn_fields = [ '订单ID','活动标题', '拼团编号','拼团状态','用户ID','手机号','小区','详细地址','订单状态','应付金额','已付金额','支付方式','支付状态','支付时间','退款状态','下单时间' ]; $data_fields = ['id','title','group_order_sn','group_order_status_text','user_id','mobile','area','address','status_text','order_amount','paid_amount','pay_way_text','pay_status_text','pay_time','refund_status_text','create_time']; return [ 'zh_cn_fields' => $zh_cn_fields, 'data_fields' => $data_fields ]; } }