'小程序', '2'=>'h5', '3'=>'ios', '4'=>'安卓', '5'=>'' ]; static protected $pay_way = [ '1'=>'微信支付', '2'=>'支付宝支付', '3'=>'余额支付', '4'=>'储值卡核销', '5'=>'百亿返补充值', ]; public static function Orderlists($get = [], $is_export = false){ $order = new Order(); $where = []; $page = $get['page'] ?? 1; $limit = $get['limit'] ?? 10; //订单状态选项卡 if (isset($get['type']) && $get['type'] != '') { $where[] = ['order_status', '=', $get['type']]; } //订单搜素 if (!empty($get['search_key']) && !empty($get['keyword'])) { $keyword = $get['keyword']; switch ($get['search_key']) { case 'order_sn': $where[] = ['o.order_sn', '=', $keyword]; break; case 'user_sn': $where[] = ['u.sn', '=', $keyword]; break; case 'shop_name': $where[] = ['s.name', 'like', '%' . $keyword . '%']; break; case 'goods_name': $where[] = ['g.goods_name', 'like', '%' . $keyword . '%']; break; case 'user_id': $where[] = ['o.user_id', '=', $keyword]; break; case 'nickname': $where[] = ['u.nickname', 'like', '%' . $keyword . '%']; break; case 'user_mobile': $where[] = ['u.mobile', '=', $keyword]; break; case 'consignee': $where[] = ['consignee', '=', $keyword]; break; case 'consignee_mobile': $where[] = ['o.mobile', '=', $keyword]; break; } } //商家名称 if (isset($get['shop_name']) && $get['shop_name'] != '') { $where[] = ['s.name', 'like', '%' . $get['shop_name'] . '%']; } //商品名称 if (isset($get['goods_name']) && $get['goods_name'] != '') { $where[] = ['g.goods_name', 'like', '%' . $get['goods_name'] . '%']; } //配送方式 if (isset($get['delivery_type']) && $get['delivery_type'] != '') { $where[] = ['o.delivery_type', '=', $get['delivery_type']]; } //订单类型 if (isset($get['order_type']) && $get['order_type'] != '') { $where[] = ['o.order_type', '=', $get['order_type']]; } //付款方式 if (isset($get['pay_way']) && $get['pay_way'] != '') { $where[] = ['o.pay_way', '=', $get['pay_way']]; } //订单来源 if (isset($get['order_source']) && $get['order_source'] != '') { $where[] = ['o.order_source', '=', $get['order_source']]; } //下单时间 if (isset($get['start_time']) && $get['start_time'] != '') { $where[] = ['o.create_time', '>=', strtotime($get['start_time'])]; } if (isset($get['end_time']) && $get['end_time'] != '') { $where[] = ['o.create_time', '<=', strtotime($get['end_time'])]; } if (isset($get['page']) && $get['page'] != '') { $page = $get['page']; } if (isset($get['limit']) && $get['limit'] != '') { $limit = $get['limit']; } // // 导出excel // if (true === $is_export) { // return self::export($where); // } $field = 'o.*,s.name as shop_name,u.level'; $count = $order ->alias('o') ->field($field) ->join('shop s', 's.id = o.shop_id') ->join('user u', 'u.id = o.user_id') ->join('order_goods g', 'g.order_id = o.id') ->with(['order_goods', 'user', 'shop']) ->where($where) ->where('o.order_status',1) ->group('o.id') ->count(); $lists = $order ->alias('o') ->field($field) ->join('shop s', 's.id = o.shop_id') ->join('user u', 'u.id = o.user_id') ->join('order_goods g', 'g.order_id = o.id') ->with(['order_goods', 'user', 'shop']) ->where($where) ->where('o.order_status',1) ->append([ 'delivery_address', 'pay_status_text', 'order_source_text', 'order_status_text', 'delivery_type_text','order_type_text', 'pay_way_text', ]) ->page($page, $limit) ->order('o.id desc') ->group('o.id') ->select(); $user_level = UserLevel::where(['del'=>0])->column('name','id'); foreach ($lists as $list) { $list['pay_time'] = $list['pay_time'] == '0' ? '未支付' : date('Y-m-d H:i:s', $list['pay_time']); $list['user']['avatar'] = UrlServer::getFileUrl($list['user']['avatar']); $list['shop']['logo'] = UrlServer::getFileUrl($list['shop']['logo']); foreach ($list['order_goods'] as $order_good) { $order_good['image'] = UrlServer::getFileUrl($order_good['image']); } // 会员等级 $list['user_level'] = '暂无等级'; if(isset($user_level[$list['level']])) { $list['user_level'] = $user_level[$list['level']]; } } return ['count' => $count, 'lists' => $lists]; } public static function LocalOrderLists($get){ $where = []; $page = $get['page'] ?? 1; $limit = $get['limit'] ?? 10; // 会员信息 if (!empty($get['search_key']) && !empty($get['keyword'])) { $keyword = $get['keyword']; if ($get['search_key'] == 'user_sn') { $where[] = ['u.sn', '=', $keyword]; } elseif ($get['search_key'] == 'nickname') { $where[] = ['u.nickname', 'like', '%' . $keyword . '%']; } } //下单时间 if (isset($get['start_time']) && $get['start_time'] != '') { $where[] = ['lp.create_time', '>=', strtotime($get['start_time'])]; } if (isset($get['end_time']) && $get['end_time'] != '') { $where[] = ['lp.create_time', '<=', strtotime($get['end_time'])]; } if (isset($get['order_source']) && $get['order_source'] != '') { $where[] = ['lp.order_source', '=', $get['order_source']]; } if (isset($get['pay_way']) && $get['pay_way'] != '') { $where[] = ['lp.pay_way', '=', $get['pay_way']]; } $lists = LocalPay::alias('lp') ->join('user u', 'lp.user_id = u.id') ->field('lp.*, u.nickname,u.avatar, u.sn as user_sn, u.mobile') ->where('lp.pay_status',1) ->where($where) ->page($page, $limit) ->order('lp.id desc') ->group('lp.id') ->select()->toArray(); $count = LocalPay::alias('lp') ->join('user u', 'lp.user_id = u.id') ->field('lp.*, u.nickname,u.avatar, u.sn as user_sn, u.mobile') ->where('lp.pay_status',1) ->where($where) ->order('lp.id desc') ->group('lp.id') ->count(); foreach ($lists as &$item){ $item['avatar'] = UrlServer::getFileUrl($item['avatar']); $item['order_source'] = self::$order_source[$item['order_source']]; $item['pay_way'] = self::$pay_way[$item['pay_way']]; } return ['count' => $count, 'lists' => $lists]; } public static function RechargeOrderLists($get){ $where = []; $page = $get['page'] ?? 1; $limit = $get['limit'] ?? 10; // 会员信息 if (!empty($get['search_key']) && !empty($get['keyword'])) { $keyword = $get['keyword']; if ($get['search_key'] == 'user_sn') { $where[] = ['u.sn', '=', $keyword]; } elseif ($get['search_key'] == 'nickname') { $where[] = ['u.nickname', 'like', '%' . $keyword . '%']; } } //下单时间 if (isset($get['start_time']) && $get['start_time'] != '') { $where[] = ['r.create_time', '>=', strtotime($get['start_time'])]; } if (isset($get['end_time']) && $get['end_time'] != '') { $where[] = ['r.create_time', '<=', strtotime($get['end_time'])]; } if (isset($get['order_source']) && $get['order_source'] != '') { $where[] = ['r.order_source', '=', $get['order_source']]; } if (isset($get['pay_way']) && $get['pay_way'] != '') { $where[] = ['r.pay_way', '=', $get['pay_way']]; } $lists = RechargeOrder::alias('r') ->join('user u', 'r.user_id = u.id') ->field('r.*, u.nickname,u.avatar, u.sn as user_sn, u.mobile') ->where('r.pay_status',1) ->where($where) ->page($page, $limit) ->order('r.id desc') ->group('r.id') ->select()->toArray(); $count = RechargeOrder::alias('r') ->join('user u', 'r.user_id = u.id') ->field('r.*, u.nickname,u.avatar, u.sn as user_sn, u.mobile') ->where('r.pay_status',1) ->where($where) ->order('r.id desc') ->group('r.id') ->count(); foreach ($lists as &$item){ $item['avatar'] = UrlServer::getFileUrl($item['avatar']); // $item['order_source'] = self::$order_source[$item['order_source']]; // $item['pay_way'] = self::$pay_way[$item['pay_way']]; } return ['count' => $count, 'lists' => $lists]; } /** * @notes 获取各列表数量 * @return int * @author Yzt * @date 2024/10/31 10:08 上午 */ public static function getAll() { $order_all = Order::where('order_status',1)->count('id'); $local_order_all = LocalPay::where('pay_status',1)->count('id'); $recharge_order_all = RechargeOrder::where('pay_status',1)->count('id'); $order_price = Order::where('order_status',1)->sum('order_amount'); $local_order_price = LocalPay::where('pay_status',1)->sum('order_amount'); $recharge_order_price = RechargeOrder::where('pay_status',1)->sum('order_amount'); return [ 'order_all'=>$order_all, 'local_order_all'=>$local_order_all, 'recharge_order_all'=>$recharge_order_all, 'order_price'=>$order_price, 'local_order_price'=>$local_order_price, 'recharge_order_price'=>$recharge_order_price ]; } public static function getStat($order_status) { foreach ($order_status as $key => $value) { $num = Order::where('order_status', $key)->count('id'); $stat = $value . "(" . $num . ")"; $data[] = $stat; } return $data; } }