Skip to content
  • P
    Projects
  • G
    Groups
  • S
    Snippets
  • Help

semour / semour_admin

  • This project
    • Loading...
  • Sign in
Go to a project
  • Project
  • Repository
  • Issues 0
  • Merge Requests 0
  • Pipelines
  • Wiki
  • Snippets
  • Settings
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Files
  • Commits
  • Branches
  • Tags
  • Contributors
  • Graph
  • Compare
  • Charts
Find file
Normal viewHistoryPermalink
Switch branch/tag
  • semour_admin
  • app
  • Admin
  • Controllers
  • Api
  • OrderApiController.php
OrderApiController.php 7.95 KB
孙龙's avatar
订单
f785d072
 
孙龙 committed 2 years ago
1 2 3 4
<?php

namespace App\Admin\Controllers\Api;

孙龙's avatar
订单详情修改
54cca012
 
孙龙 committed 2 years ago
5
use App\Admin\Controllers\BaseController;
孙龙's avatar
订单列表
ddba0583
 
孙龙 committed 2 years ago
6
use App\Admin\Service\OrderService;
孙龙's avatar
订单详情修改
54cca012
 
孙龙 committed 2 years ago
7 8
use App\Exceptions\InvalidRequestException;
use App\Http\Utils\ValidatorMsg;
孙龙's avatar
订单列表
ddba0583
 
孙龙 committed 2 years ago
9
use App\Models\Increasid;
孙龙's avatar
订单详情修改
54cca012
 
孙龙 committed 2 years ago
10
use App\Models\Order;
孙龙's avatar
订单列表
ddba0583
 
孙龙 committed 2 years ago
11
use App\Models\OrderAddress;
孙龙's avatar
订单详情修改
54cca012
 
孙龙 committed 2 years ago
12
use App\Models\OrderReturnItems;
孙龙's avatar
订单
f785d072
 
孙龙 committed 2 years ago
13 14
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
孙龙's avatar
订单详情修改
54cca012
 
孙龙 committed 2 years ago
15
use Illuminate\Support\Arr;
孙龙's avatar
订单
f785d072
 
孙龙 committed 2 years ago
16
use Maatwebsite\Excel\Facades\Excel;
孙龙's avatar
订单详情修改
54cca012
 
孙龙 committed 2 years ago
17
use Illuminate\Support\Facades\Validator;
孙龙's avatar
订单
f785d072
 
孙龙 committed 2 years ago
18 19


孙龙's avatar
订单详情修改
54cca012
 
孙龙 committed 2 years ago
20
class OrderApiController extends BaseController
孙龙's avatar
订单
f785d072
 
