dggjimai/application/admin/controller/OrderController.php

78 lines
2.4 KiB
PHP
Executable File

<?php
/**
* 订单控制器
*/
namespace app\admin\controller;
use think\Request;
use app\common\model\Order;
use app\common\validate\OrderValidate;
class OrderController extends Controller
{
//列表
public function index(Request $request, Order $model)
{
$param = $request->param();
$where = [];
//订单搜素
if (!empty($param['search_key']) && !empty($param['keyword'])) {
$keyword = $param['keyword'];
switch ($param['search_key']) {
case 'order_sn':
$where[] = ['o.order_sn', 'like', '%' . $keyword . '%'];
break;
case 'user_sn':
$where[] = ['u.sn', 'like', '%' . $keyword . '%'];
break;
case 'nickname':
$where[] = ['u.nickname', 'like', '%' . $keyword . '%'];
break;
case 'user_mobile':
$where[] = ['u.mobile', 'like', '%' . $keyword . '%'];
break;
}
}
//商品名称
if (isset($param['goods_name']) && $param['goods_name'] != '') {
$where[] = ['o.goods_name', 'like', '%' . $param['goods_name'] . '%'];
}
//订单类型
if (isset($param['order_type']) && $param['order_type'] != '') {
$where[] = ['o.order_type', '=', $param['order_type']];
}
//下单时间
if (isset($param['start_time']) && $param['start_time'] != '') {
$where[] = ['o.create_time', '>=', strtotime($param['start_time'])];
}
if (isset($param['end_time']) && $param['end_time'] != '') {
$where[] = ['o.create_time', '<=', strtotime($param['end_time'])];
}
$model = $model
->alias('o')
->field('o.*,u.mobile,u.nickname,u.sn,u.avatar')
->join('user u', 'u.id = o.user_id')
->where($where)
->order('o.id desc')
->group('o.id')
->scope('where', $param);
$data = $model->paginate($this->admin['per_page'], false, ['query'=>$request->get()]);
//关键词,排序等赋值
$this->assign($request->get());
$this->assign([
'data' => $data,
'page' => $data->render(),
'total' => $data->total(),
]);
return $this->fetch();
}
}