|
|
@@ -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();
|