init
This commit is contained in:
@@ -34,4 +34,10 @@ public class ForbidCache {
|
||||
return MapGetUtil.getLong(o);
|
||||
|
||||
}
|
||||
|
||||
public void unForbid(Integer type, String member) {
|
||||
String key = this.getKey(type);
|
||||
RMap<Object, Object> redisMap = redissonClient.getMap(key);
|
||||
redisMap.remove(member);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
package com.ruoyi.cai.manager;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.ruoyi.cai.domain.ForbidFilter;
|
||||
import com.ruoyi.cai.domain.User;
|
||||
import com.ruoyi.cai.domain.UserForbidLog;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.rabbitmq.client.LongString;
|
||||
import com.ruoyi.cai.domain.*;
|
||||
import com.ruoyi.cai.dto.admin.UserForbidDTO;
|
||||
import com.ruoyi.cai.dto.admin.query.UserForbidReq;
|
||||
import com.ruoyi.cai.enums.ForbidTimeEnum;
|
||||
import com.ruoyi.cai.enums.ForbidTypeEnum;
|
||||
import com.ruoyi.cai.service.ForbidFilterService;
|
||||
import com.ruoyi.cai.service.UserForbidLogService;
|
||||
import com.ruoyi.cai.service.UserForbidService;
|
||||
import com.ruoyi.cai.service.UserService;
|
||||
import com.ruoyi.cai.service.*;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import lombok.Data;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
@@ -31,7 +31,33 @@ public class UserForbidManager {
|
||||
private ForbidCache forbidCache;
|
||||
@Autowired
|
||||
private ForbidFilterService forbidFilterService;
|
||||
@Autowired
|
||||
private UserInfoService userInfoService;
|
||||
|
||||
public void batchForbid(UserForbidReq userForbidReq){
|
||||
List<Integer> type = userForbidReq.getType();
|
||||
User user = userService.getById(userForbidReq.getUserId());
|
||||
for (Integer integer : type) {
|
||||
if(integer == 1){ // 封用户
|
||||
UserForbidDTO dto = new UserForbidDTO();
|
||||
dto.setForbidTime(userForbidReq.getForbidTime());
|
||||
dto.setForbidType(ForbidTypeEnum.USER.getCode());
|
||||
dto.setMember(user.getUsercode());
|
||||
dto.setRemark(userForbidReq.getReason());
|
||||
this.forbid(dto);
|
||||
}else if(integer == 2){ // 封设备
|
||||
// 封设备
|
||||
}else if(integer == 3){ // 封IP
|
||||
UserInfo userInfo = userInfoService.getByUserId(user.getId());
|
||||
UserForbidDTO dto = new UserForbidDTO();
|
||||
dto.setForbidTime(userForbidReq.getForbidTime());
|
||||
dto.setForbidType(ForbidTypeEnum.IP.getCode());
|
||||
dto.setMember(userInfo.getLastLoginIp());
|
||||
dto.setRemark(userForbidReq.getReason());
|
||||
this.forbid(dto);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 封禁总入口
|
||||
@@ -45,7 +71,7 @@ public class UserForbidManager {
|
||||
}
|
||||
User user = null;
|
||||
if(forbidType == ForbidTypeEnum.USER){
|
||||
user = userService.getById(userForbidDTO.getMember());
|
||||
user = userService.getByUserCode(userForbidDTO.getMember());
|
||||
if(user == null){
|
||||
return;
|
||||
}
|
||||
@@ -59,17 +85,17 @@ public class UserForbidManager {
|
||||
userForbidService.forbid(userForbidLog,user);
|
||||
}
|
||||
|
||||
public CheckForbid checkForbid(Long userId,String IMEI,String ip){
|
||||
public CheckForbid checkForbid(Long userId,String usercode, String IMEI, String ip){
|
||||
ForbidTypeEnum typeEnum;
|
||||
CheckForbid noForbid = CheckForbid.noForbid();
|
||||
String member;
|
||||
Long forbidId;
|
||||
if(userId != null){
|
||||
forbidId = forbidCache.checkForbid(userId + "", ForbidTypeEnum.USER);
|
||||
if(StringUtils.isNotEmpty(usercode)){
|
||||
forbidId = forbidCache.checkForbid(usercode, ForbidTypeEnum.USER);
|
||||
if(forbidId == null){
|
||||
return noForbid;
|
||||
}
|
||||
member = userId+"";
|
||||
member = usercode;
|
||||
typeEnum = ForbidTypeEnum.USER;
|
||||
String traceId = IdManager.nextIdStr();
|
||||
noForbid = CheckForbid.forbid(traceId);
|
||||
@@ -112,6 +138,18 @@ public class UserForbidManager {
|
||||
return noForbid;
|
||||
}
|
||||
|
||||
public void unForbidByForbidId(Long id) {
|
||||
UserForbid userForbid = userForbidService.getById(id);
|
||||
this.unForbid(userForbid.getType(),userForbid.getMember());
|
||||
userForbidService.update(Wrappers.lambdaUpdate(UserForbid.class)
|
||||
.eq(UserForbid::getId,userForbid.getId())
|
||||
.set(UserForbid::getForbidStatus,2));
|
||||
}
|
||||
|
||||
public void unForbid(Integer type,String member){
|
||||
forbidCache.unForbid(type,member);
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class CheckForbid implements Serializable {
|
||||
// 是否已经被封禁
|
||||
|
||||
Reference in New Issue
Block a user