Order.php 7.1 KB
Newer Older
D
v1.2.0  
devil_gong 已提交
1 2 3 4
<?php
// +----------------------------------------------------------------------
// | ShopXO 国内领先企业级B2C免费开源电商系统
// +----------------------------------------------------------------------
D
devil_gong 已提交
5
// | Copyright (c) 2011~2019 http://shopxo.net All rights reserved.
D
v1.2.0  
devil_gong 已提交
6 7 8 9 10 11 12
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: Devil
// +----------------------------------------------------------------------
namespace app\admin\controller;

13 14 15
use app\service\OrderService;
use app\service\PaymentService;
use app\service\ExpressService;
D
v1.2.0  
devil_gong 已提交
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38

/**
 * 订单管理
 * @author   Devil
 * @blog     http://gong.gg/
 * @version  0.0.1
 * @datetime 2016-12-01T21:51:08+0800
 */
class Order extends Common
{
    /**
     * 构造方法
     * @author   Devil
     * @blog     http://gong.gg/
     * @version  0.0.1
     * @datetime 2016-12-03T12:39:08+0800
     */
    public function __construct()
    {
        // 调用父类前置方法
        parent::__construct();

        // 登录校验
D
devil_gong 已提交
39
        $this->IsLogin();
D
v1.2.0  
devil_gong 已提交
40 41

        // 权限校验
D
devil_gong 已提交
42
        $this->IsPower();
D
v1.2.0  
devil_gong 已提交
43 44 45 46 47 48 49 50 51 52 53
    }

    /**
     * 订单列表
     * @author   Devil
     * @blog     http://gong.gg/
     * @version  0.0.1
     * @datetime 2016-12-06T21:31:53+0800
     */
    public function Index()
    {
D
devil 已提交
54 55
        // 总数
        $total = OrderService::OrderTotal($this->form_where);
D
v1.2.0  
devil_gong 已提交
56 57

        // 分页
D
devil 已提交
58 59 60 61 62 63 64
        $page_params = [
            'number'    =>  $this->page_size,
            'total'     =>  $total,
            'where'     =>  $this->data_request,
            'page'      =>  $this->page,
            'url'       =>  MyUrl('admin/order/index'),
        ];
D
v1.2.0  
devil_gong 已提交
65 66 67
        $page = new \base\Page($page_params);

        // 获取列表
D
devil 已提交
68
        $data_params = [
D
v1.2.0  
devil_gong 已提交
69
            'm'         => $page->GetPageStarNumber(),
D
devil 已提交
70 71
            'n'         => $this->page_size,
            'where'     => $this->form_where,
D
Devil 已提交
72
            'order_by'  => $this->form_order_by['data'],
G
gongfuxiang 已提交
73
            'is_public' => 0,
D
devil 已提交
74
            'user_type' => 'admin',
D
devil 已提交
75
        ];
D
devil 已提交
76
        $ret = OrderService::OrderList($data_params);
D
v1.2.0  
devil_gong 已提交
77 78 79

        // 发起支付 - 支付方式
        $pay_where = [
D
devil 已提交
80
            'where' => ['is_enable'=>1, 'payment'=>config('shopxo.under_line_list')],
D
v1.2.0  
devil_gong 已提交
81 82 83
        ];
        $this->assign('buy_payment_list', PaymentService::BuyPaymentList($pay_where));

D
devil 已提交
84 85 86
        // 快递公司
        $this->assign('express_list', ExpressService::ExpressList());

D
devil 已提交
87 88 89
        // 加载百度地图api
        $this->assign('is_load_baidu_map_api', 1);

D
devil 已提交
90
        // 基础参数赋值
D
devil 已提交
91 92 93
        $this->assign('params', $this->data_request);
        $this->assign('page_html', $page->GetPageHtml());
        $this->assign('data_list', $ret['data']);
D
v1.2.0  
devil_gong 已提交
94 95 96
        return $this->fetch();
    }

D
devil 已提交
97 98 99 100 101 102 103 104 105
    /**
     * 详情
     * @author   Devil
     * @blog     http://gong.gg/
     * @version  1.0.0
     * @datetime 2019-08-05T08:21:54+0800
     */
    public function Detail()
    {
D
devil 已提交
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
        if(!empty($this->data_request['id']))
        {
            // 条件
            $where = [
                ['is_delete_time', '=', 0],
                ['id', '=', intval($this->data_request['id'])],
            ];

            // 获取列表
            $data_params = [
                'm'         => 0,
                'n'         => 1,
                'where'     => $where,
                'is_public' => 0,
                'user_type' => 'admin',
            ];
            $ret = OrderService::OrderList($data_params);
            $data = (empty($ret['data']) || empty($ret['data'][0])) ? [] : $ret['data'][0];
            $this->assign('data', $data);
D
devil 已提交
125 126 127

            // 加载百度地图api
            $this->assign('is_load_baidu_map_api', 1);
D
devil 已提交
128
        }
D
devil 已提交
129 130 131
        return $this->fetch();
    }

D
v1.2.0  
devil_gong 已提交
132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
    /**
     * [Delete 订单删除]
     * @author   Devil
     * @blog     http://gong.gg/
     * @version  0.0.1
     * @datetime 2016-12-15T11:03:30+0800
     */
    public function Delete()
    {
        // 是否ajax请求
        if(!IS_AJAX)
        {
            return $this->error('非法访问');
        }

        // 删除操作
D
devil 已提交
148
        $params = $this->data_request;
D
v1.2.0  
devil_gong 已提交
149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171
        $params['user_id'] = $params['value'];
        $params['creator'] = $this->admin['id'];
        $params['creator_name'] = $this->admin['username'];
        $params['user_type'] = 'admin';
        return OrderService::OrderDelete($params);
    }

