zoujiajian 3 éve
szülő
commit
9241c6ade8

+ 5 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/GoodsDonSku.java

@@ -28,6 +28,11 @@ public class GoodsDonSku extends BaseEntity {
      */
     private String specIds;
 
+    /**
+     * 重复校验规格ids
+     */
+    private String dupSpecIds;
+
     /**
      * 商品规格 value
      */

+ 9 - 3
netflix-service/src/main/java/com/cyksj/service/mange/goods/CmsGoodsDonSpecServiceImpl.java

@@ -197,14 +197,20 @@ public class CmsGoodsDonSpecServiceImpl extends ServiceImpl<GoodsDonSpecMapper,
 				goodsDonSku.setGoodsId(insert.getGoodsId());
 			}
 			BeanUtil.copyProperties(sku, goodsDonSku);
-			GoodsDonSku specIds_exists = goodsDonSkuMapper.selectOne(Wrappers.lambdaQuery(GoodsDonSku.class).eq(GoodsDonSku::getSpecIds, specIds)
+			String specIdsStr = Jsons.toJson(ids);
+			//升序
+			Arrays.sort(ids);
+			String dupSpecIds = Jsons.toJson(ids);
+			GoodsDonSku specIds_exists = goodsDonSkuMapper.selectOne(Wrappers.lambdaQuery(GoodsDonSku.class)
+					.and(qr -> qr.eq(GoodsDonSku::getDupSpecIds, dupSpecIds).or().eq(GoodsDonSku::getSpecIds, specIdsStr))
 					.eq(GoodsDonSku::getGoodsId, goods.getId())
 					.last("limit 1"));
 			if (specIds_exists != null) {
-				log.info("库中存在相同二级分类的规格,spec_ids:{}", specIds);
+				log.info("库中存在相同二级分类的规格,spec_ids:{}", dupSpecIds);
 				continue;
 			}
-			goodsDonSku.setSpecIds(Jsons.toJson(ids));
+			goodsDonSku.setSpecIds(specIdsStr);
+			goodsDonSku.setDupSpecIds(dupSpecIds);
 			goodsDonSku.setSpecVal(specVal);
 			goodsDonSku.setSpecJson(specJson);
 			if (goods.getType() == 1) {