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;
|
private final PgMemberLogMapper memberLogMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Async
|
|
||||||
public void log(Long memberId, String operType, String operTitle, String operDesc) {
|
public void log(Long memberId, String operType, String operTitle, String operDesc) {
|
||||||
|
// 在当前线程(HTTP请求线程)中获取IP,然后异步写入日志
|
||||||
String operIp = null;
|
String operIp = null;
|
||||||
try {
|
try {
|
||||||
operIp = ServletUtils.getClientIP();
|
operIp = ServletUtils.getClientIP();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// 获取IP失败时忽略
|
// 获取IP失败时忽略
|
||||||
}
|
}
|
||||||
log(memberId, operType, operTitle, operDesc, operIp);
|
// 调用异步方法写入日志
|
||||||
|
asyncLog(memberId, operType, operTitle, operDesc, operIp);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Async
|
|
||||||
public void log(Long memberId, String operType, String operTitle, String operDesc, String operIp) {
|
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 {
|
try {
|
||||||
PgMemberLog logEntity = new PgMemberLog();
|
PgMemberLog logEntity = new PgMemberLog();
|
||||||
logEntity.setMemberId(memberId);
|
logEntity.setMemberId(memberId);
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,8 @@ public class PgSchoolServiceImpl implements IPgSchoolService {
|
||||||
@Override
|
@Override
|
||||||
public TableDataInfo<PgSchool> selectPageList(PgSchool school, PageQuery pageQuery) {
|
public TableDataInfo<PgSchool> selectPageList(PgSchool school, PageQuery pageQuery) {
|
||||||
LambdaQueryWrapper<PgSchool> lqw = buildQueryWrapper(school);
|
LambdaQueryWrapper<PgSchool> lqw = buildQueryWrapper(school);
|
||||||
Page<PgSchool> page = baseMapper.selectPage(pageQuery.build(), lqw);
|
// 使用带数据权限的查询方法
|
||||||
|
Page<PgSchool> page = baseMapper.selectPageSchoolList(pageQuery.build(), lqw);
|
||||||
// 填充区域名称
|
// 填充区域名称
|
||||||
fillRegionName(page.getRecords());
|
fillRegionName(page.getRecords());
|
||||||
return TableDataInfo.build(page);
|
return TableDataInfo.build(page);
|
||||||
|
|
@ -59,7 +60,8 @@ public class PgSchoolServiceImpl implements IPgSchoolService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<PgSchool> selectList(PgSchool school) {
|
public List<PgSchool> selectList(PgSchool school) {
|
||||||
List<PgSchool> list = baseMapper.selectList(buildQueryWrapper(school));
|
// 使用带数据权限的查询方法
|
||||||
|
List<PgSchool> list = baseMapper.selectSchoolList(buildQueryWrapper(school));
|
||||||
fillRegionName(list);
|
fillRegionName(list);
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
@ -300,8 +302,8 @@ public class PgSchoolServiceImpl implements IPgSchoolService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SchoolTreeNode> selectSchoolTree(PgSchool school) {
|
public List<SchoolTreeNode> selectSchoolTree(PgSchool school) {
|
||||||
// 查询学校列表
|
// 查询学校列表(使用带数据权限的查询方法)
|
||||||
List<PgSchool> schools = baseMapper.selectList(buildQueryWrapper(school));
|
List<PgSchool> schools = baseMapper.selectSchoolList(buildQueryWrapper(school));
|
||||||
fillRegionName(schools);
|
fillRegionName(schools);
|
||||||
|
|
||||||
if (schools.isEmpty()) {
|
if (schools.isEmpty()) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue