浏览代码

搜索,代码整合

1018653686@qq.com 1 年之前
父节点
当前提交
50a75302f7

+ 16 - 3
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/controller/jd/JdOrderController.java

@@ -1,10 +1,13 @@
 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.JdOrderVo;
 import com.fjhx.victoriatourist.entity.logistics.vo.LogisticsInfosVo;
 import com.fjhx.victoriatourist.entity.stock.dto.StockTransferDto;
@@ -133,9 +136,19 @@ public class JdOrderController {
      */
     @PostMapping("/tellBackOrer")
     public void tellBackOrer(@RequestBody JdOrderDto jdOrderDto){
-        //TODO 参数校验
-        SecurityUtils.setTenantId("wdly");
+        //参数校验
+        if(ObjectUtil.isNull(jdOrderDto.getOrderId()) || ObjectUtil.isNull(jdOrderDto.getDeliveryTime())){
+            throw new RuntimeException("参数错误");
+        }
+        List<JdOrderDetails> jdOrderDetailsList = jdOrderDto.getJdOrderDetailsList();
+        if(CollectionUtil.isEmpty(jdOrderDetailsList)){
+            throw new RuntimeException("参数错误");
+        }
+        for (JdOrderDetails jdOrderDetails : jdOrderDetailsList) {
+            if(ObjectUtil.isNull(jdOrderDetails.getConfirmNum())){
+                throw new RuntimeException("参数错误");
+            }
+        }
         jdOrderService.tellBackOrer(jdOrderDto);
-        SecurityUtils.clearTenantId();
     }
 }

+ 2 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/jd/dto/JdBackSelectDto.java

@@ -25,4 +25,6 @@ public class JdBackSelectDto extends BaseSelectDto {
     private Integer status;
 
     private Long returnId;
+
+    private String returnStateName;
 }

+ 3 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/constants/InitDictConstant.java

@@ -4,6 +4,9 @@ public class InitDictConstant {
     public static final String PREFIX = "jd_";
     public static final String DELIVERY_CENTER = PREFIX + "delivery_center";
     public static final String DELIVERY_CENTER_LABEL = "配送中心";
+
+    public static final String RETURN_STATES = PREFIX + "return_states";
+    public static final String RETURN_STATES_LABEL = "退货状态";
     /**启用**/
     public static final int ENABLE = 1;
 }

+ 40 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/impl/JdApiServiceImpl.java

@@ -272,6 +272,7 @@ public class JdApiServiceImpl implements JdApiService {
         JdClient jdClient = jdClientFactory.getJdClient();
         handleDeliveryCenter(jdClient);
         handleComponent(jdClient);
+        handleReturnStates();
         System.out.println("字典初始化完成");
     }
 
@@ -403,6 +404,45 @@ public class JdApiServiceImpl implements JdApiService {
         DynamicDataSourceContextHolder.poll();
     }
 
