From 8f6a5bd3e79d9419823f345c076d3f1febefb0df Mon Sep 17 00:00:00 2001 From: xujun Date: Tue, 21 Apr 2026 16:49:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 398 +++++++++--------- .../main/resources/mapper/SysRiskMapper.xml | 6 +- 2 files changed, 194 insertions(+), 210 deletions(-) diff --git a/README.md b/README.md index c06bf78..da5787d 100644 --- a/README.md +++ b/README.md @@ -139,22 +139,17 @@ graph LR User[用户] --> Login[登录认证] User --> Menu[菜单访问] User --> Data[数据操作] - Login --> Auth[认证授权] Auth --> Token[Token管理] Auth --> Redis[Redis缓存] - Menu --> Perm[权限验证] Role[角色] --> Perm - Data --> LogFilter[日志过滤器] LogFilter --> LogBus[日志总线] LogBus --> MQ[RabbitMQ] MQ --> LogMq[日志消费者] LogMq --> ES[Elasticsearch] - Cache[Redis缓存] --> Data - Gen[代码生成] --> DB[数据库] Gen --> Velocity[Velocity模板] ``` @@ -170,7 +165,6 @@ graph TD xtools-app --> gen[xtools-app-gen
代码生成模块] xtools-app --> monitor[xtools-app-monitor
监控模块] xtools-app --> standalone[xtools-app-standalone
单体部署模块] - common --> cache[common-cache
缓存模块] common --> call[common-call
远程调用模块] common --> jar[common-jar
JAR管理模块] @@ -179,10 +173,8 @@ graph TD common --> mq[common-mq
消息队列模块] common --> sentinel[common-sentinel
限流模块] common --> task[common-task
异步任务模块] - log --> log-bus[log-bus
日志总线] log --> log-filter[log-filter
日志过滤器] - sys --> sys-api[sys-api
系统API接口] sys --> sys-auth[sys-auth
认证授权] sys --> sys-biz[sys-biz
系统业务逻辑] @@ -194,10 +186,8 @@ graph TD sys --> sys-param[sys-param
系统参数] sys --> sys-scheduled[sys-scheduled
定时任务] sys --> sys-risk[sys-risk
风控管理] - gen --> gen-biz[gen-biz
代码生成业务] gen --> gen-boot[gen-boot
代码生成微服务启动] - monitor --> monitor-boot[monitor-boot
监控服务端] monitor --> monitor-client[monitor-client
监控客户端] ``` @@ -236,7 +226,6 @@ flowchart TB A1 --> A2 --> A3 --> B1 B1 --> B2 --> B3 --> C1 C1 --> C2 --> C3 - A1 -.-> D1 A1 -.-> D2 A1 -.-> D3 @@ -245,19 +234,19 @@ flowchart TB ### 2.3 模块职责 -| 层级 | 模块 | 职责说明 | -|------|------|----------| -| **Controller层** | SysUserController、SysLoginController等 | 接收HTTP请求、参数验证(@Valid)、调用Service层、返回统一响应(Result) | -| **Service层** | SysUserServiceImpl、SysLoginServiceImpl等 | 实现业务逻辑、事务控制(@Transactional)、调用Mapper层、缓存操作 | -| **BaseService层** | SysUserBaseService等 | 继承MyBatis-Plus ServiceImpl,提供基础CRUD操作 | -| **Mapper层** | SysUserMapper、SysRoleMapper等 | 继承MyBatis-Plus BaseMapper,数据库访问、SQL执行 | -| **Entity层** | SysUser、SysRole、SysMenu等 | 数据库实体映射 | -| **DTO层** | Req(请求)、Resp(响应)、Excel | 数据传输对象 | -| **Convert层** | SysUserConvert、SysRoleConvert等 | MapStruct对象转换 | -| **Config层** | SysConfig、ApiConfig等 | 配置类 | -| **MQ层** | SysLogMq、SysTaskMq等 | 消息队列消费者 | -| **Job层** | BaseJob、SysLogJob等 | 定时任务、异步任务 | -| **Utils层** | PasswdUtils、AuthUtils等 | 工具类 | +| 层级 | 模块 | 职责说明 | +|------------------|-----------------------------------------|-------------------------------------------------| +| **Controller层** | SysUserController、SysLoginController等 | 接收HTTP请求、参数验证(@Valid)、调用Service层、返回统一响应(Result) | +| **Service层** | SysUserServiceImpl、SysLoginServiceImpl等 | 实现业务逻辑、事务控制(@Transactional)、调用Mapper层、缓存操作 | +| **BaseService层** | SysUserBaseService等 | 继承MyBatis-Plus ServiceImpl,提供基础CRUD操作 | +| **Mapper层** | SysUserMapper、SysRoleMapper等 | 继承MyBatis-Plus BaseMapper,数据库访问、SQL执行 | +| **Entity层** | SysUser、SysRole、SysMenu等 | 数据库实体映射 | +| **DTO层** | Req(请求)、Resp(响应)、Excel | 数据传输对象 | +| **Convert层** | SysUserConvert、SysRoleConvert等 | MapStruct对象转换 | +| **Config层** | SysConfig、ApiConfig等 | 配置类 | +| **MQ层** | SysLogMq、SysTaskMq等 | 消息队列消费者 | +| **Job层** | BaseJob、SysLogJob等 | 定时任务、异步任务 | +| **Utils层** | PasswdUtils、AuthUtils等 | 工具类 | ### 2.4 包结构设计 @@ -287,12 +276,12 @@ xtools.app.{module} 项目支持两种部署模式: -| 模块 | 说明 | -|------|------| -| **xtools-app-standalone** | 单体部署模式,包含所有模块,通过 spring-boot-maven-plugin 打包为可执行JAR | -| **xtools-app-sys-boot** | 微服务模式 - 系统管理服务 | -| **xtools-app-gen-boot** | 微服务模式 - 代码生成服务 | -| **xtools-app-monitor-boot** | 微服务模式 - 监控服务 | +| 模块 | 说明 | +|-----------------------------|-----------------------------------------------------| +| **xtools-app-standalone** | 单体部署模式,包含所有模块,通过 spring-boot-maven-plugin 打包为可执行JAR | +| **xtools-app-sys-boot** | 微服务模式 - 系统管理服务 | +| **xtools-app-gen-boot** | 微服务模式 - 代码生成服务 | +| **xtools-app-monitor-boot** | 微服务模式 - 监控服务 | ## 三、项目功能设计 @@ -321,6 +310,7 @@ flowchart TD #### 验证码机制 系统支持两种验证码模式(随机切换): + - **GIF动态验证码**:基于 Easy Captcha 生成动态图片验证码 - **算术验证码**:随机生成加减法算术题图片 @@ -332,10 +322,8 @@ flowchart TD graph TD User[用户 SysUser] -->|多对多| UserRole[用户角色关联
SysUserRole] UserRole -->|多对多| Role[角色 SysRole] - Role -->|多对多| RoleMenu[角色菜单关联
SysRoleMenu] RoleMenu -->|多对多| Menu[菜单权限 SysMenu] - Menu --> M1[页面菜单] Menu --> M2[按钮权限] Menu --> M3[接口权限] @@ -348,13 +336,11 @@ flowchart TD A[用户发起请求] --> B{判断请求类型} B -->|微服务请求| C[验证Cloud Token] B -->|常规请求| D[获取请求URI] - C --> C1{Token有效?} C1 -->|无效| C2[返回UNAUTHORIZED] C1 -->|有效| C3[传递头部信息] C3 --> C4[校验掩码设置] C4 --> C5[放行请求] - D --> D1{URI在权限白名单?} D1 -->|是| D2[放行请求] D1 -->|否| D3{获取UID} @@ -373,6 +359,7 @@ flowchart TD #### 认证模式 系统支持两种认证模式,通过请求头 `Cloud` 标识区分: + - **微服务认证**:验证 Cloud Token(一次性令牌,Redis Hash存储) - **常规认证**:验证 UID + AccessToken + URI权限 @@ -393,12 +380,12 @@ flowchart LR #### 日志类型 -| 类型 | 说明 | 处理方式 | -|------|------|----------| -| 操作日志 | 用户操作行为记录 | LogFilter采集 -> MQ -> ES | -| 系统日志 | 系统运行日志 | LogBus记录 -> MQ -> ES | +| 类型 | 说明 | 处理方式 | +|------|----------|---------------------------------| +| 操作日志 | 用户操作行为记录 | LogFilter采集 -> MQ -> ES | +| 系统日志 | 系统运行日志 | LogBus记录 -> MQ -> ES | | 任务日志 | 定时任务执行日志 | BaseJob记录 -> LogBus -> MQ -> ES | -| 错误日志 | 异常和错误信息 | 异常捕获 -> LogBus -> MQ -> ES | +| 错误日志 | 异常和错误信息 | 异常捕获 -> LogBus -> MQ -> ES | #### 日志配置 @@ -416,22 +403,17 @@ flowchart TD A[配置数据源] --> B[测试连接] B --> C[同步数据库] C --> D{读取表信息} - D --> E[获取表列表
DatabaseMetaData] E --> F[过滤排除表] F --> G[生成表信息
GenTable] - G --> H[获取字段信息
DatabaseMetaData] H --> I[处理字段类型
类型映射,表单类型] I --> J[生成字段信息
GenTableColumn] - J --> K[保存到数据库] K --> L{用户操作} - L -->|预览代码| M[Velocity渲染模板] L -->|下载代码| N[Velocity渲染模板] L -->|修改配置| O[保存表和字段配置] - M --> P[返回代码列表
GenCodeDto] N --> Q[打包ZIP下载] ``` @@ -446,15 +428,15 @@ flowchart TD #### 代码生成特性 -| 特性 | 说明 | -|------|------| -| 多数据源 | 支持 MySQL 等多种数据库类型 | -| 表结构同步 | 自动读取表和字段元数据 | -| 智能类型映射 | 自动将数据库类型映射为 Java 类型 | -| 表单类型推断 | 根据字段类型自动推断表单组件 | +| 特性 | 说明 | +|--------|---------------------------| +| 多数据源 | 支持 MySQL 等多种数据库类型 | +| 表结构同步 | 自动读取表和字段元数据 | +| 智能类型映射 | 自动将数据库类型映射为 Java 类型 | +| 表单类型推断 | 根据字段类型自动推断表单组件 | | 查询方式推断 | String类型默认LIKE,时间类型默认范围查询 | -| 模板配置 | 可配置后端和前端项目名称、模块路径等 | -| ZIP下载 | 生成的代码打包为ZIP文件下载 | +| 模板配置 | 可配置后端和前端项目名称、模块路径等 | +| ZIP下载 | 生成的代码打包为ZIP文件下载 | ### 3.4 任务调度设计 @@ -477,12 +459,12 @@ flowchart TD #### 任务类型 -| 类型 | 实现方式 | 说明 | -|------|----------|------| -| 异步任务 | `BaseJob implements Runnable` | 支持分布式锁,防止重复执行 | -| XXL-JOB | `xtools-boot-job-xxl`(可选) | 分布式任务调度平台 | -| 定时任务 | `SysScheduled` | Spring Task 定时任务管理 | -| Spring任务 | `JobInterface.execute()` | Spring 原生任务执行接口 | +| 类型 | 实现方式 | 说明 | +|----------|-------------------------------|--------------------| +| 异步任务 | `BaseJob implements Runnable` | 支持分布式锁,防止重复执行 | +| XXL-JOB | `xtools-boot-job-xxl`(可选) | 分布式任务调度平台 | +| 定时任务 | `SysScheduled` | Spring Task 定时任务管理 | +| Spring任务 | `JobInterface.execute()` | Spring 原生任务执行接口 | #### 任务调度特性 @@ -495,20 +477,20 @@ flowchart TD #### 缓存策略 -| 缓存Key | 说明 | 过期时间 | -|---------|------|----------| -| `xtools-app:uid:{uid}:sm2` | SM2公钥缓存 | 5分钟 | -| `xtools-app:uid:{uid}:captcha` | 验证码缓存 | 60秒 | -| `xtools-app:auth:sys:user:{token}` | 用户认证信息 | 1小时 | -| `xtools-app:auth:sys:uri` | 权限URI缓存 | 永不过期 | -| `xtools-app:auth:cloud:token` | 微服务Token | 60秒 | -| `xtools-app:mq:msg:err:{id}` | MQ消息错误次数 | 60秒 | -| `xtools-app:lock:job:{className}` | 任务分布式锁 | 5分钟 | -| `xtools-app:risk:ip:{ip}` | 风控IP | 永不过期 | -| `xtools-app:risk:uri:{uri}` | 风控URI | 永不过期 | -| `xtools-app:sys:cache:param:{key}` | 系统参数缓存 | 永不过期 | -| `xtools-app:sys:cache:jar:{name}` | JAR包缓存 | 永不过期 | -| `xtools-app:sys:cache:addr:{key}` | 地址缓存 | 1小时 | +| 缓存Key | 说明 | 过期时间 | +|------------------------------------|----------|------| +| `xtools-app:uid:{uid}:sm2` | SM2公钥缓存 | 5分钟 | +| `xtools-app:uid:{uid}:captcha` | 验证码缓存 | 60秒 | +| `xtools-app:auth:sys:user:{token}` | 用户认证信息 | 1小时 | +| `xtools-app:auth:sys:uri` | 权限URI缓存 | 永不过期 | +| `xtools-app:auth:cloud:token` | 微服务Token | 60秒 | +| `xtools-app:mq:msg:err:{id}` | MQ消息错误次数 | 60秒 | +| `xtools-app:lock:job:{className}` | 任务分布式锁 | 5分钟 | +| `xtools-app:risk:ip:{ip}` | 风控IP | 永不过期 | +| `xtools-app:risk:uri:{uri}` | 风控URI | 永不过期 | +| `xtools-app:sys:cache:param:{key}` | 系统参数缓存 | 永不过期 | +| `xtools-app:sys:cache:jar:{name}` | JAR包缓存 | 永不过期 | +| `xtools-app:sys:cache:addr:{key}` | 地址缓存 | 1小时 | #### 缓存架构 @@ -536,9 +518,9 @@ graph TD 项目支持多种文件存储方式(通过 `xtools-app-standalone` 可选配置): -| 存储方式 | 模块 | 说明 | -|---------|------|------| -| S3存储 | `xtools-boot-storage-s3` | 兼容S3协议的对象存储 | +| 存储方式 | 模块 | 说明 | +|------|----------------------------|--------------| +| S3存储 | `xtools-boot-storage-s3` | 兼容S3协议的对象存储 | | 本地文件 | `xtools-boot-storage-file` | 本地文件系统存储(可选) | ## 四、编码规范设计 @@ -547,31 +529,31 @@ graph TD #### 类命名 -| 类型 | 命名规范 | 示例 | -|------|----------|------| -| 实体类 | `Sys` + 模块名 | `SysUser`、`SysRole`、`SysMenu` | -| 请求DTO | 模块名 + `Req` | `SysUserAddReq`、`SysUserPageReq` | -| 响应DTO | 模块名 + `Resp` | `GenTableInfoResp` | -| Excel DTO | 模块名 + `Excel` | `SysDictExcel` | -| Service接口 | 模块名 + `Service` | `SysUserService` | -| Service实现 | 模块名 + `ServiceImpl` | `SysUserServiceImpl` | -| Base Service | 模块名 + `BaseService` | `SysUserBaseService` | -| Controller | 模块名 + `Controller` | `SysUserController` | -| Mapper | 模块名 + `Mapper` | `SysUserMapper` | -| 转换器 | 模块名 + `Convert` | `SysUserConvert` | -| 工具类 | 功能名 + `Utils` | `PasswdUtils`、`AuthUtils` | -| 配置类 | 功能名 + `Config` 或 `Properties` | `SysConfig`、`GenProperties` | +| 类型 | 命名规范 | 示例 | +|--------------|-------------------------------|----------------------------------| +| 实体类 | `Sys` + 模块名 | `SysUser`、`SysRole`、`SysMenu` | +| 请求DTO | 模块名 + `Req` | `SysUserAddReq`、`SysUserPageReq` | +| 响应DTO | 模块名 + `Resp` | `GenTableInfoResp` | +| Excel DTO | 模块名 + `Excel` | `SysDictExcel` | +| Service接口 | 模块名 + `Service` | `SysUserService` | +| Service实现 | 模块名 + `ServiceImpl` | `SysUserServiceImpl` | +| Base Service | 模块名 + `BaseService` | `SysUserBaseService` | +| Controller | 模块名 + `Controller` | `SysUserController` | +| Mapper | 模块名 + `Mapper` | `SysUserMapper` | +| 转换器 | 模块名 + `Convert` | `SysUserConvert` | +| 工具类 | 功能名 + `Utils` | `PasswdUtils`、`AuthUtils` | +| 配置类 | 功能名 + `Config` 或 `Properties` | `SysConfig`、`GenProperties` | #### 方法命名 -| 操作 | 命名规范 | 示例 | -|------|----------|------| -| 查询单个 | `getXxx` | `getUserInfo()` | -| 分页查询 | `pageXxx` | `pageSysUser()` | -| 新增 | `addXxx` / `saveXxx` | `addSysUser()` | -| 修改 | `updateXxx` / `editXxx` | `editUserInfo()` | -| 删除 | `delXxx` / `deleteXxx` | `delSysUser()` | -| 统计 | `countXxx` | — | +| 操作 | 命名规范 | 示例 | +|------|-------------------------|------------------| +| 查询单个 | `getXxx` | `getUserInfo()` | +| 分页查询 | `pageXxx` | `pageSysUser()` | +| 新增 | `addXxx` / `saveXxx` | `addSysUser()` | +| 修改 | `updateXxx` / `editXxx` | `editUserInfo()` | +| 删除 | `delXxx` / `deleteXxx` | `delSysUser()` | +| 统计 | `countXxx` | — | ### 4.2 注释规范 @@ -641,126 +623,126 @@ private static final String CLOUD_FLAG = String.valueOf(Boolean.TRUE); ### 5.1 核心框架依赖 -| 依赖 | 版本 | 用途 | -|------|------|------| -| Spring Boot | 4.0.5 | 应用框架 | -| Spring Framework | 7.0.6 | 核心框架 | -| Spring Cloud | 2025.1.1 | 微服务框架 | -| Spring Cloud Alibaba | 2025.1.0.0 | 微服务组件 | -| Spring Data BOM | 2025.1.4 | 数据访问版本管理 | -| MyBatis-Plus | 3.5.16 | ORM增强工具 | -| MyBatis Spring Boot Starter | 4.0.1 | MyBatis集成 | +| 依赖 | 版本 | 用途 | +|-----------------------------|------------|-----------| +| Spring Boot | 4.0.5 | 应用框架 | +| Spring Framework | 7.0.6 | 核心框架 | +| Spring Cloud | 2025.1.1 | 微服务框架 | +| Spring Cloud Alibaba | 2025.1.0.0 | 微服务组件 | +| Spring Data BOM | 2025.1.4 | 数据访问版本管理 | +| MyBatis-Plus | 3.5.16 | ORM增强工具 | +| MyBatis Spring Boot Starter | 4.0.1 | MyBatis集成 | ### 5.2 数据存储依赖 -| 依赖 | 版本 | 用途 | -|------|------|------| -| Druid | 1.2.28 | 数据库连接池 | -| MySQL Connector/J | 9.6.0 | MySQL数据库驱动 | -| Elasticsearch Client | 9.2.6 | ES搜索引擎客户端 | -| Spring Data Redis | (Spring Boot管理) | Redis集成 | -| Lettuce | 6.8.2 | Redis客户端 | -| Spring AMQP | 4.0.2 | RabbitMQ集成 | -| RabbitMQ Client | 5.27.1 | RabbitMQ客户端 | +| 依赖 | 版本 | 用途 | +|----------------------|-----------------|-------------| +| Druid | 1.2.28 | 数据库连接池 | +| MySQL Connector/J | 9.6.0 | MySQL数据库驱动 | +| Elasticsearch Client | 9.2.6 | ES搜索引擎客户端 | +| Spring Data Redis | (Spring Boot管理) | Redis集成 | +| Lettuce | 6.8.2 | Redis客户端 | +| Spring AMQP | 4.0.2 | RabbitMQ集成 | +| RabbitMQ Client | 5.27.1 | RabbitMQ客户端 | ### 5.3 微服务相关依赖 -| 依赖 | 版本 | 用途 | -|------|------|------| +| 依赖 | 版本 | 用途 | +|--------------|-------|-----------| | Nacos Client | 3.1.1 | 服务注册与配置中心 | -| Sentinel | 1.8.9 | 流量控制与熔断降级 | -| Seata | 2.5.0 | 分布式事务(可用) | -| RocketMQ | 5.3.1 | 消息队列(可用) | +| Sentinel | 1.8.9 | 流量控制与熔断降级 | +| Seata | 2.5.0 | 分布式事务(可用) | +| RocketMQ | 5.3.1 | 消息队列(可用) | ### 5.4 工具库依赖 -| 依赖 | 版本 | 用途 | -|------|------|------| -| Lombok | 1.18.44 | 代码简化 | -| MapStruct | 1.6.3 | 对象映射 | -| FastJSON2 | 2.0.60 | JSON处理 | -| Velocity | 2.4.1 | 模板引擎(代码生成) | -| Jackson | 2.21.2 | JSON序列化 | -| Commons Lang3 | 3.20.0 | 通用工具 | -| Commons IO | 2.21.0 | IO工具 | -| Commons Text | 1.15.0 | 文本处理 | -| Caffeine | 3.2.3 | 本地缓存 | +| 依赖 | 版本 | 用途 | +|---------------|---------|------------| +| Lombok | 1.18.44 | 代码简化 | +| MapStruct | 1.6.3 | 对象映射 | +| FastJSON2 | 2.0.60 | JSON处理 | +| Velocity | 2.4.1 | 模板引擎(代码生成) | +| Jackson | 2.21.2 | JSON序列化 | +| Commons Lang3 | 3.20.0 | 通用工具 | +| Commons IO | 2.21.0 | IO工具 | +| Commons Text | 1.15.0 | 文本处理 | +| Caffeine | 3.2.3 | 本地缓存 | ### 5.5 安全相关依赖 -| 依赖 | 版本 | 用途 | -|------|------|------| -| BouncyCastle (bcprov-jdk18on) | 1.84 | 国密算法(SM2/SM3) | -| Easy Captcha | 1.6.2 | 验证码生成 | -| java-jwt | 4.5.1 | JWT令牌 | +| 依赖 | 版本 | 用途 | +|-------------------------------|-------|---------------| +| BouncyCastle (bcprov-jdk18on) | 1.84 | 国密算法(SM2/SM3) | +| Easy Captcha | 1.6.2 | 验证码生成 | +| java-jwt | 4.5.1 | JWT令牌 | ### 5.6 文档相关依赖 -| 依赖 | 版本 | 用途 | -|------|------|------| -| Knife4j | 4.5.0 | API文档增强 | -| SpringDoc OpenAPI | 3.0.3 | OpenAPI文档 | -| Swagger Annotations | 2.2.48 | API注解 | +| 依赖 | 版本 | 用途 | +|---------------------|--------|-----------| +| Knife4j | 4.5.0 | API文档增强 | +| SpringDoc OpenAPI | 3.0.3 | OpenAPI文档 | +| Swagger Annotations | 2.2.48 | API注解 | ### 5.7 系统监控依赖 -| 依赖 | 版本 | 用途 | -|------|------|------| -| Spring Boot Admin | 4.0.3 | 应用监控 | -| OSHI Core | 6.11.1 | 系统信息采集 | -| Micrometer | 1.16.4 | 指标采集 | +| 依赖 | 版本 | 用途 | +|-------------------|--------|--------| +| Spring Boot Admin | 4.0.3 | 应用监控 | +| OSHI Core | 6.11.1 | 系统信息采集 | +| Micrometer | 1.16.4 | 指标采集 | ### 5.8 文件处理依赖 -| 依赖 | 版本 | 用途 | -|------|------|------| -| Fesod Sheet | 2.0.1-incubating | Excel处理 | -| PDFBox | 3.0.7 | PDF处理 | -| Thumbnailator | 0.4.21 | 图片压缩 | -| S3 SDK | 2.42.34 | S3对象存储客户端 | +| 依赖 | 版本 | 用途 | +|---------------|------------------|-----------| +| Fesod Sheet | 2.0.1-incubating | Excel处理 | +| PDFBox | 3.0.7 | PDF处理 | +| Thumbnailator | 0.4.21 | 图片压缩 | +| S3 SDK | 2.42.34 | S3对象存储客户端 | ### 5.9 其他工具依赖 -| 依赖 | 版本 | 用途 | -|------|------|------| -| XXL-Job Core | 3.4.0 | 分布式任务调度 | -| IP2Region | 3.3.7 | IP归属地查询 | -| UserAgentUtils | 1.21 | 浏览器标识解析 | -| Pinyin4j | 2.5.1 | 拼音转换 | -| ZXing | 3.5.4 | 二维码/条形码 | -| JSoup | 1.22.1 | HTML解析 | -| MMSEG4J | 1.10.0 | 中文分词 | +| 依赖 | 版本 | 用途 | +|----------------|--------|---------| +| XXL-Job Core | 3.4.0 | 分布式任务调度 | +| IP2Region | 3.3.7 | IP归属地查询 | +| UserAgentUtils | 1.21 | 浏览器标识解析 | +| Pinyin4j | 2.5.1 | 拼音转换 | +| ZXing | 3.5.4 | 二维码/条形码 | +| JSoup | 1.22.1 | HTML解析 | +| MMSEG4J | 1.10.0 | 中文分词 | ### 5.10 xtools 内部框架依赖 -| 依赖 | 版本 | 用途 | -|------|------|------| -| xtools-core | 5.0.0 | 核心工具库 | -| xtools-web | 5.0.0 | Web工具库 | -| xtools-extend | 5.0.0 | 扩展工具库 | -| xtools-api | 5.0.0 | API基础库 | -| xtools-boot-api | 5.0.0 | Boot API基础(Result、异常) | -| xtools-boot-core | 5.0.0 | Boot核心(Holder、工具) | -| xtools-boot-cache-redis | 5.0.0 | Redis缓存封装 | -| xtools-boot-db-mybatis-plus | 5.0.0 | MyBatis-Plus封装 | -| xtools-boot-elasticsearch | 5.0.0 | Elasticsearch封装 | -| xtools-boot-ip | 5.0.0 | IP工具封装 | -| xtools-boot-knife4j | 5.0.0 | Knife4j封装 | -| xtools-boot-log | 5.0.0 | 日志封装 | -| xtools-boot-mask | 5.0.0 | 数据脱敏封装 | -| xtools-boot-mq-base | 5.0.0 | 消息队列基础 | -| xtools-boot-mq-rabbit | 5.0.0 | RabbitMQ封装 | -| xtools-boot-storage-base | 5.0.0 | 存储基础 | -| xtools-boot-storage-file | 5.0.0 | 本地文件存储 | -| xtools-boot-storage-s3 | 5.0.0 | S3对象存储 | -| xtools-boot-task | 5.0.0 | 异步任务封装 | -| xtools-boot-thread | 5.0.0 | 线程池封装 | -| xtools-boot-web-base | 5.0.0 | Web基础 | -| xtools-boot-web-filter | 5.0.0 | Web过滤器基础 | -| xtools-boot-job-xxl | 5.0.0 | XXL-Job集成 | -| xtools-cloud-alibaba-nacos | 5.0.0 | Nacos集成 | -| xtools-cloud-alibaba-sentinel | 5.0.0 | Sentinel集成 | -| xtools-cloud-call | 5.0.0 | 微服务远程调用 | +| 依赖 | 版本 | 用途 | +|-------------------------------|-------|-----------------------| +| xtools-core | 5.0.0 | 核心工具库 | +| xtools-web | 5.0.0 | Web工具库 | +| xtools-extend | 5.0.0 | 扩展工具库 | +| xtools-api | 5.0.0 | API基础库 | +| xtools-boot-api | 5.0.0 | Boot API基础(Result、异常) | +| xtools-boot-core | 5.0.0 | Boot核心(Holder、工具) | +| xtools-boot-cache-redis | 5.0.0 | Redis缓存封装 | +| xtools-boot-db-mybatis-plus | 5.0.0 | MyBatis-Plus封装 | +| xtools-boot-elasticsearch | 5.0.0 | Elasticsearch封装 | +| xtools-boot-ip | 5.0.0 | IP工具封装 | +| xtools-boot-knife4j | 5.0.0 | Knife4j封装 | +| xtools-boot-log | 5.0.0 | 日志封装 | +| xtools-boot-mask | 5.0.0 | 数据脱敏封装 | +| xtools-boot-mq-base | 5.0.0 | 消息队列基础 | +| xtools-boot-mq-rabbit | 5.0.0 | RabbitMQ封装 | +| xtools-boot-storage-base | 5.0.0 | 存储基础 | +| xtools-boot-storage-file | 5.0.0 | 本地文件存储 | +| xtools-boot-storage-s3 | 5.0.0 | S3对象存储 | +| xtools-boot-task | 5.0.0 | 异步任务封装 | +| xtools-boot-thread | 5.0.0 | 线程池封装 | +| xtools-boot-web-base | 5.0.0 | Web基础 | +| xtools-boot-web-filter | 5.0.0 | Web过滤器基础 | +| xtools-boot-job-xxl | 5.0.0 | XXL-Job集成 | +| xtools-cloud-alibaba-nacos | 5.0.0 | Nacos集成 | +| xtools-cloud-alibaba-sentinel | 5.0.0 | Sentinel集成 | +| xtools-cloud-call | 5.0.0 | 微服务远程调用 | ## 六、技术选型说明 @@ -843,25 +825,25 @@ private static final String CLOUD_FLAG = String.valueOf(Boolean.TRUE); ### 6.9 其他重要依赖版本 -| 依赖 | 版本 | 用途 | -|------|------|------| -| Spring Cloud Alibaba | 2025.1.0.0 | 微服务框架 | -| Nacos | 3.1.1 | 服务注册与配置中心 | -| Sentinel | 1.8.9 | 流量控制与熔断 | -| FastJSON2 | 2.0.60 | JSON序列化 | -| Lombok | 1.18.44 | 代码简化 | -| MapStruct | 1.6.3 | 对象映射 | -| Velocity | 2.4.1 | 模板引擎 | -| Knife4j | 4.5.0 | API文档增强 | -| BouncyCastle | 1.84 | 加密库 | -| OSHI | 6.11.1 | 系统监控 | -| Easy Captcha | 1.6.2 | 验证码生成 | -| Fesod Sheet | 2.0.1-incubating | Excel处理 | -| Jackson | 2.21.2 | JSON处理 | -| Druid | 1.2.28 | 数据库连接池 | -| Spring Boot Admin | 4.0.3 | 应用监控 | -| java-jwt | 4.5.1 | JWT令牌 | -| XXL-Job | 3.4.0 | 分布式任务调度 | +| 依赖 | 版本 | 用途 | +|----------------------|------------------|-----------| +| Spring Cloud Alibaba | 2025.1.0.0 | 微服务框架 | +| Nacos | 3.1.1 | 服务注册与配置中心 | +| Sentinel | 1.8.9 | 流量控制与熔断 | +| FastJSON2 | 2.0.60 | JSON序列化 | +| Lombok | 1.18.44 | 代码简化 | +| MapStruct | 1.6.3 | 对象映射 | +| Velocity | 2.4.1 | 模板引擎 | +| Knife4j | 4.5.0 | API文档增强 | +| BouncyCastle | 1.84 | 加密库 | +| OSHI | 6.11.1 | 系统监控 | +| Easy Captcha | 1.6.2 | 验证码生成 | +| Fesod Sheet | 2.0.1-incubating | Excel处理 | +| Jackson | 2.21.2 | JSON处理 | +| Druid | 1.2.28 | 数据库连接池 | +| Spring Boot Admin | 4.0.3 | 应用监控 | +| java-jwt | 4.5.1 | JWT令牌 | +| XXL-Job | 3.4.0 | 分布式任务调度 | --- diff --git a/xtools-app-sys/xtools-app-sys-biz/src/main/resources/mapper/SysRiskMapper.xml b/xtools-app-sys/xtools-app-sys-biz/src/main/resources/mapper/SysRiskMapper.xml index 8db5c5f..9dcd33b 100644 --- a/xtools-app-sys/xtools-app-sys-biz/src/main/resources/mapper/SysRiskMapper.xml +++ b/xtools-app-sys/xtools-app-sys-biz/src/main/resources/mapper/SysRiskMapper.xml @@ -8,13 +8,15 @@ REPLACE(sr.DATA, #{ip}, ''), #{ip} ) - WHERE sr.type = #{type} AND sr.sys_type = #{sysType} + WHERE sr.type = #{type} + AND sr.sys_type = #{sysType} UPDATE sys_risk sr SET sr.DATA = REPLACE(sr.DATA, #{ip}, '') - WHERE sr.type = #{type} AND sr.sys_type = #{sysType} + WHERE sr.type = #{type} + AND sr.sys_type = #{sysType} \ No newline at end of file