1.审计日志处理

This commit is contained in:
cdf
2024-08-29 15:39:16 +08:00
parent 476993db15
commit 0a121a3cf5
13 changed files with 129 additions and 5 deletions

View File

@@ -131,4 +131,7 @@ public interface UserFeignClient {
@GetMapping("/getColleaguesIdByUserId")
HttpResult<List<String>> getColleaguesIdByUserId(@RequestParam("id") String id);
@GetMapping("/userRoleList")
HttpResult<Boolean> userRoleList();
}

View File

@@ -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);
}
};
}
}

View File

@@ -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;
}

View File

@@ -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);
}
}

View File

@@ -18,5 +18,12 @@ import com.njcn.web.controller.BaseController;
@RequestMapping("/userRole")
public class UserRoleController extends BaseController {
/**
*
* @author cdf
* @date 2024/8/29
*/
}

View File

@@ -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();
}
}

View File

@@ -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();
}

View File

@@ -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>

View File

@@ -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();
}

View File

@@ -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;
}
/**
* 根据登录名查询用户
*