feat:修复已知问题,提升系统稳定性

This commit is contained in:
njydsz
2024-09-25 11:38:06 +08:00
parent bbed2aadbc
commit 8d094e48ac
493 changed files with 5108 additions and 22521 deletions

View File

@@ -8,9 +8,9 @@
<description>remi-comm-log</description>
<parent>
<groupId>ai.remi.top.cloud</groupId>
<groupId>ai.remi.top.comm</groupId>
<artifactId>remi-comm</artifactId>
<version>3.1.1</version>
<version>3.1.0</version>
</parent>
<!-- 打包上传到私服, 需要和配置文件中的server节点配合使用 -->
@@ -18,12 +18,12 @@
<repository>
<id>maven-releases</id>
<name>release</name>
<url>https://repository.njydsz.com/repository/maven-releases/</url>
<url>https://remi.njydsz.com/repository/remi-top-releases/</url>
</repository>
<snapshotRepository>
<id>maven-snapshots</id>
<name>snapshot</name>
<url>https://repository.njydsz.com/repository/maven-snapshots/</url>
<url>https://remi.njydsz.com/repository/remi-top-snapshots/</url>
</snapshotRepository>
</distributionManagement>
@@ -44,22 +44,17 @@
</dependency>
<!--公共依赖-->
<dependency>
<groupId>ai.remi.top.cloud</groupId>
<groupId>ai.remi.top.comm</groupId>
<artifactId>remi-comm-core</artifactId>
</dependency>
<dependency>
<groupId>ai.remi.top.cloud</groupId>
<groupId>ai.remi.top.comm</groupId>
<artifactId>remi-comm-util</artifactId>
</dependency>
<dependency>
<groupId>ai.remi.top.cloud</groupId>
<groupId>ai.remi.top.comm</groupId>
<artifactId>remi-comm-redis</artifactId>
</dependency>
<!--项目依赖-->
<dependency>
<groupId>ai.remi.top.cloud</groupId>
<artifactId>remi-sys-api</artifactId>
</dependency>
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>

View File

