|
@@ -18,6 +18,7 @@ import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.data.redis.stream.Subscription;
|
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
import rx.subscriptions.Subscriptions;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
@@ -43,14 +44,14 @@ public class SubscriptionTask {
|
|
|
return;
|
|
|
}
|
|
|
List<UserSubscriptionInfoVO> subscriptionInfoList = userInfoVO.getSubscriptionInfoList();
|
|
|
- UserSubscriptionInfoVO userSubscriptionInfoVO = SubscriptionUtil.getUserSubscriptionInfoByPlatform(subscriptionInfoList, subscriptionsVO.getPlatform());
|
|
|
+ UserSubscriptionInfoVO userSubscriptionInfoVO = SubscriptionUtil.getUserSubscriptionInfoByProductId(subscriptionInfoList, subscriptionsVO.getProductId());
|
|
|
LocalDateTime endDate = MyDateUtils.dateToLocalDateTime(userSubscriptionInfoVO.getEndDate());
|
|
|
LocalDateTime oldEndDate = MyDateUtils.dateToLocalDateTime(subscriptionsVO.getEndDate());
|
|
|
// 修改订阅表订阅状态 过期
|
|
|
log.info("订阅过期 当前时间 :{} 到期时间 :{}", now, oldEndDate);
|
|
|
- log.info("订阅过期 处理成功 :{}", subscriptionsVO.getId());
|
|
|
- subscriptionsService.updateSubscriptionStatus(subscriptionsVO.getUserId(), SubscriptionConstant.expired);
|
|
|
+ subscriptionsService.updateSubscriptionStatus(subscriptionsVO.getId(), SubscriptionConstant.expired);
|
|
|
if (now.isAfter(endDate)) {
|
|
|
+ log.info("订阅过期 修改用户 :{}", subscriptionsVO.getUserId());
|
|
|
// 修改用户状态
|
|
|
// 获取当前用户的订阅状态
|
|
|
Integer userStatus = Integer.MIN_VALUE;
|
|
@@ -66,11 +67,12 @@ public class SubscriptionTask {
|
|
|
// 修改用户状态
|
|
|
UpdateUserForOrderDTO paySuccessDTO = new UpdateUserForOrderDTO();
|
|
|
paySuccessDTO.setUserId(subscriptionsVO.getUserId());
|
|
|
- paySuccessDTO.setPlatform(subscriptionsVO.getPlatform());
|
|
|
+ paySuccessDTO.setPlatform(userSubscriptionInfoVO.getPlatform());
|
|
|
paySuccessDTO.setUserStatus(userStatus);
|
|
|
paySuccessDTO.setPayTpe(PayTypeEnum.NO_AUTO.value());
|
|
|
userApi.updateUserForOrder(paySuccessDTO);
|
|
|
}
|
|
|
+ log.info("订阅过期 处理成功 :{}", subscriptionsVO.getId());
|
|
|
});
|
|
|
}
|
|
|
|