|
|
@@ -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;
|