|
@@ -3,14 +3,18 @@ package com.emato.biz.service.impl;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
import java.util.concurrent.CompletableFuture;
|
|
import java.util.concurrent.CompletableFuture;
|
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.emato.biz.config.OmsConfig;
|
|
import com.emato.biz.config.OmsConfig;
|
|
|
|
+import com.emato.biz.domain.merchant.ThirdMerchantBiz;
|
|
import com.emato.biz.domain.warehouse.OWbInveMng;
|
|
import com.emato.biz.domain.warehouse.OWbInveMng;
|
|
import com.emato.biz.domain.warehouse.Page;
|
|
import com.emato.biz.domain.warehouse.Page;
|
|
import com.emato.biz.domain.warehouse.PullInveQueryVO;
|
|
import com.emato.biz.domain.warehouse.PullInveQueryVO;
|
|
|
|
+import com.emato.biz.mapper.merchant.ThirdMerchantBizMapper;
|
|
import com.emato.biz.mapper.warehouse.WbMerchShopInveMapper;
|
|
import com.emato.biz.mapper.warehouse.WbMerchShopInveMapper;
|
|
import com.emato.biz.util.OmsDataUtil;
|
|
import com.emato.biz.util.OmsDataUtil;
|
|
import com.emato.common.core.domain.AjaxResult;
|
|
import com.emato.common.core.domain.AjaxResult;
|
|
@@ -44,8 +48,12 @@ public class OWbMerchShopInveServiceImpl implements IOWbMerchShopInveService
|
|
@Resource
|
|
@Resource
|
|
private WbMerchShopInveMapper wbMerchShopInveMapper;
|
|
private WbMerchShopInveMapper wbMerchShopInveMapper;
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ private ThirdMerchantBizMapper thirdMerchantBizMapper;
|
|
|
|
+
|
|
private static final Logger log = LoggerFactory.getLogger(OWbMerchShopInveServiceImpl.class);
|
|
private static final Logger log = LoggerFactory.getLogger(OWbMerchShopInveServiceImpl.class);
|
|
|
|
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 拉取门店库存数据
|
|
* 拉取门店库存数据
|
|
*
|
|
*
|
|
@@ -54,16 +62,18 @@ public class OWbMerchShopInveServiceImpl implements IOWbMerchShopInveService
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
public AjaxResult pullShopInve(PullInveQueryVO queryVO) {
|
|
public AjaxResult pullShopInve(PullInveQueryVO queryVO) {
|
|
- // 声明处理数量
|
|
|
|
- AtomicInteger rows = new AtomicInteger(0);
|
|
|
|
|
|
+ log.debug("queryVO => {}", queryVO);
|
|
|
|
+
|
|
// 声明页数
|
|
// 声明页数
|
|
int page = 1;
|
|
int page = 1;
|
|
- queryVO.setPage(page);
|
|
|
|
- queryVO.setLimit(10);
|
|
|
|
|
|
+ // 处理查询参数
|
|
|
|
+ setQueryVO(queryVO, page, OmsConfig.getQuerySize());
|
|
|
|
|
|
|
|
+ // 处理数量
|
|
|
|
+ AtomicInteger rows = new AtomicInteger(0);
|
|
// 查询 OMS 分页数据
|
|
// 查询 OMS 分页数据
|
|
Optional<Page<OWbMerchShopInve>> firstPageOpt =
|
|
Optional<Page<OWbMerchShopInve>> firstPageOpt =
|
|
- OmsDataUtil.fetchOmsPageData(queryVO, OmsConfig.getQueryMngInveUrl(), OWbMerchShopInve.class);
|
|
|
|
|
|
+ OmsDataUtil.fetchOmsPageData(queryVO, OmsConfig.getQueryShopMngInveUrl(), OWbMerchShopInve.class);
|
|
|
|
|
|
// 如果有数据
|
|
// 如果有数据
|
|
firstPageOpt.ifPresent(firstPage -> {
|
|
firstPageOpt.ifPresent(firstPage -> {
|
|
@@ -72,14 +82,12 @@ public class OWbMerchShopInveServiceImpl implements IOWbMerchShopInveService
|
|
// 插入数据库
|
|
// 插入数据库
|
|
firstPage.getList().stream().forEach(obj -> {
|
|
firstPage.getList().stream().forEach(obj -> {
|
|
// 插入数据库
|
|
// 插入数据库
|
|
- wbMerchShopInveMapper.saveOrUpdate(obj);
|
|
|
|
|
|
+ //wbMerchShopInveMapper.saveOrUpdate(obj);
|
|
// 处理数据条数加 1
|
|
// 处理数据条数加 1
|
|
rows.getAndIncrement();
|
|
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);
|
|
log.debug("当前拉取的页数 => {}", pageNum);
|
|
queryVO.setPage(pageNum);
|
|
queryVO.setPage(pageNum);
|
|
// 分页拉取远程数据
|
|
// 分页拉取远程数据
|
|
@@ -88,13 +96,7 @@ public class OWbMerchShopInveServiceImpl implements IOWbMerchShopInveService
|
|
wbMerchShopInveMapper.saveOrUpdate(obj);
|
|
wbMerchShopInveMapper.saveOrUpdate(obj);
|
|
rows.getAndIncrement();
|
|
rows.getAndIncrement();
|
|
});
|
|
});
|
|
- // 查询 OMS 数据
|
|
|
|
- /*CompletableFuture<Void> task = CompletableFuture.runAsync(() -> {
|
|
|
|
- }, threadPoolExecutor);
|
|
|
|
- // 将任务添加到列表中
|
|
|
|
- tasks.add(task);*/
|
|
|
|
- }
|
|
|
|
- CompletableFuture.allOf(tasks.toArray(new CompletableFuture[0])).join();
|
|
|
|
|
|
+ }*/
|
|
|
|
|
|
});
|
|
});
|
|
|
|
|
|
@@ -250,4 +252,36 @@ public class OWbMerchShopInveServiceImpl implements IOWbMerchShopInveService
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 处理查询参数
|
|
|
|
+ *
|
|
|
|
+ * @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);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|