Prechádzať zdrojové kódy

feat(external): 添加税收编码字段并完善中车推送策略

- 在 ExternalProduct 和 ExternalProductVo 中新增 taxCode 字段
- 在 ProductBaseVo 中新增 taxCode 字段用于税收编码code
- 在 ZhongChePushStrategy 中引入 ObjectUtil 工具类
- 为商品项目设置税率信息,支持从产品详情获取税率先判断是否为空
- 实现税收编码的条件赋值逻辑,优先使用产品税收编码否则使用默认值
- 完善中车推送的商品导入批次处理逻辑
肖路 1 týždeň pred
rodič
commit
4718c7a8bd

+ 5 - 0
ruoyi-modules/ruoyi-external/src/main/java/org/dromara/external/domain/ExternalProduct.java

@@ -116,4 +116,9 @@ public class ExternalProduct extends TenantEntity {
      * 计价规则(0 一品一价,1 按类目折扣率报价)
      */
     private Integer pricingRule;
+
+    /**
+    * 税收编码
+    * */
+    private String taxCode;
 }

+ 5 - 0
ruoyi-modules/ruoyi-external/src/main/java/org/dromara/external/domain/vo/ExternalProductVo.java

@@ -448,5 +448,10 @@ public class ExternalProductVo implements Serializable {
      */
     private Integer pricingRule;
 
+    /**
+     * 税收编码
+     */
+    private String taxCode;
+
 
 }

+ 14 - 2
ruoyi-modules/ruoyi-external/src/main/java/org/dromara/external/handler/impl/ZhongChePushStrategy.java

@@ -1,6 +1,7 @@
 package org.dromara.external.handler.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.fasterxml.jackson.core.JsonProcessingException;
@@ -73,6 +74,7 @@ public class ZhongChePushStrategy implements ProductPushStrategy {
             item.setProductStatus(externalProductVo.getProductStatus());
             item.setMemberPrice(productDetail.getMemberPrice());
             item.setProductImage(productDetail.getImageUrl());
+            item.setTaxRate(productDetail.getTaxRate());
         });
 
         // 收集所有 externalCategoryId
@@ -190,9 +192,19 @@ public class ZhongChePushStrategy implements ProductPushStrategy {
             //TODO 是否自营
             goodsImportItem.setIsSelfOperated(1);
             //税率
-            goodsImportItem.setTax( new BigDecimal("0.13"));
+            if(ObjectUtil.isNotEmpty(item.getTaxRate())){
+                goodsImportItem.setTax( item.getTaxRate());
+            }else {
+                goodsImportItem.setTax( new BigDecimal("0.13"));
+            }
+
+
             //TODO 税收编码   默认填 1
-            goodsImportItem.setTaxCode("107022301");
+            if (ObjectUtil.isNotEmpty(item.getTaxCode())){
+                goodsImportItem.setTaxCode( item.getTaxCode());
+            }else{
+                goodsImportItem.setTaxCode(item.getTaxCode());
+            }
             batchGoods.add(goodsImportItem);
         });
             GoodsImportBo bo = new GoodsImportBo();

+ 5 - 0
ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/domain/vo/ProductBaseVo.java

@@ -539,6 +539,11 @@ public class ProductBaseVo implements Serializable {
     * */
     private Long taxationId;
 
+    /**
+    * 税收编码code
+    * */
+    private String taxCode;
+
     /**
      * 促销标题
      */