|
|
@@ -1,5 +1,23 @@
|
|
|
package com.dataeasy.server.service.manager.impl;
|
|
|
|
|
|
+import java.time.LocalDate;
|
|
|
+import java.time.temporal.ChronoUnit;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Objects;
|
|
|
+import java.util.Set;
|
|
|
+import java.util.function.Function;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.cache.CacheManager;
|
|
|
+import org.springframework.cache.annotation.Cacheable;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
+import org.springframework.util.StringUtils;
|
|
|
+
|
|
|
import com.dataeasy.server.atomic.entity.SubscriptionPlan;
|
|
|
import com.dataeasy.server.atomic.entity.SubscriptionSource;
|
|
|
import com.dataeasy.server.atomic.entity.SubscriptionUserConfig;
|
|
|
@@ -10,33 +28,17 @@ import com.dataeasy.server.common.exception.BusinessException;
|
|
|
import com.dataeasy.server.common.utils.Assert;
|
|
|
import com.dataeasy.server.constant.CacheNameConstant;
|
|
|
import com.dataeasy.server.pojo.subscription.PushOptionRequest;
|
|
|
-import com.dataeasy.server.pojo.subscription.SubscriptionSourcePlanVO;
|
|
|
-import com.dataeasy.server.pojo.subscription.SubscriptionSourceVO;
|
|
|
import com.dataeasy.server.pojo.subscription.SubscriptionPlanQuery;
|
|
|
-import com.dataeasy.server.pojo.subscription.SubscriptionSourceQuery;
|
|
|
import com.dataeasy.server.pojo.subscription.SubscriptionSourceDetailVO;
|
|
|
+import com.dataeasy.server.pojo.subscription.SubscriptionSourcePlanVO;
|
|
|
+import com.dataeasy.server.pojo.subscription.SubscriptionSourceQuery;
|
|
|
+import com.dataeasy.server.pojo.subscription.SubscriptionSourceVO;
|
|
|
import com.dataeasy.server.pojo.subscription.SubscriptionUserConfigQuery;
|
|
|
import com.dataeasy.server.pojo.subscription.SubscriptionUserConfigVO;
|
|
|
import com.dataeasy.server.service.manager.ISubscriptionManager;
|
|
|
import com.dataeasy.server.utiis.UserUtils;
|
|
|
-import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.springframework.beans.BeanUtils;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.cache.CacheManager;
|
|
|
-import org.springframework.cache.annotation.Cacheable;
|
|
|
-import org.springframework.stereotype.Component;
|
|
|
-import org.springframework.util.CollectionUtils;
|
|
|
-import org.springframework.util.StringUtils;
|
|
|
|
|
|
-import java.time.LocalDateTime;
|
|
|
-import java.time.temporal.ChronoUnit;
|
|
|
-import java.util.Arrays;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Objects;
|
|
|
-import java.util.Set;
|
|
|
-import java.util.function.Function;
|
|
|
-import java.util.stream.Collectors;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
|
/**
|
|
|
* @author tyuio
|
|
|
@@ -116,9 +118,12 @@ public class SubscriptionManagerImpl implements ISubscriptionManager {
|
|
|
@Override
|
|
|
@Cacheable(cacheNames = CacheNameConstant.SUBSCRIPTION_USER_CONFIG_LIST, key = "#userId")
|
|
|
public List<SubscriptionUserConfigVO> querySubscriptionUserConfig(Long userId) {
|
|
|
+ // 当前日期
|
|
|
+ LocalDate currentDate = LocalDate.now();
|
|
|
// 查询当前用户拥有的订阅源
|
|
|
SubscriptionUserConfigQuery subscriptionUserConfigQuery = new SubscriptionUserConfigQuery();
|
|
|
subscriptionUserConfigQuery.setUserId(userId);
|
|
|
+ subscriptionUserConfigQuery.setCurrentDate(currentDate);
|
|
|
List<SubscriptionUserConfig> userConfigList = subscriptionUserConfigService.getByCondition(subscriptionUserConfigQuery);
|
|
|
if (CollectionUtils.isEmpty(userConfigList)) {
|
|
|
return List.of();
|
|
|
@@ -145,7 +150,7 @@ public class SubscriptionManagerImpl implements ISubscriptionManager {
|
|
|
}
|
|
|
|
|
|
// 因为ChronoUnit.DAYS.between不包含结束的那天,所以需要+1
|
|
|
- long remainingDays = ChronoUnit.DAYS.between(userConfig.getStartDate(), userConfig.getEndDate().plusDays(1));
|
|
|
+ long remainingDays = ChronoUnit.DAYS.between(currentDate, userConfig.getEndDate().plusDays(1));
|
|
|
subscriptionUserConfigVO.setRemainingDays(remainingDays);
|
|
|
|
|
|
return subscriptionUserConfigVO;
|