| | |
| | | public R<XpActivity> firstEnter(HttpServletRequest request) { |
| | | String uid = request.getHeader("XP-Uid"); |
| | | ValueOperations<String, String> ops = redisTemplate.opsForValue(); |
| | | XpActivity activity = service.activiting(Long.valueOf(uid)); |
| | | if (activity != null) { |
| | | List<XpActivity> activityList = service.activiting(Long.valueOf(uid)); |
| | | for (XpActivity activity : activityList) { |
| | | Duration duration = Duration.between(LocalDateTime.now(), activity.getEndTime()); |
| | | Boolean isFirst = ops.setIfAbsent(CacheConstants.firstEnterActivity(String.valueOf(activity.getId()), uid), "1", duration); |
| | | if(isFirst){ |
| | | List<XpAppUserCoupon> couponList = appUserCouponClient.getXpAppUserCoupon(activity.getId()).getData(); |
| | | Set<Long> longSet = couponList.stream().map(XpAppUserCoupon::getCouponId).collect(Collectors.toSet()); |
| | | if (longSet.isEmpty()) { |
| | |
| | | vo.setQuantity(count); |
| | | couponVos.add(vo); |
| | | } |
| | | Duration duration = Duration.between(LocalDateTime.now(), activity.getEndTime()); |
| | | Boolean isFirst = ops.setIfAbsent(CacheConstants.firstEnterActivity(String.valueOf(activity.getId()), uid), "1", duration); |
| | | |
| | | activity.setIsFirst(isFirst); |
| | | activity.setCoupons(couponVos); |
| | | } |
| | | return R.ok(activity); |
| | | } |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | |
| | | /** |