This commit is contained in:
张良(004796)
2024-01-31 22:36:50 +08:00
parent 98458c32fa
commit b725191b1a
11 changed files with 101 additions and 37 deletions

View File

@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.ForbidFilter;
import com.ruoyi.cai.dto.admin.vo.ForbidFilterAdminVo;
import com.ruoyi.cai.enums.ForbidTypeEnum;
import com.ruoyi.common.core.domain.PageQuery;
/**

View File

@@ -7,8 +7,8 @@ import com.ruoyi.cai.domain.UserErrorLog;
import com.ruoyi.cai.dto.admin.UserForbidDTO;
import com.ruoyi.cai.dto.admin.vo.UserErrorLogAdminVo;
import com.ruoyi.cai.dto.app.query.push.PushErrorReq;
import com.ruoyi.cai.enums.ForbidTimeEnum;
import com.ruoyi.cai.enums.ForbidTypeEnum;
import com.ruoyi.cai.enums.forbid.ForbidTimeEnum;
import com.ruoyi.cai.enums.forbid.ForbidTypeEnum;
import com.ruoyi.cai.enums.user.UserErrorLogHomeIndexEnum;
import com.ruoyi.cai.enums.user.UserErrorLogType;
import com.ruoyi.cai.manager.UserForbidManager;

View File

@@ -5,12 +5,11 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.domain.*;
import com.ruoyi.cai.dto.admin.UserForbidDTO;
import com.ruoyi.cai.dto.admin.query.forbid.UserForbidIpReq;
import com.ruoyi.cai.dto.admin.vo.UserForbidAdminVo;
import com.ruoyi.cai.dto.admin.vo.userforbid.UserForbidInfo;
import com.ruoyi.cai.enums.ForbidTimeEnum;
import com.ruoyi.cai.enums.ForbidTypeEnum;
import com.ruoyi.cai.enums.ForbidStatusEnum;
import com.ruoyi.cai.enums.forbid.ForbidTimeEnum;
import com.ruoyi.cai.enums.forbid.ForbidTypeEnum;
import com.ruoyi.cai.manager.ForbidCache;
import com.ruoyi.cai.mapper.UserForbidMapper;
import com.ruoyi.cai.mq.AmqpProducer;
@@ -22,13 +21,11 @@ import com.ruoyi.cai.service.UserInfoService;
import com.ruoyi.cai.service.UserService;
import com.ruoyi.cai.util.CaiDateUtil;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.exception.ServiceException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
/**
* 封号列表Service业务层处理
@@ -67,9 +64,9 @@ public class UserForbidServiceImpl extends ServiceImpl<UserForbidMapper, UserFor
one.setType(userForbidLog.getType());
one.setMember(userForbidLog.getMember());
one.setBeginTime(LocalDateTime.now());
} else if(one.getForbidStatus() == 2){ // 已解封
} else if(ForbidStatusEnum.NORMAL.getCode().equals(one.getForbidStatus())){ // 已解封
one.setBeginTime(LocalDateTime.now());
} else if(one.getForbidStatus() == 1 && one.getEndTime().isBefore(LocalDateTime.now())){
} else if(ForbidStatusEnum.FORBID.getCode().equals(one.getForbidStatus()) && one.getEndTime().isBefore(LocalDateTime.now())){
one.setBeginTime(LocalDateTime.now());
}
LocalDateTime endTime = getEndTime(one.getBeginTime(), forbidTime);
@@ -78,7 +75,7 @@ public class UserForbidServiceImpl extends ServiceImpl<UserForbidMapper, UserFor
}
one.setEndTime(endTime);
one.setReason(userForbidLog.getReason());
one.setForbidStatus(1);
one.setForbidStatus(ForbidStatusEnum.FORBID.getCode());
this.saveOrUpdate(one);
if(user != null){
userService.update(Wrappers.lambdaUpdate(User.class).eq(User::getId,user.getId()).set(User::getStatus,1));
@@ -111,15 +108,22 @@ public class UserForbidServiceImpl extends ServiceImpl<UserForbidMapper, UserFor
return null;
}
UserForbidInfo userForbidInfo = new UserForbidInfo();
userForbidInfo.setUser(user);
userForbidInfo.setUserInfo(userInfo);
UserForbid userForbid = this.getOne(Wrappers.lambdaQuery(UserForbid.class)
.eq(UserForbid::getType, ForbidTypeEnum.USER.getCode()).last("limit 1"));
if(userForbid != null && userForbid.getForbidStatus() == 1 && userForbid.getEndTime().isAfter(LocalDateTime.now())){
.eq(UserForbid::getMember, user.getUsercode())
.eq(UserForbid::getType, ForbidTypeEnum.USER.getCode())
.last("limit 1"));
if(userForbid != null && ForbidStatusEnum.FORBID.getCode().equals(userForbid.getForbidStatus()) && userForbid.getEndTime().isAfter(LocalDateTime.now())){
userForbidInfo.setUserForbid(userForbid);
userForbidInfo.setUserForbidBetween(CaiDateUtil.betweenShowString(LocalDateTime.now(),userForbid.getEndTime()));
}
UserForbid ipUserForbid = this.getOne(Wrappers.lambdaQuery(UserForbid.class)
.eq(UserForbid::getMember, userInfo.getLastLoginIp())
.eq(UserForbid::getType, ForbidTypeEnum.IP.getCode()).last("limit 1"));
if(userForbid != null && userForbid.getForbidStatus() == 1 && userForbid.getEndTime().isAfter(LocalDateTime.now())){
if(ipUserForbid != null && ForbidStatusEnum.FORBID.getCode().equals(ipUserForbid.getForbidStatus()) && ipUserForbid.getEndTime().isAfter(LocalDateTime.now())){
userForbidInfo.setIpUserForbid(ipUserForbid);
userForbidInfo.setIpForbidBetween(CaiDateUtil.betweenShowString(LocalDateTime.now(),ipUserForbid.getEndTime()));
}
return userForbidInfo;
}