1.审计日志处理
This commit is contained in:
@@ -131,4 +131,7 @@ public interface UserFeignClient {
|
||||
@GetMapping("/getColleaguesIdByUserId")
|
||||
HttpResult<List<String>> getColleaguesIdByUserId(@RequestParam("id") String id);
|
||||
|
||||
|
||||
@GetMapping("/userRoleList")
|
||||
HttpResult<Boolean> userRoleList();
|
||||
}
|
||||
|
||||
@@ -123,6 +123,12 @@ public class UserFeignClientFallbackFactory implements FallbackFactory<UserFeign
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResult<Boolean> userRoleList() {
|
||||
log.error("{}异常,降级处理,异常为:{}","获取所有用户角色",cause.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.njcn.user.pojo.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* pqs
|
||||
*
|
||||
* @author cdf
|
||||
* @date 2024/8/29
|
||||
*/
|
||||
@Data
|
||||
public class UserRoleLogsDTO {
|
||||
private String loginName;
|
||||
|
||||
private Integer roleType;
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.constant.LogInfo;
|
||||
@@ -133,6 +134,10 @@ public class UserController extends BaseController {
|
||||
String methodDescribe = getMethodDescribe("add");
|
||||
LogUtil.njcnDebug(log, "{},用户数据为:{}", methodDescribe, addUserParam);
|
||||
boolean result = userService.addUser(addUserParam);
|
||||
|
||||
//更新redis数据
|
||||
userService.userRoleList();
|
||||
|
||||
if (result) {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
||||
} else {
|
||||
@@ -153,6 +158,8 @@ public class UserController extends BaseController {
|
||||
String methodDescribe = getMethodDescribe("delete");
|
||||
LogUtil.njcnDebug(log, "{},用户id为:{}", methodDescribe, id);
|
||||
boolean result = userService.deleteUser(id);
|
||||
//更新redis数据
|
||||
userService.userRoleList();
|
||||
if (result) {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
||||
} else {
|
||||
@@ -173,6 +180,8 @@ public class UserController extends BaseController {
|
||||
String methodDescribe = getMethodDescribe("update");
|
||||
LogUtil.njcnDebug(log, "{},用户数据为:{}", methodDescribe, updateUserParam);
|
||||
boolean result = userService.updateUser(updateUserParam);
|
||||
//更新redis数据
|
||||
userService.userRoleList();
|
||||
if (result) {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
||||
} else {
|
||||
@@ -624,5 +633,18 @@ public class UserController extends BaseController {
|
||||
List<User> result = userService.simpleList(true);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询用户的角色
|
||||
* @author cdf
|
||||
* @date 2024/8/29
|
||||
*/
|
||||
@GetMapping("/userRoleList")
|
||||
@ApiOperation("获取所有用户角色")
|
||||
public HttpResult<Boolean> userRoleList(){
|
||||
String methodDescribe = getMethodDescribe("userRoleList");
|
||||
userService.userRoleList();
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -18,5 +18,12 @@ import com.njcn.web.controller.BaseController;
|
||||
@RequestMapping("/userRole")
|
||||
public class UserRoleController extends BaseController {
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @author cdf
|
||||
* @date 2024/8/29
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.njcn.user.init;
|
||||
|
||||
import com.njcn.user.service.IFunctionService;
|
||||
import com.njcn.user.service.IUserService;
|
||||
import com.njcn.user.service.impl.UserServiceImpl;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.boot.CommandLineRunner;
|
||||
@@ -19,8 +21,11 @@ public class InitPermissionRoles implements CommandLineRunner {
|
||||
|
||||
private final IFunctionService functionService;
|
||||
|
||||
private final IUserService iUserService;
|
||||
|
||||
@Override
|
||||
public void run(String... args) {
|
||||
functionService.refreshRolesFunctionsCache();
|
||||
iUserService.userRoleList();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,12 +3,14 @@ package com.njcn.user.mapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.user.pojo.dto.UserRoleLogsDTO;
|
||||
import com.njcn.user.pojo.dto.excel.UserExcel;
|
||||
import com.njcn.user.pojo.po.User;
|
||||
import com.njcn.user.pojo.vo.UserVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -58,4 +60,6 @@ public interface UserMapper extends BaseMapper<User> {
|
||||
List<UserExcel> queryExportUser(@Param("ew") QueryWrapper<UserExcel> queryWrapper);
|
||||
|
||||
List<UserVO> getUserVOByIdList(@Param("ids") List<String> ids);
|
||||
|
||||
List<UserRoleLogsDTO> userRoleList();
|
||||
}
|
||||
|
||||
@@ -88,4 +88,20 @@
|
||||
|
||||
|
||||
|
||||
<select id="userRoleList" resultType="UserRoleLogsDTO">
|
||||
SELECT
|
||||
sys_user.login_name loginName,
|
||||
min( sys_role.type ) roleType
|
||||
FROM
|
||||
sys_user,
|
||||
sys_user_role,
|
||||
sys_role
|
||||
WHERE
|
||||
sys_user.id = sys_user_role.User_Id
|
||||
AND sys_user_role.Role_Id = sys_role.id
|
||||
GROUP BY
|
||||
login_name
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -14,6 +14,7 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -201,4 +202,7 @@ public interface IUserService extends IService<User> {
|
||||
|
||||
|
||||
List<String> getColleaguesIdByUserId(String id);
|
||||
|
||||
|
||||
Boolean userRoleList();
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.io.FileUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -23,6 +24,8 @@ import com.njcn.device.pq.pojo.po.PqsTerminalLogs;
|
||||
import com.njcn.oss.constant.OssPath;
|
||||
import com.njcn.oss.utils.FileStorageUtil;
|
||||
import com.njcn.poi.excel.ExcelUtil;
|
||||
import com.njcn.redis.pojo.enums.RedisKeyEnum;
|
||||
import com.njcn.redis.utils.RedisUtil;
|
||||
import com.njcn.system.api.AreaFeignClient;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
@@ -35,6 +38,7 @@ import com.njcn.user.mapper.UserRoleMapper;
|
||||
import com.njcn.user.pojo.constant.UserState;
|
||||
import com.njcn.user.pojo.constant.UserType;
|
||||
import com.njcn.user.pojo.dto.UserDTO;
|
||||
import com.njcn.user.pojo.dto.UserRoleLogsDTO;
|
||||
import com.njcn.user.pojo.dto.excel.UserExcel;
|
||||
import com.njcn.user.pojo.param.UserInfoParm;
|
||||
import com.njcn.user.pojo.param.UserParam;
|
||||
@@ -45,6 +49,7 @@ import com.njcn.web.factory.PageFactory;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.data.redis.core.BoundHashOperations;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
@@ -53,10 +58,7 @@ import javax.validation.constraints.NotNull;
|
||||
import java.io.File;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
@@ -93,6 +95,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
||||
private final AreaFeignClient areaFeignClient;
|
||||
private final FileStorageUtil fileStorageUtil;
|
||||
|
||||
private final RedisUtil redisUtil;
|
||||
|
||||
@Override
|
||||
public UserDTO getUserByName(String loginName) {
|
||||
User user = getUserByLoginName(loginName);
|
||||
@@ -594,6 +598,17 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
||||
return userList.stream().map(User::getId).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean userRoleList() {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
List<UserRoleLogsDTO> mapList = this.baseMapper.userRoleList();
|
||||
for(UserRoleLogsDTO item :mapList){
|
||||
jsonObject.putOpt(item.getLoginName(),item.getRoleType());
|
||||
}
|
||||
redisUtil.saveByKeyWithExpire(RedisKeyEnum.USER_ROLE_TYPE_KEY.getKey(),jsonObject,-1L);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据登录名查询用户
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user