Pārlūkot izejas kodu

订单发票bugfix

chao 3 gadi atpakaļ
vecāks
revīzija
5eba99a1e7

+ 2 - 1
src/main/java/com/caimei365/order/components/ProductService.java

@@ -44,8 +44,9 @@ public class ProductService {
         boolean taxFlag = (Integer.valueOf(0).equals(cartItemVo.getIncludedTax()) && (Integer.valueOf(1).equals(cartItemVo.getInvoiceType()) || Integer.valueOf(2).equals(cartItemVo.getInvoiceType())));
         if (taxFlag) {
             BigDecimal cartItemTax = MathUtil.div(MathUtil.mul(cartItemVo.getPrice(), cartItemVo.getTaxRate()), 100, 2);
+            BigDecimal originalTax = MathUtil.div(MathUtil.mul(cartItemVo.getOriginalPrice(), cartItemVo.getTaxRate()), 100, 2);
             cartItemVo.setPrice(MathUtil.add(cartItemVo.getPrice(), cartItemTax).doubleValue());
-            cartItemVo.setOriginalPrice(MathUtil.add(cartItemVo.getOriginalPrice(), cartItemTax).doubleValue());
+            cartItemVo.setOriginalPrice(MathUtil.add(cartItemVo.getOriginalPrice(), originalTax).doubleValue());
         }
         return taxFlag;
     }

+ 3 - 3
src/main/java/com/caimei365/order/config/ApiConfig.java

