fix: 班级管理状态调整
parent
beeb4320a0
commit
4d2f222dad
|
|
@ -36,6 +36,10 @@
|
||||||
<groupId>io.swagger</groupId>
|
<groupId>io.swagger</groupId>
|
||||||
<artifactId>swagger-annotations</artifactId>
|
<artifactId>swagger-annotations</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.jjb.saas</groupId>
|
||||||
|
<artifactId>jjb-saas-framework-job</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!-- EasyExcel -->
|
<!-- EasyExcel -->
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,79 @@
|
||||||
|
package org.qinan.cedu.service.support.job;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
|
import com.jjb.saas.framework.job.Job;
|
||||||
|
import com.jjb.saas.framework.job.annotation.JobRegister;
|
||||||
|
import com.xxl.job.core.biz.model.ReturnT;
|
||||||
|
import com.xxl.job.core.context.XxlJobHelper;
|
||||||
|
import com.xxl.job.core.handler.annotation.XxlJob;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.qinan.cedu.enums.ClassStatusEnum;
|
||||||
|
import org.qinan.cedu.enums.DeleteEnum;
|
||||||
|
import org.qinan.cedu.mapper.ClassManagementMapper;
|
||||||
|
import org.qinan.cedu.model.entity.ClassManagementDO;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 过程控制签字完成,超过3天未归档
|
||||||
|
*
|
||||||
|
* @author ltq
|
||||||
|
* @since 2026/08/13
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
@Slf4j
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class ClassManagementStateJob implements Job {
|
||||||
|
|
||||||
|
private final ClassManagementMapper classManagementMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班级管理状态检查
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
@XxlJob("classManagementStateTask")
|
||||||
|
@JobRegister(cron = "0 7 0 * * ?",
|
||||||
|
jobDesc = "班级管理状态检查",
|
||||||
|
author = "ltq",
|
||||||
|
triggerStatus = 1)
|
||||||
|
public ReturnT<String> execute(String param) {
|
||||||
|
param = XxlJobHelper.getJobParam();
|
||||||
|
log.info("班级管理状态检查开始, param: {}", param);
|
||||||
|
List<ClassManagementDO> classManagementDOS = classManagementMapper.selectList(new LambdaQueryWrapper<ClassManagementDO>()
|
||||||
|
.ne(ClassManagementDO::getStatus, 1));
|
||||||
|
LocalDate now = LocalDate.now();
|
||||||
|
for (ClassManagementDO classManagementDO : classManagementDOS) {
|
||||||
|
log.info("班级管理状态检查 {}", classManagementDO.getClassName());
|
||||||
|
LocalDate start = classManagementDO.getStartDate().toLocalDate();
|
||||||
|
LocalDate end = classManagementDO.getDelayTime().toLocalDate();
|
||||||
|
if (Objects.isNull(end)) {
|
||||||
|
end = classManagementDO.getEndDate().toLocalDate();
|
||||||
|
}
|
||||||
|
ClassStatusEnum pendingStart;
|
||||||
|
if (now.isBefore(start)) {
|
||||||
|
pendingStart = ClassStatusEnum.PENDING_START;
|
||||||
|
} else if (now.isAfter(start) && now.isBefore(end)) {
|
||||||
|
pendingStart = ClassStatusEnum.IN_PROGRESS;
|
||||||
|
} else if (now.isAfter(end)) {
|
||||||
|
pendingStart = ClassStatusEnum.FINISHED;
|
||||||
|
} else {
|
||||||
|
pendingStart = ClassStatusEnum.NOT_APPLIED;
|
||||||
|
}
|
||||||
|
log.info("班级管理状态检查结束 {}, 状态: {}", classManagementDO.getClassName(), pendingStart.getDesc());
|
||||||
|
classManagementMapper.update(new LambdaUpdateWrapper<ClassManagementDO>()
|
||||||
|
.set(ClassManagementDO::getStatus, pendingStart.getCode())
|
||||||
|
.set(ClassManagementDO::getUpdateTime, LocalDateTime.now())
|
||||||
|
.eq(ClassManagementDO::getId, classManagementDO.getId())
|
||||||
|
.eq(ClassManagementDO::getDeleteEnum, DeleteEnum.FALSE.getCode()));
|
||||||
|
|
||||||
|
}
|
||||||
|
log.info("班级管理状态检查完成");
|
||||||
|
return ReturnT.SUCCESS;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue