wesmiler 1 ay önce
ebeveyn
işleme
78044a71cb
1 değiştirilmiş dosya ile 5 ekleme ve 6 silme
  1. 5 6
      app/Services/Api/OrderService.php

+ 5 - 6
app/Services/Api/OrderService.php

@@ -991,13 +991,8 @@ class OrderService extends BaseService
             return false;
             return false;
         }
         }
 
 
-        $revenueRate = $revenueRate>0 && $revenueRate<100? $revenueRate: 0;
-        if($revenueRate<=0){
-            $this->error = '订单分账比例未配置';
-            return false;
-        }
-
         // 订单信息
         // 订单信息
+        RedisService::set($cacheLockKey, ['id'=>$id,'date'=>date('Y-m-d H:i:s')], 20);
         $info = $this->model->where(['id' => $id, 'mark' => 1])
         $info = $this->model->where(['id' => $id, 'mark' => 1])
             ->select(['id', 'order_no','revenue_no','user_id','transaction_id', 'pay_total','revenue_amount', 'status'])
             ->select(['id', 'order_no','revenue_no','user_id','transaction_id', 'pay_total','revenue_amount', 'status'])
             ->first();
             ->first();
@@ -1005,11 +1000,13 @@ class OrderService extends BaseService
         $revenueAmount = isset($info['revenue_amount']) ? $info['revenue_amount'] : 0;
         $revenueAmount = isset($info['revenue_amount']) ? $info['revenue_amount'] : 0;
         $status = isset($info['status']) ? $info['status'] : 0;
         $status = isset($info['status']) ? $info['status'] : 0;
         if($status != 4){
         if($status != 4){
+            RedisService::clear($cacheLockKey);
             $this->error = '订单状态错误,未完成收货的订单无法分账';
             $this->error = '订单状态错误,未完成收货的订单无法分账';
             return false;
             return false;
         }
         }
 
 
         if($revenueAmount<=0){
         if($revenueAmount<=0){
+            RedisService::clear($cacheLockKey);
             $this->error = '订单分账金额不足';
             $this->error = '订单分账金额不足';
             return false;
             return false;
         }
         }
@@ -1026,9 +1023,11 @@ class OrderService extends BaseService
         $orderId = isset($result->order_id)? $result->order_id : '';
         $orderId = isset($result->order_id)? $result->order_id : '';
         if($state == 'FINISHED'){
         if($state == 'FINISHED'){
             $this->model->where(['id'=>$id])->update(['revenue_status'=>1,'revenue_order_id'=>$orderId,'update_time'=>time()]);
             $this->model->where(['id'=>$id])->update(['revenue_status'=>1,'revenue_order_id'=>$orderId,'update_time'=>time()]);
+            RedisService::clear($cacheLockKey);
             $this->error = '分账处理成功';
             $this->error = '分账处理成功';
             return true;
             return true;
         }else{
         }else{
+            RedisService::clear($cacheLockKey);
             $this->error = $message;
             $this->error = $message;
             return false;
             return false;
         }
         }