@@ -22,9 +22,9 @@ public class ApiConfig implements WebMvcConfigurer {
         //addPathPatterns 用于添加拦截规则
         //excludePathPatterns 用于排除拦截
         registry.addInterceptor(apiInterceptor)
-                .addPathPatterns("/order/club/cart/**")
-                .addPathPatterns("/order/seller/cart/**")
-                .addPathPatterns("/order/submit/**")
+//                .addPathPatterns("/order/club/cart/**")
+//                .addPathPatterns("/order/seller/cart/**")
+//                .addPathPatterns("/order/submit/**")
                 .addPathPatterns("/order/club/confirm")
                 .addPathPatterns("/order/club/receive")
                 .addPathPatterns("/order/club/cancel")

+ 6 - 3
src/main/java/com/caimei365/order/mapper/SubmitMapper.java

@@ -76,10 +76,13 @@ public interface SubmitMapper {
      */
     void updateShopOrderIds(String shopOrderIds, Integer orderId);
     /**
-     * 删除老的订单增值税信息
-     * @param orderId 订单Id
+     * 查询订单增值税发票
+     */
+    InvoicePo getOrderInvoice(Integer orderId);
+    /**
+     * 更新订单增值税发票
      */
-    void deleteOrderInvoiceByOrderId(Integer orderId);
+    void updateOrderInvoice(InvoicePo orderInvoice);
     /**
      * 保存 订单发票信息
      */

+ 3 - 1
src/main/java/com/caimei365/order/service/impl/CartClubServiceImpl.java

@@ -994,7 +994,9 @@ public class CartClubServiceImpl implements CartClubService {
         shop.setReducedPrice(reducedPrice.get());
         // 供应商划线价
         shop.setOriginalPrice(originalPrice.get());
-        shopList.add(shop);
+        // 当前供应商添加到首位
+        shopList.add(0, shop);
+
         // 是否充值商品
         boolean includeRecharge = false;
         boolean recharge = productService.isRechargeProduct(cartDto.getProductId());

+ 24 - 12
src/main/java/com/caimei365/order/service/impl/SubmitServiceImpl.java

@@ -491,15 +491,15 @@ public class SubmitServiceImpl implements SubmitService {
                         promotions = baseMapper.getPromotionByProductId(productId);
                     }
                     // 计算单价
-                    if (promotions != null) {
+                    if (null != promotions || null != shopPromotions) {
                         // 是否包含活动商品(受订单未支付自动关闭时间影响)  0 否 1 是
                         hasActProductFlag = true;
                         // 关闭阶梯价格,活动优先
                         product.setLadderPriceFlag(0);
-                        if (promotions.getType() == 1 && promotions.getMode() == 1) {
+                        product.setActProduct(1);
+                        if (null != promotions && promotions.getType() == 1 && promotions.getMode() == 1) {
                             discountPrice = promotions.getTouchPrice();
                         }
-                        product.setActProduct(1);
                     } else if (1 == product.getLadderPriceFlag()) {
                         // 启用了阶梯价格
                         List<LadderPriceVo> ladderPrices = baseMapper.getLadderPriceList(productId);
@@ -1171,17 +1171,28 @@ public class SubmitServiceImpl implements SubmitService {
         }
 
         /*
-         * 保存订单发票信息
+         * 保存发票信息
          */
         if (1 == orderParamBo.getInvoiceType() || 2 == orderParamBo.getInvoiceType()) {
-            InvoicePo orderInvoice = orderParamBo.getOrderInvoice();
-            // 开发票才保存
-            orderInvoice.setOrderId(mainOrder.getOrderId());
-            // 一个订单只有一条发票信息,删除老的订单增值税信息
-            submitMapper.deleteOrderInvoiceByOrderId(mainOrder.getOrderId());
-            //  保存 订单发票信息
-            submitMapper.insertOrderInvoice(orderInvoice);
-            log.info("【提交订单】>>>>>>>>>>>>>>>>>>>>>>>>>>保存订单发票信息(insert[bp_order_invoice])orderId:" + mainOrder.getOrderId());
+            /*
+             * 更新订单增值税发票
+             */
+            InvoicePo orderInvoice = submitMapper.getOrderInvoice(mainOrder.getOrderId());
+            if (null != orderInvoice && null != orderInvoice.getId()) {
+                // 更新
+                BeanUtils.copyProperties(orderParamBo.getOrderInvoice(), orderInvoice);
+                orderInvoice.setOrderId(mainOrder.getOrderId());
+                submitMapper.updateOrderInvoice(orderInvoice);
+                log.info("【提交订单】>>>>>>>>>>>>>>>>>>>>>>>>>>更新订单发票信息(update[bp_order_invoice])orderId:" + mainOrder.getOrderId());
+            } else {
+                // 新增
+                orderInvoice = new InvoicePo();
+                BeanUtils.copyProperties(orderParamBo.getOrderInvoice(), orderInvoice);
+                orderInvoice.setOrderId(mainOrder.getOrderId());
+                //  保存 订单发票信息
+                submitMapper.insertOrderInvoice(orderInvoice);
+                log.info("【提交订单】>>>>>>>>>>>>>>>>>>>>>>>>>>保存订单发票信息(insert[bp_order_invoice])orderId:" + mainOrder.getOrderId());
+            }
             /*
              * 更新用户增值税发票
              */
@@ -1193,6 +1204,7 @@ public class SubmitServiceImpl implements SubmitService {
                 log.info("【提交订单】>>>>>>>>>>>>>>>>>>>>>>>>>>更新用户增值税发票(update[cm_user_invoiceinfo])userId:" + mainOrder.getUserId());
             } else {
                 // 新增
+                userInvoice = new InvoiceVo();
                 BeanUtils.copyProperties(orderInvoice, userInvoice);
                 baseMapper.insertUserInvoiceByUserId(userInvoice);
                 log.info("【提交订单】>>>>>>>>>>>>>>>>>>>>>>>>>>新增用户增值税发票(insert[cm_user_invoiceinfo])userId:" + mainOrder.getUserId());

+ 9 - 3
src/main/resources/mapper/SubmitMapper.xml

@@ -71,9 +71,15 @@
         UPDATE USER SET userMoney = #{userMoney}, ableUserMoney = #{ableUserMoney}
         WHERE userID = #{userId}
     </update>
-    <delete id="deleteOrderInvoiceByOrderId">
-        DELETE FROM bp_order_invoice WHERE orderId = #{orderId}
-    </delete>
+    <update id="updateOrderInvoice">
+        UPDATE bp_order_invoice SET orderId=#{orderId}, invoiceTitle=#{invoiceTitle}, corporationTaxNum=#{corporationTaxNum},
+            registeredAddress=#{registeredAddress}, registeredPhone=#{registeredPhone}, bankAccountNo=#{bankAccountNo}, openBank=#{openBank}
+        WHERE id = #{id}
+    </update>
+    <select id="getOrderInvoice" resultType="com.caimei365.order.model.po.InvoicePo">
+        SELECT id, orderId, invoiceTitle, corporationTaxNum, registeredAddress, registeredPhone, bankAccountNo, openBank
+        FROM bp_order_invoice WHERE orderId = #{orderId}
+    </select>
     <select id="getOperationIdByUnionId" resultType="java.lang.Integer">
         SELECT `id` FROM cm_mall_operation_user
         WHERE unionId = #{unionId} AND userID = #{userId} AND delFlag = '0'