调整VIP检查
This commit is contained in:
parent
ff023a2909
commit
1766bef7ca
@ -117,10 +117,4 @@ public interface PersonService {
|
|||||||
* @param userid 用户编号
|
* @param userid 用户编号
|
||||||
*/
|
*/
|
||||||
void cancelVip(Integer userid);
|
void cancelVip(Integer userid);
|
||||||
|
|
||||||
/**
|
|
||||||
* 批量处理过期VIP用户
|
|
||||||
* 查询所有VIP到期时间已过的用户,并将其isvip字段设置为0
|
|
||||||
*/
|
|
||||||
void processExpiredVipUsers();
|
|
||||||
}
|
}
|
||||||
@ -191,36 +191,4 @@ public class PersonServiceImpl implements PersonService {
|
|||||||
.set(PersonDO::getVipstarttime, null) // 清空会员开始时间
|
.set(PersonDO::getVipstarttime, null) // 清空会员开始时间
|
||||||
.set(PersonDO::getVipendtime, null)); // 清空会员结束时间
|
.set(PersonDO::getVipendtime, null)); // 清空会员结束时间
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void processExpiredVipUsers() {
|
|
||||||
// 获取当前时间
|
|
||||||
String currentTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
|
||||||
log.info("开始检查VIP过期用户,当前时间: {}", currentTime);
|
|
||||||
|
|
||||||
// 查询所有过期的VIP用户
|
|
||||||
List<PersonDO> expiredVipUsers = personMapper.selectList(new LambdaQueryWrapper<PersonDO>()
|
|
||||||
.eq(PersonDO::getIsvip, 1) // 当前是VIP用户
|
|
||||||
.isNotNull(PersonDO::getVipendtime) // VIP结束时间不为空
|
|
||||||
.lt(PersonDO::getVipendtime, currentTime)); // VIP结束时间小于当前时间
|
|
||||||
|
|
||||||
if (expiredVipUsers.isEmpty()) {
|
|
||||||
log.info("没有发现过期的VIP用户");
|
|
||||||
return; // 没有过期用户,直接返回
|
|
||||||
}
|
|
||||||
|
|
||||||
log.info("发现 {} 个过期的VIP用户,开始批量处理", expiredVipUsers.size());
|
|
||||||
|
|
||||||
// 提取所有过期用户的ID
|
|
||||||
List<Integer> expiredUserIds = expiredVipUsers.stream()
|
|
||||||
.map(PersonDO::getId)
|
|
||||||
.collect(java.util.stream.Collectors.toList());
|
|
||||||
|
|
||||||
// 批量更新过期VIP用户
|
|
||||||
personMapper.update(null, new LambdaUpdateWrapper<PersonDO>()
|
|
||||||
.in(PersonDO::getId, expiredUserIds)
|
|
||||||
.set(PersonDO::getIsvip, 0));// 设置为非会员状态
|
|
||||||
|
|
||||||
log.info("成功处理 {} 个过期VIP用户", expiredUserIds.size());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user