Sfoglia il codice sorgente

Merge remote-tracking branch 'origin/developerA' into developerA

chao 3 anni fa
parent
commit
d8f9bc5c09

+ 13 - 3
src/main/java/com/caimei365/order/service/impl/SubmitServiceImpl.java

@@ -504,11 +504,17 @@ public class SubmitServiceImpl implements SubmitService {
                                 // 直接优惠价
                                 discountPrice = svipProductPo.getSvipDiscountPrice();
                             }
-                            BigDecimal svipReduction = MathUtil.mul(MathUtil.sub(productPrice, discountPrice), productNum, 2);
+                            // 商品超级会员优惠
+                            BigDecimal svipReduction = MathUtil.sub(productPrice, discountPrice);
+                            if (taxFlag) {
+                                // 商品税费超级会员优惠
+                                BigDecimal svipTaxReduction = MathUtil.div(MathUtil.mul(svipReduction, product.getTaxRate()), 100, 2);
+                                svipReduction = MathUtil.add(svipReduction, svipTaxReduction);
+                            }
                             // 统计超级会员优惠
                             product.setSvipReduction(svipReduction.doubleValue());
-                            svipShopReduction.set(MathUtil.add(svipShopReduction, svipReduction).doubleValue());
-                            svipFullReduction.set(MathUtil.add(svipFullReduction, svipReduction).doubleValue());
+                            svipShopReduction.set(MathUtil.add(svipShopReduction, MathUtil.mul(svipReduction, productNum)).doubleValue());
+                            svipFullReduction.set(MathUtil.add(svipFullReduction, MathUtil.mul(svipReduction, productNum)).doubleValue());
                             // 保存订单商品svip数据
                             product.setSvipPriceFlag(1);
                             product.setSvipPriceType(svipProductPo.getSvipPriceType());
@@ -625,6 +631,10 @@ public class SubmitServiceImpl implements SubmitService {
                     product.setDiscountPrice(discountPrice);
                     // 折扣率 = 折后单价/机构价
                     product.setDiscount(discountRate);
+                    if (svipPriceFlag || (null != promotions && promotions.getType() == 1 && promotions.getMode() == 1)) {
+                        // 超级会员价/单品优惠折扣率设置为100%
+                        product.setDiscount(100d);
+                    }
                     // 单个商品的金额
                     product.setTotalAmount(productAmount);
                     // 单个商品的折后金额

+ 12 - 2
src/main/resources/mapper/CartSellerMapper.xml

@@ -33,9 +33,14 @@
             p.invoiceType AS invoiceType,
             p.taxPoint AS taxRate,
             p.productCategory,
-            p.validFlag AS validFlag
+            p.validFlag AS validFlag,
+            if(csp.id is not null,1,0) as svipProductFlag,
+            csp.priceType as svipPriceType,
+            csp.discount as svipDiscount,
+            csp.discountPrice as svipDiscountPrice
         FROM bp_order_product_cart c
         LEFT JOIN product p ON c.productId = p.productID
+        LEFT JOIN cm_svip_product csp ON p.productID = csp.productId
         WHERE c.serviceProviderId = #{serviceProviderId} AND c.clubId = #{clubId} AND c.shopID = #{shopId}
         ORDER BY c.id DESC
     </select>
@@ -117,9 +122,14 @@
             p.invoiceType AS invoiceType,
             p.taxPoint AS taxRate,
             p.productCategory,
-            p.validFlag AS validFlag
+            p.validFlag AS validFlag,
+            if(csp.id is not null,1,0) as svipProductFlag,
+            csp.priceType as svipPriceType,
+            csp.discount as svipDiscount,
+            csp.discountPrice as svipDiscountPrice
         FROM bp_order_product_cart c
         LEFT JOIN product p ON c.productId = p.productID
+        LEFT JOIN cm_svip_product csp ON p.productID = csp.productId
         WHERE c.serviceProviderId = #{serviceProviderId} AND c.clubId = #{clubId} AND c.shopID = #{shopId}
         AND p.productID in
         <foreach collection="productIds" open="(" separator="," close=")" item="productId">