diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponChannelController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponChannelController.java index 0f14cd70e..079af5345 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponChannelController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponChannelController.java @@ -140,16 +140,19 @@ public class WxCouponChannelController extends BaseController { return new ResultData(Result.ERROR, "库存未设置或者库存小于0, 如不需要可点击释放库存."); } wxCouponChannel.updateTenantInfo(getTenantInfo()); - wxCouponChannelService.setChannelStock(wxCouponChannel, wxCouponChannel.getChannelStock()); WxCoupon coupon = wxCouponService.getById(wxCouponChannel.getCouponId(), wxCouponChannel.getTenantId()); + if (coupon.getRemainInventory().intValue() < wxCouponChannel.getChannelStock().intValue()) { + return new ResultData(Result.ERROR, "渠道库存不能大于券剩余总库存."); + } + wxCouponChannelService.setChannelStock(wxCouponChannel, wxCouponChannel.getChannelStock()); redisLock.setCouponStock(wxCouponChannel.getCouponId(), coupon.getRemainInventory()); redisLock.setCouponChannelStock(wxCouponChannel.getId(), wxCouponChannel.getChannelStock()); return new ResultData(Result.SUCCESS, "设置成功", ""); } - @ApiOperation("释放库存") + @ApiOperation("释放锁定库存") @PostMapping("/releaseChannelStock") - @SystemControllerLog(description = "释放渠道库存") + @SystemControllerLog(description = "释放渠道锁定库存") public ResultData releaseChannelStock(@RequestBody WxCouponChannel wxCouponChannel) { wxCouponChannel.updateTenantInfo(getTenantInfo()); wxCouponChannelService.releaseChannelStock(wxCouponChannel); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java index 9ce6afb27..d5ec0c371 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java @@ -501,6 +501,12 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { return vo; } + if (null != channelStock && channelStock > wxCoupon.getRemainInventory()) { + vo.toCouponChannnelVo(null,channelId); + vo.setErrorMsg("渠道库存不能超过券剩余总库存。"); + return vo; + } + WxCouponChannel wxCouponChannelQuery = new WxCouponChannel(); wxCouponChannelQuery.updateTenantInfo(tenantEntity); wxCouponChannelQuery.setCouponId(couponid); @@ -572,7 +578,7 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { wxCouponChannel.setSubBusiness(wxCoupon.getSubBusiness()); wxCouponChannel.setTitle(wxCoupon.getTitle()); wxCouponChannel.setChannelPrice(channelPrice); - wxCouponChannel.setChannelStock(channelStock);; + wxCouponChannel.setChannelStock(channelStock); ResultData resultData = saveOrUpdate(wxCouponChannel); WxCouponChannel channel = (WxCouponChannel)resultData.data; vo.setId(channel.getId());