初始化项目
This commit is contained in:
40
xtools-app-common/xtools-app-common-cache/pom.xml
Normal file
40
xtools-app-common/xtools-app-common-cache/pom.xml
Normal file
@@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.xujun</groupId>
|
||||
<artifactId>xtools-app-common</artifactId>
|
||||
<version>1.0.0</version>
|
||||
</parent>
|
||||
<artifactId>xtools-app-common-cache</artifactId>
|
||||
|
||||
<!-- 依赖 -->
|
||||
<dependencies>
|
||||
<!-- xtools begin -->
|
||||
<!-- xtools-extend -->
|
||||
<dependency>
|
||||
<groupId>org.xujun</groupId>
|
||||
<artifactId>xtools-extend</artifactId>
|
||||
</dependency>
|
||||
<!-- xtools-boot-log -->
|
||||
<dependency>
|
||||
<groupId>org.xujun</groupId>
|
||||
<artifactId>xtools-boot-log</artifactId>
|
||||
</dependency>
|
||||
<!-- xtools-boot-cache-redis -->
|
||||
<dependency>
|
||||
<groupId>org.xujun</groupId>
|
||||
<artifactId>xtools-boot-cache-redis</artifactId>
|
||||
</dependency>
|
||||
<!-- xtools end -->
|
||||
|
||||
<!-- aop -->
|
||||
<dependency>
|
||||
<groupId>org.aspectj</groupId>
|
||||
<artifactId>aspectjweaver</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
@@ -0,0 +1,73 @@
|
||||
package xtools.app.common.cache.aop;
|
||||
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import org.aspectj.lang.ProceedingJoinPoint;
|
||||
import org.aspectj.lang.annotation.Around;
|
||||
import org.aspectj.lang.annotation.Aspect;
|
||||
import org.aspectj.lang.annotation.Pointcut;
|
||||
import org.springframework.stereotype.Component;
|
||||
import xtools.boot.api.model.dto.log.LogTrack;
|
||||
import xtools.boot.log.LogBus;
|
||||
import xtools.boot.log.enums.LogBusBaseType;
|
||||
import xtools.boot.log.holder.LogTrackHolder;
|
||||
import xtools.core.enums.LogLevel;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* <p>Title : RedisServiceAop</p>
|
||||
* <p>Description : RedisServiceAop</p>
|
||||
* <p>DevelopTools : Idea_x64_v2026.1</p>
|
||||
* <p>DevelopSystem : macOS Sequoia 15.7.5</p>
|
||||
* <p>Company : org.xujun</p>
|
||||
*
|
||||
* @author : XuJun
|
||||
* @version : 1.0.0
|
||||
* @date : 2026/2/11 14:07
|
||||
*/
|
||||
@Aspect
|
||||
@Component
|
||||
public class RedisServiceAop {
|
||||
|
||||
/**
|
||||
* 方法切面
|
||||
*/
|
||||
@Pointcut("execution(* xtools.boot.cache.redis.base.RedisService.*(..))")
|
||||
public void methods() {
|
||||
}
|
||||
|
||||
/**
|
||||
* 调用记录
|
||||
*
|
||||
* @param joinPoint 切点
|
||||
* @return 调用结果
|
||||
* @throws Throwable 异常信息
|
||||
*/
|
||||
@Around("methods()")
|
||||
public Object logMethodCall(ProceedingJoinPoint joinPoint) throws Throwable {
|
||||
LogTrack logTrack = LogTrackHolder.getDefNull();
|
||||
if (Objects.isNull(logTrack)) {
|
||||
return joinPoint.proceed();
|
||||
}
|
||||
long startTime = System.currentTimeMillis();
|
||||
String method = joinPoint.getSignature().getName();
|
||||
Object[] args = joinPoint.getArgs();
|
||||
Exception err = null;
|
||||
Object result = null;
|
||||
try {
|
||||
result = joinPoint.proceed();
|
||||
return result;
|
||||
} catch (Exception e) {
|
||||
err = e;
|
||||
throw e;
|
||||
} finally {
|
||||
long endTime = System.currentTimeMillis();
|
||||
JSONObject logData = JSONObject.of("method", method, "args", args, "result", result, "execTime", endTime - startTime);
|
||||
LogBus.init(err == null ? LogLevel.INFO : LogLevel.ERROR, LogBusBaseType.REDIS, logTrack)
|
||||
.data(logData)
|
||||
.error(err)
|
||||
.save();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
107
xtools-app-common/xtools-app-common-cache/src/main/java/xtools/app/common/cache/enums/AppCache.java
vendored
Normal file
107
xtools-app-common/xtools-app-common-cache/src/main/java/xtools/app/common/cache/enums/AppCache.java
vendored
Normal file
@@ -0,0 +1,107 @@
|
||||
package xtools.app.common.cache.enums;
|
||||
|
||||
import xtools.boot.cache.redis.enums.BaseCacheEnum;
|
||||
import xtools.core.extend.TemplateUtils;
|
||||
|
||||
/**
|
||||
* <p>Title : AppCache</p>
|
||||
* <p>Description : AppCache</p>
|
||||
* <p>DevelopTools : Idea_x64_v2026.1</p>
|
||||
* <p>DevelopSystem : macOS Sequoia 15.7.5</p>
|
||||
* <p>Company : org.xujun</p>
|
||||
*
|
||||
* @author : XuJun
|
||||
* @version : 1.0.0
|
||||
* @date : 2026/2/4 16:27
|
||||
*/
|
||||
public enum AppCache implements BaseCacheEnum {
|
||||
|
||||
// uid加密SM2
|
||||
UID_SM2("uid:{}:sm2", 5 * 60L),
|
||||
// uid验证码
|
||||
UID_CAPTCHA("uid:{}:captcha", 60L),
|
||||
|
||||
// SYS 授权用户信息
|
||||
AUTH_SYS_USER("auth:sys:user:", 60 * 60L),
|
||||
// SYS 授权 URI
|
||||
AUTH_SYS_URI("auth:sys:uri", -1L),
|
||||
// CLOUD 授权 TOKEN
|
||||
AUTH_CLOUD_TOKEN("auth:cloud:token", 60L),
|
||||
|
||||
// MQ消息错误次数
|
||||
MQ_MSG_ERR_COUNT("mq:msg:err:", 60L),
|
||||
|
||||
// JOB锁
|
||||
LOCK_JOB("lock:job:", 5 * 60L),
|
||||
|
||||
// 风控IP
|
||||
RISK_IP("risk:ip:", -1L),
|
||||
// 风控URI
|
||||
RISK_URI("risk:uri:", -1L),
|
||||
|
||||
// 系统参数缓存
|
||||
SYS_CACHE_PARAM("sys:cache:param:", -1L),
|
||||
// 系统JAR包缓存
|
||||
SYS_CACHE_JAR("sys:cache:jar:", -1L),
|
||||
// 地址缓存
|
||||
SYS_CACHE_ADDR("sys:cache:addr:", 60 * 60L),
|
||||
// 天气缓存
|
||||
SYS_CACHE_HOME_WEATHER("sys:cache:home:weather:", 30 * 60L),
|
||||
;
|
||||
|
||||
/**
|
||||
* 系统缓存前缀
|
||||
*/
|
||||
private final static String SYS_CACHE_PREFIX = "xtools-app:";
|
||||
|
||||
/**
|
||||
* key
|
||||
*/
|
||||
private final String key;
|
||||
|
||||
/**
|
||||
* 超时时间
|
||||
*/
|
||||
private final Long expireTime;
|
||||
|
||||
/**
|
||||
* 构造方法
|
||||
*
|
||||
* @param key 缓存 key
|
||||
* @param expireTime 过期时间
|
||||
*/
|
||||
AppCache(String key, Long expireTime) {
|
||||
this.key = key;
|
||||
this.expireTime = expireTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取缓存 key
|
||||
*
|
||||
* @param param 参数
|
||||
* @return 缓存 key
|
||||
*/
|
||||
public String key(Object... param) {
|
||||
return SYS_CACHE_PREFIX + TemplateUtils.format(key, param);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取缓存 key
|
||||
*
|
||||
* @return 缓存 key
|
||||
*/
|
||||
@Override
|
||||
public String key() {
|
||||
return SYS_CACHE_PREFIX + key;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取缓存过期时间
|
||||
*
|
||||
* @return 缓存过期时间
|
||||
*/
|
||||
@Override
|
||||
public Long expireTime() {
|
||||
return expireTime;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user