diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java index 70f7836eb..0e4e9140e 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java @@ -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; } diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java index 90ecfed59..17c55bf18 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java @@ -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()); } } diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java index 98008e76a..555183587 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponController.java @@ -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 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") diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java index e44cc1a78..7acdbf0f9 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java @@ -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) { diff --git a/mallinkService/src/main/java/com/iformall/service/util/CouponCacheUtils.java b/mallinkService/src/main/java/com/iformall/service/util/CouponCacheUtils.java index 8a93da213..e6ba36849 100644 --- a/mallinkService/src/main/java/com/iformall/service/util/CouponCacheUtils.java +++ b/mallinkService/src/main/java/com/iformall/service/util/CouponCacheUtils.java @@ -31,6 +31,20 @@ public class CouponCacheUtils { return RedisCacheUtils.getCacheObject(template, key,WxCouponChannel.class); } + public static void removeOnlyCouponCache(RedisTemplate template,Long couponId) { + String key = "onlyCouponDetail:"+couponId; + RedisCacheUtils.removeCache(template, key); + } + + public static void setOnlyCouponCache(RedisTemplate template,Long couponId,WxCoupon coupon) { + String key = "onlyCouponDetail:"+couponId; + RedisCacheUtils.cache(template, key, coupon, 24*3600); + } + + public static WxCoupon getOnlyCouponCache(RedisTemplate template,Long couponId) { + String key = "onlyCouponDetail:"+couponId; + return RedisCacheUtils.getCacheObject(template, key,WxCoupon.class); + } public static void removeCouponCache(RedisTemplate template,Long couponId) { String key = "couponDetail:"+couponId;