Ver código fonte

fix(order): 修复订单养老金计算逻辑

- 修正了预下订单中商品养老金显示的计算公式,添加购物车数量乘积
- 更新了共享繁荣模式下的养老金计算逻辑,确保按购物车数量正确计算
- 完善了优惠价格情况下的养老金计算并更新到购物车数据结构
shichen 3 meses atrás
pai
commit
1d3176cf70

+ 4 - 3
app/common/repositories/store/order/StoreOrderRepository.php

@@ -2526,7 +2526,7 @@ class StoreOrderRepository extends BaseRepository
2526 2526
                 $pv = $productSku['plate_mer_profit'] ?? 0.00;
2527 2527
                 //复购区
2528 2528
                 // $pv = bcmul($orderpri, 0.3, 2);
2529
-                $yanglao = bcmul($pv, 0.5, 2);//给预下订单中的商品展示 养老金 显示作用
2529
+                $yanglao = bcmul($pv, 0.5, 2) * $cartInfo['list'][$_k]['cart_num'];//给预下订单中的商品展示 养老金 显示作用
2530 2530
                 $cartInfo['list'][$_k]['pv'] = $pv;
2531 2531
                 $cartInfo['list'][$_k]['yanglao'] = $yanglao;
2532 2532
 
@@ -2544,7 +2544,7 @@ class StoreOrderRepository extends BaseRepository
2544 2544
                 $pvProportion = bcsub('1', bcdiv($sharedProsperityRecommendConfigEntityByMaxRewardRatio->getRewardRatio(), '100', 4), 2);
2545 2545
                 $pv = bcmul($productSku['plate_mer_profit'], $pvProportion, CommonEnum::DECIMAL_PLACES_OF_THE_AMOUNT);
2546 2546
 
2547
-                $yanglao = bcmul($productSku['price'], CommonEnum::ORDER_EARNING_ALLOCATION['SharedProsperity']['Self']['YangLaoJin']['Ratio']['code'], 2);
2547
+                $yanglao = bcmul($productSku['price'], CommonEnum::ORDER_EARNING_ALLOCATION['SharedProsperity']['Self']['YangLaoJin']['Ratio']['code'], 2) * $cartInfo['list'][$_k]['cart_num'];
2548 2548
                 $cartInfo['list'][$_k]['pv'] = $pv;
2549 2549
                 $cartInfo['list'][$_k]['yanglao'] = $yanglao;
2550 2550
 
@@ -2562,7 +2562,8 @@ class StoreOrderRepository extends BaseRepository
2562 2562
                     $jf = $orderpri - bcmul($store_product_datas['concession_pri'], 0.3, 2) . ' + ' . bcmul($store_product_datas['concession_pri'], 0.3, 2);
2563 2563
                     $jd = $orderpri - bcmul($store_product_datas['concession_pri'], 0.35, 2) . ' + ' . bcmul($store_product_datas['concession_pri'], 0.35, 2);
2564 2564
                     if ($store_product_datas['concession_pri'] != null || $store_product_datas['concession_pri'] != 0) {
2565
-                        $yanglao = bcmul($store_product_datas['concession_pri'], 0.3, 2);
2565
+                        $yanglao = bcmul($store_product_datas['concession_pri'], 0.3, 2) * $cartInfo['list'][$_k]['cart_num'];
2566
+                        $cartInfo['list'][$_k]['yanglao'] = $yanglao;
2566 2567
                         $pv = bcmul($store_product_datas['concession_pri'], 0.35, 2);
2567 2568
                         $srtArry['jfduihuan'] = $jf;
2568 2569
                         $srtArry['jdduihuan'] = $jd;