Commit 59f6e1a9 by 王志超

feat: 组装主工单商品信息

parent 37b687d3
Pipeline #86390 passed with stages
in 1 minute 45 seconds
...@@ -1090,93 +1090,89 @@ public class ChangeFlowBiz { ...@@ -1090,93 +1090,89 @@ public class ChangeFlowBiz {
private void buildItemBasicInfoList(ChangeRecord changeRecord, ChangeFlowVO changeFlowVO) { private void buildItemBasicInfoList(ChangeRecord changeRecord, ChangeFlowVO changeFlowVO) {
String itemJsonStr = changeRecord.getChangeItem(); String itemJsonStr = changeRecord.getChangeItem();
if (StringUtils.isBlank(itemJsonStr)) { if (StringUtils.isBlank(itemJsonStr)) {
changeFlowVO.setChangeItems(null);
changeFlowVO.setItemBasicInfoList(null); changeFlowVO.setItemBasicInfoList(null);
} else { return;
String changeSkuJson = changeRecord.getChangeSku(); }
List<ItemVO> itemList = JSON.parseArray(itemJsonStr, ItemVO.class);
List<ItemSkuVO> itemSkuVOS = new ArrayList<>(); String changeSkuJson = changeRecord.getChangeSku();
if (StringUtils.isNotBlank(changeSkuJson)) { List<ItemVO> itemList = JSON.parseArray(itemJsonStr, ItemVO.class);
itemSkuVOS.addAll(JSON.parseArray(changeSkuJson, ItemSkuVO.class)); List<ItemSkuVO> itemSkuVOS = new ArrayList<>();
if (StringUtils.isNotBlank(changeSkuJson)) {
itemSkuVOS.addAll(JSON.parseArray(changeSkuJson, ItemSkuVO.class));
}
itemList.forEach(i -> {
Optional<ItemSkuVO> anySkuInfo = itemSkuVOS.stream().filter(s -> s.getItemId().equals(i.getItemId()))
.findAny();
if (anySkuInfo.isPresent()) {
i.setSkuIds(anySkuInfo.get().getSkuId());
} }
itemList.forEach(i -> { });
Optional<ItemSkuVO> anySkuInfo = itemSkuVOS.stream().filter(s -> s.getItemId().equals(i.getItemId())) changeFlowVO.setChangeItems(itemList);
.findAny(); List<Long> itemIds = itemList.stream().map(ItemVO::getItemId).collect(Collectors.toList());
if (anySkuInfo.isPresent()) { // 批量查询spu信息
i.setSkuIds(anySkuInfo.get().getSkuId()); List<SpuTO> spuTOS = itemService.batchQuerySpuInfo(BatchQuerySpuInfoParam.builder().ids(itemIds)
} .commonProps(new ArrayList<>()).spuProps(Arrays.asList("itemSetupType", "businessForm")).build());
}); log.debug("[detail] spuTOS:{}", JSON.toJSONString(spuTOS));
changeFlowVO.setChangeItems(itemList); // 批量查询物理类目
// 变更执行/结果确认/完结节点,展示变更商品基础信息 Map<Long, List<SimplePhyCateGoryResultCo>> categoryChain = itemService
String flowNode = changeRecord.getFlowNode(); .queryBySpuIds(CommonIdsParamQuery.builder().ids(itemIds).build());
if (ChangeFlowEnum.CHANGE_FLOW_EXE.getNodeId().equals(flowNode) // 查询商品对应负责人信息
|| ChangeFlowEnum.CHANGE_FLOW_CONFIRM.getNodeId().equals(flowNode) Map<Long, ChangeGoodsPrincipalPO> longChangeGoodsPrincipalPOMap = interiorChangeConfigService
|| ChangeFlowEnum.END.getNodeId().equals(flowNode)) { .queryGoodsPrincipalInfo(itemIds);
List<Long> itemIds = itemList.stream().map(ItemVO::getItemId).collect(Collectors.toList()); List<ItemBasicInfoVO> itemBasicInfoVOS = itemList.stream().map(itemVO -> {
// 批量查询spu信息 ItemBasicInfoVO itemBasicInfoVO = new ItemBasicInfoVO();
List<SpuTO> spuTOS = itemService.batchQuerySpuInfo(BatchQuerySpuInfoParam.builder().ids(itemIds) Long itemId = itemVO.getItemId();
.commonProps(new ArrayList<>()).spuProps(Arrays.asList("itemSetupType", "businessForm")).build()); itemBasicInfoVO.setItemId(itemId);
log.debug("[detail] spuTOS:{}", JSON.toJSONString(spuTOS)); itemBasicInfoVO.setItemName(itemVO.getItemName());
// 批量查询物理类目 List<QcCategoryVO> qcCategoryList = qcService.getQcCategoryListByItemId(itemId);
Map<Long, List<SimplePhyCateGoryResultCo>> categoryChain = itemService if (CollectionUtils.isNotEmpty(qcCategoryList)) {
.queryBySpuIds(CommonIdsParamQuery.builder().ids(itemIds).build()); String collect = qcCategoryList.stream().map(QcCategoryVO::getCategoryName)
// 查询商品对应负责人信息 .collect(Collectors.joining("/"));
Map<Long, ChangeGoodsPrincipalPO> longChangeGoodsPrincipalPOMap = interiorChangeConfigService itemBasicInfoVO.setQcCategory(collect);
.queryGoodsPrincipalInfo(itemIds); } else {
List<ItemBasicInfoVO> itemBasicInfoVOS = itemList.stream().map(itemVO -> { itemBasicInfoVO.setQcCategory("/");
ItemBasicInfoVO itemBasicInfoVO = new ItemBasicInfoVO(); }
Long itemId = itemVO.getItemId(); List<SimplePhyCateGoryResultCo> simplePhyCateGoryResultCos = categoryChain.get(itemId);
itemBasicInfoVO.setItemId(itemId); log.debug("[detail] itemId:{}, simplePhyCateGoryResultCos:{}", itemId,
itemBasicInfoVO.setItemName(itemVO.getItemName()); JSON.toJSONString(simplePhyCateGoryResultCos));
List<QcCategoryVO> qcCategoryList = qcService.getQcCategoryListByItemId(itemId); if (CollectionUtils.isEmpty(simplePhyCateGoryResultCos)) {
if (CollectionUtils.isNotEmpty(qcCategoryList)) { itemBasicInfoVO.setPhyCategory(null);
String collect = qcCategoryList.stream().map(QcCategoryVO::getCategoryName) } else {
.collect(Collectors.joining("/")); List<CategoryInfoVO> categoryInfoVOS = simplePhyCateGoryResultCos.stream().map(phy -> {
itemBasicInfoVO.setQcCategory(collect); CategoryInfoVO categoryInfoVO = new CategoryInfoVO();
} else { categoryInfoVO.setId(phy.getId());
itemBasicInfoVO.setQcCategory("/"); categoryInfoVO.setName(phy.getName());
} return categoryInfoVO;
List<SimplePhyCateGoryResultCo> simplePhyCateGoryResultCos = categoryChain.get(itemId);
log.debug("[detail] itemId:{}, simplePhyCateGoryResultCos:{}", itemId,
JSON.toJSONString(simplePhyCateGoryResultCos));
if (CollectionUtils.isEmpty(simplePhyCateGoryResultCos)) {
itemBasicInfoVO.setPhyCategory(null);
} else {
List<CategoryInfoVO> categoryInfoVOS = simplePhyCateGoryResultCos.stream().map(phy -> {
CategoryInfoVO categoryInfoVO = new CategoryInfoVO();
categoryInfoVO.setId(phy.getId());
categoryInfoVO.setName(phy.getName());
return categoryInfoVO;
}).collect(Collectors.toList());
itemBasicInfoVO.setPhyCategory(categoryInfoVOS);
}
Optional<SpuTO> optionalSpuTO = spuTOS.stream().filter(spu -> spu.getId() == itemId).findAny();
log.debug("[detail] itemId:{}, optionalSpuTO:{}", itemId, JSON.toJSONString(optionalSpuTO));
if (!optionalSpuTO.isPresent()) {
itemBasicInfoVO.setItemSetupType(null);
itemBasicInfoVO.setBusinessForm(null);
itemBasicInfoVO.setStatus(null);
} else {
SpuTO spuTO = optionalSpuTO.get();
Map<String, String> propertyMap = spuTO.getPropertyMap();
itemBasicInfoVO.setItemSetupType(Integer.valueOf(propertyMap.get("itemSetupType")));
String businessForm = propertyMap.get("businessForm");
int business = StringUtils.isBlank(businessForm) ? 0 : Integer.parseInt(businessForm);
itemBasicInfoVO.setBusinessForm(business);
itemBasicInfoVO.setStatus(spuTO.getStatus());
}
ChangeGoodsPrincipalPO changeGoodsPrincipalPO = longChangeGoodsPrincipalPOMap.get(itemId);
log.debug("[detail] itemId:{}, changeGoodsPrincipalPO:{}", itemId,
JSON.toJSONString(changeGoodsPrincipalPO));
itemBasicInfoVO.setChangeGoodsPrincipal(changeGoodsPrincipalPO);
Optional<ItemVO> anyHasSku = itemList.stream().filter(i -> i.getItemId().equals(itemId)).findAny();
if (anyHasSku.isPresent()) {
itemBasicInfoVO.setSkuIds(anyHasSku.get().getSkuIds());
}
return itemBasicInfoVO;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
changeFlowVO.setItemBasicInfoList(itemBasicInfoVOS); itemBasicInfoVO.setPhyCategory(categoryInfoVOS);
} }
} Optional<SpuTO> optionalSpuTO = spuTOS.stream().filter(spu -> spu.getId() == itemId).findAny();
log.debug("[detail] itemId:{}, optionalSpuTO:{}", itemId, JSON.toJSONString(optionalSpuTO));
if (!optionalSpuTO.isPresent()) {
itemBasicInfoVO.setItemSetupType(null);
itemBasicInfoVO.setBusinessForm(null);
itemBasicInfoVO.setStatus(null);
} else {
SpuTO spuTO = optionalSpuTO.get();
Map<String, String> propertyMap = spuTO.getPropertyMap();
itemBasicInfoVO.setItemSetupType(Integer.valueOf(propertyMap.get("itemSetupType")));
String businessForm = propertyMap.get("businessForm");
int business = StringUtils.isBlank(businessForm) ? 0 : Integer.parseInt(businessForm);
itemBasicInfoVO.setBusinessForm(business);
itemBasicInfoVO.setStatus(spuTO.getStatus());
}
ChangeGoodsPrincipalPO changeGoodsPrincipalPO = longChangeGoodsPrincipalPOMap.get(itemId);
log.debug("[detail] itemId:{}, changeGoodsPrincipalPO:{}", itemId,
JSON.toJSONString(changeGoodsPrincipalPO));
itemBasicInfoVO.setChangeGoodsPrincipal(changeGoodsPrincipalPO);
Optional<ItemVO> anyHasSku = itemList.stream().filter(i -> i.getItemId().equals(itemId)).findAny();
if (anyHasSku.isPresent()) {
itemBasicInfoVO.setSkuIds(anyHasSku.get().getSkuIds());
}
return itemBasicInfoVO;
}).collect(Collectors.toList());
changeFlowVO.setItemBasicInfoList(itemBasicInfoVOS);
} }
public ChangeFlowListVO query(Integer page, Integer pageSize, ChangeFlowListQueryReq changeFlowListQueryReq) { public ChangeFlowListVO query(Integer page, Integer pageSize, ChangeFlowListQueryReq changeFlowListQueryReq) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment