licailing 5 lat temu
rodzic
commit
e18f18f567

+ 1 - 1
src/main/java/com/izouma/dingdong/domain/merchant/MerchantClassification.java

@@ -48,7 +48,7 @@ public class MerchantClassification extends BaseEntity implements Serializable {
     private Set<Goods> goodsList;*/
 
     @Convert(converter = LongArrayConverter.class)
-    private Set<Long> goodsIds = new HashSet<>();
+    private List<Long> goodsIds ;
 
     @ApiModelProperty(value = "是否开启", name = "isOpen")
     private Boolean isOpen;

+ 6 - 5
src/main/java/com/izouma/dingdong/service/merchant/MerchantClassificationService.java

@@ -59,7 +59,7 @@ public class MerchantClassificationService {
      */
     public List<Goods> showGoods(Long classificationId) {
         MerchantClassification merchantClassification = merchantClassificationRepo.findById(classificationId).orElseThrow(new BusinessException("分类不存在"));
-        Set<Long> goodsIds = merchantClassification.getGoodsIds();
+        List<Long> goodsIds = merchantClassification.getGoodsIds();
         List<Goods> goods = CollUtil.newArrayList();
         goodsIds.forEach(s -> {
             goods.add(goodsRepo.findById(s).orElseThrow(new BusinessException("商品不存在")));
@@ -78,10 +78,11 @@ public class MerchantClassificationService {
         //查找分类
         MerchantClassification merchantClassification = merchantClassificationRepo.findById(classificationId).orElseThrow(new BusinessException("无分类"));
 
-        Set<Long> goodsIds = merchantClassification.getGoodsIds();
+        List<Long> goodsIds = merchantClassification.getGoodsIds();
         LongArrayConverter converter = new LongArrayConverter();
         List<Long> longs = converter.convertToEntityAttribute(string);
-        goodsIds.addAll(longs);
+        longs.stream().filter(l -> !goodsIds.contains(l)).forEach(goodsIds::add);
+        //goodsIds.addAll(longs);
 
         merchantClassification.setGoodsIds(goodsIds);
 
@@ -95,7 +96,7 @@ public class MerchantClassificationService {
         //查找分类
         MerchantClassification merchantClassification = merchantClassificationRepo.findById(classificationId).orElseThrow(new BusinessException("无分类"));
 
-        Set<Long> ids = merchantClassification.getGoodsIds();
+        List<Long> ids = merchantClassification.getGoodsIds();
 
         if (!ids.contains(goodsId)) {
             ids.add(goodsId);
@@ -111,7 +112,7 @@ public class MerchantClassificationService {
         //查找分类
         MerchantClassification merchantClassification = merchantClassificationRepo.findById(classificationId).orElseThrow(new BusinessException("无分类"));
 
-        Set<Long> goodsIds = merchantClassification.getGoodsIds();
+        List<Long> goodsIds = merchantClassification.getGoodsIds();
         goodsIds.remove(goodId);
         merchantClassification.setGoodsIds(goodsIds);