zoujiajian 2 éve
szülő
commit
7e09f088d9

+ 23 - 18
netflix-service/src/main/java/com/cyksj/service/mange/goods/CmsGoodsDonSkuServiceImpl.java

@@ -173,25 +173,30 @@ public class CmsGoodsDonSkuServiceImpl extends ServiceImpl<GoodsDonSkuMapper,Goo
 				}
 
 				//被绑定升级套餐
-				UpgradePackage toUpgradePackage = upgradePackageMapper.selectOne(Wrappers.lambdaQuery(UpgradePackage.class)
-						.eq(UpgradePackage::getUpgradeSkuId, sku.getId())
-						.last("limit 1"));
-				if (toUpgradePackage != null) {
-					if (price.compareTo(sku.getPrice()) != 0) {
-						Long skuId = Jsons.parseList(toUpgradePackage.getSkuIds(), Long.class).get(0);
-						//需升级的规格
-						GoodsDonSku oriSku = skuMapper.selectById(skuId);
-						if (oriSku == null) {
-							return;
+				List<UpgradePackage> toUpgradePackages = upgradePackageMapper.selectList(Wrappers.lambdaQuery(UpgradePackage.class)
+						.eq(UpgradePackage::getUpgradeSkuId, sku.getId()));
+				if (CollUtil.isNotEmpty(toUpgradePackages)) {
+					toUpgradePackages.forEach(toUpgradePackage->{
+						if (price.compareTo(sku.getPrice()) != 0) {
+							Long skuId = null;
+							try {
+								skuId = Jsons.parseList(toUpgradePackage.getSkuIds(), Long.class).get(0);
+								//需升级的规格
+								GoodsDonSku oriSku = skuMapper.selectById(skuId);
+								if (oriSku == null) {
+									return;
+								}
+								BigDecimal differ = sku.getPrice().subtract(oriSku.getPrice());
+								if (differ.compareTo(BigDecimal.ZERO) > 0) {
+									toUpgradePackage.setPrice(differ);
+								}
+							} catch (Exception e) {
+							}
 						}
-						BigDecimal differ = sku.getPrice().subtract(oriSku.getPrice());
-						if (differ.compareTo(BigDecimal.ZERO) > 0) {
-							toUpgradePackage.setPrice(differ);
-						}
-					}
-					toUpgradePackage.setTime(sku.getGptLimitTime());
-					toUpgradePackage.setNum(sku.getGptLimitNum());
-					upgradePackageMapper.updateById(toUpgradePackage);
+						toUpgradePackage.setTime(sku.getGptLimitTime());
+						toUpgradePackage.setNum(sku.getGptLimitNum());
+						upgradePackageMapper.updateById(toUpgradePackage);
+					});
 				}
 			}
 		}

+ 2 - 4
netflix-web/src/main/java/com/cyksj/web/controller/manage/goods/CmsGoodsDonSkuController.java

@@ -172,10 +172,8 @@ public class CmsGoodsDonSkuController {
         BigDecimal oldPrice = dbSku.getPrice();
         BigDecimal newPrice = sku.getPrice();
         //规格新价 变高
-        if (newPrice.compareTo(oldPrice) > 0) {
-            //下架店铺低于这个规格价格的品
-            goodsDonSkuService.setBelowPriceShopSkuDown(skuId, newPrice);
-        }
+        //下架店铺低于这个规格价格的品
+        goodsDonSkuService.setBelowPriceShopSkuDown(skuId, newPrice);
         //套餐包关联规格
         goodsDonSkuService.handleGptPackageSku(dbSku,sku);
         refreshCacheService.refreshYhHomePageCache();