Selaa lähdekoodia

【Add】增加订单取消功能

liuxiangxin 6 kuukautta sitten
vanhempi
sitoutus
7e2599becc
3 muutettua tiedostoa jossa 32 lisäystä ja 1 poistoa
  1. 26 0
      app/Http/Controllers/Api/Orders.php
  2. 4 0
      app/Http/Requests/Api/Orders.php
  3. 2 1
      routes/api.php

+ 26 - 0
app/Http/Controllers/Api/Orders.php

@@ -363,4 +363,30 @@ class Orders extends Api{
 		return					['success'=>'操作成功'];
 	}
 
+	/**
+	 * 取消
+	 * 
+	 * */
+	public function cancel( Request $request, Model $Model,OrdersProduct $OrdersProduct){
+		// 验证参数
+		$request->scene('cancel')->validate();
+		// 接收参数
+		$id				= request('id',0);
+		$status			= 4;
+		// 获取产品和数量
+		$oldData 		= $Model->query()->find($id);
+		// 如果用户不存在
+		if( !$oldData )	return json_send(['code'=>'error','msg'=>'订单不存在']);
+		// 查询数据
+		$result			= $Model->edit($id,['status'=>$status]);
+		// 提示新增失败
+		if( !$result )	return json_send(['code'=>'error','msg'=>'取消失败']);
+		// 查询数据
+		$result			= $OrdersProduct->query()->where([['order_id','=',$id]])->update(['status'=>$status,'update_time'=>time()]);
+		// 提示新增失败
+		if( !$result )	return json_send(['code'=>'error','msg'=>'取消失败']);
+		// 告知结果
+		return			json_send(['code'=>'success','msg'=>'取消成功','path'=>'']);
+	}
+
 }

+ 4 - 0
app/Http/Requests/Api/Orders.php

@@ -33,6 +33,7 @@ class Orders extends BaseRequest
     protected   $scenes         = [
         'get_list'              => [],
         'create'                => ['product_list','addr_id'],
+        'cancel'                => ['id'],
 	];
 
     /**
@@ -43,6 +44,9 @@ class Orders extends BaseRequest
     public function messages()
     {
         return [
+            'id.required'   	        => '请选择订单',
+            'id.integer'   	            => '请选择订单',
+            'id.gt'   	                => '请选择订单',
             'product_list.required'   	=> '请选择需下单产品',
             'product_list.json'   		=> '下单产品数据格式有误',
             'addr_id.required'   	    => '请选择收货地址',

+ 2 - 1
routes/api.php

@@ -39,7 +39,8 @@ Route::any('product/get_sku',[\App\Http\Controllers\Api\Product::class,'get_sku'
 Route::any('orders/create',[\App\Http\Controllers\Api\Orders::class,'create']);
 // 订单列表
 Route::any('orders/get_list',[\App\Http\Controllers\Api\Orders::class,'get_list']);
-
+// 取消订单
+Route::any('orders/cancel',[\App\Http\Controllers\Api\Orders::class,'cancel']);
 
 // 新增购物车
 Route::any('shop_cart/add',[\App\Http\Controllers\Api\ShopCart::class,'add']);