Explorar o código

搜索,代码整合

1018653686@qq.com hai 1 ano
pai
achega
f973c04adb

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

@@ -24,4 +24,5 @@ public class JdBackSelectDto extends BaseSelectDto {
      */
     private Integer status;
 
+    private Long returnId;
 }

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

@@ -29,4 +29,10 @@ public class JdOrderSelectDto extends BaseSelectDto {
 
     /**京东商品编号**/
     private Long wareId;
+
+    /**是否可回告**/
+    private Boolean isCanConfirm;
+
+    /**确认状态**/
+    private String businessStatus;
 }

+ 2 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/JdApiService.java

@@ -20,4 +20,6 @@ public interface JdApiService {
     void startJdBackOrder();
 
     void refreshJdState();
+
+    void initTenantDict();
 }

+ 19 - 9
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/impl/JdApiServiceImpl.java

@@ -278,7 +278,7 @@ public class JdApiServiceImpl implements JdApiService {
     /**
      * 初始化租户字典表
      */
-//    @PostConstruct
+    @Async
     public void initTenantDict(){
         JdClient jdClient = jdClientFactory.getJdClient();
         handleDeliveryCenter(jdClient);
@@ -402,7 +402,6 @@ public class JdApiServiceImpl implements JdApiService {
 
             DictTenantType dictTenantType = handleDictType(InitDictConstant.DELIVERY_CENTER, InitDictConstant.DELIVERY_CENTER_LABEL);
             //处理字典数据表
-            //删除全部数据
             List<WarehouseDto> warehouseList = response.getJosWarehouseResultDto().getWarehouseList();
             List<CommonDictData> commonDictDataList = new ArrayList<>();
             for (WarehouseDto warehouseDto : warehouseList) {
@@ -417,20 +416,31 @@ public class JdApiServiceImpl implements JdApiService {
     }
 
     private void handleDictData(List<CommonDictData> commonDictDataList, DictTenantType dictTenantType) {
-        dictTenantDataService.lambdaUpdate().eq(DictTenantData::getDictCode, dictTenantType.getCode()).remove();
+        //查出原来的字典
+        List<DictTenantData> list = dictTenantDataService.lambdaQuery().eq(DictTenantData::getDictCode, dictTenantType.getCode()).orderByAsc(DictTenantData::getSort).list();
+        Map<String, DictTenantData> dictDataMap = new HashMap<>();
         int sort = 10;
+        if(CollectionUtil.isNotEmpty(list)) {
+            dictDataMap = list.stream().collect(Collectors.toMap(DictTenantData::getDictKey, o -> o, (v1, v2) ->v2));
+            sort = list.get(list.size()-1).getSort() + 10;
+        }
         List<DictTenantData> dataList = new ArrayList<>();
         for (CommonDictData commonDictData : commonDictDataList) {
             DictTenantDataDto dictTenantDataDto = new DictTenantDataDto();
-            dictTenantDataDto.setDictCode(dictTenantType.getCode());
-            dictTenantDataDto.setDictKey(StrUtil.toString(commonDictData.getKey()));
+            DictTenantData dictTenantData = dictDataMap.get(commonDictData.getKey());
+            if(ObjectUtil.isNotNull(dictTenantData)){
+                BeanUtil.copyProperties(dictTenantData, dictTenantDataDto);
+            }else{
+                dictTenantDataDto.setDictCode(dictTenantType.getCode());
+                dictTenantDataDto.setDictKey(StrUtil.toString(commonDictData.getKey()));
+                dictTenantDataDto.setTenantId(tenantId);
+                dictTenantDataDto.setSort(sort);
+                sort = sort + 10;
+            }
             dictTenantDataDto.setDictValue(commonDictData.getValue());
-            dictTenantDataDto.setTenantId(tenantId);
-            dictTenantDataDto.setSort(sort);
-            sort = sort + 10;
             dataList.add(dictTenantDataDto);
         }
-        dictTenantDataService.saveBatch(dataList);
+        dictTenantDataService.saveOrUpdateBatch(dataList);
     }
 
     /**

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

@@ -78,7 +78,9 @@ public class JdBackServiceImpl extends ServiceImpl<JdBackMapper, JdBack> impleme
         );
         wrapper.eq("jb", JdBackVo::getType, dto.getType());
         wrapper.eq("jb", JdBackVo::getStatus, dto.getStatus());
-//        wrapper.groupBy("jb.id");
+
+        wrapper.like("jb", JdBackVo::getReturnId, dto.getReturnId());
+
         wrapper.orderByDesc("jb", JdBack::getId);
         Page<JdBackVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         List<JdBackVo> records = page.getRecords();

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

@@ -3,6 +3,7 @@ package com.fjhx.victoriatourist.service.jd.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
@@ -123,6 +124,8 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
 
         wrapper.like(ObjectUtil.isNotNull(dto.getOrderId()),"jo.order_id",dto.getOrderId());
         wrapper.like(ObjectUtil.isNotNull(dto.getWareId()),"jod.ware_id",dto.getWareId());
+        wrapper.eq(StrUtil.isNotBlank(dto.getBusinessStatus()),"jo.business_status",dto.getBusinessStatus());
+        wrapper.eq(ObjectUtil.isNotNull(dto.getIsCanConfirm()),"jo.is_can_confirm",dto.getIsCanConfirm());
 
         if (ObjectUtil.isNotEmpty(dto.getKeyword())) {
             wrapper.keyword(dto.getKeyword(),

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

@@ -27,6 +27,8 @@ public class JdInitializer {
 //        jdApiService.startJdBackOrder();
         //刷新京东状态
 //        jdApiService.refreshJdState();
+        //初始化字典
+        jdApiService.initTenantDict();
 
     }
 }