adminInfo['data_rules'] * province city admin_id sale_group_id sale_id property_head_id */ public function queryDataWhere(){ $where = []; $data_rules = $this->adminInfo['data_rules']; /*if (isset($data_rules['province']) && !empty($data_rules['province'])) { $where[] = ['province','in' ,$data_rules['province']]; } if (isset($data_rules['city']) && !empty($data_rules['city'])) { $where[] = ['city','in' ,$data_rules['city']]; }*/ if (isset($data_rules['sale_group_id']) && !empty($data_rules['sale_group_id'])) { $work_ids = PropertyOrder::where('sale_group_id','in',$data_rules['sale_group_id'])->column('work_id')??[]; $where[] = ['work_id','in' ,$work_ids]; } if (isset($data_rules['sale_id']) && !empty($data_rules['sale_id'])) { $work_ids = PropertyOrder::where('sale_id','in',$data_rules['sale_id'])->column('work_id')??[]; $where[] = ['work_id','in' ,$work_ids]; } if (isset($data_rules['property_head_id']) && !empty($data_rules['property_head_id'])) { $work_ids = PropertyOrder::where('property_head_id','in',$data_rules['property_head_id'])->column('work_id')??[]; $where[] = ['work_id','in' ,$work_ids]; } return $where; } /** * @notes 设置搜索条件 * @return \string[][] * @author likeadmin * @date 2024/07/10 14:53 */ public function setSearch(): array { return [ '=' => ['sn', 'work_id', 'user_id', 'payment_type', 'pay_sn', 'pay_way', 'pay_status', 'pay_time', 'order_terminal', 'transaction_id', 'refund_status', 'refund_transaction_id'], ]; } public function queryWhere():array { $where = []; if(isset($this->params['create_time']) && !empty($this->params['create_time'])){ $time = [strtotime($this->params['create_time'][0]), strtotime($this->params['create_time'][1])]; $where[] = ['create_time', 'between', $time]; } if(isset($this->params['update_time']) && !empty($this->params['update_time'])){ $time = [strtotime($this->params['update_time'][0]), strtotime($this->params['update_time'][1])]; $where[] = ['update_time', 'between', $time]; } return $where; } /** * @notes 获取列表 * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author likeadmin * @date 2024/07/10 14:53 */ public function lists(): array { return RechargeOrder::with(['orderGoods'=>function(Query $query){ $query->field('id,sn,goods_id,goods_name,goods_image,goods_number,good_unit,goods_size,goods_type,goods_brand,base_service_fee,service_total,service_fee')->order(['id'=>'desc']); }])->where($this->searchWhere) ->where($this->queryDataWhere()) ->where($this->queryWhere()) ->field(['id', 'sn', 'work_id', 'user_id', 'payment_type', 'pay_sn', 'pay_way', 'pay_status', 'pay_time', 'order_total', 'order_amount', 'order_terminal', 'transaction_id', 'refund_status', 'refund_transaction_id', 'create_time', 'update_time']) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) ->select() ->toArray(); } /** * @notes 获取数量 * @return int * @author likeadmin * @date 2024/07/10 14:53 */ public function count(): int { return RechargeOrder::where($this->searchWhere)->where($this->queryWhere())->where($this->queryDataWhere())->count(); } }