日志模块人员入参修改

main
zhangqun 1 year ago
parent 508619b9f2
commit 8a60a52b68
  1. 3
      src/main/java/org/springblade/modules/system/controller/LogApiController.java
  2. 1
      src/main/java/org/springblade/modules/system/dto/LogDTO.java
  3. 1
      src/main/java/org/springblade/modules/system/service/ILogApiService.java
  4. 50
      src/main/java/org/springblade/modules/system/service/impl/LogApiServiceImpl.java

@ -66,6 +66,9 @@ public class LogApiController {
public R<List<LogRecord>> logOnList(@ApiIgnore LogDTO log, Query query) { public R<List<LogRecord>> logOnList(@ApiIgnore LogDTO log, Query query) {
// HttpServletRequest request = WebUtil.getRequest(); // HttpServletRequest request = WebUtil.getRequest();
if(log.getLogType() == null || (!log.getLogType().equals("1") && !log.getLogType().equals("2"))){
return R.fail("日志类型入参有误(logType in ('1','2'))");
}
List<LogRecord> logList = logService.logOnList(log); List<LogRecord> logList = logService.logOnList(log);
return R.data(logList); return R.data(logList);
} }

@ -18,5 +18,6 @@ public class LogDTO {
// 日志类型:1登录日志 2修改日志 // 日志类型:1登录日志 2修改日志
private String logType; private String logType;
// 用户id
private String userId; private String userId;
} }

@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.core.log.model.LogApi; import org.springblade.core.log.model.LogApi;
import org.springblade.modules.system.dto.LogDTO; import org.springblade.modules.system.dto.LogDTO;
import org.springblade.modules.system.vo.LogRecord; import org.springblade.modules.system.vo.LogRecord;
import org.springblade.modules.system.vo.LogVO;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;

@ -31,28 +31,32 @@ public class LogApiServiceImpl extends ServiceImpl<LogApiMapper, LogApi> impleme
@Override @Override
public List<LogRecord> logOnList(LogDTO log) { public List<LogRecord> logOnList(LogDTO log) {
if(log.getUserId() != null){
User user = UserCache.getUser(Long.valueOf(log.getUserId()));
log.setUserId(user.getAccount());
}
// 按照月份查询日志所有数据
List<LogVO> logs = baseMapper.logOnList(log);
// 返回集合创建
List<LogRecord> logRecords = new LinkedList<>(); List<LogRecord> logRecords = new LinkedList<>();
LogRecord logRecord = new LogRecord(); LogRecord logRecord = new LogRecord();
// yyyy-MM-dd 日期格式转换
SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// yyyy-MM年月日志标识 // yyyy-MM 年月日志标识
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM"); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM");
// 按照月份查询日志所有数据
List<LogVO> logs = baseMapper.logOnList(log);
// 记录年月 // 记录年月
AtomicReference<String> yearMonth = new AtomicReference<>(null); AtomicReference<String> yearMonth = new AtomicReference<>(null);
// logs遍历计数器 // logs遍历计数器
AtomicInteger count = new AtomicInteger(0); AtomicInteger count = new AtomicInteger(1);
// logs总长度 // logs总长度
int totalLogs = logs.size(); int totalLogs = logs.size();
// 遍历日志数据 // 遍历日志数据
// logs.forEach(logInfo -> { for (LogVO logInfo:logs){
for (LogVO logInfo:logs){
count.incrementAndGet();
// 当前年月 // 当前年月
String currentYearMonth = formatter.format(logInfo.getCreateTime()); String currentYearMonth = formatter.format(logInfo.getCreateTime());
@ -75,23 +79,20 @@ public class LogApiServiceImpl extends ServiceImpl<LogApiMapper, LogApi> impleme
if (yearMonth.get().equals(currentYearMonth)) { if (yearMonth.get().equals(currentYearMonth)) {
// 将该条数据插入logs // 将该条数据插入logs
logRecord.getLogs().add(logInfo); logRecord.getLogs().add(logInfo);
}else{ // 当前年月不等于记录年月 }else{ // 当前年月不等于记录年月
// 将当前年月赋值给记录年月 // 将当前年月赋值给记录年月
yearMonth.set(currentYearMonth); yearMonth.set(currentYearMonth);
// 将上一组数据存入 // 将上一组数据存入
for (LogVO logVO : logRecord.getLogs()){ for (LogVO logVO : logRecord.getLogs()){
User user = UserCache.getUser(logVO.getTenantId(), logVO.getCreateBy()); User user1 = UserCache.getUser(logVO.getTenantId(), logVO.getCreateBy());
if(user != null){ if(user1 != null){
logVO.setRealName(user.getRealName()); logVO.setRealName(user1.getRealName());
logVO.setTitle(user.getRealName() + logVO.getTitle()); logVO.setTitle(user1.getRealName() + logVO.getTitle());
} }
// formatter1.format(logVO.getCreateTime()).substring(8); // formatter1.format(logVO.getCreateTime()).substring(8);
String substring = formatter1.format(logVO.getCreateTime()).substring(8); String substring = formatter1.format(logVO.getCreateTime()).substring(8);
logVO.setTime(substring.substring(0,2) + "日" + substring.substring(2)); logVO.setTime(substring.substring(0,2) + "日" + substring.substring(2));
} }
logRecords.add(logRecord); logRecords.add(logRecord);
@ -110,21 +111,26 @@ public class LogApiServiceImpl extends ServiceImpl<LogApiMapper, LogApi> impleme
} }
} }
// 最后一次遍历,提交最后一组对象
if (count.get() == totalLogs) { if (count.get() == totalLogs) {
for (LogVO logVO : logRecord.getLogs()){ // 遍历单条日志内容
User user = UserCache.getUser(logVO.getTenantId(), logVO.getCreateBy()); for (LogVO logVO : logRecord.getLogs()) {
if(user != null){ // 查询缓存中的用户内容
logVO.setRealName(user.getRealName()); User user1 = UserCache.getUser(logVO.getTenantId(), logVO.getCreateBy());
logVO.setTitle(user.getRealName() + logVO.getTitle()); if(user1 != null){
logVO.setRealName(user1.getRealName());
logVO.setTitle(user1.getRealName() + logVO.getTitle());
} }
String substring = formatter1.format(logVO.getCreateTime()).substring(8); String substring = formatter1.format(logVO.getCreateTime()).substring(8);
logVO.setTime(substring.substring(0,2) + "日" + substring.substring(2)); logVO.setTime(substring.substring(0,2) + "日" + substring.substring(2));
} }
// 最后一次执行的逻辑,将logRecord保存 // 最后一次执行的逻辑,将logRecord保存
logRecords.add(logRecord); logRecords.add(logRecord);
} }
// 计数器增加
count.incrementAndGet();
}; };
// logs.forEach(logVO -> { // logs.forEach(logVO -> {

Loading…
Cancel
Save