Browse Source

Merge remote-tracking branch 'origin/master'

master
niohe·erbao 1 year ago
parent
commit
2331553515
1 changed files with 52 additions and 49 deletions
  1. +52
    -49
      pmapi/src/main/java/com/ningdatech/pmapi/scheduler/task/CommonLogTask.java

+ 52
- 49
pmapi/src/main/java/com/ningdatech/pmapi/scheduler/task/CommonLogTask.java View File

@@ -1,7 +1,7 @@
package com.ningdatech.pmapi.scheduler.task;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.file.FileReader;
import cn.hutool.core.io.file.FileWriter;
@@ -58,54 +58,57 @@ public class CommonLogTask {
//查询日志
List<OptLog> logList = optLogMapper.selectList(query);
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
if (CollUtil.isNotEmpty(logList)){
logList.forEach(optLog -> {
CommonLog commonLog = new CommonLog();
UserInfo userInfo = userInfoService.getById(optLog.getCreateBy());
String employeeCode = userInfo.getEmployeeCode();
if (StringUtils.isNotBlank(employeeCode)){
DingEmployeeInfo dingEmployeeInfo = dingEmployeeInfoMapper.selectOne(new LambdaQueryWrapper<DingEmployeeInfo>()
.eq(DingEmployeeInfo::getEmployeeCode,employeeCode));
if (dingEmployeeInfo != null){
commonLog.setUserId(String.valueOf(dingEmployeeInfo.getAccountId()));
}
}else {
commonLog.setUserId(String.valueOf(userInfo.getId()));
}
commonLog.setUserRole("政府工作人员");
commonLog.setAreaCode(userInfo.getRegionCode());
String description = optLog.getDescription();
if (description.equals("登录")){
commonLog.setActionType(1);
}else if (description.equals("退出登录")){
commonLog.setActionType(2);
}else {
commonLog.setActionType(3);
}
String actionId = UUID.randomUUID().toString();
commonLog.setActionId(actionId);
commonLog.setActionTime(df.format(optLog.getStartTime()));
commonLog.setActionDuration(optLog.getConsumingTime());
commonLog.setActionStatus(0);
commonLog.setAppCode("");
//判断当天日志文件是否存在
DateTimeFormatter dfNow = DateTimeFormatter.ofPattern("yyyyMMdd");
String fileName = LOG_RECORD_ADDRESS + LOG_FILE + dfNow.format(LocalDateTime.now()) + ".log";
boolean fileExist = FileUtil.exist(fileName);
if (!fileExist){
//不存在则创建当天日志文件
FileUtil.touch(fileName);
}
//写入通用规则
FileWriter writer = new FileWriter(LOG_RECORD_ADDRESS + LOG_FILE);
writer.append(JSONUtil.toJsonStr(commonLog));
if (commonLog.getActionType() == 3){
CommonLog commonLogEnd = new CommonLog();
BeanUtil.copyProperties(commonLog,commonLogEnd);
commonLogEnd.setActionType(4);
writer.append(JSONUtil.toJsonStr(commonLogEnd));
}
});
if (CollectionUtil.isNotEmpty(logList)){
for (OptLog optLog : logList){
CommonLog commonLog = new CommonLog();
UserInfo userInfo = userInfoService.getById(optLog.getCreateBy());
if (userInfo == null){
continue;
}
String employeeCode = userInfo.getEmployeeCode();
if (StringUtils.isNotBlank(employeeCode)){
DingEmployeeInfo dingEmployeeInfo = dingEmployeeInfoMapper.selectOne(new LambdaQueryWrapper<DingEmployeeInfo>()
.eq(DingEmployeeInfo::getEmployeeCode,employeeCode));
if (dingEmployeeInfo != null){
commonLog.setUserId(String.valueOf(dingEmployeeInfo.getAccountId()));
}
}else {
commonLog.setUserId(String.valueOf(userInfo.getId()));
}
commonLog.setUserRole("政府工作人员");
commonLog.setAreaCode(userInfo.getRegionCode());
String description = optLog.getDescription();
if (description.equals("登录")){
commonLog.setActionType(1);
}else if (description.equals("退出登录")){
commonLog.setActionType(2);
}else {
commonLog.setActionType(3);
}
String actionId = UUID.randomUUID().toString();
commonLog.setActionId(actionId);
commonLog.setActionTime(df.format(optLog.getStartTime()));
commonLog.setActionDuration(optLog.getConsumingTime());
commonLog.setActionStatus(0);
commonLog.setAppCode("");
//判断当天日志文件是否存在
DateTimeFormatter dfNow = DateTimeFormatter.ofPattern("yyyyMMdd");
String fileName = LOG_RECORD_ADDRESS + LOG_FILE + dfNow.format(LocalDateTime.now()) + ".log";
boolean fileExist = FileUtil.exist(fileName);
if (!fileExist){
//不存在则创建当天日志文件
FileUtil.touch(fileName);
}
//写入通用规则
FileWriter writer = new FileWriter(fileName);
writer.append(JSONUtil.toJsonStr(commonLog));
if (commonLog.getActionType() == 3){
CommonLog commonLogEnd = new CommonLog();
BeanUtil.copyProperties(commonLog,commonLogEnd);
commonLogEnd.setActionType(4);
writer.append(JSONUtil.toJsonStr(commonLogEnd));
}
}
//记录最后一个节点位置
FileWriter writer = new FileWriter(LOG_RECORD_ADDRESS + LOG_ID_FILE);
writer.write(String.valueOf(logList.get(logList.size() - 1).getId()));


Loading…
Cancel
Save