+
+    private static final Map<String, String> returnStatesMap = new HashMap<String, String>(){{
+        put("1", "初始退货单");
+        put("2", "等待经理审核");
+        put("3", "等待总监审核");
+        put("4", "等待质控审核");
+        put("5", "审核通过");
+        put("9", "等待退货机构出库");
+        put("10", "等待目的机构入库");
+        put("11", "等待退货区收货");
+        put("13", "等待供应商收货");
+        put("17", "报废等待结算");
+        put("18", "提货等待结算");
+        put("20", "已完成");
+        put("21", "等待删除确认");
+        put("22", "已删除");
+    }};
+    /**
+     * 处理jd退货状态
+     * @author hj
+     * @date 2023/12/20 22:27
+     */
+    private void handleReturnStates() {
+        DynamicDataSourceContextHolder.push(SourceConstant.BASE);
+        SecurityUtils.setTenantId(RunParamConstant.tenantId);
+        try {
+            DictTenantType dictTenantType = handleDictType(InitDictConstant.RETURN_STATES, InitDictConstant.RETURN_STATES_LABEL);
+            List<CommonDictData> commonDictDataList = new ArrayList<>();
+            returnStatesMap.forEach((k,v)->{
+                commonDictDataList.add(new CommonDictData(k, v));
+            });
+            handleDictData(commonDictDataList, dictTenantType);
+        } catch (Exception e) {
+            log.error("处理jd退货状态字典出现异常",e);
+        }
+        SecurityUtils.clearTenantId();
+        DynamicDataSourceContextHolder.poll();
+    }
+
     private void handleDictData(List<CommonDictData> commonDictDataList, DictTenantType dictTenantType) {
         //查出原来的字典
         List<DictTenantData> list = dictTenantDataService.lambdaQuery().eq(DictTenantData::getDictCode, dictTenantType.getCode()).orderByAsc(DictTenantData::getSort).list();

+ 8 - 8
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/impl/JdBackServiceImpl.java

@@ -71,14 +71,14 @@ public class JdBackServiceImpl extends ServiceImpl<JdBackMapper, JdBack> impleme
     @Override
     public Page<JdBackVo> getPage(JdBackSelectDto dto) {
         IWrapper<JdBack> wrapper = getWrapper();
-        wrapper.keyword(dto.getKeyword(),
-                new SqlField("jb", JdBackVo::getLogisticsCode),
-                new SqlField("jbd.product_code"),
-                new SqlField("jbd.product_name")
-        );
-        wrapper.eq("jb", JdBackVo::getType, dto.getType());
-        wrapper.eq("jb", JdBackVo::getStatus, dto.getStatus());
-
+//        wrapper.keyword(dto.getKeyword(),
+//                new SqlField("jb", JdBackVo::getLogisticsCode),
+//                new SqlField("jbd.product_code"),
+//                new SqlField("jbd.product_name")
+//        );
+//        wrapper.eq("jb", JdBackVo::getType, dto.getType());
+//        wrapper.eq("jb", JdBackVo::getStatus, dto.getStatus());
+        wrapper.eq("jd", JdBackVo::getReturnStateName, dto.getReturnStateName());
         wrapper.like("jb", JdBackVo::getReturnId, dto.getReturnId());
 
         wrapper.orderByDesc("jb", JdBack::getId);

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

@@ -148,9 +148,7 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
 //            }
 //        }
         wrapper.groupBy("jo.id");
-        SecurityUtils.setTenantId("wdly");
         Page<JdOrderVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
-        SecurityUtils.clearTenantId();
         List<JdOrderVo> records = page.getRecords();
         if (records.size() == 0) {
             return page;
@@ -169,7 +167,6 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
 
     @Override
     public JdOrderVo detail(Long id) {
-        SecurityUtils.setTenantId("wdly");
         JdOrder JdOrder = this.getById(id);
         JdOrderVo result = BeanUtil.toBean(JdOrder, JdOrderVo.class);
 
@@ -182,7 +179,6 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
         });
 
         result.setJdOrderDetailsList(jdOrderDetailsVoList);
-        SecurityUtils.clearTenantId();
         return result;
     }
 
@@ -679,20 +675,21 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
     public void tellBackOrer(JdOrderDto jdOrderDto) {
         TellBackOrderVO tellBackOrderVO = new TellBackOrderVO();
         tellBackOrderVO.setOrderId(jdOrderDto.getId());
-        tellBackOrderVO.setDeliveryTime(new Date());
+        tellBackOrderVO.setDeliveryTime(jdOrderDto.getDeliveryTime());
         List<TellBackOrderVO.BackInfo> backInfos = BeanUtil.copyToList(jdOrderDto.getJdOrderDetailsList(), TellBackOrderVO.BackInfo.class);
         tellBackOrderVO.setBackInfo(backInfos);
 //        jdApiService.tellBackOrer(tellBackOrderVO);
         //修改订单状态
         lambdaUpdate()
                 .set(JdOrder::getBusinessStatus, 2)
+                .set(JdOrder::getDeliveryTime, jdOrderDto.getDeliveryTime())
                 .eq(JdOrder::getId,jdOrderDto.getId()).update();
         //修改明细信息
         List<JdOrderDetails> jdOrderDetailsList = jdOrderDto.getJdOrderDetailsList();
         for (JdOrderDetails jdOrderDetails : jdOrderDetailsList) {
             jdOrderDetailsService.lambdaUpdate()
                     .set(JdOrderDetails::getConfirmNum,jdOrderDetails.getConfirmNum())
-                    .set(JdOrderDetails::getDeliverCenterId,jdOrderDetails.getDeliverCenterId())
+                    .set(JdOrderDetails::getDeliverCenterId,jdOrderDto.getDeliverCenterId())
                     .set(JdOrderDetails::getNonDeliveryReason,jdOrderDetails.getNonDeliveryReason())
                     .eq(JdOrderDetails::getId,jdOrderDetails.getId()).update();
         }

+ 3 - 3
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/initializers/JdInitializer.java

@@ -22,11 +22,11 @@ public class JdInitializer {
     public void dataInitializer() {
         // 初始化数据的代码
         //收集京东采购单
-        jdApiService.startJdOrder();
+//        jdApiService.startJdOrder();
         //收集京东退货单
-        jdApiService.startJdBackOrder();
+//        jdApiService.startJdBackOrder();
         //刷新京东状态
-        jdApiService.refreshJdState();
+//        jdApiService.refreshJdState();
         //初始化字典
         jdApiService.initTenantDict();