shish 2 سال پیش
والد
کامیت
001f98c447
1فایلهای تغییر یافته به همراه7 افزوده شده و 1 حذف شده
  1. 7 1
      biz-hd/cg/services/CgRefundService.php

+ 7 - 1
biz-hd/cg/services/CgRefundService.php

@@ -191,7 +191,7 @@ class CgRefundService extends BaseService
         if ($refundType == CgRefundClass::REFUND_TYPE_MONEY_GOOD) {
 
             $cgItemInfo = PurchaseItemClass::getAllByCondition(['orderSn' => $cgOrderSn], null, '*', 'productId', true);
-
+            $originPrice = 0;
             foreach ($productList as $info) {
                 $productId = $info['productId'] ?? 0;
                 if (isset($cgItemInfo[$productId]) == false) {
@@ -209,6 +209,9 @@ class CgRefundService extends BaseService
                 $unitPrice = $info['unitPrice'] ?? 0;
                 $unitName = $info['unitName'] ?? '';
 
+                $currentPrice = bcmul($num,$unitPrice,2);
+                $originPrice = bcadd($originPrice,$currentPrice,2);
+
                 $refundData = [];
                 $refundData['orderSn'] = $refundOrderSn;
                 $refundData['itemId'] = $ptItemId;
@@ -229,6 +232,9 @@ class CgRefundService extends BaseService
                 $refundData['cause'] = $cause;
                 CgRefundItemClass::addData($refundData, $cg);
             }
+            if($refundPrice<$originPrice){
+                util::fail('退款金额要等于或大于花材总和');
+            }
         }
 
         return $cgRefund;