vip到期时间按天计算
This commit is contained in:
@@ -1,19 +1,11 @@
|
|||||||
package com.peanut.modules.job.task;
|
package com.peanut.modules.job.task;
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.peanut.common.utils.MailUtil;
|
import com.peanut.common.utils.DateUtils;
|
||||||
import com.peanut.config.DelayQueueConfig;
|
|
||||||
import com.peanut.modules.common.entity.MyUserEntity;
|
|
||||||
import com.peanut.modules.common.entity.UserVip;
|
import com.peanut.modules.common.entity.UserVip;
|
||||||
import com.peanut.modules.common.service.MyUserService;
|
|
||||||
import com.peanut.modules.master.service.UserVipService;
|
import com.peanut.modules.master.service.UserVipService;
|
||||||
import org.apache.commons.lang.StringUtils;
|
|
||||||
import org.apache.commons.lang.time.DateUtils;
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.amqp.core.MessagePostProcessor;
|
|
||||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
@@ -26,10 +18,6 @@ public class UserVipTask implements ITask{
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private UserVipService vipService;
|
private UserVipService vipService;
|
||||||
@Autowired
|
|
||||||
private MyUserService userService;
|
|
||||||
@Autowired
|
|
||||||
private RabbitTemplate rabbitTemplate;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run(String params) {
|
public void run(String params) {
|
||||||
@@ -38,49 +26,11 @@ public class UserVipTask implements ITask{
|
|||||||
List<UserVip> list = vipService.list(wrapper);
|
List<UserVip> list = vipService.list(wrapper);
|
||||||
if (list.size() > 0) {
|
if (list.size() > 0) {
|
||||||
for (UserVip userVip : list) {
|
for (UserVip userVip : list) {
|
||||||
MyUserEntity user = userService.getById(userVip.getUserId());
|
if (DateUtils.stringToDate(DateUtils.format(userVip.getEndTime(),"yyyy-MM-dd")+" 23:59:59","yyyy-MM-dd HH:mm:ss").getTime()<new Date().getTime()){
|
||||||
if (userVip.getEndTime().getTime()<new Date().getTime()){
|
|
||||||
userVip.setState(1);
|
userVip.setState(1);
|
||||||
vipService.saveOrUpdate(userVip);
|
vipService.saveOrUpdate(userVip);
|
||||||
user.setVip("0");
|
|
||||||
userService.saveOrUpdate(user);
|
|
||||||
// }else if (DateUtils.isSameDay(DateUtils.addDays(new Date(),60),userVip.getEndTime())) {
|
|
||||||
// try {
|
|
||||||
// if (StringUtils.isNotEmpty(user.getTel())){
|
|
||||||
// userService.sendCodeForRegister(user.getTel(),"VIPWillExpire",86);
|
|
||||||
// }else if (StringUtils.isNotEmpty(user.getEmail())) {
|
|
||||||
// MailUtil.sendMail("太湖超V提醒","超V还有2月到期",user.getEmail());
|
|
||||||
// }
|
|
||||||
// }catch (Exception e) {
|
|
||||||
// logger.error("userVipTask定时任务超V提醒出错,错误为:{}", e.getMessage());
|
|
||||||
// }
|
|
||||||
// }else if (DateUtils.isSameDay(DateUtils.addDays(new Date(),30),userVip.getEndTime())) {
|
|
||||||
// try {
|
|
||||||
// if (StringUtils.isNotEmpty(user.getTel())){
|
|
||||||
// userService.sendCodeForRegister(user.getTel(),"VIPWillExpire",86);
|
|
||||||
// }else if (StringUtils.isNotEmpty(user.getEmail())) {
|
|
||||||
// MailUtil.sendMail("太湖超V提醒","超V还有一月到期",user.getEmail());
|
|
||||||
// }
|
|
||||||
// }catch (Exception e) {
|
|
||||||
// logger.error("userVipTask定时任务超V提醒出错,错误为:{}", e.getMessage());
|
|
||||||
// }
|
|
||||||
}else if (DateUtils.isSameDay(DateUtils.addDays(new Date(),2),userVip.getEndTime())) {
|
|
||||||
rabbitTemplate.convertAndSend(
|
|
||||||
DelayQueueConfig.USERVIP_EXCHANGE,
|
|
||||||
DelayQueueConfig.USERVIP_ROUTING_KEY,
|
|
||||||
userVip.getId(),
|
|
||||||
messagePostProcessor(userVip.getEndTime().getTime()-new Date().getTime())
|
|
||||||
);
|
|
||||||
System.out.println(new Date()+"-"+userVip.getUserId()+"-会员还剩2天,加入队列");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private MessagePostProcessor messagePostProcessor(long date) {
|
|
||||||
return message -> {
|
|
||||||
message.getMessageProperties().setDelay((int)date);
|
|
||||||
return message;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,17 +23,17 @@ public class UserVipConsumer {
|
|||||||
|
|
||||||
@RabbitListener(queues = DelayQueueConfig.USERVIP_QUEUE)
|
@RabbitListener(queues = DelayQueueConfig.USERVIP_QUEUE)
|
||||||
public void userVipConsumer(String userVipId) {
|
public void userVipConsumer(String userVipId) {
|
||||||
UserVip userVip = userVipDao.selectById(userVipId);
|
// UserVip userVip = userVipDao.selectById(userVipId);
|
||||||
if(userVip != null){
|
// if(userVip != null){
|
||||||
if(DateUtils.addSeconds(new Date(),3).getTime()>userVip.getEndTime().getTime()){
|
// if(DateUtils.addSeconds(new Date(),3).getTime()>userVip.getEndTime().getTime()){
|
||||||
userVip.setState(1);
|
// userVip.setState(1);
|
||||||
userVipDao.updateById(userVip);
|
// userVipDao.updateById(userVip);
|
||||||
MyUserEntity user = userDao.selectById(userVip.getUserId());
|
// MyUserEntity user = userDao.selectById(userVip.getUserId());
|
||||||
user.setVip("0");
|
// user.setVip("0");
|
||||||
userDao.updateById(user);
|
// userDao.updateById(user);
|
||||||
// System.out.println(user.getName()+"-"+user.getTel()+"-"+user.getEmail()+"超v过期,vip更新完成");
|
//// System.out.println(user.getName()+"-"+user.getTel()+"-"+user.getEmail()+"超v过期,vip更新完成");
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user