From a5b5a3569f673661f74089f157aefb3c7d683adb Mon Sep 17 00:00:00 2001 From: puhanshu <a9236326> Date: 星期一, 27 九月 2021 18:40:07 +0800 Subject: [PATCH] 修复bug --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ConvenientProductServiceImpl.java | 22 ++++++++++++---------- 1 files changed, 12 insertions(+), 10 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ConvenientProductServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ConvenientProductServiceImpl.java index 9fbaf17..0c51aed 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ConvenientProductServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ConvenientProductServiceImpl.java @@ -106,8 +106,7 @@ convenientProductDO.setUpdatedBy(updatedBy); this.baseMapper.updateById(convenientProductDO); List<ConvenientProductSpecificationDTO> productSpecificationDTOList = convenientProductDTO.getProductSpecificationDTOList(); - List<Long> notNeedDelIds = productSpecificationDTOList.stream().filter(specificationDTO -> nonNull(specificationDTO.getId())) - .map(ConvenientProductSpecificationDTO::getId).collect(Collectors.toList()); + List<Long> notNeedDelIds = new ArrayList<>(); productSpecificationDTOList.forEach(specificationDTO -> { Long specificationId = specificationDTO.getId(); if (isNull(specificationId)) { @@ -118,16 +117,18 @@ convenientProductSpecificationDO.setCreatedAt(nowDate); convenientProductSpecificationDO.setCreatedBy(updatedBy); convenientProductSpecificationDAO.insert(convenientProductSpecificationDO); + notNeedDelIds.add(convenientProductSpecificationDO.getId()); } else { //更新 ConvenientProductSpecificationDO convenientProductSpecificationDO = convenientProductSpecificationDAO.selectById(specificationId); BeanUtils.copyProperties(specificationDTO, convenientProductSpecificationDO); convenientProductSpecificationDO.setUpdatedBy(updatedBy); convenientProductSpecificationDAO.updateById(convenientProductSpecificationDO); + notNeedDelIds.add(specificationId); } }); //删除已失去关联的规格 - convenientProductSpecificationDAO.deleteLoseRelationSpecifications(notNeedDelIds); + convenientProductSpecificationDAO.deleteLoseRelationSpecifications(notNeedDelIds, productId); return R.ok(); } @@ -215,6 +216,7 @@ List<ConvenientProductVO> productVOList = this.baseMapper.getMerchantProduct(merchantId); List<ConvenientProductSpecificationVO> specificationVOList = this.baseMapper.getProductSpecifications(merchantId); List<ConvenientProductLevelInfoVO> levelInfoVOList = new ArrayList<>(); + List<String> categoryList = new ArrayList<>(); if (!productVOList.isEmpty()) { productVOList.forEach(productVO -> { List<ConvenientProductSpecificationVO> currentProductSpecificationVOList = new ArrayList<>(); @@ -224,22 +226,22 @@ } }); productVO.setProductSpecificationVOList(currentProductSpecificationVOList); + if (!categoryList.contains(productVO.getCategoryName())) { + categoryList.add(productVO.getCategoryName()); + } }); //分类 Map<String, List<ConvenientProductVO>> levelGroup = productVOList.stream() .collect(Collectors.groupingBy(ConvenientProductVO::getCategoryName)); - Set<String> categoryNames = levelGroup.keySet(); - Iterator<String> iterator = categoryNames.iterator(); - while (iterator.hasNext()) { - String categoryName = iterator.next(); + categoryList.forEach(category -> { ConvenientProductLevelInfoVO levelInfoVOLevelInfoVO = new ConvenientProductLevelInfoVO(); - levelInfoVOLevelInfoVO.setCategoryName(categoryName); - List<ConvenientProductVO> productVOS = levelGroup.get(categoryName); + levelInfoVOLevelInfoVO.setCategoryName(category); + List<ConvenientProductVO> productVOS = levelGroup.get(category); List<ConvenientProductVO> sortedProductVOS = productVOS.stream() .sorted(Comparator.comparing(ConvenientProductVO::getOnShelfAt).reversed()).collect(Collectors.toList()); levelInfoVOLevelInfoVO.setProductVOList(sortedProductVOS); levelInfoVOList.add(levelInfoVOLevelInfoVO); - } + }); } return R.ok(levelInfoVOList); } -- Gitblit v1.7.1