Bläddra i källkod

订单停止冻结

Zhouzhendong 5 år sedan
förälder
incheckning
ce3c7f1a22

+ 0 - 19
app/Console/Commands/OrderThaw.php

@@ -1,19 +0,0 @@
-<?php
-
-namespace App\Console\Commands;
-
-use App\OrderFreeze;
-use Illuminate\Console\Command;
-
-class OrderThaw extends Command
-{
-    protected $signature = 'thaw:order';
-
-    protected $description = 'automatic thaw order';
-
-    public function handle()
-    {
-        OrderFreeze::query()->where("status",0)
-            ->where("thawed_at",date("Y-m-d"))->get();
-    }
-}

+ 4 - 0
app/Http/Controllers/OrderFreezeController.php

@@ -36,6 +36,9 @@ class OrderFreezeController extends Controller
         if (request("street_id"))$freeze->where("street_id",request("street_id"));
         else $freeze->whereNull("street_id");
 
+        if (request("thawed_at"))$freeze->where("thawed_at",request("thawed_at"));
+        else $freeze->whereNull("thawed_at");
+
         $freeze = $freeze->first();
         if ($freeze && $freeze->id!=request("id"))$this->error("已存在冻结选项,无需重复录入");
         $obj = [
@@ -45,6 +48,7 @@ class OrderFreezeController extends Controller
             "district_id"   => request("district_id"),
             "town_id"       => request("town_id"),
             "street_id"     => request("street_id"),
+            "thawed_at"     => request("thawed_at"),
         ];
         if (request("id")){
             $freeze = OrderFreeze::query()->find(request("id"));

+ 2 - 0
app/Jobs/OrderFreeze.php

@@ -4,6 +4,7 @@ namespace App\Jobs;
 
 use App\Services\LogService;
 use App\Services\OrderFreezeService;
+use Carbon\Carbon;
 use Illuminate\Bus\Queueable;
 use Illuminate\Contracts\Queue\ShouldQueue;
 use Illuminate\Foundation\Bus\Dispatchable;
@@ -64,6 +65,7 @@ class OrderFreeze implements ShouldQueue
         if (array_search($param["wms_status"],$status)===false)return false;
 
         foreach ($this->pool as $pool){
+            if ($pool->thawed_at && Carbon::parse($pool->thawed_at)->lte(Carbon::today()))continue;
             if ($pool["logistic_id"]!=$param["logistic_id"])continue;
             if ($pool["province_name"] && (mb_strpos($param["province"],$pool["province_name"]) === false))continue;
             if ($pool["city_name"] && (mb_strpos($param["city"],$pool["city_name"]) === false))continue;

+ 4 - 0
resources/views/order/index/_freezeModal.blade.php

@@ -25,6 +25,10 @@
                         <strong>@{{ errors.logistic_id[0] }}</strong>
                     </span>
                 </div>
+                <div class="row mt-2">
+                    <label class="col-2 offset-1" for="thawed_at">停止日期</label>
+                    <input type="date" :min="toDay" class="col-5 form-control form-control-sm" id="thawed_at" v-model="freeze.thawed_at"/>
+                </div>
                 <div class="row mt-2">
                     <label class="col-2 offset-1" for="province_id">省</label>
                     <select class="col-5 form-control form-control-sm"

+ 13 - 0
resources/views/order/index/freeze.blade.php

@@ -21,6 +21,7 @@
                         <th>区/县</th>
                         <th>乡/镇</th>
                         <th>村/街</th>
+                        <th>停止冻结日期</th>
                         <th>创建时间</th>
                         <th></th>
                     </tr>
@@ -32,6 +33,7 @@
                         <td>@{{ freeze.district ? freeze.district.name : '' }}</td>
                         <td>@{{ freeze.town ? freeze.town.name : '' }}</td>
                         <td>@{{ freeze.street ? freeze.street.name : '' }}</td>
+                        <td>@{{ freeze.thawed_at }}</td>
                         <td>@{{ freeze.created_at }}</td>
                         <td>
                             <button class="btn btn-sm btn-outline-danger" @click="deleteFreeze(freeze,i)">删除</button>
@@ -62,11 +64,22 @@
                 mappingPool:{},
                 result : [],
                 stop:false,
+                toDay:"",
             },
             mounted(){
+                this.toDay = this.getToDay();
                 $("#container").removeClass("d-none");
             },
             methods:{
+                getToDay(){
+                    let timestamp = Date.parse(new Date());
+                    let date = new Date(timestamp);
+                    date.setDate(date.getDate());
+                    let Y = date.getFullYear();
+                    let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1);
+                    let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
+                    return  Y + '-' + M + '-' + D;
+                },
                 openModal(model = null,index = null){
                     if (!model)this.freeze = {};
                     else {