getQueryFilter($param); $userVerifyModel = new UserVerify(); /* $userCardModel = new UserRiceCard(); $startTime = date("Y-m-d H:i:s",strtotime("-1 year")); $endTime = date("Y-m-d H:i:s");*/ // 查询列表数据 return $this->with(['user.avatar']) ->alias('order') ->field('order.*') ->leftJoin('user', 'user.user_id = order.user_id') ->where($filter) ->where('order.is_del', '=', 0) ->order(['order.create_time' => 'desc']) ->paginate(15)->each(function ($item) use ($userVerifyModel){ $item->user_verify = $userVerifyModel->where('user_id',$item->user_id)->field('mobile,user_name,id_card')->find(); }); } /** * 设置检索查询条件 * @param array $param * @return array */ private function getQueryFilter(array $param) { // 查询参数 $params = $this->setQueryDefaultValue($param, [ 'state' => -1, // 订单状态(10待付款 30已付款 40交易关闭) 'pay_type' => -1, // 支付方式(10余额支付 20微信支付) 'order_no' => '', // 订单编号 'rice_card_name' => '', // 米卡名称 'rice_card_type' => -1, // 米卡类型 1-电子套餐卡 2-电子现金卡 3-电子实物兑换卡 'nick_name' => '', // 付款人姓名 'mobile' => '', // 付款人手机号 'betweenTime' => [], // 下单起止时间 'betweenPayTime' => [], // 付款起止时间 ]); // 检索查询条件 $filter = []; if ($params['state'] == 10) { // 待付款 $filter[] = ["order.order_status", '=', 10]; $filter[] = ["order.pay_status", '=', 0]; } elseif ($params['state'] == 30) { // 已付款 $filter[] = ["order.pay_status", '=', 1]; } elseif ($params['state'] == 40) { // 已关闭 $filter[] = ["order.order_status", '=', 40]; } $params['pay_type'] > -1 && $filter[] = ["order.pay_type", '=', $params['pay_type']]; !empty($params['order_no']) && $filter[] = ["order.order_no", 'like', "%{$params['order_no']}%"]; !empty($params['rice_card_name']) && $filter[] = ["order.rice_card_name", 'like', "%{$params['rice_card_name']}%"]; $params['rice_card_type'] > -1 && $filter[] = ["order.rice_card_type", '=', $params['rice_card_type']]; !empty($params['nick_name']) && $filter[] = ["user.nick_name", 'like', "%{$params['nick_name']}%"]; !empty($params['mobile']) && $filter[] = ["order.user_mobile", 'like', "%{$params['mobile']}%"]; // 下单起止时间 if (!empty($params['betweenTime'])) { if (isset($params['betweenTime'][0]) && $params['betweenTime'][0] && isset($params['betweenTime'][1]) && $params['betweenTime'][1]) { $times = between_date($params['betweenTime']); $filter[] = ['order.create_time', 'between', [$times['start_date'], $times['end_date']]]; } } // 付款起止时间 if (!empty($params['betweenPayTime'])) { if (isset($params['betweenPayTime'][0]) && $params['betweenPayTime'][0] && isset($params['betweenPayTime'][1]) && $params['betweenPayTime'][1]) { $times = between_date($params['betweenPayTime']); $filter[] = ['order.pay_time', 'between', [$times['start_date'], $times['end_date']]]; } } return $filter; } }