This commit is contained in:
张良(004796)
2024-04-07 16:45:27 +08:00
parent 43109fd084
commit 8ffe1873df
4 changed files with 47 additions and 32 deletions

View File

@@ -158,52 +158,48 @@ public class UserForbidManager {
Long forbidId = 0L;
if(StringUtils.isNotEmpty(usercode)){
forbidId = forbidCache.checkForbid(usercode, ForbidTypeEnum.USER);
if(forbidId == null){
if(forbidId != null){
String traceId = IdManager.nextIdStr();
noForbid = CheckForbid.forbid(traceId);
noForbid.setMessage("您的账号已被封禁");
this.saveForbidFilter(ForbidTypeEnum.USER,usercode,userId,forbidId,traceId,noForbid.getMessage());
return noForbid;
}
member = usercode;
typeEnum = ForbidTypeEnum.USER;
String traceId = IdManager.nextIdStr();
noForbid = CheckForbid.forbid(traceId);
noForbid.setMessage("您的账号已被封禁");
}
if(StringUtils.isNotBlank(IMEI)){
forbidId = forbidCache.checkForbid(IMEI, ForbidTypeEnum.IMEI);
if(forbidId == null){
if(forbidId != null){
String traceId = IdManager.nextIdStr();
noForbid = CheckForbid.forbid(traceId);
noForbid.setMessage("您的设备已被封禁");
this.saveForbidFilter(ForbidTypeEnum.IMEI,IMEI,userId,forbidId,traceId,noForbid.getMessage());
return noForbid;
}
member = IMEI;
typeEnum = ForbidTypeEnum.IMEI;
String traceId = IdManager.nextIdStr();
noForbid = CheckForbid.forbid(traceId);
noForbid.setMessage("您的设备已被封禁");
}
if(StringUtils.isNotBlank(ip)){
forbidId = forbidCache.checkForbid(ip, ForbidTypeEnum.IP);
if(forbidId == null){
if(forbidId != null){
String traceId = IdManager.nextIdStr();
noForbid = CheckForbid.forbid(traceId);
noForbid.setMessage("您的IP已被封禁");
this.saveForbidFilter(ForbidTypeEnum.IP,ip,userId,forbidId,traceId,noForbid.getMessage());
return noForbid;
}
member = ip;
typeEnum = ForbidTypeEnum.IP;
String traceId = IdManager.nextIdStr();
noForbid = CheckForbid.forbid(traceId);
noForbid.setMessage("您的IP已被封禁");
}
if(noForbid.isForbid()){
// 保存拦截记录
ForbidFilter filter = new ForbidFilter();
filter.setType(typeEnum.getCode());
filter.setMember(member);
filter.setUserId(userId);
filter.setTraceNo(noForbid.getTraceId());
filter.setForbidId(forbidId);
filter.setFilterReason(noForbid.getMessage());
forbidFilterService.addForbidFilter(filter);
}
return noForbid;
}
private void saveForbidFilter(ForbidTypeEnum typeEnum,String member,Long userId,Long forbidId,String traceId,String message){
ForbidFilter filter = new ForbidFilter();
filter.setType(typeEnum.getCode());
filter.setMember(member);
filter.setUserId(userId);
filter.setTraceNo(traceId);
filter.setForbidId(forbidId);
filter.setFilterReason(message);
forbidFilterService.addForbidFilter(filter);
}
@Transactional(rollbackFor = Exception.class)
public void unForbidByTypeAndMember(Integer type,String member,String remark) {
UserForbid userForbid = userForbidService.getOne(Wrappers.lambdaQuery(UserForbid.class)