欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

商品上下架+静态页面+同步缓存

程序员文章站 2022-03-30 20:17:29
...

1.商品上下架修改状态
2.上下架同步添加/删除到缓存中
3.同步维护商品的库存
4.上下架同步生成静态/删除页面

@GetMapping("/updateState/{id}")
    public ResponseResult login(@PathVariable Integer id) {
        logger.info("优惠券上下架开始");
        ResponseResult result = ResponseResult.SUCCESS();
        try {
            QueryWrapper<TbCoupon> wrapper = new QueryWrapper();
            wrapper.lambda().eq(TbCoupon::getId,id);
            TbCoupon tbCoupon = tbCouponService.getOne(wrapper);
            if (tbCoupon.getStatus() == 0) {
                tbCoupon.setStatus(1);
                tbCouponService.saveOrUpdate(tbCoupon);
                //上架同步添加到缓存中
                redisTemplate.opsForHash().put("couponList",String.valueOf(tbCoupon.getId()),tbCoupon);
                //同步维护商品的库存
                stringRedisTemplate.opsForValue().set("coupon:"+tbCoupon.getId(),String.valueOf(tbCoupon.getNum()));
                MbConfig.getHtml(tbCoupon,htmlPath,"cseckill-item.html");
                logger.info("优惠券上架同步添加到缓存中");
            } else {
                tbCoupon.setStatus(0);
                tbCouponService.saveOrUpdate(tbCoupon);
                //下架同步删除缓冲
                redisTemplate.opsForHash().delete("couponList",String.valueOf(tbCoupon.getId()));
                //
                //同步维护商品的库存
                stringRedisTemplate.delete("coupon:"+tbCoupon.getId());
                MbConfig.delHtml(tbCoupon,htmlPath);
                logger.info("优惠券下架同步从缓冲中删除");
            }
        } catch (Exception e) {
            logger.error("优惠券上下架异常,{}"+e.toString());
            result.setSuccess(false);
            result.setMessage("优惠券上下架失败" + e.toString());
        }
        logger.info("优惠券上下架结束");
        return result;
    }