|
|
@@ -142,10 +142,7 @@ public class PurchaseProductServiceImpl implements PurchaseProductService {
|
|
|
// 本次上传总数
|
|
|
int total = 0;
|
|
|
// 批号
|
|
|
- Long start = System.currentTimeMillis();
|
|
|
String batch = createNumberService.getTimeNumber("product$goods", 8, rowNum);
|
|
|
- System.out.println("创建批号消耗: " + (System.currentTimeMillis() - start));
|
|
|
- start = System.currentTimeMillis();
|
|
|
for (int r = minExcelNumber; r <= rowNum; r++) {
|
|
|
Row row = sheet.getRow(r);
|
|
|
// 英文品牌名称
|
|
|
@@ -168,29 +165,20 @@ public class PurchaseProductServiceImpl implements PurchaseProductService {
|
|
|
}
|
|
|
// 保存临时表信息
|
|
|
}
|
|
|
- System.out.println("校验表格数据消耗: " + (System.currentTimeMillis() - start));
|
|
|
- start = System.currentTimeMillis();
|
|
|
releaseProductByBatchService.saveByJdbcTemplate(releaseProductByBatchArrayList);
|
|
|
- System.out.println("保存临时表: " + (System.currentTimeMillis() - start));
|
|
|
Long enUU = SystemSession.getUser().getEnterprise().getUu();
|
|
|
// 验证数据信息是否重复
|
|
|
- start = System.currentTimeMillis();
|
|
|
releaseProductByBatchDao.callReleaseExistValidProcedure(batch, enUU);
|
|
|
- System.out.println("批量上架验证数据信息是否重复: " + (System.currentTimeMillis() - start));
|
|
|
// 验证数是否存在个人物料库
|
|
|
Long userUU = SystemSession.getUser().getUserUU();
|
|
|
- start = System.currentTimeMillis();
|
|
|
releaseProductByBatchDao.callReleasePersonExistValidProcedure(batch, enUU, userUU);
|
|
|
- System.out.println("批量上架个人物料验证数据信息是否重复: " + (System.currentTimeMillis() - start));
|
|
|
ModelMap modelMap = new ModelMap();
|
|
|
// 处理上传数据
|
|
|
assignmentProductInfo(enUU, modelMap, batch);
|
|
|
// 验证成功后进行绑定处理
|
|
|
Integer assignNumber = 0;
|
|
|
// 去重后的数据
|
|
|
- start = System.currentTimeMillis();
|
|
|
List<ReleaseProductByBatch> uniqueBatchList = releaseProductByBatchDao.findByRelbatchidAndReleaseCodeNot(userUU, batch, failCode);
|
|
|
- System.out.println("查询去重后的数据: " + (System.currentTimeMillis() - start));
|
|
|
if (!CollectionUtils.isEmpty(uniqueBatchList)) {
|
|
|
assignNumber = assignBatch(uniqueBatchList);
|
|
|
}
|
|
|
@@ -358,7 +346,6 @@ public class PurchaseProductServiceImpl implements PurchaseProductService {
|
|
|
data.put("userUU", SystemSession.getUser().getUserUU());
|
|
|
params.put("data", data);
|
|
|
HttpUtil.Response res = null;
|
|
|
- Long start = System.currentTimeMillis();
|
|
|
try {
|
|
|
res = HttpUtil.sendPostRequest(productServiceIp + "/productuser/coverToUserByIds", params);
|
|
|
return Integer.valueOf(res.getResponseText());
|
|
|
@@ -366,7 +353,6 @@ public class PurchaseProductServiceImpl implements PurchaseProductService {
|
|
|
String resultCode = null != res ? String.valueOf(res.getStatusCode()) : "access error";
|
|
|
LOGGER.error("coverToUserProd http response status error: " + resultCode);
|
|
|
}
|
|
|
- System.out.println("物料服务保存: " + (System.currentTimeMillis() - start));
|
|
|
}
|
|
|
return 0;
|
|
|
}
|
|
|
@@ -382,7 +368,6 @@ public class PurchaseProductServiceImpl implements PurchaseProductService {
|
|
|
Set<Long> idSet = new HashSet<>();
|
|
|
List<ReleaseProductByBatch> batchList = new ArrayList<>();
|
|
|
System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism", "100");
|
|
|
- Long start = System.currentTimeMillis();
|
|
|
uniqueBatchList.parallelStream().forEach(batch -> {
|
|
|
if (null != batch.getProductid()) {
|
|
|
idSet.add(batch.getProductid());
|
|
|
@@ -395,15 +380,9 @@ public class PurchaseProductServiceImpl implements PurchaseProductService {
|
|
|
batchList.add(batch);
|
|
|
}
|
|
|
});
|
|
|
- System.out.println("循环处理物料code: " + (System.currentTimeMillis() - start));
|
|
|
// 新增到物料库
|
|
|
- start = System.currentTimeMillis();
|
|
|
productService.saveByJdbcTemplate(batchList);
|
|
|
- System.out.println("批量保存物料库: " + (System.currentTimeMillis() - start));
|
|
|
- start = System.currentTimeMillis();
|
|
|
List<com.uas.platform.b2c.prod.commodity.model.Product> productList = productService.findProductIdAndProdnumsByProdNums(productCodeList);
|
|
|
- System.out.println("根物料标号,获取物料编号和物料id: " + (System.currentTimeMillis() - start));
|
|
|
- start = System.currentTimeMillis();
|
|
|
List<ProductPrivate> privateList = new ArrayList<>();
|
|
|
productList.parallelStream().forEach(product -> {
|
|
|
ProductPrivate productPrivate = new ProductPrivate(product.getId());
|
|
|
@@ -411,14 +390,11 @@ public class PurchaseProductServiceImpl implements PurchaseProductService {
|
|
|
privateList.add(productPrivate);
|
|
|
idSet.add(product.getId());
|
|
|
});
|
|
|
- System.out.println("循环添加私有字段: " + (System.currentTimeMillis() - start));
|
|
|
- start = System.currentTimeMillis();
|
|
|
// 保存到私有库
|
|
|
if (CollectionUtils.isNotEmpty(privateList)) {
|
|
|
Integer count = productPrivateService.saveByJdbcTemplate(privateList);
|
|
|
LOGGER.info("批量上传个人物料库,同步新增到商城私有库: " + count);
|
|
|
}
|
|
|
- System.out.println("保存到私有库: " + (System.currentTimeMillis() - start));
|
|
|
return idSet;
|
|
|
}
|
|
|
|