use of com.whoiszxl.cqrs.vo.CouponApiVO in project shopzz by whoiszxl.
the class ActivityServiceImpl method detail.
@Override
public ActivityApiResponse detail(Long id) {
String redisKey = RedisKeyPrefixConstants.ACTIVITY_DETAIL + id;
String activityJson = redisUtils.get(redisKey);
if (StringUtils.isBlank(activityJson)) {
synchronized (this) {
activityJson = redisUtils.get(redisKey);
if (StringUtils.isBlank(activityJson)) {
// 从数据库拿数据
ActivityApiResponse response = new ActivityApiResponse();
Activity activity = super.getById(id);
dozerUtils.map(activity, response);
List<ActivityCoupon> activityCouponList = activityCouponService.list(Wrappers.<ActivityCoupon>lambdaQuery().eq(ActivityCoupon::getActivityId, id));
List<Long> couponIdList = activityCouponList.stream().map(ActivityCoupon::getCouponId).collect(Collectors.toList());
List<Coupon> couponList = couponService.listByIds(couponIdList);
List<CouponApiVO> couponApiVOList = dozerUtils.mapList(couponList, CouponApiVO.class);
response.setCouponList(couponApiVOList);
activityJson = JsonUtil.toJson(response);
redisUtils.set(redisKey, activityJson);
}
}
}
return JsonUtil.fromJson(activityJson, ActivityApiResponse.class);
}
use of com.whoiszxl.cqrs.vo.CouponApiVO in project shopzz by whoiszxl.
the class CouponServiceImpl method getCouponAllUnlimited.
@Override
public List<CouponApiVO> getCouponAllUnlimited() {
String redisKey = RedisKeyPrefixConstants.ACTIVITY_NOTLIMIT_COUPONLIST;
String allUnlimitedCouponListJson = redisUtils.get(redisKey);
if (StringUtils.isBlank(allUnlimitedCouponListJson)) {
synchronized (this) {
allUnlimitedCouponListJson = redisUtils.get(redisKey);
if (StringUtils.isBlank(allUnlimitedCouponListJson)) {
List<Coupon> couponList = super.list(Wrappers.<Coupon>lambdaQuery().eq(Coupon::getFullLimited, CouponFullLimitedEnum.NOT_LIMIT.getCode()).eq(Coupon::getStatus, CouponStatusEnum.AVAIL.getCode()));
if (couponList.isEmpty()) {
return Collections.emptyList();
}
List<CouponApiVO> couponApiVOList = dozerUtils.mapList(couponList, CouponApiVO.class);
allUnlimitedCouponListJson = JsonUtil.toJson(couponApiVOList);
redisUtils.set(redisKey, allUnlimitedCouponListJson);
}
}
}
Type collectionType = new TypeToken<List<CouponApiVO>>() {
}.getType();
return JsonUtil.fromJsonToList(allUnlimitedCouponListJson, collectionType);
}
Aggregations