1018653686@qq.com 1 год назад
Родитель
Сommit
79e1aa49fe

+ 18 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/controller/jd/JdOrderExController.java

@@ -2,7 +2,11 @@ package com.fjhx.victoriatourist.controller.jd;
 
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
+import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.common.constant.SourceConstant;
+import com.fjhx.item.entity.product.po.ProductInfo;
+import com.fjhx.item.service.product.ProductInfoService;
 import com.fjhx.victoriatourist.entity.jd.dto.JdOrderSelectDto;
 import com.fjhx.victoriatourist.entity.jd.vo.JdOrderDetailsVo;
 import com.fjhx.victoriatourist.service.jd.JdOrderDetailsService;
@@ -12,6 +16,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 @RestController
 @RequestMapping("/jdOrderEx")
@@ -20,6 +25,9 @@ public class JdOrderExController {
     @Resource
     private JdOrderDetailsService jdOrderDetailsService;
 
+    @Resource
+    private ProductInfoService productInfoService;
+
 
     /**
      * 采购单明细异常列表
@@ -45,4 +53,14 @@ public class JdOrderExController {
         }
         jdOrderDetailsService.dealEx(vo);
     }
+
+
+    @PostMapping("/productInfoById")
+    public List<ProductInfo> productInfo(@RequestBody JdOrderDetailsVo vo){
+        DynamicDataSourceContextHolder.push(SourceConstant.ITEM);
+
+        List<ProductInfo> productInfo = productInfoService.lambdaQuery().eq(ProductInfo::getId, vo.getProductId()).list();
+        DynamicDataSourceContextHolder.clear();
+        return productInfo;
+    }
 }

+ 9 - 5
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/impl/JdOrderDetailsServiceImpl.java

@@ -97,6 +97,7 @@ public class JdOrderDetailsServiceImpl extends ServiceImpl<JdOrderDetailsMapper,
 
 
     @Override
+    @DSTransactional
     public void dealEx(JdOrderDetailsVo vo) {
         JdOrderDetails byId = getById(vo.getId());
         if (ObjectUtil.isNull(byId)){
@@ -177,7 +178,8 @@ public class JdOrderDetailsServiceImpl extends ServiceImpl<JdOrderDetailsMapper,
      * @author hj
      * @date 2024/1/15 22:42
      */
-    private void fillExpressNoAndAddStock(JdOrderDetailsVo vo, JdOrderDetails jdOrderDetails) {
+    @DSTransactional
+    public void fillExpressNoAndAddStock(JdOrderDetailsVo vo, JdOrderDetails jdOrderDetails) {
         String expressNo = vo.getExpressNo();
         if (StrUtil.isBlank(expressNo)) {
             throw new RuntimeException("快递单号不能为空");
@@ -191,7 +193,8 @@ public class JdOrderDetailsServiceImpl extends ServiceImpl<JdOrderDetailsMapper,
      * @author hj
      * @date 2024/1/15 22:42
      */
-    private void addAndReduceStock(JdOrderDetailsVo vo, JdOrderDetails jdOrderDetails) {
+    @DSTransactional
+    public void addAndReduceStock(JdOrderDetailsVo vo, JdOrderDetails jdOrderDetails) {
         addStock(vo, jdOrderDetails);
         reduceStock(vo, jdOrderDetails);
     }
@@ -202,7 +205,8 @@ public class JdOrderDetailsServiceImpl extends ServiceImpl<JdOrderDetailsMapper,
      * @author hj
      * @date 2024/1/15 22:42
      */
-    private void fillRemarkAndAddReduceStock(JdOrderDetailsVo vo, JdOrderDetails jdOrderDetails) {
+    @DSTransactional
+    public void fillRemarkAndAddReduceStock(JdOrderDetailsVo vo, JdOrderDetails jdOrderDetails) {
         fillRemark(vo, jdOrderDetails);
         addStock(vo, jdOrderDetails);
         reduceStock(vo, jdOrderDetails);
@@ -242,7 +246,7 @@ public class JdOrderDetailsServiceImpl extends ServiceImpl<JdOrderDetailsMapper,
      * @param quantity 操作数量
      */
     @DSTransactional
-    private void operateStock(Long warehouseId, int type, BigDecimal quantity, Long productId, JdOrderDetails jdOrderDetails) {
+    public void operateStock(Long warehouseId, int type, BigDecimal quantity, Long productId, JdOrderDetails jdOrderDetails) {
         if (ObjectUtil.isNull(warehouseId) || quantity.compareTo(BigDecimal.ZERO) <= 0) {
             throw new RuntimeException("参数错误");
         }
@@ -272,7 +276,7 @@ public class JdOrderDetailsServiceImpl extends ServiceImpl<JdOrderDetailsMapper,
         StockJournalDetails stockJournalDetails = new StockJournalDetails();
         stockJournalDetails.setId(IdWorker.getId());
         stockJournalDetails.setBusinessDetailsId(jdOrderDetails.getId());//业务明细id
-        stockJournalDetails.setQuantity(BigDecimal.ZERO);//操作数量;
+        stockJournalDetails.setQuantity(quantity);//操作数量;
         stockJournalDetails.setProductId(productId);//操作产品id
         stockJournalDetails.setStockJournalId(stockJournal.getId());//出入库流水id
         stockJournalDetailsList.add(stockJournalDetails);