From ab80c0f57132b1f98eee286a6576592ddbabf107 Mon Sep 17 00:00:00 2001 From: Ziin Date: Tue, 22 Jul 2025 15:08:20 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=B7=BB=E5=8A=A0=E5=85=B3=E9=97=AD=E8=BF=87?= =?UTF-8?q?=E6=9C=9F=E7=A7=9F=E6=88=B7=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/job/DisableExpiredTenant.java | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/job/DisableExpiredTenant.java diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/job/DisableExpiredTenant.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/job/DisableExpiredTenant.java new file mode 100644 index 0000000..5ff094b --- /dev/null +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/job/DisableExpiredTenant.java @@ -0,0 +1,44 @@ +package cn.iocoder.yudao.module.system.job; + +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.quartz.core.handler.JobHandler; +import cn.iocoder.yudao.module.system.dal.dataobject.tenant.TenantDO; +import cn.iocoder.yudao.module.system.dal.mysql.tenant.TenantMapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; + +/* + * @author: ziin + * @date: 2025/7/22 14:45 + */ +@Component +public class DisableExpiredTenant implements JobHandler { + + @Resource + private TenantMapper tenantMapper; + + @Override + public String execute(String param) throws Exception { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.lt(TenantDO::getExpireTime, LocalDateTime.now()) + .eq(TenantDO::getStatus, CommonStatusEnum.ENABLE.getStatus()); + List tenantDOS = tenantMapper.selectList(queryWrapper); + ArrayList tenantNames = new ArrayList<>(); + if (tenantDOS.isEmpty()) { + return "没有到期租户"; + } + for (TenantDO tenantDO : tenantDOS) { + tenantDO.setStatus(CommonStatusEnum.DISABLE.getStatus()); + tenantMapper.updateById(tenantDO); + tenantNames.add(tenantDO.getName()); + } + return String.format("到期租户:{%s}", tenantNames); + } +}