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