|
@@ -5,6 +5,7 @@ import com.izouma.jiashanxia.domain.Coupon;
|
|
|
import com.izouma.jiashanxia.domain.User;
|
|
import com.izouma.jiashanxia.domain.User;
|
|
|
import com.izouma.jiashanxia.domain.UserCoupon;
|
|
import com.izouma.jiashanxia.domain.UserCoupon;
|
|
|
import com.izouma.jiashanxia.dto.PageQuery;
|
|
import com.izouma.jiashanxia.dto.PageQuery;
|
|
|
|
|
+import com.izouma.jiashanxia.dto.UserCouponDTO;
|
|
|
import com.izouma.jiashanxia.exception.BusinessException;
|
|
import com.izouma.jiashanxia.exception.BusinessException;
|
|
|
import com.izouma.jiashanxia.repo.CouponRepo;
|
|
import com.izouma.jiashanxia.repo.CouponRepo;
|
|
|
import com.izouma.jiashanxia.repo.UserCouponRepo;
|
|
import com.izouma.jiashanxia.repo.UserCouponRepo;
|
|
@@ -13,8 +14,13 @@ import com.izouma.jiashanxia.utils.JpaUtils;
|
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springframework.data.domain.Page;
|
|
import org.springframework.data.domain.Page;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
+import org.springframework.web.bind.annotation.RequestBody;
|
|
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
|
|
|
+import java.util.List;
|
|
|
|
|
+import java.util.Map;
|
|
|
|
|
+import java.util.Set;
|
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
@Service
|
|
@Service
|
|
|
@AllArgsConstructor
|
|
@AllArgsConstructor
|
|
@@ -28,6 +34,21 @@ public class UserCouponService {
|
|
|
return userCouponRepo.findAll(JpaUtils.toSpecification(pageQuery, UserCoupon.class), JpaUtils.toPageRequest(pageQuery));
|
|
return userCouponRepo.findAll(JpaUtils.toSpecification(pageQuery, UserCoupon.class), JpaUtils.toPageRequest(pageQuery));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public Page<UserCouponDTO> backAll(@RequestBody PageQuery pageQuery) {
|
|
|
|
|
+ Map<Long, String> couponName = couponRepo.findAll()
|
|
|
|
|
+ .stream()
|
|
|
|
|
+ .collect(Collectors.toMap(Coupon::getId, Coupon::getName));
|
|
|
|
|
+ Page<UserCoupon> all = this.all(pageQuery);
|
|
|
|
|
+ List<UserCoupon> list = all.getContent();
|
|
|
|
|
+ Set<Long> ids = list.stream().map(UserCoupon::getUserId).collect(Collectors.toSet());
|
|
|
|
|
+ ids.addAll(list.stream().map(UserCoupon::getWriteOffUserId).collect(Collectors.toSet()));
|
|
|
|
|
+ Map<Long, String> userMap = userRepo.findAllById(ids)
|
|
|
|
|
+ .stream()
|
|
|
|
|
+ .collect(Collectors.toMap(User::getId, User::getNickname));
|
|
|
|
|
+ return all.map(userCoupon -> new UserCouponDTO(userCoupon, userMap.get(userCoupon.getUserId()), userMap.get(userCoupon
|
|
|
|
|
+ .getWriteOffUserId()), couponName.get(userCoupon.getCouponId())));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/*
|
|
/*
|
|
|
获得优惠券
|
|
获得优惠券
|
|
|
*/
|
|
*/
|
|
@@ -53,7 +74,7 @@ public class UserCouponService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
LocalDateTime now = LocalDateTime.now();
|
|
LocalDateTime now = LocalDateTime.now();
|
|
|
- if (now.isBefore(userCoupon.getPeriod())) {
|
|
|
|
|
|
|
+ if (now.isAfter(userCoupon.getPeriod())) {
|
|
|
throw new BusinessException("已过期");
|
|
throw new BusinessException("已过期");
|
|
|
}
|
|
}
|
|
|
|
|
|