shish 3 лет назад
Родитель
Сommit
cdec13a6df

+ 22 - 0
app-ghs/controllers/RefundController.php

@@ -16,6 +16,28 @@ use bizGhs\order\classes\StockWastageOrderClass;
 class RefundController extends BaseController
 {
 
+    //审核通过 ssh 20230811
+    public function actionPass()
+    {
+        $get = Yii::$app->request->get();
+        $id = $get['id'] ?? 0;
+        $refund = RefundOrderClass::getById($id, true);
+        RefundOrderClass::valid($refund, $this->mainId);
+        RefundOrderClass::passRefund($refund);
+        util::complete('操作成功');
+    }
+
+    public function actionReject()
+    {
+        $get = Yii::$app->request->get();
+        $id = $get['id'] ?? 0;
+        $rejectReason = $get['rejectReason'] ?? '';
+        $refund = RefundOrderClass::getById($id, true);
+        RefundOrderClass::valid($refund, $this->mainId);
+        RefundOrderClass::rejectRefund($refund, $rejectReason);
+        util::complete('操作成功');
+    }
+
     //退款之后报损 ssh 20230409
     public function actionRefundWaste()
     {

+ 29 - 0
biz-ghs/order/classes/RefundOrderClass.php

@@ -8,6 +8,7 @@ use biz\stat\classes\StatOutClass;
 use bizGhs\order\traits\OrderTrait;
 use bizGhs\product\classes\ProductClass;
 use bizGhs\stock\classes\StockRecordClass;
+use bizHd\cg\classes\CgRefundClass;
 use common\components\dict;
 use common\components\orderSn;
 use common\components\util;
@@ -27,6 +28,34 @@ class RefundOrderClass extends BaseClass
     const REFUND_TYPE_MONEY_GOOD = 1; //退款退货
     const REFUND_TYPE_MONEY = 2; // 仅退款
 
+    public static function passRefund($refund)
+    {
+
+    }
+
+    public static function rejectRefund($refund, $rejectReason)
+    {
+        if ($refund->status == 1) {
+            util::fail('售后已通过');
+        }
+        if ($refund->status == 2) {
+            util::fail('售后已驳回');
+        }
+        if ($refund->status == 3) {
+            util::fail('售后已取消');
+        }
+        $refund->status = 2;
+        $refund->rejectReason = $rejectReason;
+        $refund->save();
+        $cgRefundId = $refund->cgRefundId ?? 0;
+        $cgRefund = CgRefundClass::getById($cgRefundId, true);
+        if (empty($cgRefund)) {
+            util::fail('售后信息不完整');
+        }
+        CgRefundClass::reject($cgRefund, $rejectReason);
+        return true;
+    }
+
     public static function cancelRefund($refund)
     {
         if ($refund->status == self::STATUS_COMPLETE) {

+ 18 - 0
biz-hd/cg/classes/CgRefundClass.php

@@ -10,6 +10,7 @@ use bizGhs\product\classes\ProductClass;
 
 class CgRefundClass extends BaseClass
 {
+
     use OrderTrait;
     public static $baseFile = '\bizHd\cg\models\CgRefund';
 
@@ -21,6 +22,23 @@ class CgRefundClass extends BaseClass
     const REFUND_TYPE_MONEY_GOOD = 1; //退款退货
     const REFUND_TYPE_MONEY = 2; // 仅退款
 
+    //驳回 ssh 20230811
+    public static function reject($cgRefund, $rejectReason)
+    {
+        if ($cgRefund->status == self::STATUS_COMPLETE) {
+            util::fail('申请已通过');
+        }
+        if ($cgRefund->status == self::STATUS_REJECT) {
+            util::fail('申请已驳回');
+        }
+        if ($cgRefund->status == self::STATUS_CANCEL) {
+            util::fail('申请已取消');
+        }
+        $cgRefund->status = self::STATUS_REJECT;
+        $cgRefund->rejectReason = $rejectReason;
+        $cgRefund->save();
+    }
+
     //取消退款 ssh 20230808
     public static function cancelRefund($refund)
     {