    /**
     * [Cancel 订单取消]
     * @author   Devil
     * @blog     http://gong.gg/
     * @version  0.0.1
     * @datetime 2016-12-15T11:03:30+0800
     */
    public function Cancel()
    {
        // 是否ajax请求
        if(!IS_AJAX)
        {
            return $this->error('非法访问');
        }

        // 取消操作
D
devil 已提交
172
        $params = $this->data_request;
D
v1.2.0  
devil_gong 已提交
173 174 175 176 177 178 179
        $params['user_id'] = $params['value'];
        $params['creator'] = $this->admin['id'];
        $params['creator_name'] = $this->admin['username'];
        return OrderService::OrderCancel($params);
    }

    /**
D
devil_gong 已提交
180
     * [Delivery 订单发货/取货]
D
v1.2.0  
devil_gong 已提交
181 182 183 184 185 186 187 188 189 190 191 192 193 194
     * @author   Devil
     * @blog     http://gong.gg/
     * @version  0.0.1
     * @datetime 2016-12-15T11:03:30+0800
     */
    public function Delivery()
    {
        // 是否ajax请求
        if(!IS_AJAX)
        {
            return $this->error('非法访问');
        }

        // 发货操作
D
devil 已提交
195
        $params = $this->data_request;
D
v1.2.0  
devil_gong 已提交
196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216
        $params['creator'] = $this->admin['id'];
        $params['creator_name'] = $this->admin['username'];
        return OrderService::OrderDelivery($params);
    }

    /**
     * [Collect 订单收货]
     * @author   Devil
     * @blog     http://gong.gg/
     * @version  0.0.1
     * @datetime 2016-12-15T11:03:30+0800
     */
    public function Collect()
    {
        // 是否ajax请求
        if(!IS_AJAX)
        {
            return $this->error('非法访问');
        }

        // 收货操作
D
devil 已提交
217
        $params = $this->data_request;
D
v1.2.0  
devil_gong 已提交
218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
        $params['user_id'] = $params['value'];
        $params['creator'] = $this->admin['id'];
        $params['creator_name'] = $this->admin['username'];
        return OrderService::OrderCollect($params);
    }

    /**
     * [Confirm 订单确认]
     * @author   Devil
     * @blog     http://gong.gg/
     * @version  0.0.1
     * @datetime 2016-12-15T11:03:30+0800
     */
    public function Confirm()
    {
        // 是否ajax请求
        if(!IS_AJAX)
        {
            return $this->error('非法访问');
        }

        // 订单确认
D
devil 已提交
240
        $params = $this->data_request;
D
v1.2.0  
devil_gong 已提交
241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256
        $params['user_id'] = $params['value'];
        $params['creator'] = $this->admin['id'];
        $params['creator_name'] = $this->admin['username'];
        return OrderService::OrderConfirm($params);
    }

    /**
     * 订单支付
     * @author   Devil
     * @blog    http://gong.gg/
     * @version 1.0.0
     * @date    2018-09-28
     * @desc    description
     */
    public function Pay()
    {
D
devil 已提交
257
        $params = $this->data_request;
D
Devil 已提交
258
        $params['admin'] = $this->admin;
D
v1.2.0  
devil_gong 已提交
259 260 261 262
        return OrderService::AdminPay($params);
    }
}
?>