zoujiajian 2 years ago
parent
commit
24989a9c57

+ 11 - 1
netflix-web/src/main/java/com/cyksj/web/controller/manage/goods/shop/YhShopGoodsController.java

@@ -82,10 +82,20 @@ public class YhShopGoodsController {
 	 * 上下架
 	 */
 	@PutMapping("/put/goodsStatus/{goodsId}")
-	public Result<Void> updGoodsStatus(@PathVariable Long goodsId, Boolean status){
+	public Result<Void> updGoodsStatus(@PathVariable Long goodsId, Boolean status) {
 		long userId = StpYhShopManageUser.getLoginIdAsLong();
 		YhShop yhShop = yhShopMapper.selectOne(Wrappers.lambdaQuery(YhShop.class)
 				.eq(YhShop::getUserId, userId).last("limit 1"));
+		List<YhShopGoodsSku> list = yhShopGoodsSkuService.list(Wrappers.lambdaQuery(YhShopGoodsSku.class)
+				.eq(YhShopGoodsSku::getUserId, userId)
+				.eq(YhShopGoodsSku::getGoodsId, goodsId)
+				.eq(YhShopGoodsSku::getDeleted, true));
+		list.forEach(sku -> {
+			YhShopGoodsRateView.YhShopGoodsSkuRateView yhShopGoodsSkuRateView = beanSearcher.searchFirst(YhShopGoodsRateView.YhShopGoodsSkuRateView.class, MapUtils.builder().field(YhShopGoodsRateView.YhShopGoodsSkuRateView::getSkuId, sku.getSkuId()).build());
+			if (sku.getPrice().compareTo(yhShopGoodsSkuRateView.getMaxPrice()) > 0 || sku.getPrice().compareTo(yhShopGoodsSkuRateView.getMinPrice()) < 0) {
+				throw BusinessRuntimeException.getInstance("价格不能超出区间范围");
+			}
+		});
 		yhShopGoodsSkuService.update(Wrappers.lambdaUpdate(YhShopGoodsSku.class).eq(YhShopGoodsSku::getGoodsId, goodsId).eq(YhShopGoodsSku::getDeleted, true).eq(YhShopGoodsSku::getUserId, userId).set(YhShopGoodsSku::getStatus, status));
 		refreshCacheService.refreshShopUserIdCacheByYshId(yhShop.getId());
 		return GatewayResponse.SUCCESS.newBuilder().toResult();