From 3ee83dcc861e7d94bc08bffb449d0fd728acf197 Mon Sep 17 00:00:00 2001 From: liu <1873441552@qq.com> Date: Mon, 24 Jun 2024 09:39:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=80=BB=E5=90=8E=E5=8F=B0=E5=BE=AE=E4=BF=A1?= =?UTF-8?q?=E9=80=80=E6=AC=BE=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store_order/StoreOrderController.php | 28 +++++++++++++++++++ .../store_order/StoreOrderValidate.php | 10 +++++++ 2 files changed, 38 insertions(+) diff --git a/app/admin/controller/store_order/StoreOrderController.php b/app/admin/controller/store_order/StoreOrderController.php index 0a9e54087..9a1e956ee 100644 --- a/app/admin/controller/store_order/StoreOrderController.php +++ b/app/admin/controller/store_order/StoreOrderController.php @@ -8,6 +8,8 @@ use app\admin\lists\store_order\StoreOrderLists; use app\admin\lists\store_order\StoreRefundOrderLists; use app\admin\logic\store_order\StoreOrderLogic; use app\admin\validate\store_order\StoreOrderValidate; +use app\common\logic\PayNotifyLogic; +use app\common\model\store_order\StoreOrder; /** @@ -101,5 +103,31 @@ class StoreOrderController extends BaseAdminController return $this->data($result); } + /** + * 退款逻辑 + * @return \support\Response + * @throws \Exception + */ + public function refund() + { + $params = (new StoreOrderValidate())->goCheck('refund'); + $detail = StoreOrder::where('order_id',$params['order_id'])->findOrEmpty(); + if(empty($detail)){ + return $this->fail('无该订单请检查'); + } + $money = bcmul($detail['pay_price'],100); + $refund = (new \app\common\logic\store_order\StoreOrderLogic()) + ->refund($params['order_id'],$money,$money); + if($refund){ + $arr = [ + 'amount'=>[ + 'refund'=>$money + ] + ]; + PayNotifyLogic::refund($params['order_id'],$arr); + return $this->success(); + } + return $this->fail('退款失败'); + } } \ No newline at end of file diff --git a/app/admin/validate/store_order/StoreOrderValidate.php b/app/admin/validate/store_order/StoreOrderValidate.php index ffb5d9806..286de5a3b 100644 --- a/app/admin/validate/store_order/StoreOrderValidate.php +++ b/app/admin/validate/store_order/StoreOrderValidate.php @@ -20,6 +20,7 @@ class StoreOrderValidate extends BaseValidate */ protected $rule = [ 'id' => 'require', + 'order_id' => 'require', ]; @@ -29,8 +30,17 @@ class StoreOrderValidate extends BaseValidate */ protected $field = [ 'id' => 'id', + 'order_id' => '订单编号', ]; + /** + * @return StoreOrderValidate + */ + public function sceneRefund() + { + return $this->only(['order_id']); + } + /** * @notes 添加场景