Selaa lähdekoodia

feat(product): 完善产品池审核功能并修复目录路径错误

- 修复 Dockerfile 中的产品目录路径错误,将 prouct 更正为 product
- 在 OrderMainServiceImpl 中添加订单当前层级校验逻辑
- 在 ProductPoolAuditBo 中新增定价规则和最小订单数量字段
- 集成产品价格库存服务和税务代码远程服务
- 实现产品池审核流程中的定价规则和最小订单数量传递
- 添加税务代码获取和设置功能
- 更新外部产品同步逻辑,完善产品状态和税务信息处理
- 修改推送策略中的商品链接地址
肖路 2 päivää sitten
vanhempi
sitoutus
9f8cda2a79

+ 7 - 0
ruoyi-modules/ruoyi-external/src/main/java/org/dromara/external/dubbo/RemoteExternalProductServiceImpl.java

@@ -87,11 +87,18 @@ public class RemoteExternalProductServiceImpl implements RemoteExternalProductSe
                     .eq(ExternalProduct::getItemId, product.getItemId())
                 )){
                     ExternalProduct externalProduct = BeanUtil.toBean(product, ExternalProduct.class);
+                    externalProduct.setTotalInventory(9999);
+                    externalProduct.setAvailableInventory(9999);
                     externalProductService.save(externalProduct);
                 }
             }else {
                 externalProductService.update(
                     Wrappers.lambdaUpdate(ExternalProduct.class)
+                        .set(ExternalProduct::getProductNo, product.getProductNo())
+                        .set(ExternalProduct::getPricingRule, product.getPricingRule())
+                        .set(ExternalProduct::getProductStatus, product.getProductStatus())
+                        .set(ExternalProduct::getExternalCategoryId, product.getExternalCategoryId())
+                        .set(ExternalProduct::getTaxCode, product.getTaxCode())
                         .set(ExternalProduct::getExternalPrice, product.getExternalPrice())
                         .eq(ExternalProduct::getProductId, product.getProductId())
                         .eq(ExternalProduct::getItemId, product.getItemId())

+ 1 - 1
ruoyi-modules/ruoyi-external/src/main/java/org/dromara/external/handler/TongjiPushStrategy.java

@@ -376,7 +376,7 @@ public class TongjiPushStrategy  implements ProductPushStrategy {
                 goodsImageUpdateItem.setUpc(item.getBarCoding());
                 goodsImageUpdateItem.setMoq(BigDecimal.valueOf(item.getMinOrderQuantity()));
                 goodsImageUpdateItem.setIsSelfOperated(1);
-                goodsImageUpdateItem.setGoodsUrl("https://item.xiaoluwebsite.xyz/item?productNo="+item.getProductNo());
+                goodsImageUpdateItem.setGoodsUrl("https://item.yoe365.com/item?productNo="+item.getProductNo());
                 goodsImageUpdateItem.setThirdUrl(item.getReferenceLink());
                 goodsImageUpdateItem.setTaxCode(externalProduct.getTaxCode());
                 goodsImageUpdateItem.setUnit(item.getUnitName());

+ 1 - 1
ruoyi-modules/ruoyi-external/src/main/java/org/dromara/external/handler/ZhongChePushStrategy.java

@@ -402,7 +402,7 @@ public class ZhongChePushStrategy implements ProductPushStrategy {
                 goodsImageUpdateItem.setUpc(item.getBarCoding());
                 goodsImageUpdateItem.setMoq(BigDecimal.valueOf(item.getMinOrderQuantity()));
                 goodsImageUpdateItem.setIsSelfOperated(1);
-                goodsImageUpdateItem.setGoodsUrl("https://item.xiaoluwebsite.xyz/item?productNo="+item.getProductNo());
+                goodsImageUpdateItem.setGoodsUrl("https://item.yoe365.com/item?productNo="+item.getProductNo());
                 goodsImageUpdateItem.setThirdUrl(item.getReferenceLink());
                 goodsImageUpdateItem.setTaxCode(externalProduct.getTaxCode());
                 goodsImageUpdateItem.setTax(BigDecimal.valueOf(0.13));

+ 1 - 0
ruoyi-modules/ruoyi-order/src/main/java/org/dromara/order/dubbo/RemoteExternalOrderServiceImpl.java

@@ -401,6 +401,7 @@ public class RemoteExternalOrderServiceImpl implements RemoteExternalOrderServic
             .sum();
         orderMain.setProductQuantity(totalQuantity);
         orderMain.setOrderSource("4");
+        orderMain.setOrderType("1");
         boolean orderMainFlag = orderMainService.save(orderMain);
         Long id = orderMain.getId();
         //副表

+ 3 - 0
ruoyi-modules/ruoyi-order/src/main/java/org/dromara/order/service/impl/OrderMainServiceImpl.java

@@ -1379,6 +1379,9 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
         if (orderMain == null) {
             throw new ZhongcheException("订单不存在");
         }
+        if (orderMain.getCurrentLevel() != 1) {
+            return false;
+        }
         String orderNo = orderMain.getOrderNo();
         // 查扩展表拿中车订单号(ID一致!)
         OrderMainCrrcExt ext = null;

+ 4 - 4
ruoyi-modules/ruoyi-product/Dockerfile

@@ -5,11 +5,11 @@ FROM bellsoft/liberica-openjdk-rocky:17.0.15-cds
 
 LABEL maintainer="Lion Li"
 
-RUN mkdir -p /ruoyi/prouct/logs \
-    /ruoyi/prouct/temp \
+RUN mkdir -p /ruoyi/product/logs \
+    /ruoyi/product/temp \
     /ruoyi/skywalking/agent
 
-WORKDIR /ruoyi/prouct
+WORKDIR /ruoyi/product
 
 ENV SERVER_PORT=9608 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS="-Xms512m -Xmx1024m"
 
@@ -20,7 +20,7 @@ ADD ./target/ruoyi-product.jar ./app.jar
 SHELL ["/bin/bash", "-c"]
 
 ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -Dserver.port=${SERVER_PORT} \
-           #-Dskywalking.agent.service_name=ruoyi-prouct \
+           #-Dskywalking.agent.service_name=ruoyi-product \
            #-javaagent:/ruoyi/skywalking/agent/skywalking-agent.jar \
            -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC ${JAVA_OPTS} \
            -jar app.jar

+ 8 - 0
ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/domain/bo/ProductPoolAuditBo.java

@@ -136,6 +136,14 @@ public class ProductPoolAuditBo extends BaseEntity {
          * 分类 id
          */
         private Long categoryId;
+        /**
+         *
+         */
+        private String pricingRule;
+        /**
+         *
+         */
+        private Long minOrderQuantity;
     }
 
 

+ 13 - 0
ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/service/impl/ProductPoolAuditServiceImpl.java

@@ -36,7 +36,10 @@ import org.dromara.product.domain.vo.ProductPoolLinkAuditVo;
 import org.dromara.product.esmapper.ProductEsMapper;
 import org.dromara.product.mapper.*;
 import org.dromara.product.service.IProductBaseService;
+import org.dromara.product.service.IProductPriceInventoryService;
+import org.dromara.system.api.RemoteTaxCodeService;
 import org.dromara.system.api.RemoteUserService;
+import org.dromara.system.api.domain.vo.RemoteTaxCodeVo;
 import org.springframework.stereotype.Service;
 import org.dromara.product.domain.bo.ProductPoolAuditBo;
 import org.dromara.product.domain.vo.ProductPoolAuditVo;
@@ -94,6 +97,9 @@ public class ProductPoolAuditServiceImpl  extends ServiceImpl<ProductPoolAuditMa
     @DubboReference
     private RemoteExternalProductService remoteExternalProductService;
 
+    @DubboReference
+    private RemoteTaxCodeService remoteTaxCodeService;
+
 
     /**
      * 查询产品池审核
@@ -363,6 +369,8 @@ public class ProductPoolAuditServiceImpl  extends ServiceImpl<ProductPoolAuditMa
             linkAudit.setCategoryId(product.getCategoryId());
             linkAudit.setProductReviewStatus("0"); // 0=待提交
             linkAudit.setType(bo.getApplyType());
+            linkAudit.setPricingRule(product.getPricingRule());
+            linkAudit.setMinOrderQuantity(product.getMinOrderQuantity());
             productPoolLinkAuditMapper.insert(linkAudit);
         }
     }
@@ -655,6 +663,11 @@ public class ProductPoolAuditServiceImpl  extends ServiceImpl<ProductPoolAuditMa
             product.setPricingRule(link.getPricingRule());
             product.setExternalCategoryId(link.getCategoryId());
             product.setMinOrderQuantity(link.getMinOrderQuantity());
+            product.setProductStatus(1);
+            if (ObjectUtil.isNotEmpty(productBaseVo.getTaxationId())) {
+                RemoteTaxCodeVo taxCode = remoteTaxCodeService.selectByTaxCodeId(productBaseVo.getTaxationId());
+                product.setTaxCode(taxCode.getTaxationNo());
+            }
             return product;
         }).collect(Collectors.toList());