|
@@ -269,30 +269,18 @@ public class AuthServiceImpl implements AuthService {
|
|
|
return activeSubscription.orElse(null); // 返回结果,如果没有找到则返回null
|
|
|
}
|
|
|
|
|
|
- public UserSubscriptionInfoVO judgeActiveSubscription(List<UserSubscriptionInfoVO> subscriptionInfoList) {
|
|
|
+ @Override
|
|
|
+ public Boolean judgeActiveSubscription(List<UserSubscriptionInfoVO> subscriptionInfoList) {
|
|
|
// 过滤掉isAi为true的记录
|
|
|
List<UserSubscriptionInfoVO> filteredList = subscriptionInfoList.stream()
|
|
|
- .filter(info -> ObjectUtils.isEmpty(info.getIsAi())||ValidStatusEnum.INVALID.value().equals(info.getIsAi())) // 排除AI记录
|
|
|
+ .filter(info -> info.getStatus() == 1 // 筛选出 status = 1 的记录
|
|
|
+ && info.getPaymentModel().equals("1")) // 筛选出 paymentModel = 1 的记录
|
|
|
.collect(Collectors.toList());
|
|
|
-
|
|
|
- // 找到一条生效的记录,按优先级排序
|
|
|
- Optional<UserSubscriptionInfoVO> activeSubscription = filteredList.stream()
|
|
|
- .sorted(Comparator.comparingInt(this::getLevelPriority)
|
|
|
- .reversed() // 按优先级降序排列
|
|
|
- .thenComparing(Comparator.comparingInt(UserSubscriptionInfoVO::getMaxDeviceNum).reversed()) // 如果优先级相同按max_device_num降序
|
|
|
- )
|
|
|
- .findFirst(); // 找到优先级最高的记录
|
|
|
- if(activeSubscription.get().getStatus() == 2&&filteredList.size()>2){
|
|
|
- Optional<UserSubscriptionInfoVO> activeSubscription1 = filteredList.stream()
|
|
|
- .filter(user -> user.getStatus() == 1) // 过滤出 status = 1 的记录
|
|
|
- .sorted(Comparator.comparingInt(this::getLevelPriority)
|
|
|
- .reversed() // 按优先级降序排列
|
|
|
- .thenComparing(Comparator.comparingInt(UserSubscriptionInfoVO::getMaxDeviceNum).reversed()) // 如果优先级相同按 max_device_num 降序
|
|
|
- )
|
|
|
- .findFirst();
|
|
|
- return activeSubscription1.orElse(null);
|
|
|
+ if (CollectionUtils.isEmpty(filteredList)){
|
|
|
+ return false;
|
|
|
+ }else {
|
|
|
+ return true;
|
|
|
}
|
|
|
- return activeSubscription.orElse(null); // 返回结果,如果没有找到则返回null
|
|
|
}
|
|
|
|
|
|
@Override
|