Bladeren bron

客户采购量

shish 4 jaren geleden
bovenliggende
commit
be6bf9de6b

+ 3 - 1
biz-ghs/order/services/RefundOrderService.php

@@ -6,6 +6,7 @@ use biz\hb\classes\HbClass;
 use biz\shop\classes\ShopCapitalClass;
 use biz\shop\classes\ShopClass;
 use biz\stat\classes\StatItemClass;
+use biz\stat\classes\StatKhCgClass;
 use biz\stat\classes\StatOutClass;
 use biz\stat\classes\StatRefundClass;
 use bizGhs\base\services\BaseService;
@@ -138,8 +139,9 @@ class RefundOrderService extends BaseService
         ShopCapitalClass::addCapital($capitalData);
         //当天和当月支出统计
         StatOutClass::updateOrInsert($shop, $refundPrice);
-
+        //退款统计
         StatRefundClass::replace($shop, $payWay, $refundPrice);
+        StatKhCgClass::refundReplace($order);
 
         //记录总的退款金额
         $currentTkPrice = bcadd($order->tkPrice, $refundPrice, 2);

+ 9 - 7
biz/stat/classes/StatKhCgClass.php

@@ -39,9 +39,9 @@ class StatKhCgClass extends BaseClass
     //客户退款统计
     public static function refundReplace($order, $date = null)
     {
-        $sjId = $order['sjId'] ?? 0;
-        $shopId = $order['shopId'] ?? 0;
-        $customId = $order['customId'] ?? 0;
+        $sjId = $order->sjId ?? 0;
+        $shopId = $order->shopId ?? 0;
+        $customId = $order->customId ?? 0;
         $time = $date == null ? date('Ymd') : $date;
         $stat = self::getByCondition(['sjId' => $sjId, 'shopId' => $shopId, 'customId' => $customId, 'time' => $time], true);
         if (empty($stat)) {
@@ -50,14 +50,16 @@ class StatKhCgClass extends BaseClass
         $id = $stat->id;
         $unique = self::getLockById($id);
 
-        $num = $order['itemNum'] ?? 0;
-        $unitePrice = $order['itemPrice'] ?? 0;
-        $price = bcmul($unitePrice, $num, 2);
+        $num = $order->itemNum ?? 0;
+        $refundPrice = $order->refundPrice ?? 0;
 
         $currentRefundNum = bcadd($unique->refundNum, $num, 2);
-        $currentRefundAmount = bcadd($unique->refundAmount, $price, 2);
+
+        $currentRefundAmount = bcadd($unique->refundPrice, $refundPrice, 2);
+
         $unique->refundNum = $currentRefundNum;
         $unique->refundAmount = $currentRefundAmount;
+
         $unique->save();
 
         StatKhCgMonthClass::refundReplace($order, $time);

+ 7 - 4
biz/stat/classes/StatKhCgMonthClass.php

@@ -69,16 +69,19 @@ class StatKhCgMonthClass extends BaseClass
         $id = $stat->id;
         $unique = self::getLockById($id);
 
-        $num = $order['itemNum'] ?? 0;
-        $unitePrice = $order['itemPrice'] ?? 0;
-        $price = bcmul($unitePrice, $num, 2);
+        $num = $order->itemNum ?? 0;
+        $refundPrice = $order->refundPrice ?? 0;
 
         $currentRefundNum = bcadd($unique->refundNum, $num, 2);
-        $currentRefundAmount = bcadd($unique->refundAmount, $price, 2);
+
+        $currentRefundAmount = bcadd($unique->refundPrice, $refundPrice, 2);
+
         $unique->refundNum = $currentRefundNum;
         $unique->refundAmount = $currentRefundAmount;
 
         $unique->save();
+
+        $unique->save();
     }
 
 }