孙龙 committed 2 years ago
21 22
{
    
孙龙's avatar
订单列表pdf
7a833ad9
 
孙龙 committed 2 years ago
23
    public function orderDownloadShow(Request $request){
孙龙's avatar
订单列表
ddba0583
 
孙龙 committed 2 years ago
24

孙龙's avatar
订单列表pdf
7a833ad9
 
孙龙 committed 2 years ago
25 26
        $params = $request->all();
        $type = arrayGet($params, "type");
孙龙's avatar
订单列表
ddba0583
 
孙龙 committed 2 years ago
27 28 29

        $order_id = 1;
        $orderAddressList = OrderService::getOrderAddress($order_id);
孙龙's avatar
pi文件
c39eb403
 
孙龙 committed 2 years ago
30
        $orderAddressList = arrayChangeKeyByField($orderAddressList,"order_address_type");
孙龙's avatar
订单取消 和 审核
45e72bdc
 
孙龙 committed 2 years ago
31
//        dump($orderAddressList);
孙龙's avatar
pi文件
c39eb403
 
孙龙 committed 2 years ago
32 33
        $info["sn"] = OrderService::getSn($type);
        if(empty($info["sn"])){
孙龙's avatar
订单列表
ddba0583
 
孙龙 committed 2 years ago
34 35
            abort(500, '获取编码失败');
        }
孙龙's avatar
订单取消 和 审核
45e72bdc
 
孙龙 committed 2 years ago
36 37 38


        $info["orderList"] = OrderService::getOrderList($order_id);
孙龙's avatar
订单列表pdf
7a833ad9
 
孙龙 committed 2 years ago
39 40
        if($type == "1"){
            //PI
孙龙's avatar
pi文件
c39eb403
 
孙龙 committed 2 years ago
41 42 43 44 45
            return view('export.order_contract_PI',[
                "ship"=>$orderAddressList[1]??[],
                "bill"=>$orderAddressList[2]??[],
                "info"=>$info
                ]);
孙龙's avatar
订单列表pdf
7a833ad9
 
孙龙 committed 2 years ago
46 47
        }elseif($type == "2"){
            //CI
孙龙's avatar
订单取消 和 审核
45e72bdc
 
孙龙 committed 2 years ago
48 49 50 51 52
            return view('export.order_contract_CI',[
                "ship"=>$orderAddressList[1]??[],
                "bill"=>$orderAddressList[2]??[],
                "info"=>$info
            ]);
孙龙's avatar
订单列表pdf
7a833ad9
 
孙龙 committed 2 years ago
53 54
        }else{
            //PL
孙龙's avatar
订单取消 和 审核
45e72bdc
 
孙龙 committed 2 years ago
55 56 57 58 59
            return view('export.order_contract_PL',[
                "ship"=>$orderAddressList[1]??[],
                "bill"=>$orderAddressList[2]??[],
                "info"=>$info
            ]);
孙龙's avatar
订单列表pdf
7a833ad9
 
孙龙 committed 2 years ago
60 61
        }

孙龙's avatar
订单
f785d072
 
孙龙 committed 2 years ago
62
    }
孙龙's avatar
pi文件
c39eb403
 
孙龙 committed 2 years ago
63 64 65


    public function orderList(Request $request){
孙龙's avatar
订单详情修改
54cca012
 
孙龙 committed 2 years ago
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84

        $params = request()->all();
        $order_id = arrayGet($params,"order_id",0,"intval");

        $orderInfo = Order::getOneAndRelationList($order_id);
        $orderItems = $orderInfo["order_items"]??[];
        $orderInfo["orderItemList"] = $orderItems;
        foreach($orderInfo["orderItemList"] as $k=>$item){
            $orderInfo["orderItemList"][$k]["goods_price_format"] = decimal_number_format_usd($item["goods_price"]);
            $orderInfo["orderItemList"][$k]["total_amount"] = decimal_number_format($item["goods_price"]*$item["goods_number"]);
            $orderInfo["orderItemList"][$k]["total_amount_format"] = decimal_number_format_usd($item["goods_price"]*$item["goods_number"]);
            $returnItems = OrderReturnItems::getOrderReturnItem($item["rec_id"]);
            $orderInfo["orderItemList"][$k]["return_num"] = $returnItems["return_num"] ?? "";
            $orderInfo["orderItemList"][$k]["return_price"] = $returnItems["return_price"] ?? "";
            $orderInfo["orderItemList"][$k]["return_amount"] = $returnItems["return_amount"] ?? "";
            $orderInfo["orderItemList"][$k]["type"] = $returnItems["type"] ?? "";
            $orderInfo["orderItemList"][$k]["type_cn"] = Arr::get(OrderReturnItems::$TYPE,$returnItems["type"] ?? 0,"");
        }

孙龙's avatar
订单用户统计 更改订单跟进人
fc74d7d6
 
孙龙 committed 2 years ago
85
        $returnAmount = OrderService::getOrderReturnAmount($order_id);
孙龙's avatar
订单相关
74e7f2b5
 
孙龙 committed 2 years ago
86 87 88 89

        return response()->json(["code"=>0,"msg"=>"ok","data"=>[
            "list"=>$orderInfo["orderItemList"],
            "order_amount"=>decimal_number_format_usd($orderInfo["order_amount"]),
孙龙's avatar
订单用户统计 更改订单跟进人
fc74d7d6
 
孙龙 committed 2 years ago
90 91
            "return_order_amount"=>$returnAmount,
            "return_order_amount_format"=>decimal_number_format_usd($returnAmount),
孙龙's avatar
订单相关
74e7f2b5
 
孙龙 committed 2 years ago
92
        ],"count"=>count($orderInfo["orderItemList"] )]);
孙龙's avatar
pi文件
c39eb403
 
孙龙 committed 2 years ago
93
    }
孙龙's avatar
订单详情修改
54cca012
 
孙龙 committed 2 years ago
94 95 96


    //订单明细修改
孙龙's avatar
订单
f785d072
 
孙龙 committed 2 years ago
97
    public function orderDownload(Request $request){
孙龙's avatar
订单列表
ddba0583
 
孙龙 committed 2 years ago
98

孙龙's avatar
订单取消 和 审核
45e72bdc
 
孙龙 committed 2 years ago
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
        $params = $request->all();
        $type = arrayGet($params, "type");

        $order_id = 1;
        $orderAddressList = OrderService::getOrderAddress($order_id);
        $orderAddressList = arrayChangeKeyByField($orderAddressList,"order_address_type");
        $info["sn"] = OrderService::getSn($type);
        if(empty($info["sn"])){
            abort(500, '获取编码失败');
        }

        $info["orderList"] = OrderService::getOrderList($order_id);

        return Excel::download(new \App\Exports\ContractExport([
            "ship"=>$orderAddressList[1]??[],
            "bill"=>$orderAddressList[2]??[],
            "info"=>$info
        ]),'PI.xlsx');
孙龙's avatar
订单
f785d072
 
孙龙 committed 2 years ago
117
    }
孙龙's avatar
订单详情修改
54cca012
 
孙龙 committed 2 years ago
118 119 120 121 122 123 124


    //订单明细修改
    public function  editOrderItems(Request $request){
        $params = $request->all();
        $order_id = arrayGet($params,"order_id",0,"intval");
        $orderItems = arrayGet($params,"order_items","","trim");
孙龙's avatar
订单相关
74e7f2b5
 
孙龙 committed 2 years ago
125
        $order_remark = arrayGet($params,"order_remark","","trim");
孙龙's avatar
订单详情修改
54cca012
 
孙龙 committed 2 years ago
126 127 128
        $validator = Validator::make($params, [
            'order_id' => 'required',
            'order_items.*.order_items_id' => 'required',
孙龙's avatar
订单相关
74e7f2b5
 
孙龙 committed 2 years ago
129 130 131 132
            'order_items.*.goods_price' => 'required|gt:0',
            'order_items.*.goods_number' => 'required|gt:0',
            'order_items.*.return_goods_price' => 'gt:0',
            'order_items.*.return_goods_number' => 'gt:0',
孙龙's avatar
订单详情修改
54cca012
 
孙龙 committed 2 years ago
133 134 135 136
            'order_items' => 'required',
        ], [
            'order_id.required' => admin_trans("order.validator.order_id_required"),
            'order_items.required' => admin_trans("order.validator.order_items_required"),
孙龙's avatar
订单相关
74e7f2b5
 
孙龙 committed 2 years ago
137 138 139 140
            'order_items.*.goods_price.gt' => admin_trans("order.validator.goods_price.gt"),
            'order_items.*.goods_number.gt' => admin_trans("order.validator.goods_number.gt"),
            'order_items.*.return_goods_price.gt' => admin_trans("order.validator.return_goods_price.gt"),
            'order_items.*.return_goods_number.gt' => admin_trans("order.validator.return_goods_number.gt"),
孙龙's avatar
订单详情修改
54cca012
 
孙龙 committed 2 years ago
141 142 143 144 145 146 147 148 149 150
        ], [

//            'order_id' => '订单id',
//            'order_items' => '订单明细',
        ]);
        if ($validator->fails()) {
            $errors = $validator->errors()->toArray();
            $err_msg = ValidatorMsg::getMsg($errors);
            throw new InvalidRequestException($err_msg);
        }
孙龙's avatar
订单相关
74e7f2b5
 
孙龙 committed 2 years ago
151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185
        OrderService::editOrderItems($order_id,$orderItems,$order_remark);
        return $this->setSuccess();
    }

    public function editOrderAdress(Request $request){
        $reqParams = $request->all();
        $validator = Validator::make($reqParams, [
            'order_id' => 'required',
            'order_address_type' => 'required',
        ], [
            'order_id.required' => admin_trans("order.validator.order_id_required"),
            'order_address_type.required' => admin_trans("order.validator.order_address.required"),
        ], []);

        if ($validator->fails()) {
            $errors = $validator->errors()->toArray();
            $err_msg = ValidatorMsg::getMsg($errors);
            throw new InvalidRequestException($err_msg);
        }

        $order_id = arrayGet($reqParams,"order_id",0,"intval");
        $data["order_address_type"] = arrayGet($reqParams,"order_address_type",0,"intval");
        $data["shipping_name"] = arrayGet($reqParams,"shipping_name","","trim");
        $data["shipping_sn"] = arrayGet($reqParams,"shipping_sn","","trim");
        $data["consignee"] = arrayGet($reqParams,"consignee","","trim");
        $data["company_name"] = arrayGet($reqParams,"company_name","","trim");
        $data["email"] = arrayGet($reqParams,"email","","trim");
        $data["phone"] = arrayGet($reqParams,"phone","","trim");
        $data["country"] = arrayGet($reqParams,"country",0,"intval");
        $data["country_name"] = arrayGet($reqParams,"country_name","","trim");
        $data["province"] = arrayGet($reqParams,"province","","trim");
        $data["city"] = arrayGet($reqParams,"city","","trim");
        $data["detail_address"] = arrayGet($reqParams,"detail_address","","trim");

        OrderService::editOrderAdress($order_id,$data);
孙龙's avatar
订单详情修改
54cca012
 
孙龙 committed 2 years ago
186 187 188
        return $this->setSuccess();
    }

孙龙's avatar
订单用户统计 更改订单跟进人
fc74d7d6
 
孙龙 committed 2 years ago
189
    //修改订单结算信息
孙龙's avatar
订单相关
74e7f2b5
 
孙龙 committed 2 years ago
190
    public function editOrderSettlement(Request $request){
孙龙's avatar
订单用户统计 更改订单跟进人
fc74d7d6
 
孙龙 committed 2 years ago
191
        $reqParams = $request->all();
孙龙's avatar
订单结算
94fc9893
 
孙龙 committed 2 years ago
192
        OrderService::editOrderSettlement($reqParams);
孙龙's avatar
订单
16dc8515
 
孙龙 committed 2 years ago
193
        return $this->setSuccess();
孙龙's avatar
订单相关
74e7f2b5
 
孙龙 committed 2 years ago
194
    }
孙龙's avatar
订单详情修改
54cca012
 
孙龙 committed 2 years ago
195

孙龙's avatar
订单结算
94fc9893
 
孙龙 committed 2 years ago
196 197


孙龙's avatar
订单
f785d072
 
孙龙 committed 2 years ago
198
}