cquav/djhk-common/src/main/java/com/djhk/common/enums/AccountBlackLevleEnum.java

69 lines
1.8 KiB
Java
Raw Normal View History

2025-09-12 10:35:43 +08:00
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;
}
}