123
This commit is contained in:
@@ -231,11 +231,10 @@ public class UserForbidManager {
|
|||||||
if(userForbid == null || ForbidStatusEnum.NORMAL.getCode().equals(userForbid.getForbidStatus())){
|
if(userForbid == null || ForbidStatusEnum.NORMAL.getCode().equals(userForbid.getForbidStatus())){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(!userForbid.getEndTime().isAfter(LocalDateTime.now())){
|
if(userForbid.getEndTime().isAfter(LocalDateTime.now())){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.unForbidByForbidId(id);
|
this.unForbidByForbidId(id);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
|
|||||||
@@ -57,24 +57,26 @@ public class UserForbidServiceImpl extends ServiceImpl<UserForbidMapper, UserFor
|
|||||||
log.error("封禁入参错误 data={}", JSON.toJSONString(userForbidLog));
|
log.error("封禁入参错误 data={}", JSON.toJSONString(userForbidLog));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// 暂不考虑并发
|
||||||
UserForbid one = this.getOne(Wrappers.lambdaQuery(UserForbid.class)
|
UserForbid one = this.getOne(Wrappers.lambdaQuery(UserForbid.class)
|
||||||
.eq(UserForbid::getMember, userForbidLog.getMember())
|
.eq(UserForbid::getMember, userForbidLog.getMember())
|
||||||
.eq(UserForbid::getType, forbidType.getCode()));
|
.eq(UserForbid::getType, forbidType.getCode())
|
||||||
|
.last("limit 1"));
|
||||||
if(one == null){
|
if(one == null){
|
||||||
one = new UserForbid();
|
one = new UserForbid();
|
||||||
one.setType(userForbidLog.getType());
|
one.setType(userForbidLog.getType());
|
||||||
one.setMember(userForbidLog.getMember());
|
one.setMember(userForbidLog.getMember());
|
||||||
one.setBeginTime(LocalDateTime.now());
|
one.setBeginTime(LocalDateTime.now());
|
||||||
|
one.setEndTime(getEndTime(one.getBeginTime(), forbidTime));
|
||||||
} else if(ForbidStatusEnum.NORMAL.getCode().equals(one.getForbidStatus())){ // 已解封
|
} else if(ForbidStatusEnum.NORMAL.getCode().equals(one.getForbidStatus())){ // 已解封
|
||||||
one.setBeginTime(LocalDateTime.now());
|
one.setBeginTime(LocalDateTime.now());
|
||||||
} else if(ForbidStatusEnum.FORBID.getCode().equals(one.getForbidStatus()) && one.getEndTime().isBefore(LocalDateTime.now())){
|
one.setEndTime(getEndTime(one.getBeginTime(), forbidTime));
|
||||||
|
} else if(ForbidStatusEnum.FORBID.getCode().equals(one.getForbidStatus()) && one.getEndTime().isAfter(LocalDateTime.now())){ // 已解封到期
|
||||||
one.setBeginTime(LocalDateTime.now());
|
one.setBeginTime(LocalDateTime.now());
|
||||||
|
one.setEndTime(getEndTime(one.getBeginTime(), forbidTime));
|
||||||
|
} else {
|
||||||
|
one.setEndTime(getEndTime(one.getEndTime(),forbidTime)); // 还在封号中,续上时间
|
||||||
}
|
}
|
||||||
LocalDateTime endTime = getEndTime(one.getBeginTime(), forbidTime);
|
|
||||||
if(endTime == null){
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
one.setEndTime(endTime);
|
|
||||||
one.setReason(userForbidLog.getReason());
|
one.setReason(userForbidLog.getReason());
|
||||||
one.setForbidStatus(ForbidStatusEnum.FORBID.getCode());
|
one.setForbidStatus(ForbidStatusEnum.FORBID.getCode());
|
||||||
this.saveOrUpdate(one);
|
this.saveOrUpdate(one);
|
||||||
@@ -85,7 +87,7 @@ public class UserForbidServiceImpl extends ServiceImpl<UserForbidMapper, UserFor
|
|||||||
forbidCache.addForbid(one);
|
forbidCache.addForbid(one);
|
||||||
try {
|
try {
|
||||||
// 12小时
|
// 12小时
|
||||||
long between = CaiDateUtil.diff(endTime, LocalDateTime.now());
|
long between = CaiDateUtil.diff(one.getEndTime(), LocalDateTime.now());
|
||||||
CommonDelayDto dto = new CommonDelayDto();
|
CommonDelayDto dto = new CommonDelayDto();
|
||||||
dto.setForbidId(one.getId());
|
dto.setForbidId(one.getId());
|
||||||
dto.setType(CommonDelayTypeEnum.USER_FORBID.getCode());
|
dto.setType(CommonDelayTypeEnum.USER_FORBID.getCode());
|
||||||
|
|||||||
Reference in New Issue
Block a user