| @@ -218,6 +218,7 @@ public class WxCouponController extends BaseController { | |||||
| wxCouponService.deleteById(wxCoupon.getId(),wxCoupon.getTenantId()); | wxCouponService.deleteById(wxCoupon.getId(),wxCoupon.getTenantId()); | ||||
| CouponCacheUtils.removeCouponCache(redisTemplate, wxCoupon.getId()); | CouponCacheUtils.removeCouponCache(redisTemplate, wxCoupon.getId()); | ||||
| CouponCacheUtils.removeCouponMerchantCache(redisTemplate, wxCoupon.getId()); | CouponCacheUtils.removeCouponMerchantCache(redisTemplate, wxCoupon.getId()); | ||||
| CouponCacheUtils.removeOnlyCouponCache(redisTemplate, wxCoupon.getId()); | |||||
| return new ResultData(); | return new ResultData(); | ||||
| } | } | ||||
| @@ -277,6 +278,7 @@ public class WxCouponController extends BaseController { | |||||
| ResultData result = wxCouponService.updateTtProduct(coupon); | ResultData result = wxCouponService.updateTtProduct(coupon); | ||||
| CouponCacheUtils.removeCouponCache(redisTemplate, wxCoupon.getId()); | CouponCacheUtils.removeCouponCache(redisTemplate, wxCoupon.getId()); | ||||
| CouponCacheUtils.removeCouponMerchantCache(redisTemplate, wxCoupon.getId()); | CouponCacheUtils.removeCouponMerchantCache(redisTemplate, wxCoupon.getId()); | ||||
| CouponCacheUtils.removeOnlyCouponCache(redisTemplate, wxCoupon.getId()); | |||||
| return result; | return result; | ||||
| } | } | ||||
| @@ -421,6 +423,7 @@ public class WxCouponController extends BaseController { | |||||
| return wxCouponService.updateCouponStockAndEndTime(wxCoupon); | return wxCouponService.updateCouponStockAndEndTime(wxCoupon); | ||||
| } | } | ||||
| CouponCacheUtils.removeCouponCache(redisTemplate, wxCoupon.getId()); | CouponCacheUtils.removeCouponCache(redisTemplate, wxCoupon.getId()); | ||||
| CouponCacheUtils.removeOnlyCouponCache(redisTemplate, wxCoupon.getId()); | |||||
| return new ResultData(); | return new ResultData(); | ||||
| } | } | ||||
| @@ -466,6 +469,7 @@ public class WxCouponController extends BaseController { | |||||
| wxCouponService.deleteById(id,getTenantInfo().getTenantId()); | wxCouponService.deleteById(id,getTenantInfo().getTenantId()); | ||||
| CouponCacheUtils.removeCouponCache(redisTemplate, id); | CouponCacheUtils.removeCouponCache(redisTemplate, id); | ||||
| CouponCacheUtils.removeCouponMerchantCache(redisTemplate, id); | CouponCacheUtils.removeCouponMerchantCache(redisTemplate, id); | ||||
| CouponCacheUtils.removeOnlyCouponCache(redisTemplate, id); | |||||
| return new ResultData(Result.SUCCESS, "删除成功", null); | return new ResultData(Result.SUCCESS, "删除成功", null); | ||||
| } | } | ||||
| @@ -714,6 +718,7 @@ public class WxCouponController extends BaseController { | |||||
| couponPasswordService.exportData(request, response, wxCouponPassword); | couponPasswordService.exportData(request, response, wxCouponPassword); | ||||
| if (null != wxCouponPassword.getCouponId()) { | if (null != wxCouponPassword.getCouponId()) { | ||||
| CouponCacheUtils.removeCouponCache(redisTemplate, 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()); | ResultData result = wxCouponService.cardDefer(wxCoupon.getId(),getTenantInfo().getTenantId(),wxCoupon.getValidEndDate()); | ||||
| CouponCacheUtils.removeCouponCache(redisTemplate, wxCoupon.getId()); | CouponCacheUtils.removeCouponCache(redisTemplate, wxCoupon.getId()); | ||||
| CouponCacheUtils.removeOnlyCouponCache(redisTemplate, wxCoupon.getId()); | |||||
| return result; | return result; | ||||
| } | } | ||||
| @@ -247,6 +247,7 @@ public class WxCouponController extends BaseController { | |||||
| wxCouponService.deleteById(wxCoupon.getId(),wxCoupon.getTenantId()); | wxCouponService.deleteById(wxCoupon.getId(),wxCoupon.getTenantId()); | ||||
| CouponCacheUtils.removeCouponCache(redisTemplate, wxCoupon.getId()); | CouponCacheUtils.removeCouponCache(redisTemplate, wxCoupon.getId()); | ||||
| CouponCacheUtils.removeCouponMerchantCache(redisTemplate, wxCoupon.getId()); | CouponCacheUtils.removeCouponMerchantCache(redisTemplate, wxCoupon.getId()); | ||||
| CouponCacheUtils.removeOnlyCouponCache(redisTemplate, wxCoupon.getId()); | |||||
| return new ResultData(); | return new ResultData(); | ||||
| } | } | ||||
| @@ -361,6 +362,7 @@ public class WxCouponController extends BaseController { | |||||
| redisLock.setCouponStock(wxCoupon.getId(), wxCoupon.getRemainInventory()); | redisLock.setCouponStock(wxCoupon.getId(), wxCoupon.getRemainInventory()); | ||||
| ResultData result = wxCouponService.updateCouponStockAndEndTime(wxCoupon); | ResultData result = wxCouponService.updateCouponStockAndEndTime(wxCoupon); | ||||
| CouponCacheUtils.removeCouponCache(redisTemplate, wxCoupon.getId()); | CouponCacheUtils.removeCouponCache(redisTemplate, wxCoupon.getId()); | ||||
| CouponCacheUtils.removeOnlyCouponCache(redisTemplate, wxCoupon.getId()); | |||||
| return result; | return result; | ||||
| } | } | ||||
| @@ -375,6 +377,7 @@ public class WxCouponController extends BaseController { | |||||
| wxCouponService.deleteById(id,getTenantInfo().getTenantId()); | wxCouponService.deleteById(id,getTenantInfo().getTenantId()); | ||||
| CouponCacheUtils.removeCouponCache(redisTemplate, id); | CouponCacheUtils.removeCouponCache(redisTemplate, id); | ||||
| CouponCacheUtils.removeCouponMerchantCache(redisTemplate, id); | CouponCacheUtils.removeCouponMerchantCache(redisTemplate, id); | ||||
| CouponCacheUtils.removeOnlyCouponCache(redisTemplate, id); | |||||
| return new ResultData(Result.SUCCESS, "删除成功", null); | return new ResultData(Result.SUCCESS, "删除成功", null); | ||||
| } | } | ||||
| @@ -476,6 +479,7 @@ public class WxCouponController extends BaseController { | |||||
| couponPasswordService.exportData(request, response, wxCouponPassword); | couponPasswordService.exportData(request, response, wxCouponPassword); | ||||
| if (null != wxCouponPassword.getCouponId()) { | if (null != wxCouponPassword.getCouponId()) { | ||||
| CouponCacheUtils.removeCouponCache(redisTemplate, wxCouponPassword.getCouponId()); | CouponCacheUtils.removeCouponCache(redisTemplate, wxCouponPassword.getCouponId()); | ||||
| CouponCacheUtils.removeOnlyCouponCache(redisTemplate, wxCouponPassword.getCouponId()); | |||||
| } | } | ||||
| } | } | ||||
| @@ -76,7 +76,43 @@ public class WxCouponController extends BaseController { | |||||
| @Autowired | @Autowired | ||||
| private SysConfigService sysConfigService; | 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)查询详情接口") | @ApiOperation("根据id(couponChannel)查询详情接口") | ||||
| @GetMapping("/couponDetail") | @GetMapping("/couponDetail") | ||||
| @@ -422,12 +422,7 @@ public class WxCouponOrderController extends BaseController { | |||||
| @ApiOperation(value = "查询转赠卡状态") | @ApiOperation(value = "查询转赠卡状态") | ||||
| @GetMapping("queryCardStatus") | @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) { | public ResultData queryCardStatus(@ModelAttribute WxCouponOrder wxCouponOrder) { | ||||
| logger.info("queryCardStatus:"+JSON.toJSONString(wxCouponOrder)); | |||||
| //coupon_order_id判断 | //coupon_order_id判断 | ||||
| Long id = wxCouponOrder.getId(); | Long id = wxCouponOrder.getId(); | ||||
| if (id == null) { | if (id == null) { | ||||
| @@ -31,6 +31,20 @@ public class CouponCacheUtils { | |||||
| return RedisCacheUtils.getCacheObject(template, key,WxCouponChannel.class); | 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) { | public static void removeCouponCache(RedisTemplate<String, Object> template,Long couponId) { | ||||
| String key = "couponDetail:"+couponId; | String key = "couponDetail:"+couponId; | ||||