cquav/djhk-common/src/main/java/com/djhk/common/enums/AccountBlackLevleEnum.java
2025-09-12 10:35:43 +08:00

69 lines
1.8 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.djhk.common.enums;
import lombok.Getter;
/**
* ip请求限制相关枚举
*/
public enum AccountBlackLevleEnum {
LEVEL_ONE(1,0,2,600L,300L,"账号锁定5分钟并且10分钟内如果再次锁定将升级为level2"),
LEVEL_TWO(2,1,3,3000L,1500L,"账号锁定15分钟并且30分钟内如果再次锁定将升级为level3"),
LEVEL_THREE(3,2,null,48 * 60 * 60L,24 * 60 * 60L,"账号锁定1天并且2天内如果再次锁定将继续锁定1天"),
;
@Getter
private Integer level;
@Getter
private Integer preLevel;
@Getter
private Integer nextLevel;
@Getter
private Long levelKeyTimeOut;
@Getter
private Long blackKeyTimeOut;
@Getter
private String desc;
private AccountBlackLevleEnum(Integer level, Integer preLevel, Integer nextLevel, Long levelKeyTimeOut, Long blackKeyTimeOut, String desc) {
this.level = level;
this.preLevel = preLevel;
this.nextLevel = nextLevel;
this.levelKeyTimeOut = levelKeyTimeOut;
this.blackKeyTimeOut = blackKeyTimeOut;
this.desc = desc;
}
public static AccountBlackLevleEnum getByLevel(Integer level) {
if (level == null) {
return null;
}
for (AccountBlackLevleEnum levleEnum : AccountBlackLevleEnum.values()) {
if (level.equals(levleEnum.getLevel())) {
return levleEnum;
}
}
return null;
}
public static AccountBlackLevleEnum getByPreLevel(Integer preLevel) {
if (preLevel == null) {
return LEVEL_ONE;
}
for (AccountBlackLevleEnum levleEnum : AccountBlackLevleEnum.values()) {
if (preLevel.equals(levleEnum.getPreLevel())) {
return levleEnum;
}
}
return LEVEL_THREE;
}
}