@@ -4,6 +4,7 @@ import ai.remi.comm.core.spring.SpringProperties;
import ai.remi.comm.log.annotation.LogRecord;
import ai.remi.comm.log.domain.OperateLog;
import ai.remi.comm.log.enums.BusinessStatus;
import ai.remi.comm.log.enums.OperatorUser;
import ai.remi.comm.log.filter.PropertyPreExcludeFilter;
import ai.remi.comm.log.service.AsyncLogService;
import ai.remi.comm.redis.service.RedisService;
@@ -14,7 +15,6 @@ import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson2.JSON;
import ai.remi.comm.log.enums.RedisKeyEnum;
import eu.bitwalker.useragentutils.UserAgent;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.MapUtils;
@@ -137,10 +137,10 @@ public class LogRecordAspect {
//从请求头获取操作人
String accessToken = request.getHeader("X-Access-Token");
threadInfo.put("token", accessToken);
threadInfo.put("userId", redisService.hget(RedisKeyEnum.USER_INFO.getKey(accessToken), "id"));
threadInfo.put("userCode", redisService.hget(RedisKeyEnum.USER_INFO.getKey(accessToken), "userCode"));
threadInfo.put("userName", redisService.hget(RedisKeyEnum.USER_INFO.getKey(accessToken), "userName"));
threadInfo.put("userNameEn", redisService.hget(RedisKeyEnum.USER_INFO.getKey(accessToken), "userNameEn"));
threadInfo.put("userId", redisService.hget(OperatorUser.USER_INFO.getKey(accessToken), "id"));
threadInfo.put("userCode", redisService.hget(OperatorUser.USER_INFO.getKey(accessToken), "userCode"));
threadInfo.put("userName", redisService.hget(OperatorUser.USER_INFO.getKey(accessToken), "userName"));
threadInfo.put("userNameEn", redisService.hget(OperatorUser.USER_INFO.getKey(accessToken), "userNameEn"));
//从请求头获取系统语言
threadInfo.put("language", request.getHeader("X-USER-LANGUAGE"));
//从请求头获取业务流水号
@@ -201,7 +201,7 @@ public class LogRecordAspect {
}
// 保存数据库
//asyncLogService.saveOperateLog(operateLog);
asyncLogService.saveOperateLog(operateLog);
} catch (Exception exp) {
// 记录本地异常日志
log.error("异常信息:{}", exp.getMessage());
@@ -272,13 +272,13 @@ public class LogRecordAspect {
*/
private void setOperateUser(String accessToken, OperateLog operateLog) {
if (StringUtils.isNotBlank(accessToken)) {
String id = String.valueOf(redisService.hget(RedisKeyEnum.USER_INFO.getKey(accessToken), "id"));
String id = String.valueOf(redisService.hget(OperatorUser.USER_INFO.getKey(accessToken), "id"));
operateLog.setUserId(id);
String userCode = String.valueOf(redisService.hget(RedisKeyEnum.USER_INFO.getKey(accessToken), "userCode"));
String userCode = String.valueOf(redisService.hget(OperatorUser.USER_INFO.getKey(accessToken), "userCode"));
operateLog.setUserCode(userCode);
String userName = String.valueOf(redisService.hget(RedisKeyEnum.USER_INFO.getKey(accessToken), "userName"));
String userName = String.valueOf(redisService.hget(OperatorUser.USER_INFO.getKey(accessToken), "userName"));
operateLog.setUserName(userName);
String userNameEn = String.valueOf(redisService.hget(RedisKeyEnum.USER_INFO.getKey(accessToken), "userNameEn"));
String userNameEn = String.valueOf(redisService.hget(OperatorUser.USER_INFO.getKey(accessToken), "userNameEn"));
operateLog.setUserNameEn(userNameEn);
}
}

View File

@@ -12,16 +12,12 @@ import lombok.Getter;
*/
@Getter
@AllArgsConstructor
public enum RedisKeyEnum {
public enum OperatorUser {
/**
* 客户登录token,24小时失效 1:{} = customerId 2:{} = token 使用方式 RedisKeysEnum.CUSTOMER_LOGIN_TOKEN.getKey(customerId,token)
*/
APP_CODE("sdt-saas-iam:app-code:{}:{}"),
USER_INFO("sdt-saas-iam:user-info:{}"),
TICKET("sdt-saas-iam:ticket:{}"),
AUTH_CODE("sdt-saas-iam:auth-code:{}"),
ACCESS_TOKEN("sdt-saas-iam:access-token:{}"),
REFRESH_TOKEN("sdt-saas-iam:refresh-token:{}");
APP_CODE("remi-saas-iam:app-code:{}:{}"),
USER_INFO("remi-saas-iam:user-info:{}");
/**

View File

@@ -1,7 +1,14 @@
package ai.remi.comm.log.service;
import ai.remi.comm.log.domain.OperateLog;
import ai.remi.comm.util.auth.CompanyAuthInfo;
import ai.remi.comm.util.auth.RequestHolder;
import ai.remi.comm.util.bean.BeanCopyUtils;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 异步调用日志服务
*/
@@ -12,18 +19,18 @@ public class AsyncLogService {
* 通过OpenFeign客户端注入
*/
//@Resource
//private SysClientApi sysClientApi;
//private IamClientApi iamClientApi;
/**
* 保存系统日志记录
*/
//@Async
//public void saveOperateLog(OperateLog operateLog) {
//CompanyAuthInfo companyAuthInfo = new CompanyAuthInfo();
//companyAuthInfo.setDeptTenantId(operateLog.getDeptTenantId());
//companyAuthInfo.setCompanyTenantId(operateLog.getCompanyTenantId());
//RequestHolder.add(companyAuthInfo);
@Async
public void saveOperateLog(OperateLog operateLog) {
CompanyAuthInfo companyAuthInfo = new CompanyAuthInfo();
companyAuthInfo.setDeptTenantId(operateLog.getDeptTenantId());
companyAuthInfo.setCompanyTenantId(operateLog.getCompanyTenantId());
RequestHolder.add(companyAuthInfo);
//LogRecordPostDTO logRecordPostDTO = BeanCopyUtils.copyPropertiesThird(operateLog, LogRecordPostDTO.class);
//sysClientApi.addLogRecord(logRecordPostDTO);
//}
//iamClientApi.addLogRecord(logRecordPostDTO);
}
}