Pārlūkot izejas kodu

wesmiler 报恩寺项目提交

wesmiler 4 gadi atpakaļ
vecāks
revīzija
6a3d8f230a

+ 8 - 0
app/Http/Controllers/Api/v1/OrderController.php

@@ -58,4 +58,12 @@ class OrderController extends BaseController
 
         return $this->service->exchange($this->userId);
     }
+
+    /**
+     * 确认收货
+     * @return array
+     */
+    public function receive(){
+        return $this->service->receive($this->userId);
+    }
 }

+ 39 - 0
app/Services/OrdersService.php

@@ -209,6 +209,45 @@ class OrdersService extends BaseService
     }
 
     /**
+     * 确认收货
+     * @param $userId
+     * @return array
+     */
+    public function receive($userId){
+        $data = request()->all();
+        $id = isset($data['id'])? $data['id'] : 0;
+        if(!$id){
+            return message('缺少订单参数',false);
+        }
+
+        // 检验订单状态
+        $orderInfo = $this->model->where(['id'=> $id])->first();
+        if(!$orderInfo){
+            return message('订单不存在或已处理',false);
+        }
+
+        $status = isset($orderInfo['status'])? $orderInfo['status'] : 0;
+        if($status != 3){
+            return message('订单未发货状态不可操作',false);
+        }
+
+        // 验证用户是否已授权
+        $memberInfo = MemberModel::where(['id' => $userId, 'mark' => 1, 'status' => 1])
+            ->select('id', 'openid', 'nickname','coupon','score')
+            ->first();
+        if (!$memberInfo) {
+            return message('账号已被冻结,请联系客服', false);
+        }
+
+        $orderInfo->status = 4;
+        if($orderInfo->save()){
+            return message('确认收货成功', true);
+        }else{
+            return message('确认收货失败', false);
+        }
+    }
+
+    /**
      * 积分商品兑换
      */
     public function exchange($userId)

+ 1 - 0
routes/api.php

@@ -150,6 +150,7 @@ Route::post('/goods/info', [\App\Http\Controllers\Api\v1\GoodsController::class,
 Route::post('/orders/list', [\App\Http\Controllers\Api\v1\OrderController::class, 'index']);
 Route::post('/orders/buy', [\App\Http\Controllers\Api\v1\GongdengController::class, 'buy']);
 Route::post('/orders/exchange', [\App\Http\Controllers\Api\v1\OrderController::class, 'exchange']);
+Route::post('/orders/receive', [\App\Http\Controllers\Api\v1\OrderController::class, 'receive']);
 
 // 佛像
 Route::post('/foxiang/list', [\App\Http\Controllers\Api\v1\FoxiangController::class, 'index']);