fix: 修复数据权限和操作日志IP记录问题
1. 学校管理使用带数据权限的查询方法 2. 修复操作日志IP地址无法记录的问题(异步线程获取不到请求上下文)
This commit is contained in:
parent
6f47adf86e
commit
730f27c55e
|
|
@ -26,20 +26,29 @@ public class PgMemberLogServiceImpl implements IPgMemberLogService {
|
|||
private final PgMemberLogMapper memberLogMapper;
|
||||
|
||||
@Override
|
||||
@Async
|
||||
public void log(Long memberId, String operType, String operTitle, String operDesc) {
|
||||
// 在当前线程(HTTP请求线程)中获取IP,然后异步写入日志
|
||||
String operIp = null;
|
||||
try {
|
||||
operIp = ServletUtils.getClientIP();
|
||||
} catch (Exception e) {
|
||||
// 获取IP失败时忽略
|
||||
}
|
||||
log(memberId, operType, operTitle, operDesc, operIp);
|
||||
// 调用异步方法写入日志
|
||||
asyncLog(memberId, operType, operTitle, operDesc, operIp);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Async
|
||||
public void log(Long memberId, String operType, String operTitle, String operDesc, String operIp) {
|
||||
// 调用异步方法写入日志
|
||||
asyncLog(memberId, operType, operTitle, operDesc, operIp);
|
||||
}
|
||||
|
||||
/**
|
||||
* 异步写入日志
|
||||
*/
|
||||
@Async
|
||||
public void asyncLog(Long memberId, String operType, String operTitle, String operDesc, String operIp) {
|
||||
try {
|
||||
PgMemberLog logEntity = new PgMemberLog();
|
||||
logEntity.setMemberId(memberId);
|
||||
|
|
|
|||
|
|
@ -51,7 +51,8 @@ public class PgSchoolServiceImpl implements IPgSchoolService {
|
|||
@Override
|
||||
public TableDataInfo<PgSchool> selectPageList(PgSchool school, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<PgSchool> lqw = buildQueryWrapper(school);
|
||||
Page<PgSchool> page = baseMapper.selectPage(pageQuery.build(), lqw);
|
||||
// 使用带数据权限的查询方法
|
||||
Page<PgSchool> page = baseMapper.selectPageSchoolList(pageQuery.build(), lqw);
|
||||
// 填充区域名称
|
||||
fillRegionName(page.getRecords());
|
||||
return TableDataInfo.build(page);
|
||||
|
|
@ -59,7 +60,8 @@ public class PgSchoolServiceImpl implements IPgSchoolService {
|
|||
|
||||
@Override
|
||||
public List<PgSchool> selectList(PgSchool school) {
|
||||
List<PgSchool> list = baseMapper.selectList(buildQueryWrapper(school));
|
||||
// 使用带数据权限的查询方法
|
||||
List<PgSchool> list = baseMapper.selectSchoolList(buildQueryWrapper(school));
|
||||
fillRegionName(list);
|
||||
return list;
|
||||
}
|
||||
|
|
@ -300,8 +302,8 @@ public class PgSchoolServiceImpl implements IPgSchoolService {
|
|||
|
||||
@Override
|
||||
public List<SchoolTreeNode> selectSchoolTree(PgSchool school) {
|
||||
// 查询学校列表
|
||||
List<PgSchool> schools = baseMapper.selectList(buildQueryWrapper(school));
|
||||
// 查询学校列表(使用带数据权限的查询方法)
|
||||
List<PgSchool> schools = baseMapper.selectSchoolList(buildQueryWrapper(school));
|
||||
fillRegionName(schools);
|
||||
|
||||
if (schools.isEmpty()) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue