修改课程、会员延迟队列

This commit is contained in:
wuchunlei
2024-06-27 13:41:41 +08:00
parent e4907707b6
commit fe12920eb2
6 changed files with 132 additions and 72 deletions

View File

@@ -32,10 +32,10 @@ public class UserVipTask implements ITask{
private RabbitTemplate rabbitTemplate;
@Override
public void run(String params) {
public void run(String userId) {
LambdaQueryWrapper<UserVip> wrapper = new LambdaQueryWrapper();
wrapper.eq(UserVip::getState,0);
wrapper.eq(UserVip::getUserId,params);
wrapper.eq(UserVip::getUserId,userId);
List<UserVip> list = vipService.list(wrapper);
if (list.size() > 0) {
for (UserVip userVip : list) {
@@ -45,35 +45,34 @@ public class UserVipTask implements ITask{
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.addMinutes(new Date(),3),userVip.getEndTime())) {
// }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("----------------------------------------");
System.out.println("会员还剩7天加入队列");
System.out.println("-------------------------会员还剩2天加入队列");
}
}
}
@@ -81,8 +80,7 @@ public class UserVipTask implements ITask{
private MessagePostProcessor messagePostProcessor(long date) {
return message -> {
//设置有效期7天
message.getMessageProperties().setExpiration(String.valueOf(date));
message.getMessageProperties().setDelay((int)date);
return message;
};
}