yzc 1 жил өмнө
parent
commit
fb6fc9fcc4

+ 18 - 11
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/controller/jd/JdOrderController.java

@@ -1,14 +1,11 @@
 package com.fjhx.victoriatourist.controller.jd;
 
-import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.NumberUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.victoriatourist.entity.jd.dto.JdOrderDto;
 import com.fjhx.victoriatourist.entity.jd.dto.JdOrderSelectDto;
 import com.fjhx.victoriatourist.entity.jd.po.JdOrder;
-import com.fjhx.victoriatourist.entity.jd.po.JdOrderDetails;
-import com.fjhx.victoriatourist.entity.jd.vo.JdOrderDetailsVo;
 import com.fjhx.victoriatourist.entity.jd.vo.JdOrderVo;
 import com.fjhx.victoriatourist.entity.logistics.vo.LogisticsInfosVo;
 import com.fjhx.victoriatourist.entity.stock.dto.StockTransferDto;
@@ -126,13 +123,13 @@ public class JdOrderController {
      */
     @PostMapping("/confirmBusinessStatus")
     public void confirmBusinessStatus(@RequestBody JdOrderDto jdOrderDto) {
-        if(!NumberUtil.isValidNumber(jdOrderDto.getId()) || !NumberUtil.isValidNumber(jdOrderDto.getBusinessStatus())){
+        if (!NumberUtil.isValidNumber(jdOrderDto.getId()) || !NumberUtil.isValidNumber(jdOrderDto.getBusinessStatus())) {
             throw new RuntimeException("参数错误");
         }
         //校验明细内的商品是否都有productId
         jdOrderDetailsService.findListByJdOrderId(jdOrderDto.getId()).forEach(jdOrderDetails -> {
-            if(ObjectUtil.isNull(jdOrderDetails.getProductId())){
-                throw new RuntimeException("采购单明细内商品:"+jdOrderDetails.getWareId()+"没有关联到产品,无法进行确认");
+            if (ObjectUtil.isNull(jdOrderDetails.getProductId())) {
+                throw new RuntimeException("采购单明细内商品:" + jdOrderDetails.getWareId() + "没有关联到产品,无法进行确认");
             }
         });
         jdOrderService.confirmBusinessStatus(jdOrderDto);
@@ -141,25 +138,35 @@ public class JdOrderController {
 
     /**
      * 订单回告
+     *
      * @author hj
      * @date 2023/12/16 23:37
      */
     @PostMapping("/tellBackOrer")
-    public void tellBackOrer(@RequestBody JdOrderDto jdOrderDto){
+    public void tellBackOrer(@RequestBody JdOrderDto jdOrderDto) {
         jdOrderService.tellBackOrer(jdOrderDto);
     }
-    
+
     /**
      * 保存备注
+     *
+     * @return null
      * @author hj
      * @date 2024/1/15 10:07
-     * @return null
      */
     @PostMapping("/saveRemark")
-    public void saveRemark(@RequestBody JdOrderDto jdOrderDto){
-        if (ObjectUtil.isNull(jdOrderDto.getId())){
+    public void saveRemark(@RequestBody JdOrderDto jdOrderDto) {
+        if (ObjectUtil.isNull(jdOrderDto.getId())) {
             throw new RuntimeException("参数错误");
         }
         jdOrderService.saveRemark(jdOrderDto);
     }
+
+    /**
+     * 分流
+     */
+    @PostMapping("/saveDiversion")
+    void saveDiversion(@RequestBody JdOrderDto dto) {
+        jdOrderService.saveDiversion(dto);
+    }
 }

+ 5 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/jd/dto/JdOrderSelectDto.java

@@ -56,4 +56,9 @@ public class JdOrderSelectDto extends BaseSelectDto {
 
     private Date startTime;
     private Date endTime;
+
+    /**
+     * 分流类型
+     */
+    private Integer diversionType;
 }

+ 5 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/jd/po/JdOrder.java

@@ -152,6 +152,11 @@ public class JdOrder extends BasePo {
 
     private String remark;
 
+    /**
+     * 分流类型
+     */
+    private Integer diversionType;
+
     /**处理状态;1=未处理;2=已处理**/
     @TableField(updateStrategy = FieldStrategy.IGNORED)
     private String handleStatus;

+ 7 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/JdOrderService.java

@@ -8,6 +8,7 @@ import com.fjhx.victoriatourist.entity.jd.vo.JdOrderVo;
 import com.fjhx.victoriatourist.entity.logistics.vo.LogisticsInfosVo;
 import com.fjhx.victoriatourist.entity.stock.dto.StockTransferDto;
 import com.ruoyi.common.core.service.BaseService;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.util.List;
@@ -69,4 +70,10 @@ public interface JdOrderService extends BaseService<JdOrder> {
     boolean validJdOrderId(Long jdOrderId);
 
     void saveRemark(JdOrderDto jdOrderDto);
+
+
+    /**
+     * 设置分流
+     */
+    void saveDiversion(@RequestBody JdOrderDto dto);
 }

+ 25 - 6
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/impl/JdOrderServiceImpl.java

@@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.extra.spring.SpringUtil;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
@@ -37,7 +38,6 @@ import com.fjhx.victoriatourist.service.abnormal.AbnormalInfoService;
 import com.fjhx.victoriatourist.service.jd.JdApiService;
 import com.fjhx.victoriatourist.service.jd.JdOrderDetailsService;
 import com.fjhx.victoriatourist.service.jd.JdOrderService;
-import com.fjhx.victoriatourist.service.logistics.LogisticsDetailsService;
 import com.fjhx.victoriatourist.service.logistics.LogisticsInfosService;
 import com.fjhx.victoriatourist.service.stock.StockTransferDetailsService;
 import com.fjhx.victoriatourist.service.stock.StockTransferService;
@@ -50,14 +50,13 @@ import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.common.utils.wrapper.SqlField;
-import com.ruoyi.system.service.ISysRoleService;
 import com.ruoyi.system.utils.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.multipart.MultipartFile;
 
-import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.BigInteger;
 import java.util.*;
@@ -105,6 +104,8 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
     private LogisticsInfosService logisticsInfosService;
     @Autowired
     private CompanyInfoService companyInfoService;
+    @Autowired
+    private JdApiService jdApiService;
 
 
     @Override
@@ -149,6 +150,11 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
                     new SqlField("jo", JdOrderVo::getTotalPrice)
             );
         }
+
+        //分流检索
+        wrapper.eq("jo", JdOrder::getDiversionType, dto.getDiversionType());
+
+
 //
 //        //添加权限过滤
 //        DynamicDataSourceContextHolder.push(SourceConstant.BASE);
@@ -682,7 +688,7 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
     @DSTransactional
     public void confirmBusinessStatus(JdOrderDto jdOrderDto) {
         lambdaUpdate()
-                .set(JdOrder::getBusinessStatus, jdOrderDto.getIsOut()?3:1)
+                .set(JdOrder::getBusinessStatus, jdOrderDto.getIsOut() ? 3 : 1)
                 .eq(JdOrder::getId, jdOrderDto.getId()).update();
 
         JdOrder jdOrder = getById(jdOrderDto.getId());
@@ -710,7 +716,7 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
                 stockWaitDetailsList.add(stockWaitDetails);
             }
             stockWaitDetailsService.saveBatch(stockWaitDetailsList);
-        }else {
+        } else {
             //无需出库直接回告
             JdOrderDto tellBackDto = new JdOrderDto();
             tellBackDto.setId(jdOrder.getId());
@@ -762,7 +768,10 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
             backInfo.setDeliverCenterId(jdOrder.getDeliverCenterId());
         }
         tellBackOrderVO.setBackInfo(backInfos);
-//        jdApiService.tellBackOrer(tellBackOrderVO);
+        //只在生产环境调用回告代码防止测试环境误点
+        if ("prod".equals(SpringUtil.getActiveProfile())) {
+            jdApiService.tellBackOrer(tellBackOrderVO);
+        }
         //修改订单状态
         lambdaUpdate()
                 .set(JdOrder::getBusinessStatus, 2)
@@ -795,4 +804,14 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
                 .eq(JdOrder::getId, jdOrderDto.getId())
                 .update();
     }
+
+    @Override
+    public void saveDiversion(@RequestBody JdOrderDto dto) {
+        this.update(q -> q
+                .eq(JdOrder::getId, dto.getId())
+                .set(JdOrder::getDiversionType, dto.getDiversionType())
+                .set(JdOrder::getUpdateUser, SecurityUtils.getUserId())
+                .set(JdOrder::getUpdateTime, new Date())
+        );
+    }
 }

+ 2 - 1
hx-victoriatourist/src/main/resources/mapper/jd/JdOrderMapper.xml

@@ -57,7 +57,8 @@
             jo.book_time,
             jo.has_ex,
             jo.remark,
-            jo.handle_status
+            jo.handle_status,
+            jo.diversion_type
         from jd_order jo
             <!--LEFT JOIN jd_order_details jod ON jod.jd_order_id = jo.id
             LEFT JOIN bytesailing_item.product_info pi ON jod.product_id = pi.id