69 lines
1.8 KiB
Java
69 lines
1.8 KiB
Java
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;
|
||
}
|
||
}
|