APPLE 3 лет назад
Родитель
Сommit
617758616f

+ 13 - 0
app/Http/Controllers/Api/v1/TradeController.php

@@ -145,4 +145,17 @@ class TradeController extends webApp
             return message(TradeService::make()->getError(), false);
         }
     }
+
+    /**
+     * 修改订单
+     * @return array
+     */
+    public function modify()
+    {
+        if(TradeService::make()->modify(request()->all())){
+            return message(TradeService::make()->getError(), true);
+        }else{
+            return message(TradeService::make()->getError(), false);
+        }
+    }
 }

+ 50 - 0
app/Services/Common/TradeService.php

@@ -771,4 +771,54 @@ class TradeService extends BaseService
         return false;
     }
 
+    /**
+     * 修改订单
+     * @param $params
+     * @return bool
+     */
+    public function modify($params)
+    {
+        $id = isset($params['id'])? $params['id'] : 0;
+        $status = isset($params['status'])? $params['status'] : 0;
+        $info = $this->where(['id'=> $id,'mark'=>1])->first();
+        if(!$id || empty($info)){
+            $this->error = 2042;
+            return false;
+        }
+
+        if(!in_array($info['status'], [1,2,3,4])){
+            $this->error = 2082;
+            return false;
+        }
+        if(!in_array($status, [1,2,4])){
+            $this->error =2087;
+            return false;
+        }
+        $safePassword = isset($params['password'])? trim($params['password']) : '';
+        if(empty($safePassword)){
+            $this->error = 2085;
+            return false;
+        }
+
+        $memberInfo = MemberModel::where(['id'=> $info['user_id']])->select(['id','safe_password'])->first();
+        $password = isset($memberInfo['safe_password'])? $memberInfo['safe_password'] : '';
+        if(empty($memberInfo)){
+            $this->error = 2019;
+            return false;
+        }
+
+        $safePassword = get_password($safePassword);
+        if($password != $safePassword){
+            $this->error = 2086;
+            return false;
+        }
+
+        if($this->model->where(['id'=> $id])->update(['status'=> $status,'update_time'=> time()])){
+            $this->error = 1020;
+            return true;
+        }else{
+            $this->error = 1021;
+            return false;
+        }
+    }
 }