package com.ycl.jxkg.enums.general; import com.baomidou.mybatisplus.annotation.EnumValue; import com.fasterxml.jackson.annotation.JsonValue; import lombok.Getter; import java.util.Date; import java.util.Objects; /** * 考试状态 * * @author:xp * @date:2024/6/4 9:35 */ @Getter public enum ExamStatusEnum { NOT_START("not_start", "未开始"), ING("ing", "进行中"), FINISHED("finished", "已结束"), CANCEL("cancel", "已作废"), ; @EnumValue private final String value; @JsonValue private final String desc; ExamStatusEnum(String value, String desc) { this.value = value; this.desc = desc; } /** * 判断当前时间对应的考试状态 * * @param start * @param end * @param now * @return */ public static ExamStatusEnum getStatusByTime(Date start, Date end, Date now) { if (Objects.isNull(now)) { now = new Date(); } if (now.after(end)) { return FINISHED; } else if (now.before(start)) { return NOT_START; } else { return ING; } } }