소스 검색

修改拉取 OMS 数据

lvjian 2 년 전
부모
커밋
ef48df13da
1개의 변경된 파일43개의 추가작업 그리고 23개의 파일을 삭제
  1. 43 23
      eccs-biz/src/main/java/com/emato/biz/service/impl/OWbInveMngServiceImpl.java

+ 43 - 23
eccs-biz/src/main/java/com/emato/biz/service/impl/OWbInveMngServiceImpl.java

@@ -4,12 +4,15 @@ import java.io.IOException;
 import java.util.*;
 import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.stream.Collectors;
 
+import cn.hutool.core.util.StrUtil;
 import cn.hutool.http.HttpRequest;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.emato.biz.config.OmsConfig;
+import com.emato.biz.domain.OutRequest;
 import com.emato.biz.domain.merchant.MerchUser;
 import com.emato.biz.domain.merchant.ThirdMerchantBiz;
 import com.emato.biz.domain.warehouse.Page;
@@ -20,6 +23,7 @@ import com.emato.biz.mapper.warehouse.WbInveMngMapper;
 import com.emato.biz.util.JsonUtil;
 import com.emato.biz.util.OmsDataUtil;
 import com.emato.biz.util.RoleUtils;
+import com.emato.common.core.Result;
 import com.emato.common.core.domain.AjaxResult;
 import com.emato.common.core.domain.entity.SysUser;
 import com.emato.common.exception.ServiceException;
@@ -79,27 +83,19 @@ public class OWbInveMngServiceImpl implements IOWbInveMngService
      */
     @Override
     public AjaxResult pullInveMng(PullInveQueryVO queryVO) {
-        // 声明处理数量
-        AtomicInteger rows = new AtomicInteger(0);
         // 声明页数
         int page = 1;
-        queryVO.setPage(page);
-        queryVO.setLimit(10);
-
-        ThirdMerchantBiz merchantBiz = thirdMerchantBizMapper.selectByClientMerchSn(queryVO.getMerchId());
-        if (Objects.nonNull(merchantBiz)) {
-            queryVO.setThirdMerchId(merchantBiz.getThirdMerchSn());
-        }
-
+        // 处理查询参数
+        setQueryVO(queryVO, page, OmsConfig.getQuerySize());
 
+        // 声明处理数量
+        AtomicInteger rows = new AtomicInteger(0);
         // 查询 OMS 分页数据
         Optional<Page<OWbInveMng>> firstPageOpt =
                 OmsDataUtil.fetchOmsPageData(queryVO, OmsConfig.getQueryMngInveUrl(), OWbInveMng.class);
 
         // 如果有数据
-        /*firstPageOpt.ifPresent(firstPage -> {
-            // 如果有数据,开始批量处理
-            firstPage.getList().forEach(obj -> log.debug("拉取的 sku => {}", obj.getSku()));
+        firstPageOpt.ifPresent(firstPage -> {
             // 插入数据库
             firstPage.getList().stream().forEach(obj -> {
                 // 插入数据库
@@ -108,9 +104,7 @@ public class OWbInveMngServiceImpl implements IOWbInveMngService
                 rows.getAndIncrement();
             });
 
-            List<CompletableFuture<Void>> tasks = new ArrayList<>();
-
-            for(int pageNum = 2; pageNum <= firstPage.getTotalPage(); pageNum++) {
+            for(int pageNum = page + 1; pageNum <= firstPage.getTotalPage(); pageNum++) {
                 log.debug("当前拉取的页数 => {}", pageNum);
                 queryVO.setPage(pageNum);
                 // 分页拉取远程数据
@@ -119,15 +113,9 @@ public class OWbInveMngServiceImpl implements IOWbInveMngService
                     wbInveMngMapper.saveOrUpdate(obj);
                     rows.getAndIncrement();
                 });
-                // 查询 OMS 数据
-                CompletableFuture<Void> task = CompletableFuture.runAsync(() -> {
-                }, threadPoolExecutor);
-                // 将任务添加到列表中
-                tasks.add(task);
             }
-            CompletableFuture.allOf(tasks.toArray(new CompletableFuture[0])).join();
 
-        });*/
+        });
 
         log.debug("拉取库存成功,拉取数据条数 => {}", rows.get());
         return AjaxResult.success("拉取库存成功!");
@@ -420,4 +408,36 @@ public class OWbInveMngServiceImpl implements IOWbInveMngService
         return Optional.empty();
     }
 
+    /**
+     * 处理查询参数
+     *
+     * @param queryVO
+     * @param page
+     * @param limit
+     */
+    private void setQueryVO(PullInveQueryVO queryVO, int page, int limit) {
+        queryVO.setPage(page);
+        queryVO.setLimit(limit);
+
+        // 查询是否是三方商户
+        ThirdMerchantBiz thirdMerchantBiz = thirdMerchantBizMapper.selectByClientMerchSn(queryVO.getMerchId());
+        if (Objects.nonNull(thirdMerchantBiz)) {
+            // 如果是三方商户,查询条件加入三方商户
+            queryVO.setThirdMerchId(thirdMerchantBiz.getThirdMerchSn());
+        }
+
+        // 将 sku 变成 skuSet 参数
+        if (StrUtil.isNotBlank(queryVO.getSku())) {
+            List<String> skus = StrUtil.split(queryVO.getSku(), ",");
+            Set<String> skuSet = skus.stream().collect(Collectors.toSet());
+            queryVO.setSkuSets(skuSet);
+        }
+
+        // 将门店编号转为门店列表
+        if (StrUtil.isNotBlank(queryVO.getShopSn())) {
+            List<String> shopList = StrUtil.split(queryVO.getShopSn(), ",");
+            queryVO.setShopSnList(shopList);
+        }
+    }
+
 }