From 7742312d73ac8491d9e1e05fc8e7746fda90e746 Mon Sep 17 00:00:00 2001 From: liu <1873441552@qq.com> Date: Sat, 8 Jun 2024 11:07:10 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=80=E6=AC=BE=E6=96=B0=E5=8A=A0=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/order/OrderController.php | 1 + app/api/logic/order/OrderLogic.php | 6 ++++-- app/api/validate/OrderValidate.php | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/api/controller/order/OrderController.php b/app/api/controller/order/OrderController.php index 858ec8e5..66e1f40d 100644 --- a/app/api/controller/order/OrderController.php +++ b/app/api/controller/order/OrderController.php @@ -496,6 +496,7 @@ class OrderController extends BaseApiController ApiDoc\Param(name: "refund_num", type: "int", require: true, desc: "退款数量"), ApiDoc\Param(name: "id", type: "int", require: true, desc: "订单id"), ApiDoc\Param(name: "old_cart_id", type: "int", require: true, desc: "购物车id"), + ApiDoc\Param(name: "refund_type", type: "int", require: true, desc: "退款申请类型"), ApiDoc\NotHeaders(), ApiDoc\Header(name: "token", type: "string", require: true, desc: "token"), ApiDoc\ResponseSuccess("data", type: "array"), diff --git a/app/api/logic/order/OrderLogic.php b/app/api/logic/order/OrderLogic.php index 3d2b1990..f61c16ae 100644 --- a/app/api/logic/order/OrderLogic.php +++ b/app/api/logic/order/OrderLogic.php @@ -636,6 +636,7 @@ class OrderLogic extends BaseLogic $price =bcsub($price, $onePrice); } $order->refund_price = $price; + $order->refund_type = $params['refund_type']; $order->save(); }else{ // 多单的情况 拆主订单为新的2单 修改新的2单的核销码 修改cart_info的核销码 和订单id 退款直接退一单的钱 @@ -648,7 +649,7 @@ class OrderLogic extends BaseLogic ->whereNotIn('old_cart_id',$params['old_cart_id']) ->select()->toArray(); if($cart_info){ - $leftOrder = self::dealCreateLeftOrder($order,$cart_info); + $leftOrder = self::dealCreateLeftOrder($order,$cart_info,$params); self::dealChangeCartInfo($leftOrder); } $refundOrder = self::dealCreateRefundOrder($order,$params); @@ -683,7 +684,7 @@ class OrderLogic extends BaseLogic - public static function dealCreateLeftOrder($order,$cart_info) + public static function dealCreateLeftOrder($order,$cart_info,$params) { //查出不在这个退货中的数据 $order['order_id'] = $order['order_id'].'-2'; @@ -711,6 +712,7 @@ class OrderLogic extends BaseLogic } $order['cart_id'] = implode(',',$allOldCartIds); $order['total_num'] = count($cart_info); + $order['refund_type'] = $params['refund_type']; $order['total_price'] = number_format($totalTotal, 2); $order['pay_price'] = number_format($totalPrice, 2); $order['vip_price'] = number_format($totalVipPrice, 2); diff --git a/app/api/validate/OrderValidate.php b/app/api/validate/OrderValidate.php index b1bb8a59..f7e07632 100644 --- a/app/api/validate/OrderValidate.php +++ b/app/api/validate/OrderValidate.php @@ -22,6 +22,7 @@ class OrderValidate extends BaseValidate 'refund_num' => 'require|number', 'id' => 'require|number', 'old_cart_id' => 'require|array', + 'refund_type' => 'require|number', ]; @@ -35,6 +36,7 @@ class OrderValidate extends BaseValidate 'refund_num' => '退款数量', 'id' => '订单id', 'old_cart_id' => '购物车id', + 'refund_type' => '退款申请类型', ]; @@ -55,7 +57,7 @@ class OrderValidate extends BaseValidate */ public function sceneAdd() { - return $this->only(['refund_message','refund_num','id','old_cart_id']); + return $this->only(['refund_message','refund_num','id','old_cart_id','refund_type']); }