| @@ -218,6 +218,7 @@ public class WxCouponController extends BaseController { | |||
| wxCouponService.deleteById(wxCoupon.getId(),wxCoupon.getTenantId()); | |||
| CouponCacheUtils.removeCouponCache(redisTemplate, wxCoupon.getId()); | |||
| CouponCacheUtils.removeCouponMerchantCache(redisTemplate, wxCoupon.getId()); | |||
| CouponCacheUtils.removeOnlyCouponCache(redisTemplate, wxCoupon.getId()); | |||
| return new ResultData(); | |||
| } | |||
| @@ -277,6 +278,7 @@ public class WxCouponController extends BaseController { | |||
| ResultData result = wxCouponService.updateTtProduct(coupon); | |||
| CouponCacheUtils.removeCouponCache(redisTemplate, wxCoupon.getId()); | |||
| CouponCacheUtils.removeCouponMerchantCache(redisTemplate, wxCoupon.getId()); | |||
| CouponCacheUtils.removeOnlyCouponCache(redisTemplate, wxCoupon.getId()); | |||
| return result; | |||
| } | |||
| @@ -421,6 +423,7 @@ public class WxCouponController extends BaseController { | |||
| return wxCouponService.updateCouponStockAndEndTime(wxCoupon); | |||
| } | |||
| CouponCacheUtils.removeCouponCache(redisTemplate, wxCoupon.getId()); | |||
| CouponCacheUtils.removeOnlyCouponCache(redisTemplate, wxCoupon.getId()); | |||
| return new ResultData(); | |||
| } | |||
| @@ -466,6 +469,7 @@ public class WxCouponController extends BaseController { | |||
| wxCouponService.deleteById(id,getTenantInfo().getTenantId()); | |||
| CouponCacheUtils.removeCouponCache(redisTemplate, id); | |||
| CouponCacheUtils.removeCouponMerchantCache(redisTemplate, id); | |||
| CouponCacheUtils.removeOnlyCouponCache(redisTemplate, id); | |||
| return new ResultData(Result.SUCCESS, "删除成功", null); | |||
| } | |||
| @@ -714,6 +718,7 @@ public class WxCouponController extends BaseController { | |||
| couponPasswordService.exportData(request, response, wxCouponPassword); | |||
| if (null != wxCouponPassword.getCouponId()) { | |||
| CouponCacheUtils.removeCouponCache(redisTemplate, wxCouponPassword.getCouponId()); | |||
| CouponCacheUtils.removeOnlyCouponCache(redisTemplate, wxCouponPassword.getCouponId()); | |||
| } | |||
| } | |||
| @@ -739,6 +744,7 @@ public class WxCouponController extends BaseController { | |||
| ResultData result = wxCouponService.cardDefer(wxCoupon.getId(),getTenantInfo().getTenantId(),wxCoupon.getValidEndDate()); | |||
| CouponCacheUtils.removeCouponCache(redisTemplate, wxCoupon.getId()); | |||
| CouponCacheUtils.removeOnlyCouponCache(redisTemplate, wxCoupon.getId()); | |||
| return result; | |||
| } | |||
| @@ -247,6 +247,7 @@ public class WxCouponController extends BaseController { | |||
| wxCouponService.deleteById(wxCoupon.getId(),wxCoupon.getTenantId()); | |||
| CouponCacheUtils.removeCouponCache(redisTemplate, wxCoupon.getId()); | |||
| CouponCacheUtils.removeCouponMerchantCache(redisTemplate, wxCoupon.getId()); | |||
| CouponCacheUtils.removeOnlyCouponCache(redisTemplate, wxCoupon.getId()); | |||
| return new ResultData(); | |||
| } | |||
| @@ -361,6 +362,7 @@ public class WxCouponController extends BaseController { | |||
| redisLock.setCouponStock(wxCoupon.getId(), wxCoupon.getRemainInventory()); | |||
| ResultData result = wxCouponService.updateCouponStockAndEndTime(wxCoupon); | |||
| CouponCacheUtils.removeCouponCache(redisTemplate, wxCoupon.getId()); | |||
| CouponCacheUtils.removeOnlyCouponCache(redisTemplate, wxCoupon.getId()); | |||
| return result; | |||
| } | |||
| @@ -375,6 +377,7 @@ public class WxCouponController extends BaseController { | |||
| wxCouponService.deleteById(id,getTenantInfo().getTenantId()); | |||
| CouponCacheUtils.removeCouponCache(redisTemplate, id); | |||
| CouponCacheUtils.removeCouponMerchantCache(redisTemplate, id); | |||
| CouponCacheUtils.removeOnlyCouponCache(redisTemplate, id); | |||
| return new ResultData(Result.SUCCESS, "删除成功", null); | |||
| } | |||
| @@ -476,6 +479,7 @@ public class WxCouponController extends BaseController { | |||
| couponPasswordService.exportData(request, response, wxCouponPassword); | |||
| if (null != wxCouponPassword.getCouponId()) { | |||
| CouponCacheUtils.removeCouponCache(redisTemplate, wxCouponPassword.getCouponId()); | |||
| CouponCacheUtils.removeOnlyCouponCache(redisTemplate, wxCouponPassword.getCouponId()); | |||
| } | |||
| } | |||
| @@ -76,7 +76,43 @@ public class WxCouponController extends BaseController { | |||
| @Autowired | |||
| private SysConfigService sysConfigService; | |||
| @ApiOperation("查询优惠券详情(系统发放卡没有couponChannel)") | |||
| @GetMapping("/couponInfo") | |||
| @ApiImplicitParams({ | |||
| @ApiImplicitParam(name = "couponId", value = "couponId", dataType = "String", paramType = "query", required = true), | |||
| @ApiImplicitParam(name = "mallTenantId", value = "mallTenantId", dataType = "String", paramType = "query", required = false)}) | |||
| public ResultData couponInfo(Long couponId,String mallTenantId) { | |||
| if (null == couponId || (StringUtils.isBlank(mallTenantId) || mallTenantId.equalsIgnoreCase(Constant.UNDEFINED)) | |||
| ) { | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "couponId/mallTenantId为空"); | |||
| } | |||
| if(couponId <= 0){ | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "couponIdId为空"); | |||
| } | |||
| WxCoupon coupon = CouponCacheUtils.getOnlyCouponCache(redisTemplate, couponId); | |||
| if (null == coupon) { | |||
| coupon = couponService.getById(couponId,mallTenantId); | |||
| if (null == coupon) { | |||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "找不到coupon" + couponId); | |||
| } | |||
| WxCoupon attrsById = couponService.getAttrsById(couponId, mallTenantId); | |||
| coupon.setProductAttrs(attrsById.getProductAttrs()); | |||
| coupon.setSkuAttrs(attrsById.getSkuAttrs()); | |||
| if(EnumCouponType.COUPON_GIFT.getCode().equals(coupon.getType())){ | |||
| WxCoupon couponQ = new WxCoupon(); | |||
| couponQ.updateTenantInfo(coupon); | |||
| List<Long> longs = JSON.parseArray(coupon.getGiftList(), Long.class); | |||
| if(longs != null && longs.size() > 0){ | |||
| couponQ.setIds(longs); | |||
| coupon.setGiftCouponList(couponService.list(couponQ)); | |||
| } | |||
| } | |||
| coupon.setCouponId(coupon.getId()); | |||
| CouponCacheUtils.setOnlyCouponCache(redisTemplate, couponId, coupon); | |||
| } | |||
| return new ResultData(coupon); | |||
| } | |||
| @ApiOperation("根据id(couponChannel)查询详情接口") | |||
| @GetMapping("/couponDetail") | |||
| @@ -422,12 +422,7 @@ public class WxCouponOrderController extends BaseController { | |||
| @ApiOperation(value = "查询转赠卡状态") | |||
| @GetMapping("queryCardStatus") | |||
| @ApiImplicitParams({ | |||
| @ApiImplicitParam(name = "id", value = "coupon_order_id", dataType = "Long", paramType = "query", required = true), | |||
| @ApiImplicitParam(name = "cUserId", value = "转赠者", dataType = "Long", paramType = "query", required = true), | |||
| }) | |||
| public ResultData queryCardStatus(@ModelAttribute WxCouponOrder wxCouponOrder) { | |||
| logger.info("queryCardStatus:"+JSON.toJSONString(wxCouponOrder)); | |||
| //coupon_order_id判断 | |||
| Long id = wxCouponOrder.getId(); | |||
| if (id == null) { | |||
| @@ -31,6 +31,20 @@ public class CouponCacheUtils { | |||
| return RedisCacheUtils.getCacheObject(template, key,WxCouponChannel.class); | |||
| } | |||
| public static void removeOnlyCouponCache(RedisTemplate<String, Object> template,Long couponId) { | |||
| String key = "onlyCouponDetail:"+couponId; | |||
| RedisCacheUtils.removeCache(template, key); | |||
| } | |||
| public static void setOnlyCouponCache(RedisTemplate<String, Object> template,Long couponId,WxCoupon coupon) { | |||
| String key = "onlyCouponDetail:"+couponId; | |||
| RedisCacheUtils.cache(template, key, coupon, 24*3600); | |||
| } | |||
| public static WxCoupon getOnlyCouponCache(RedisTemplate<String, Object> template,Long couponId) { | |||
| String key = "onlyCouponDetail:"+couponId; | |||
| return RedisCacheUtils.getCacheObject(template, key,WxCoupon.class); | |||
| } | |||
| public static void removeCouponCache(RedisTemplate<String, Object> template,Long couponId) { | |||
| String key = "couponDetail:"+couponId; | |||