1. 合并base改包代码

This commit is contained in:
chenbowen
2025-09-22 15:10:53 +08:00
670 changed files with 23530 additions and 811 deletions

354
README.md Normal file
View File

@@ -0,0 +1,354 @@
## 🐯 平台简介
![架构图](/.image/common/zt-cloud-architecture.png)
* Java 后端:`master` 分支为 JDK 8 + Spring Boot 2.7`master-jdk17` 分支为 JDK 17/21 + Spring Boot 3.2
* 管理后台的电脑端Vue3 提供 [element-plus](https://gitee.com/ztcode/zt-ui-admin-vue3)、[vben(ant-design-vue)](https://gitee.com/ztcode/zt-ui-admin-vben) 两个版本Vue2 提供 [element-ui](https://gitee.com/zhijiantianya/ruoyi-vue-pro/tree/master/zt-ui-admin) 版本
* 管理后台的移动端:采用 [uni-app](https://github.com/dcloudio/uni-app) 方案,一份代码多终端适配,同时支持 APP、小程序、H5
* 后端采用 Spring Cloud Alibaba 微服务架构,注册中心 + 配置中心 Nacos定时任务 XXL-Job服务保障 Sentinel服务网关 Gateway分布式事务 Seata
* 数据库可使用 MySQL、Oracle、PostgreSQL、SQL Server、MariaDB、国产达梦 DM、TiDB 等,基于 MyBatis Plus、Redis + Redisson 操作
* 消息队列可使用 Event、Redis、RabbitMQ、Kafka、RocketMQ 等
* 权限认证使用 Spring Security & Token & Redis支持多终端、多种用户的认证系统支持 SSO 单点登录
* 支持加载动态权限菜单按钮级别权限控制Redis 缓存提升性能
* 支持 SaaS 多租户,可自定义每个租户的权限,提供透明化的多租户底层封装
* 工作流使用 Flowable支持动态表单、在线设计流程、会签 / 或签、多种任务分配方式
* 高效率开发,使用代码生成器可以一键生成 Java、Vue 前后端代码、SQL 脚本、接口文档,支持单表、树表、主子表
* 实时通信,采用 Spring WebSocket 实现,内置 Token 身份校验,支持 WebSocket 集群
* 集成微信小程序、微信公众号、企业微信、钉钉等三方登陆,集成支付宝、微信等支付与退款
* 集成阿里云、腾讯云等短信渠道,集成 MinIO、阿里云、腾讯云、七牛云等云存储服务
* 集成报表设计器、大屏设计器,通过拖拽即可生成酷炫的报表与大屏
## 🐳 项目关系
![架构演进](/.image/common/zt-roadmap.png)
三个项目的功能对比,可见社区共同整理的 [国产开源项目对比](https://www.yuque.com/xiatian-bsgny/lm0ec1/wqf8mn) 表格。
### 后端项目
| 项目 | Star | 简介 |
|-----------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------|
| [ruoyi-vue-pro](https://gitee.com/zhijiantianya/ruoyi-vue-pro) | [![Gitee star](https://gitee.com/zhijiantianya/ruoyi-vue-pro/badge/star.svg?theme=white)](https://gitee.com/zhijiantianya/ruoyi-vue-pro) [![GitHub stars](https://img.shields.io/github/stars/YunaiV/ruoyi-vue-pro.svg?style=social&label=Stars)](https://github.com/YunaiV/ruoyi-vue-pro) | 基于 Spring Boot 多模块架构 |
| [zt-cloud](https://gitee.com/zhijiantianya/zt-cloud) | [![Gitee star](https://gitee.com/zhijiantianya/zt-cloud/badge/star.svg?theme=white)](https://gitee.com/zhijiantianya/zt-cloud) [![GitHub stars](https://img.shields.io/github/stars/YunaiV/zt-cloud.svg?style=social&label=Stars)](https://github.com/YunaiV/zt-cloud) | 基于 Spring Cloud 微服务架构 |
| [Spring-Boot-Labs](https://gitee.com/ztcode/SpringBoot-Labs) | [![Gitee star](https://gitee.com/ztcode/SpringBoot-Labs/badge/star.svg?theme=white)](https://gitee.com/zhijiantianya/zt-cloud) [![GitHub stars](https://img.shields.io/github/stars/ztcode/SpringBoot-Labs.svg?style=social&label=Stars)](https://github.com/ztcode/SpringBoot-Labs) | 系统学习 Spring Boot & Cloud 专栏 |
### 前端项目
| 项目 | Star | 简介 |
|----------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------|
| [zt-ui-admin-vue3](https://gitee.com/ztcode/zt-ui-admin-vue3) | [![Gitee star](https://gitee.com/ztcode/zt-ui-admin-vue3/badge/star.svg?theme=white)](https://gitee.com/ztcode/zt-ui-admin-vue3) [![GitHub stars](https://img.shields.io/github/stars/ztcode/zt-ui-admin-vue3.svg?style=social&label=Stars)](https://github.com/ztcode/zt-ui-admin-vue3) | 基于 Vue3 + element-plus 实现的管理后台 |
| [zt-ui-admin-vben](https://gitee.com/ztcode/zt-ui-admin-vben) | [![Gitee star](https://gitee.com/ztcode/zt-ui-admin-vben/badge/star.svg?theme=white)](https://gitee.com/ztcode/zt-ui-admin-vben) [![GitHub stars](https://img.shields.io/github/stars/ztcode/zt-ui-admin-vben.svg?style=social&label=Stars)](https://github.com/ztcode/zt-ui-admin-vben) | 基于 Vue3 + vben(ant-design-vue) 实现的管理后台 |
| [zt-mall-uniapp](https://gitee.com/ztcode/zt-mall-uniapp) | [![Gitee star](https://gitee.com/ztcode/zt-mall-uniapp/badge/star.svg?theme=white)](https://gitee.com/ztcode/zt-mall-uniapp) [![GitHub stars](https://img.shields.io/github/stars/ztcode/zt-mall-uniapp.svg?style=social&label=Stars)](https://github.com/ztcode/zt-mall-uniapp) | 基于 uni-app 实现的商城小程序 |
| [zt-ui-admin-vue2](https://gitee.com/ztcode/zt-ui-admin-vue2) | [![Gitee star](https://gitee.com/ztcode/zt-ui-admin-vue2/badge/star.svg?theme=white)](https://gitee.com/ztcode/zt-ui-admin-vue2) [![GitHub stars](https://img.shields.io/github/stars/ztcode/zt-ui-admin-vue2.svg?style=social&label=Stars)](https://github.com/ztcode/zt-ui-admin-vue2) | 基于 Vue2 + element-ui 实现的管理后台 |
| [zt-ui-admin-uniapp](https://gitee.com/ztcode/zt-ui-admin-uniapp) | [![Gitee star](https://gitee.com/ztcode/zt-ui-admin-uniapp/badge/star.svg?theme=white)](https://gitee.com/ztcode/zt-ui-admin-uniapp) [![GitHub stars](https://img.shields.io/github/stars/ztcode/zt-ui-admin-uniapp.svg?style=social&label=Stars)](https://github.com/ztcode/zt-ui-admin-uniapp) | 基于 Vue2 + element-ui 实现的管理后台 |
| [zt-ui-go-view](https://gitee.com/ztcode/zt-ui-go-view) | [![Gitee star](https://gitee.com/ztcode/zt-ui-go-view/badge/star.svg?theme=white)](https://gitee.com/ztcode/zt-ui-go-view) [![GitHub stars](https://img.shields.io/github/stars/ztcode/zt-ui-go-view.svg?style=social&label=Stars)](https://github.com/ztcode/zt-ui-go-view) | 基于 Vue3 + naive-ui 实现的大屏报表 |
## 😎 开源协议
**为什么推荐使用本项目?**
① 本项目采用比 Apache 2.0 更宽松的 [MIT License](https://gitee.com/zhijiantianya/ruoyi-vue-pro/blob/master/LICENSE) 开源协议,个人与企业可 100% 免费使用不用保留类作者、Copyright 信息。
② 代码全部开源,不会像其他项目一样,只开源部分代码,让你无法了解整个项目的架构设计。[国产开源项目对比](https://www.yuque.com/xiatian-bsgny/lm0ec1/wqf8mn)
![开源项目对比](/.image/common/project-vs.png)
③ 代码整洁、架构整洁,遵循《阿里巴巴 Java 开发手册》规范代码注释详细113770 行 Java 代码42462 行代码注释。
## 🤝 项目外包
我们也是接外包滴,如果你有项目想要外包,可以微信联系【**Aix9975**】。
团队包含专业的项目经理、架构师、前端工程师、后端工程师、测试工程师、运维工程师,可以提供全流程的外包服务。
项目可以是商城、SCRM 系统、OA 系统、物流系统、ERP 系统、CMS 系统、HIS 系统、支付系统、IM 聊天、微信公众号、微信小程序等等。
## 🐼 内置功能
系统内置多种多种业务功能,可以用于快速你的业务系统:
![功能分层](/.image/common/ruoyi-vue-pro-biz.png)
* 通用模块(必选):系统功能、基础设施
* 通用模块(可选):工作流程、支付系统、数据报表、会员中心
* 业务系统按需ERP 系统、CRM 系统、商城系统、微信公众号、AI 大模型
> 友情提示:本项目基于 RuoYi-Vue 修改,**重构优化**后端的代码,**美化**前端的界面。
>
> * 额外新增的功能,我们使用 🚀 标记。
> * 重新实现的功能,我们使用 ⭐️ 标记。
🙂 所有功能,都通过 **单元测试** 保证高质量。
### 系统功能
| | 功能 | 描述 |
|-----|-------|---------------------------------|
| | 用户管理 | 用户是系统操作者,该功能主要完成系统用户配置 |
| ⭐️ | 在线用户 | 当前系统中活跃用户状态监控,支持手动踢下线 |
| | 角色管理 | 角色菜单权限分配、设置角色按机构进行数据范围权限划分 |
| | 菜单管理 | 配置系统菜单、操作权限、按钮权限标识等,本地缓存提供性能 |
| | 部门管理 | 配置系统组织机构(公司、部门、小组),树结构展现支持数据权限 |
| | 岗位管理 | 配置系统用户所属担任职务 |
| 🚀 | 租户管理 | 配置系统租户,支持 SaaS 场景下的多租户功能 |
| 🚀 | 租户套餐 | 配置租户套餐,自定每个租户的菜单、操作、按钮的权限 |
| | 字典管理 | 对系统中经常使用的一些较为固定的数据进行维护 |
| 🚀 | 短信管理 | 短信渠道、短息模板、短信日志,对接阿里云、腾讯云等主流短信平台 |
| 🚀 | 邮件管理 | 邮箱账号、邮件模版、邮件发送日志,支持所有邮件平台 |
| 🚀 | 站内信 | 系统内的消息通知,提供站内信模版、站内信消息 |
| 🚀 | 操作日志 | 系统正常操作日志记录和查询,集成 Swagger 生成日志内容 |
| ⭐️ | 登录日志 | 系统登录日志记录查询,包含登录异常 |
| 🚀 | 错误码管理 | 系统所有错误码的管理,可在线修改错误提示,无需重启服务 |
| | 通知公告 | 系统通知公告信息发布维护 |
| 🚀 | 敏感词 | 配置系统敏感词,支持标签分组 |
| 🚀 | 应用管理 | 管理 SSO 单点登录的应用,支持多种 OAuth2 授权方式 |
| 🚀 | 地区管理 | 展示省份、城市、区镇等城市信息,支持 IP 对应城市 |
![功能图](/.image/common/system-feature.png)
### 工作流程
![功能图](/.image/common/bpm-feature.png)
基于 Flowable 构建,可支持信创(国产)数据库,满足中国特色流程操作:
| BPMN 设计器 | 钉钉/飞书设计器 |
|------------------------------|--------------------------------|
| ![](/.image/工作流设计器-bpmn.jpg) | ![](/.image/工作流设计器-simple.jpg) |
> 历经头部企业生产验证,工作流引擎须标配仿钉钉/飞书 + BPMN 双设计器!!!
>
> 前者支持轻量配置简单流程,后者实现复杂场景深度编排
| 功能列表 | 功能描述 | 是否完成 |
|------------|-------------------------------------------------------------------------------------|------|
| SIMPLE 设计器 | 仿钉钉/飞书设计器支持拖拽搭建表单流程10 分钟快速完成审批流程配置 | ✅ |
| BPMN 设计器 | 基于 BPMN 标准开发,适配复杂业务场景,满足多层级审批及流程自动化需求 | ✅ |
| 会签 | 同一个审批节点设置多个人(如 A、B、C 三人,三人会同时收到待办任务),需全部同意之后,审批才可到下一审批节点 | ✅ |
| 或签 | 同一个审批节点设置多个人,任意一个人处理后,就能进入下一个节点 | ✅ |
| 依次审批 | (顺序会签)同一个审批节点设置多个人(如 A、B、C 三人),三人按顺序依次收到待办,即 A 先审批A 提交后 B 才能审批,需全部同意之后,审批才可到下一审批节点 | ✅ |
| 抄送 | 将审批结果通知给抄送人,同一个审批默认排重,不重复抄送给同一人 | ✅ |
| 驳回 | (退回)将审批重置发送给某节点,重新审批。可驳回至发起人、上一节点、任意节点 | ✅ |
| 转办 | A 转给其 B 审批B 审批后,进入下一节点 | ✅ |
| 委派 | A 转给其 B 审批B 审批后,转给 AA 继续审批后进入下一节点 | ✅ |
| 加签 | 允许当前审批人根据需要,自行增加当前节点的审批人,支持向前、向后加签 | ✅ |
| 减签 | (取消加签)在当前审批人操作之前,减少审批人 | ✅ |
| 撤销 | (取消流程)流程发起人,可以对流程进行撤销处理 | ✅ |
| 终止 | 系统管理员,在任意节点终止流程实例 | ✅ |
| 表单权限 | 支持拖拉拽配置表单,每个审批节点可配置只读、编辑、隐藏权限 | ✅ |
| 超时审批 | 配置超时审批时间,超时后自动触发审批通过、不通过、驳回等操作 | ✅ |
| 自动提醒 | 配置提醒时间,到达时间后自动触发短信、邮箱、站内信等通知提醒,支持自定义重复提醒频次 | ✅ |
| 父子流程 | 主流程设置子流程节点,子流程节点会自动触发子流程。子流程结束后,主流程才会执行(继续往下下执行),支持同步子流程、异步子流程 | ✅ |
| 条件分支 | (排它分支)用于在流程中实现决策,即根据条件选择一个分支执行 | ✅ |
| 并行分支 | 允许将流程分成多条分支,不进行条件判断,所有分支都会执行 | ✅ |
| 包容分支 | (条件分支 + 并行分支的结合体)允许基于条件选择多条分支执行,但如果没有任何一个分支满足条件,则可以选择默认分支 | ✅ |
| 路由分支 | 根据条件选择一个分支执行(重定向到指定配置节点),也可以选择默认分支执行(继续往下执行) | ✅ |
| 触发节点 | 执行到该节点,触发 HTTP 请求、HTTP 回调、更新数据、删除数据等 | ✅ |
| 延迟节点 | 执行到该节点,审批等待一段时间再执行,支持固定时长、固定日期等 | ✅ |
| 拓展设置 | 流程前置/后置通知,节点(任务)前置、后置通知,流程报表,自动审批去重,自定流程编号、标题、摘要,流程报表等 | ✅ |
### 支付系统
| | 功能 | 描述 |
|-----|------|---------------------------|
| 🚀 | 应用信息 | 配置商户的应用信息,对接支付宝、微信等多个支付渠道 |
| 🚀 | 支付订单 | 查看用户发起的支付宝、微信等的【支付】订单 |
| 🚀 | 退款订单 | 查看用户发起的支付宝、微信等的【退款】订单 |
| 🚀 | 回调通知 | 查看支付回调业务的【支付】【退款】的通知结果 |
| 🚀 | 接入示例 | 提供接入支付系统的【支付】【退款】的功能实战 |
### 基础设施
| | 功能 | 描述 |
|-----|-----------|----------------------------------------------|
| 🚀 | 代码生成 | 前后端代码的生成Java、Vue、SQL、单元测试支持 CRUD 下载 |
| 🚀 | 系统接口 | 基于 Swagger 自动生成相关的 RESTful API 接口文档 |
| 🚀 | 数据库文档 | 基于 Screw 自动生成数据库文档,支持导出 Word、HTML、MD 格式 |
| | 表单构建 | 拖动表单元素生成相应的 HTML 代码,支持导出 JSON、Vue 文件 |
| 🚀 | 配置管理 | 对系统动态配置常用参数,支持 SpringBoot 加载 |
| ⭐️ | 定时任务 | 在线(添加、修改、删除)任务调度包含执行结果日志 |
| 🚀 | 文件服务 | 支持将文件存储到 S3MinIO、阿里云、腾讯云、七牛云、本地、FTP、数据库等 |
| 🚀 | WebSocket | 提供 WebSocket 接入示例,支持一对一、一对多发送方式 |
| 🚀 | API 日志 | 包括 RESTful API 访问日志、异常日志两部分,方便排查 API 相关的问题 |
| | MySQL 监控 | 监视当前系统数据库连接池状态可进行分析SQL找出系统性能瓶颈 |
| | Redis 监控 | 监控 Redis 数据库的使用情况,使用的 Redis Key 管理 |
| 🚀 | 消息队列 | 基于 Redis 实现消息队列Stream 提供集群消费Pub/Sub 提供广播消费 |
| 🚀 | Java 监控 | 基于 Spring Boot Admin 实现 Java 应用的监控 |
| 🚀 | 链路追踪 | 接入 SkyWalking 组件,实现链路追踪 |
| 🚀 | 日志中心 | 接入 SkyWalking 组件,实现日志中心 |
| 🚀 | 服务保障 | 基于 Redis 实现分布式锁、幂等、限流功能,满足高并发场景 |
| 🚀 | 日志服务 | 轻量级日志中心,查看远程服务器的日志 |
| 🚀 | 单元测试 | 基于 JUnit + Mockito 实现单元测试,保证功能的正确性、代码的质量等 |
![功能图](/.image/common/infra-feature.png)
### 数据报表
| | 功能 | 描述 |
|-----|-------|--------------------|
| 🚀 | 报表设计器 | 支持数据报表、图形报表、打印设计等 |
| 🚀 | 大屏设计器 | 拖拽生成数据大屏,内置几十种图表组件 |
### 微信公众号
| | 功能 | 描述 |
|-----|--------|-------------------------------|
| 🚀 | 账号管理 | 配置接入的微信公众号,可支持多个公众号 |
| 🚀 | 数据统计 | 统计公众号的用户增减、累计用户、消息概况、接口分析等数据 |
| 🚀 | 粉丝管理 | 查看已关注、取关的粉丝列表,可对粉丝进行同步、打标签等操作 |
| 🚀 | 消息管理 | 查看粉丝发送的消息列表,可主动回复粉丝消息 |
| 🚀 | 自动回复 | 自动回复粉丝发送的消息,支持关注回复、消息回复、关键字回复 |
| 🚀 | 标签管理 | 对公众号的标签进行创建、查询、修改、删除等操作 |
| 🚀 | 菜单管理 | 自定义公众号的菜单,也可以从公众号同步菜单 |
| 🚀 | 素材管理 | 管理公众号的图片、语音、视频等素材,支持在线播放语音、视频 |
| 🚀 | 图文草稿箱 | 新增常用的图文素材到草稿箱,可发布到公众号 |
| 🚀 | 图文发表记录 | 查看已发布成功的图文素材,支持删除操作 |
### 商城系统
演示地址:<https://172.16.46.63:30888/mall-preview/>
![功能图](/.image/common/mall-feature.png)
![功能图](/.image/common/mall-preview.png)
### 会员中心
| | 功能 | 描述 |
|-----|------|----------------------------------|
| 🚀 | 会员管理 | 会员是 C 端的消费者,该功能用于会员的搜索与管理 |
| 🚀 | 会员标签 | 对会员的标签进行创建、查询、修改、删除等操作 |
| 🚀 | 会员等级 | 对会员的等级、成长值进行管理,可用于订单折扣等会员权益 |
| 🚀 | 会员分组 | 对会员进行分组,用于用户画像、内容推送等运营手段 |
| 🚀 | 积分签到 | 回馈给签到、消费等行为的积分,会员可订单抵现、积分兑换等途径消耗 |
### ERP 系统
演示地址:<https://172.16.46.63:30888/erp-preview/>
![功能图](/.image/common/erp-feature.png)
### CRM 系统
演示地址:<https://172.16.46.63:30888/crm-preview/>
![功能图](/.image/common/crm-feature.png)
### AI 大模型
演示地址:<https://172.16.46.63:30888/ai-preview/>
![功能图](/.image/common/ai-feature.png)
![功能图](/.image/common/ai-preview.gif)
## 🐨 技术栈
### 微服务
| 项目 | 说明 |
|-----------------------|--------------------|
| `zt-dependencies` | Maven 依赖版本管理 |
| `zt-framework` | Java 框架拓展 |
| `zt-server` | 管理后台 + 用户 APP 的服务端 |
| `zt-module-system` | 系统功能的 Module 模块 |
| `zt-module-member` | 会员中心的 Module 模块 |
| `zt-module-infra` | 基础设施的 Module 模块 |
| `zt-module-bpm` | 工作流程的 Module 模块 |
| `zt-module-pay` | 支付系统的 Module 模块 |
| `zt-module-mall` | 商城系统的 Module 模块 |
| `zt-module-erp` | ERP 系统的 Module 模块 |
| `zt-module-crm` | CRM 系统的 Module 模块 |
| `zt-module-ai` | AI 大模型的 Module 模块 |
| `zt-module-mp` | 微信公众号的 Module 模块 |
| `zt-module-report` | 大屏报表 Module 模块 |
### 框架
| 框架 | 说明 | 版本 | 学习指南 |
|---------------------------------------------------------------------------------------------|------------------|------------|---------------------------------------------------------------------|
| [Spring Cloud Alibaba](https://github.com/alibaba/spring-cloud-alibaba) | 微服务框架 | 2023.0.1 | [文档](https://github.com/YunaiV/SpringBoot-Labs) |
| [Nacos](https://github.com/alibaba/nacos) | 配置中心 & 注册中心 | 2.3.2 | [文档](https://www.iocoder.cn/categories/Nacos/?zt) |
| [RocketMQ](https://github.com/apache/rocketmq) | 消息队列 | 5.2.0 | [文档](https://www.iocoder.cn/categories/RocketMQ/?zt) |
| [Sentinel](https://github.com/alibaba/sentinel) | 服务保障 | 1.8.6 | [文档](https://www.iocoder.cn/categories/Sentinel/?zt) |
| [XXL Job](https://github.com/xuxueli/xxl-job) | 定时任务 | 2.4.0 | [文档](https://www.iocoder.cn/XXL-JOB/good-collection/?zt) |
| [Spring Cloud Gateway](https://github.com/spring-cloud/spring-cloud-gateway) | 服务网关 | 4.1.0 | [文档](https://www.iocoder.cn/categories/Spring-Cloud-Gateway/?zt) |
| [Seata](https://github.com/seata/seata) | 分布式事务 | 1.6.1 | [文档](https://www.iocoder.cn/categories/Seata/?zt) |
| [MySQL](https://www.mysql.com/cn/) | 数据库服务器 | 5.7 / 8.0+ | |
| [Druid](https://github.com/alibaba/druid) | JDBC 连接池、监控组件 | 1.2.23 | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?zt) |
| [MyBatis Plus](https://mp.baomidou.com/) | MyBatis 增强工具包 | 3.5.7 | [文档](http://www.iocoder.cn/Spring-Boot/MyBatis/?zt) |
| [Dynamic Datasource](https://dynamic-datasource.com/) | 动态数据源 | 4.3.1 | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?zt) |
| [Redis](https://redis.io/) | key-value 数据库 | 5.0 / 6.0 | |
| [Redisson](https://github.com/redisson/redisson) | Redis 客户端 | 3.32.0 | [文档](http://www.iocoder.cn/Spring-Boot/Redis/?zt) |
| [Spring MVC](https://github.com/spring-projects/spring-framework/tree/master/spring-webmvc) | MVC 框架 | 6.1.10 | [文档](http://www.iocoder.cn/SpringMVC/MVC/?zt) |
| [Spring Security](https://github.com/spring-projects/spring-security) | Spring 安全框架 | 6.3.1 | [文档](http://www.iocoder.cn/Spring-Boot/Spring-Security/?zt) |
| [Hibernate Validator](https://github.com/hibernate/hibernate-validator) | 参数校验组件 | 8.0.1 | [文档](http://www.iocoder.cn/Spring-Boot/Validation/?zt) |
| [Flowable](https://github.com/flowable/flowable-engine) | 工作流引擎 | 7.0.0 | [文档](https://doc.iocoder.cn/bpm/) |
| [Knife4j](https://gitee.com/xiaoym/knife4j) | Swagger 增强 UI 实现 | 4.5.0 | [文档](http://www.iocoder.cn/Spring-Boot/Swagger/?zt) |
| [SkyWalking](https://skywalking.apache.org/) | 分布式应用追踪系统 | 9.0.0 | [文档](http://www.iocoder.cn/Spring-Boot/SkyWalking/?zt) |
| [Spring Boot Admin](https://github.com/codecentric/spring-boot-admin) | Spring Boot 监控平台 | 3.6.1 | [文档](http://www.iocoder.cn/Spring-Boot/Admin/?zt) |
| [Jackson](https://github.com/FasterXML/jackson) | JSON 工具库 | 2.17.1 | |
| [MapStruct](https://mapstruct.org/) | Java Bean 转换 | 1.6.3 | [文档](http://www.iocoder.cn/Spring-Boot/MapStruct/?zt) |
| [Lombok](https://projectlombok.org/) | 消除冗长的 Java 代码 | 1.18.34 | [文档](http://www.iocoder.cn/Spring-Boot/Lombok/?zt) |
| [JUnit](https://junit.org/junit5/) | Java 单元测试框架 | 5.10.1 | - |
| [Mockito](https://github.com/mockito/mockito) | Java Mock 框架 | 5.7.0 | - |
## 🐷 演示图
### 系统功能
| 模块 | biu | biu | biu |
|----------|-----------------------------|---------------------------|--------------------------|
| 登录 & 首页 | ![登录](/.image/登录.jpg) | ![首页](/.image/首页.jpg) | ![个人中心](/.image/个人中心.jpg) |
| 用户 & 应用 | ![用户管理](/.image/用户管理.jpg) | ![令牌管理](/.image/令牌管理.jpg) | ![应用管理](/.image/应用管理.jpg) |
| 租户 & 套餐 | ![租户管理](/.image/租户管理.jpg) | ![租户套餐](/.image/租户套餐.png) | - |
| 部门 & 岗位 | ![部门管理](/.image/部门管理.jpg) | ![岗位管理](/.image/岗位管理.jpg) | - |
| 菜单 & 角色 | ![菜单管理](/.image/菜单管理.jpg) | ![角色管理](/.image/角色管理.jpg) | - |
| 审计日志 | ![操作日志](/.image/操作日志.jpg) | ![登录日志](/.image/登录日志.jpg) | - |
| 短信 | ![短信渠道](/.image/短信渠道.jpg) | ![短信模板](/.image/短信模板.jpg) | ![短信日志](/.image/短信日志.jpg) |
| 字典 & 敏感词 | ![字典类型](/.image/字典类型.jpg) | ![字典数据](/.image/字典数据.jpg) | ![敏感词](/.image/敏感词.jpg) |
| 错误码 & 通知 | ![错误码管理](/.image/错误码管理.jpg) | ![通知公告](/.image/通知公告.jpg) | - |
### 工作流程
| 模块 | biu | biu | biu |
|---------|---------------------------------|---------------------------------|---------------------------------|
| 流程模型 | ![流程模型-列表](/.image/流程模型-列表.jpg) | ![流程模型-设计](/.image/流程模型-设计.jpg) | ![流程模型-定义](/.image/流程模型-定义.jpg) |
| 表单 & 分组 | ![流程表单](/.image/流程表单.jpg) | ![用户分组](/.image/用户分组.jpg) | - |
| 我的流程 | ![我的流程-列表](/.image/我的流程-列表.jpg) | ![我的流程-发起](/.image/我的流程-发起.jpg) | ![我的流程-详情](/.image/我的流程-详情.jpg) |
| 待办 & 已办 | ![任务列表-审批](/.image/任务列表-审批.jpg) | ![任务列表-待办](/.image/任务列表-待办.jpg) | ![任务列表-已办](/.image/任务列表-已办.jpg) |
| OA 请假 | ![OA请假-列表](/.image/OA请假-列表.jpg) | ![OA请假-发起](/.image/OA请假-发起.jpg) | ![OA请假-详情](/.image/OA请假-详情.jpg) |
### 基础设施
| 模块 | biu | biu | biu |
|---------------|-------------------------------|-----------------------------|---------------------------|
| 代码生成 | ![代码生成](/.image/代码生成.jpg) | ![生成效果](/.image/生成效果.jpg) | - |
| 文档 | ![系统接口](/.image/系统接口.jpg) | ![数据库文档](/.image/数据库文档.jpg) | - |
| 文件 & 配置 | ![文件配置](/.image/文件配置.jpg) | ![文件管理](/.image/文件管理2.jpg) | ![配置管理](/.image/配置管理.jpg) |
| 定时任务 | ![定时任务](/.image/定时任务.jpg) | ![任务日志](/.image/任务日志.jpg) | - |
| API 日志 | ![访问日志](/.image/访问日志.jpg) | ![错误日志](/.image/错误日志.jpg) | - |
| MySQL & Redis | ![MySQL](/.image/MySQL.jpg) | ![Redis](/.image/Redis.jpg) | - |
| 监控平台 | ![Java监控](/.image/Java监控.jpg) | ![链路追踪](/.image/链路追踪.jpg) | ![日志中心](/.image/日志中心.jpg) |
### 支付系统
| 模块 | biu | biu | biu |
|---------|---------------------------|---------------------------------|---------------------------------|
| 商家 & 应用 | ![商户信息](/.image/商户信息.jpg) | ![应用信息-列表](/.image/应用信息-列表.jpg) | ![应用信息-编辑](/.image/应用信息-编辑.jpg) |
| 支付 & 退款 | ![支付订单](/.image/支付订单.jpg) | ![退款订单](/.image/退款订单.jpg) | --- |
### 数据报表
| 模块 | biu | biu | biu |
|-------|---------------------------------|---------------------------------|---------------------------------------|
| 报表设计器 | ![数据报表](/.image/报表设计器-数据报表.jpg) | ![图形报表](/.image/报表设计器-图形报表.jpg) | ![报表设计器-打印设计](/.image/报表设计器-打印设计.jpg) |
| 大屏设计器 | ![大屏列表](/.image/大屏设计器-列表.jpg) | ![大屏预览](/.image/大屏设计器-预览.jpg) | ![大屏编辑](/.image/大屏设计器-编辑.jpg) |
### 移动端(管理后台)
| biu | biu | biu |
|----------------------------------|----------------------------------|----------------------------------|
| ![](/.image/admin-uniapp/01.png) | ![](/.image/admin-uniapp/02.png) | ![](/.image/admin-uniapp/03.png) |
| ![](/.image/admin-uniapp/04.png) | ![](/.image/admin-uniapp/05.png) | ![](/.image/admin-uniapp/06.png) |
| ![](/.image/admin-uniapp/07.png) | ![](/.image/admin-uniapp/08.png) | ![](/.image/admin-uniapp/09.png) |
目前已经实现登录、我的、工作台、编辑资料、头像修改、密码修改、常见问题、关于我们等基础功能。

View File

@@ -2,7 +2,7 @@
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
namespace: ns-d6a0e78ebd674c279614498e4c57b133 namespace: ns-f16a3067ca7b434aad127d15eac82503
name: zt-gateway name: zt-gateway
labels: labels:
app: zt-gateway app: zt-gateway
@@ -18,40 +18,18 @@ spec:
spec: spec:
containers: containers:
- name: zt-gateway - name: zt-gateway
image: 172.16.46.66:10043/yudao/zt-gateway:20250915022009 image: 172.16.46.66:10043/zt/zt-gateway:VERSION_PLACEHOLDER
imagePullPolicy: Always imagePullPolicy: Always
env: env:
- name: TZ - name: TZ
value: Asia/Shanghai value: Asia/Shanghai
ports: ports:
- containerPort: 48080 - containerPort: 48080
readinessProbe:
httpGet:
path: /actuator/health
port: 48080
initialDelaySeconds: 10
periodSeconds: 5
failureThreshold: 3
livenessProbe:
httpGet:
path: /actuator/health
port: 48080
initialDelaySeconds: 30
periodSeconds: 10
failureThreshold: 5
resources:
requests:
cpu: "500m"
memory: "1024Mi"
limits:
cpu: "700m"
memory: "2048Mi"
terminationGracePeriodSeconds: 30
--- ---
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:
namespace: ns-d6a0e78ebd674c279614498e4c57b133 namespace: ns-f16a3067ca7b434aad127d15eac82503
name: zt-gateway name: zt-gateway
spec: spec:
type: NodePort type: NodePort
@@ -67,14 +45,14 @@ spec:
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
namespace: ns-d6a0e78ebd674c279614498e4c57b133 namespace: ns-f16a3067ca7b434aad127d15eac82503
name: zt-module-infra name: zt-module-infra
labels: labels:
app: zt-module-infra app: zt-module-infra
annotations: annotations:
version: "20250915022009" version: "VERSION_PLACEHOLDER"
description: DESC_PLACEHOLDER description: DESC_PLACEHOLDER
rollout.kubernetes.io/change-cause: "DESC_PLACEHOLDER:20250915022009" rollout.kubernetes.io/change-cause: "DESC_PLACEHOLDER:VERSION_PLACEHOLDER"
spec: spec:
replicas: 1 replicas: 1
selector: selector:
@@ -87,7 +65,7 @@ spec:
spec: spec:
containers: containers:
- name: zt-module-infra - name: zt-module-infra
image: 172.16.46.66:10043/yudao/zt-module-infra:20250915022009 image: 172.16.46.66:10043/zt/zt-module-infra:VERSION_PLACEHOLDER
imagePullPolicy: Always imagePullPolicy: Always
env: env:
- name: TZ - name: TZ
@@ -106,13 +84,6 @@ spec:
initialDelaySeconds: 30 initialDelaySeconds: 30
periodSeconds: 10 periodSeconds: 10
failureThreshold: 5 failureThreshold: 5
resources:
requests:
cpu: "500m"
memory: "1024Mi"
limits:
cpu: "700m"
memory: "2048Mi"
terminationGracePeriodSeconds: 30 terminationGracePeriodSeconds: 30
strategy: strategy:
type: RollingUpdate type: RollingUpdate
@@ -123,30 +94,29 @@ spec:
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:
namespace: ns-d6a0e78ebd674c279614498e4c57b133 namespace: ns-f16a3067ca7b434aad127d15eac82503
name: zt-module-infra name: zt-module-infra
spec: spec:
type: NodePort type: ClusterIP
selector: selector:
app: zt-module-infra app: zt-module-infra
ports: ports:
- protocol: TCP - protocol: TCP
port: 48082 port: 48082
targetPort: 48082 targetPort: 48082
nodePort: 30092
--- ---
# zt-module-system # zt-module-system
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
namespace: ns-d6a0e78ebd674c279614498e4c57b133 namespace: ns-f16a3067ca7b434aad127d15eac82503
name: zt-module-system name: zt-module-system
labels: labels:
app: zt-module-system app: zt-module-system
annotations: annotations:
version: "20250915022009" version: "VERSION_PLACEHOLDER"
description: DESC_PLACEHOLDER description: DESC_PLACEHOLDER
rollout.kubernetes.io/change-cause: "DESC_PLACEHOLDER:20250915022009" rollout.kubernetes.io/change-cause: "DESC_PLACEHOLDER:VERSION_PLACEHOLDER"
spec: spec:
replicas: 1 replicas: 1
selector: selector:
@@ -159,7 +129,7 @@ spec:
spec: spec:
containers: containers:
- name: zt-module-system - name: zt-module-system
image: 172.16.46.66:10043/yudao/zt-module-system:20250915022009 image: 172.16.46.66:10043/zt/zt-module-system:VERSION_PLACEHOLDER
imagePullPolicy: Always imagePullPolicy: Always
env: env:
- name: TZ - name: TZ
@@ -178,13 +148,6 @@ spec:
initialDelaySeconds: 30 initialDelaySeconds: 30
periodSeconds: 10 periodSeconds: 10
failureThreshold: 5 failureThreshold: 5
resources:
requests:
cpu: "500m"
memory: "1024Mi"
limits:
cpu: "700m"
memory: "2048Mi"
terminationGracePeriodSeconds: 30 terminationGracePeriodSeconds: 30
strategy: strategy:
type: RollingUpdate type: RollingUpdate
@@ -195,30 +158,29 @@ spec:
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:
namespace: ns-d6a0e78ebd674c279614498e4c57b133 namespace: ns-f16a3067ca7b434aad127d15eac82503
name: zt-module-system name: zt-module-system
spec: spec:
type: NodePort type: ClusterIP
selector: selector:
app: zt-module-system app: zt-module-system
ports: ports:
- protocol: TCP - protocol: TCP
port: 48081 port: 48081
targetPort: 48081 targetPort: 48081
nodePort: 30091
--- ---
# zt-module-bpm # zt-module-bpm
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
namespace: ns-d6a0e78ebd674c279614498e4c57b133 namespace: ns-f16a3067ca7b434aad127d15eac82503
name: zt-module-bpm name: zt-module-bpm
labels: labels:
app: zt-module-bpm app: zt-module-bpm
annotations: annotations:
version: "20250915022009" version: "VERSION_PLACEHOLDER"
description: DESC_PLACEHOLDER description: DESC_PLACEHOLDER
rollout.kubernetes.io/change-cause: "DESC_PLACEHOLDER:20250915022009" rollout.kubernetes.io/change-cause: "DESC_PLACEHOLDER:VERSION_PLACEHOLDER"
spec: spec:
replicas: 1 replicas: 1
selector: selector:
@@ -231,7 +193,7 @@ spec:
spec: spec:
containers: containers:
- name: zt-module-bpm - name: zt-module-bpm
image: 172.16.46.66:10043/yudao/zt-module-bpm:20250915022009 image: 172.16.46.66:10043/zt/zt-module-bpm:VERSION_PLACEHOLDER
imagePullPolicy: Always imagePullPolicy: Always
env: env:
- name: TZ - name: TZ
@@ -250,13 +212,6 @@ spec:
initialDelaySeconds: 30 initialDelaySeconds: 30
periodSeconds: 10 periodSeconds: 10
failureThreshold: 5 failureThreshold: 5
resources:
requests:
cpu: "500m"
memory: "1024Mi"
limits:
cpu: "700m"
memory: "2048Mi"
terminationGracePeriodSeconds: 30 terminationGracePeriodSeconds: 30
strategy: strategy:
type: RollingUpdate type: RollingUpdate
@@ -267,30 +222,29 @@ spec:
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:
namespace: ns-d6a0e78ebd674c279614498e4c57b133 namespace: ns-f16a3067ca7b434aad127d15eac82503
name: zt-module-bpm name: zt-module-bpm
spec: spec:
type: NodePort type: ClusterIP
selector: selector:
app: zt-module-bpm app: zt-module-bpm
ports: ports:
- protocol: TCP - protocol: TCP
port: 48083 port: 48083
targetPort: 48083 targetPort: 48083
nodePort: 30093
--- ---
# zt-module-report # zt-module-report
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
namespace: ns-d6a0e78ebd674c279614498e4c57b133 namespace: ns-f16a3067ca7b434aad127d15eac82503
name: zt-module-report name: zt-module-report
labels: labels:
app: zt-module-report app: zt-module-report
annotations: annotations:
version: "20250915022009" version: "VERSION_PLACEHOLDER"
description: DESC_PLACEHOLDER description: DESC_PLACEHOLDER
rollout.kubernetes.io/change-cause: "DESC_PLACEHOLDER:20250915022009" rollout.kubernetes.io/change-cause: "DESC_PLACEHOLDER:VERSION_PLACEHOLDER"
spec: spec:
replicas: 1 replicas: 1
selector: selector:
@@ -303,7 +257,7 @@ spec:
spec: spec:
containers: containers:
- name: zt-module-report - name: zt-module-report
image: 172.16.46.66:10043/yudao/zt-module-report:20250915022009 image: 172.16.46.66:10043/zt/zt-module-report:VERSION_PLACEHOLDER
imagePullPolicy: Always imagePullPolicy: Always
env: env:
- name: TZ - name: TZ
@@ -322,13 +276,6 @@ spec:
initialDelaySeconds: 30 initialDelaySeconds: 30
periodSeconds: 10 periodSeconds: 10
failureThreshold: 5 failureThreshold: 5
resources:
requests:
cpu: "500m"
memory: "1024Mi"
limits:
cpu: "700m"
memory: "2048Mi"
terminationGracePeriodSeconds: 30 terminationGracePeriodSeconds: 30
strategy: strategy:
type: RollingUpdate type: RollingUpdate
@@ -339,30 +286,29 @@ spec:
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:
namespace: ns-d6a0e78ebd674c279614498e4c57b133 namespace: ns-f16a3067ca7b434aad127d15eac82503
name: zt-module-report name: zt-module-report
spec: spec:
type: NodePort type: ClusterIP
selector: selector:
app: zt-module-report app: zt-module-report
ports: ports:
- protocol: TCP - protocol: TCP
port: 48084 port: 48084
targetPort: 48084 targetPort: 48084
nodePort: 30094
--- ---
# zt-module-template # zt-module-template
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
namespace: ns-d6a0e78ebd674c279614498e4c57b133 namespace: ns-f16a3067ca7b434aad127d15eac82503
name: zt-module-template name: zt-module-template
labels: labels:
app: zt-module-template app: zt-module-template
annotations: annotations:
version: "20250915022009" version: "VERSION_PLACEHOLDER"
description: DESC_PLACEHOLDER description: DESC_PLACEHOLDER
rollout.kubernetes.io/change-cause: "DESC_PLACEHOLDER:20250915022009" rollout.kubernetes.io/change-cause: "DESC_PLACEHOLDER:VERSION_PLACEHOLDER"
spec: spec:
replicas: 1 replicas: 1
selector: selector:
@@ -375,14 +321,25 @@ spec:
spec: spec:
containers: containers:
- name: zt-module-template - name: zt-module-template
image: 172.16.46.66:10043/yudao/zt-module-template:20250915022009 image: 172.16.46.66:10043/zt/zt-module-template:VERSION_PLACEHOLDER
resources: imagePullPolicy: Always
requests: env:
cpu: "500m" - name: TZ
memory: "1024Mi" value: Asia/Shanghai
limits: readinessProbe:
cpu: "700m" httpGet:
memory: "2048Mi" path: /actuator/health
port: 48100
initialDelaySeconds: 10
periodSeconds: 5
failureThreshold: 3
livenessProbe:
httpGet:
path: /actuator/health
port: 48100
initialDelaySeconds: 30
periodSeconds: 10
failureThreshold: 5
terminationGracePeriodSeconds: 30 terminationGracePeriodSeconds: 30
strategy: strategy:
type: RollingUpdate type: RollingUpdate
@@ -393,14 +350,13 @@ spec:
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:
namespace: ns-d6a0e78ebd674c279614498e4c57b133 namespace: ns-f16a3067ca7b434aad127d15eac82503
name: zt-module-template name: zt-module-template
spec: spec:
type: NodePort type: ClusterIP
selector: selector:
app: zt-module-template app: zt-module-template
ports: ports:
- protocol: TCP - protocol: TCP
port: 48100 port: 48100
targetPort: 48100 targetPort: 48100
nodePort: 30090

68
pom.xml
View File

@@ -18,46 +18,13 @@
<module>zt-module-infra</module> <module>zt-module-infra</module>
<module>zt-module-bpm</module> <module>zt-module-bpm</module>
<module>zt-module-report</module> <module>zt-module-report</module>
<module>zt-module-mp</module> <!-- <module>zt-module-mp</module>-->
<!-- <module>zt-module-ai</module>--> <!-- <module>zt-module-ai</module>-->
<module>zt-module-template</module> <module>zt-module-template</module>
<module>zt-module-databus</module> <!-- <module>zt-module-iot</module>-->
<module>zt-module-rule</module> <!-- <module>zt-module-databus</module>-->
<module>zt-module-html2pdf</module> <!-- <module>zt-module-rule</module>-->
<!-- <module>zt-module-html2pdf</module>-->
<!-- <module>zt-module-base</module>-->
<!-- <module>zt-module-contract-order</module>-->
<!-- <module>zt-module-manage</module>-->
<!-- <module>zt-module-capital</module>-->
<!-- <module>zt-module-metering-test</module>-->
<!-- <module>zt-module-receive-deliver</module>-->
<!-- <module>zt-module-customs</module>-->
<!-- <module>zt-module-exchange</module>-->
<!-- <module>zt-module-price</module>-->
<!-- <module>zt-module-settle</module>-->
<!-- <module>zt-module-bill</module>-->
<!-- <module>zt-module-purchase</module>-->
<!-- <module>zt-module-sell</module>-->
<!-- <module>zt-module-indicator</module>-->
<!-- <module>zt-module-product</module>-->
<!-- <module>zt-module-energy</module>-->
<!-- <module>zt-module-quality</module>-->
<!-- <module>zt-module-warehouse</module>-->
<!-- <module>zt-module-backend-logistics</module>-->
<!-- <module>zt-module-jy-business</module>-->
<!-- <module>zt-module-jy-manage</module>-->
<!-- <module>zt-module-jy-resource</module>-->
<!-- <module>zt-module-jy-office</module>-->
<!-- <module>zt-module-jy-report</module>-->
<!-- <module>zt-module-jy-iot</module>-->
<!-- <module>base-server</module>-->
<!-- <module>manage-server</module>-->
<!-- <module>supply-server</module>-->
<!-- <module>mes-server</module>-->
<!-- <module>logistics-server</module>-->
<!-- <module>qms-server</module>-->
</modules> </modules>
<name>${project.artifactId}</name> <name>${project.artifactId}</name>
@@ -206,11 +173,6 @@
<!-- 使用 huawei / aliyun 的 Maven 源,提升下载速度 --> <!-- 使用 huawei / aliyun 的 Maven 源,提升下载速度 -->
<repositories> <repositories>
<repository>
<id>ZT</id>
<name>中铜 ZStack 私服</name>
<url>http://172.16.46.63:30708/repository/test/</url>
</repository>
<repository> <repository>
<id>huaweicloud</id> <id>huaweicloud</id>
<name>huawei</name> <name>huawei</name>
@@ -235,7 +197,15 @@
<name>Spring Snapshots</name> <name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url> <url>https://repo.spring.io/snapshot</url>
<releases> <releases>
<enabled>true</enabled> <enabled>false</enabled>
</releases>
</repository>
<repository>
<id>ZT</id>
<name>中铜 ZStack 私服</name>
<url>http://172.16.46.63:30708/repository/test/</url>
<releases>
<enabled>false</enabled>
</releases> </releases>
</repository> </repository>
</repositories> </repositories>
@@ -294,15 +264,9 @@
</properties> </properties>
</profile> </profile>
<profile> <profile>
<id>liss</id> <id>chenbowen</id>
<properties> <properties>
<config.namespace>liss</config.namespace> <config.namespace>chenbowen</config.namespace>
</properties>
</profile>
<profile>
<id>qsj</id>
<properties>
<config.namespace>qsj</config.namespace>
</properties> </properties>
</profile> </profile>
</profiles> </profiles>

View File

@@ -1,5 +1,5 @@
# encoding=utf8 # encoding=utf8
"""芋道系统数据库迁移工具 """ZT系统数据库迁移工具
Author: dhb52 (https://gitee.com/dhb52) Author: dhb52 (https://gitee.com/dhb52)
@@ -16,7 +16,7 @@ from typing import Dict, Generator, Optional, Tuple, Union
from simple_ddl_parser import DDLParser from simple_ddl_parser import DDLParser
PREAMBLE = """/* PREAMBLE = """/*
Zt Database Transfer Tool Cloud Database Transfer Tool
Source Server Type : MySQL Source Server Type : MySQL
@@ -828,7 +828,7 @@ class OpengaussConvertor(KingbaseConvertor):
def main(): def main():
parser = argparse.ArgumentParser(description="芋道系统数据库转换工具") parser = argparse.ArgumentParser(description="ZT系统数据库转换工具")
parser.add_argument( parser.add_argument(
"type", "type",
type=str, type=str,
@@ -837,7 +837,7 @@ def main():
) )
args = parser.parse_args() args = parser.parse_args()
sql_file = pathlib.Path("../mysql/ruoyi-vue-pro.sql").resolve().as_posix() sql_file = pathlib.Path("../mysql/在线文档管理表结构.sql").resolve().as_posix()
convertor = None convertor = None
if args.type == "postgres": if args.type == "postgres":
convertor = PostgreSQLConvertor(sql_file) convertor = PostgreSQLConvertor(sql_file)

View File

@@ -1,18 +1,19 @@
package com.zt.plat.framework.common.biz.system.oauth2; package com.zt.plat.framework.common.biz.system.oauth2;
import com.zt.plat.framework.common.enums.RpcConstants;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.biz.system.oauth2.dto.OAuth2AccessTokenCheckRespDTO; import com.zt.plat.framework.common.biz.system.oauth2.dto.OAuth2AccessTokenCheckRespDTO;
import com.zt.plat.framework.common.biz.system.oauth2.dto.OAuth2AccessTokenCreateReqDTO; import com.zt.plat.framework.common.biz.system.oauth2.dto.OAuth2AccessTokenCreateReqDTO;
import com.zt.plat.framework.common.biz.system.oauth2.dto.OAuth2AccessTokenRespDTO; import com.zt.plat.framework.common.biz.system.oauth2.dto.OAuth2AccessTokenRespDTO;
import com.zt.plat.framework.common.enums.RpcConstants; import io.swagger.v3.oas.annotations.tags.Tag;
import com.zt.plat.framework.common.pojo.CommonResult;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.Parameters;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.Valid;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import jakarta.validation.Valid;
@FeignClient(name = RpcConstants.SYSTEM_NAME) // TODO 芋艿fallbackFactory = @FeignClient(name = RpcConstants.SYSTEM_NAME) // TODO 芋艿fallbackFactory =
@Tag(name = "RPC 服务 - OAuth2.0 令牌") @Tag(name = "RPC 服务 - OAuth2.0 令牌")
public interface OAuth2TokenCommonApi { public interface OAuth2TokenCommonApi {

View File

@@ -2,9 +2,9 @@ package com.zt.plat.framework.common.biz.system.tenant;
import com.zt.plat.framework.common.enums.RpcConstants; import com.zt.plat.framework.common.enums.RpcConstants;
import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.framework.common.pojo.CommonResult;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;

View File

@@ -1,9 +1,9 @@
package com.zt.plat.framework.common.exception.util; package com.zt.plat.framework.common.exception.util;
import com.google.common.annotations.VisibleForTesting;
import com.zt.plat.framework.common.exception.ErrorCode; import com.zt.plat.framework.common.exception.ErrorCode;
import com.zt.plat.framework.common.exception.ServiceException; import com.zt.plat.framework.common.exception.ServiceException;
import com.zt.plat.framework.common.exception.enums.GlobalErrorCodeConstants; import com.zt.plat.framework.common.exception.enums.GlobalErrorCodeConstants;
import com.google.common.annotations.VisibleForTesting;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
/** /**

View File

@@ -3,9 +3,9 @@ package com.zt.plat.framework.common.util.collection;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.ObjUtil;
import com.zt.plat.framework.common.core.KeyValue;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
import com.zt.plat.framework.common.core.KeyValue;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;

View File

@@ -2,6 +2,7 @@ package com.zt.plat.framework.common.validation;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.zt.plat.framework.common.util.validation.ValidationUtils; import com.zt.plat.framework.common.util.validation.ValidationUtils;
import jakarta.validation.ConstraintValidator; import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext; import jakarta.validation.ConstraintValidatorContext;

View File

@@ -1,11 +1,11 @@
package com.zt.plat.framework.business.filter; package com.zt.plat.framework.business.filter;
import com.esotericsoftware.minlog.Log;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.zt.plat.framework.common.util.spring.SpringUtils; import com.zt.plat.framework.common.util.spring.SpringUtils;
import com.zt.plat.module.infra.api.businessfile.BusinessFileApi; import com.zt.plat.module.infra.api.businessfile.BusinessFileApi;
import com.zt.plat.module.infra.api.businessfile.dto.BusinessFileSaveReqDTO; import com.zt.plat.module.infra.api.businessfile.dto.BusinessFileSaveReqDTO;
import com.esotericsoftware.minlog.Log;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import jakarta.servlet.*; import jakarta.servlet.*;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;

View File

@@ -1,10 +1,10 @@
package com.zt.plat.framework.business.interceptor; package com.zt.plat.framework.business.interceptor;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.zt.plat.framework.business.annotation.FileUploadController; import com.zt.plat.framework.business.annotation.FileUploadController;
import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.CommonResultCodeEnum; import com.zt.plat.framework.common.pojo.CommonResultCodeEnum;
import com.zt.plat.framework.common.pojo.CompanyDeptInfo; import com.zt.plat.framework.common.pojo.CompanyDeptInfo;
import com.fasterxml.jackson.databind.ObjectMapper;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;

View File

@@ -1,13 +1,13 @@
package com.zt.plat.framework.datapermission.config; package com.zt.plat.framework.datapermission.config;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.DataPermissionInterceptor;
import com.zt.plat.framework.datapermission.core.aop.DataPermissionAnnotationAdvisor; import com.zt.plat.framework.datapermission.core.aop.DataPermissionAnnotationAdvisor;
import com.zt.plat.framework.datapermission.core.db.DataPermissionRuleHandler; import com.zt.plat.framework.datapermission.core.db.DataPermissionRuleHandler;
import com.zt.plat.framework.datapermission.core.rule.DataPermissionRule; import com.zt.plat.framework.datapermission.core.rule.DataPermissionRule;
import com.zt.plat.framework.datapermission.core.rule.DataPermissionRuleFactory; import com.zt.plat.framework.datapermission.core.rule.DataPermissionRuleFactory;
import com.zt.plat.framework.datapermission.core.rule.DataPermissionRuleFactoryImpl; import com.zt.plat.framework.datapermission.core.rule.DataPermissionRuleFactoryImpl;
import com.zt.plat.framework.mybatis.core.util.MyBatisUtils; import com.zt.plat.framework.mybatis.core.util.MyBatisUtils;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.DataPermissionInterceptor;
import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;

View File

@@ -5,6 +5,7 @@ import com.zt.plat.framework.common.biz.system.permission.PermissionCommonApi;
import com.zt.plat.framework.datapermission.core.rule.dept.DeptDataPermissionRule; import com.zt.plat.framework.datapermission.core.rule.dept.DeptDataPermissionRule;
import com.zt.plat.framework.datapermission.core.rule.dept.DeptDataPermissionRuleCustomizer; import com.zt.plat.framework.datapermission.core.rule.dept.DeptDataPermissionRuleCustomizer;
import com.zt.plat.framework.security.core.LoginUser; import com.zt.plat.framework.security.core.LoginUser;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;

View File

@@ -3,7 +3,6 @@ package com.zt.plat.framework.datapermission.core.rule.dept;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
import com.zt.plat.framework.common.biz.system.permission.PermissionCommonApi; import com.zt.plat.framework.common.biz.system.permission.PermissionCommonApi;
import com.zt.plat.framework.common.biz.system.permission.dto.DeptDataPermissionRespDTO; import com.zt.plat.framework.common.biz.system.permission.dto.DeptDataPermissionRespDTO;
import com.zt.plat.framework.common.enums.UserTypeEnum; import com.zt.plat.framework.common.enums.UserTypeEnum;
@@ -15,6 +14,7 @@ import com.zt.plat.framework.mybatis.core.util.MyBatisUtils;
import com.zt.plat.framework.security.core.LoginUser; import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.framework.tenant.core.context.CompanyContextHolder; import com.zt.plat.framework.tenant.core.context.CompanyContextHolder;
import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.sf.jsqlparser.expression.Alias; import net.sf.jsqlparser.expression.Alias;

View File

@@ -3,12 +3,12 @@ package com.zt.plat.framework.datapermission.core.rule.dept;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ReflectUtil; import cn.hutool.core.util.ReflectUtil;
import com.zt.plat.framework.common.biz.system.permission.PermissionCommonApi; import com.zt.plat.framework.common.biz.system.permission.PermissionCommonApi;
import com.zt.plat.framework.common.biz.system.permission.dto.DeptDataPermissionRespDTO;
import com.zt.plat.framework.common.enums.UserTypeEnum; import com.zt.plat.framework.common.enums.UserTypeEnum;
import com.zt.plat.framework.common.util.collection.SetUtils; import com.zt.plat.framework.common.util.collection.SetUtils;
import com.zt.plat.framework.security.core.LoginUser; import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.framework.test.core.ut.BaseMockitoUnitTest; import com.zt.plat.framework.test.core.ut.BaseMockitoUnitTest;
import com.zt.plat.framework.common.biz.system.permission.dto.DeptDataPermissionRespDTO;
import net.sf.jsqlparser.expression.Alias; import net.sf.jsqlparser.expression.Alias;
import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.expression.Expression;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;

View File

@@ -1,8 +1,6 @@
package com.zt.plat.framework.tenant.config; package com.zt.plat.framework.tenant.config;
import cn.hutool.extra.spring.SpringUtil; import cn.hutool.extra.spring.SpringUtil;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor;
import com.zt.plat.framework.common.biz.system.tenant.TenantCommonApi; import com.zt.plat.framework.common.biz.system.tenant.TenantCommonApi;
import com.zt.plat.framework.common.enums.WebFilterOrderEnum; import com.zt.plat.framework.common.enums.WebFilterOrderEnum;
import com.zt.plat.framework.mybatis.core.util.MyBatisUtils; import com.zt.plat.framework.mybatis.core.util.MyBatisUtils;
@@ -24,6 +22,8 @@ import com.zt.plat.framework.tenant.core.web.TenantContextWebFilter;
import com.zt.plat.framework.tenant.core.web.TenantVisitContextInterceptor; import com.zt.plat.framework.tenant.core.web.TenantVisitContextInterceptor;
import com.zt.plat.framework.web.config.WebProperties; import com.zt.plat.framework.web.config.WebProperties;
import com.zt.plat.framework.web.core.handler.GlobalExceptionHandler; import com.zt.plat.framework.web.core.handler.GlobalExceptionHandler;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;

View File

@@ -1,7 +1,7 @@
package com.zt.plat.framework.tenant.config; package com.zt.plat.framework.tenant.config;
import com.zt.plat.framework.common.biz.system.tenant.TenantCommonApi;
import com.zt.plat.framework.tenant.core.rpc.TenantRequestInterceptor; import com.zt.plat.framework.tenant.core.rpc.TenantRequestInterceptor;
import com.zt.plat.framework.common.biz.system.tenant.TenantCommonApi;
import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.cloud.openfeign.EnableFeignClients;

View File

@@ -1,7 +1,8 @@
package com.zt.plat.framework.tenant.core.context; package com.zt.plat.framework.tenant.core.context;
import com.alibaba.ttl.TransmittableThreadLocal; import cn.hutool.core.util.StrUtil;
import com.zt.plat.framework.common.enums.DocumentEnum; import com.zt.plat.framework.common.enums.DocumentEnum;
import com.alibaba.ttl.TransmittableThreadLocal;
/** /**
* 多租户上下文 Holder * 多租户上下文 Holder

View File

@@ -1,12 +1,12 @@
package com.zt.plat.framework.tenant.core.db; package com.zt.plat.framework.tenant.core.db;
import com.zt.plat.framework.tenant.config.TenantProperties;
import com.zt.plat.framework.tenant.core.aop.TenantIgnore;
import com.zt.plat.framework.tenant.core.context.TenantContextHolder;
import com.baomidou.mybatisplus.core.metadata.TableInfo; import com.baomidou.mybatisplus.core.metadata.TableInfo;
import com.baomidou.mybatisplus.core.metadata.TableInfoHelper; import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler; import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler;
import com.baomidou.mybatisplus.extension.toolkit.SqlParserUtils; import com.baomidou.mybatisplus.extension.toolkit.SqlParserUtils;
import com.zt.plat.framework.tenant.config.TenantProperties;
import com.zt.plat.framework.tenant.core.aop.TenantIgnore;
import com.zt.plat.framework.tenant.core.context.TenantContextHolder;
import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.expression.LongValue; import net.sf.jsqlparser.expression.LongValue;

View File

@@ -3,11 +3,11 @@ package com.zt.plat.framework.tenant.core.job;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.exceptions.ExceptionUtil; import cn.hutool.core.exceptions.ExceptionUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.xxl.job.core.context.XxlJobContext;
import com.xxl.job.core.context.XxlJobHelper;
import com.zt.plat.framework.common.util.json.JsonUtils; import com.zt.plat.framework.common.util.json.JsonUtils;
import com.zt.plat.framework.tenant.core.service.TenantFrameworkService; import com.zt.plat.framework.tenant.core.service.TenantFrameworkService;
import com.zt.plat.framework.tenant.core.util.TenantUtils; import com.zt.plat.framework.tenant.core.util.TenantUtils;
import com.xxl.job.core.context.XxlJobContext;
import com.xxl.job.core.context.XxlJobHelper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.exception.ExceptionUtils; import org.apache.commons.lang3.exception.ExceptionUtils;

View File

@@ -1,6 +1,7 @@
package com.zt.plat.framework.tenant.core.rpc; package com.zt.plat.framework.tenant.core.rpc;
import com.zt.plat.framework.tenant.core.context.TenantContextHolder; import com.zt.plat.framework.tenant.core.context.TenantContextHolder;
import com.zt.plat.framework.web.core.util.WebFrameworkUtils;
import feign.RequestInterceptor; import feign.RequestInterceptor;
import feign.RequestTemplate; import feign.RequestTemplate;

View File

@@ -1,9 +1,9 @@
package com.zt.plat.framework.tenant.core.service; package com.zt.plat.framework.tenant.core.service;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.biz.system.tenant.TenantCommonApi;
import com.google.common.cache.CacheLoader; import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache; import com.google.common.cache.LoadingCache;
import com.zt.plat.framework.common.biz.system.tenant.TenantCommonApi;
import com.zt.plat.framework.common.pojo.CommonResult;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows; import lombok.SneakyThrows;

View File

@@ -2,12 +2,12 @@ package com.zt.plat.framework.tenant.core.web;
import com.zt.plat.framework.tenant.core.context.TenantContextHolder; import com.zt.plat.framework.tenant.core.context.TenantContextHolder;
import com.zt.plat.framework.web.core.util.WebFrameworkUtils; import com.zt.plat.framework.web.core.util.WebFrameworkUtils;
import org.springframework.web.filter.OncePerRequestFilter;
import jakarta.servlet.FilterChain; import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException; import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.filter.OncePerRequestFilter;
import java.io.IOException; import java.io.IOException;
/** /**

View File

@@ -16,6 +16,11 @@
package org.springframework.messaging.handler.invocation; package org.springframework.messaging.handler.invocation;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Type;
import java.util.Arrays;
import com.zt.plat.framework.tenant.core.context.TenantContextHolder; import com.zt.plat.framework.tenant.core.context.TenantContextHolder;
import com.zt.plat.framework.tenant.core.util.TenantUtils; import com.zt.plat.framework.tenant.core.util.TenantUtils;
import org.springframework.core.DefaultParameterNameDiscoverer; import org.springframework.core.DefaultParameterNameDiscoverer;
@@ -27,11 +32,6 @@ import org.springframework.messaging.Message;
import org.springframework.messaging.handler.HandlerMethod; import org.springframework.messaging.handler.HandlerMethod;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Type;
import java.util.Arrays;
import static com.zt.plat.framework.web.core.util.WebFrameworkUtils.HEADER_TENANT_ID; import static com.zt.plat.framework.web.core.util.WebFrameworkUtils.HEADER_TENANT_ID;
/** /**

View File

@@ -2,10 +2,10 @@ package com.zt.plat.framework.env.core.fegin;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.cloud.nacos.balancer.NacosBalancer;
import com.zt.plat.framework.common.util.collection.CollectionUtils; import com.zt.plat.framework.common.util.collection.CollectionUtils;
import com.zt.plat.framework.env.core.context.EnvContextHolder; import com.zt.plat.framework.env.core.context.EnvContextHolder;
import com.zt.plat.framework.env.core.util.EnvUtils; import com.zt.plat.framework.env.core.util.EnvUtils;
import com.alibaba.cloud.nacos.balancer.NacosBalancer;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.ObjectProvider;

View File

@@ -3,12 +3,12 @@ package com.zt.plat.framework.env.core.web;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.zt.plat.framework.env.core.context.EnvContextHolder; import com.zt.plat.framework.env.core.context.EnvContextHolder;
import com.zt.plat.framework.env.core.util.EnvUtils; import com.zt.plat.framework.env.core.util.EnvUtils;
import org.springframework.web.filter.OncePerRequestFilter;
import jakarta.servlet.FilterChain; import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException; import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.filter.OncePerRequestFilter;
import java.io.IOException; import java.io.IOException;
/** /**

View File

@@ -1,11 +1,11 @@
package com.zt.plat.framework.dict.core; package com.zt.plat.framework.dict.core;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.zt.plat.framework.common.biz.system.dict.DictDataCommonApi;
import com.zt.plat.framework.common.util.cache.CacheUtils;
import com.zt.plat.framework.common.biz.system.dict.dto.DictDataRespDTO;
import com.google.common.cache.CacheLoader; import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache; import com.google.common.cache.LoadingCache;
import com.zt.plat.framework.common.biz.system.dict.DictDataCommonApi;
import com.zt.plat.framework.common.biz.system.dict.dto.DictDataRespDTO;
import com.zt.plat.framework.common.util.cache.CacheUtils;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;

View File

@@ -1,14 +1,14 @@
package com.zt.plat.framework.excel.core.convert; package com.zt.plat.framework.excel.core.convert;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import com.zt.plat.framework.dict.core.DictFrameworkUtils;
import com.zt.plat.framework.excel.core.annotations.DictFormat;
import com.alibaba.excel.converters.Converter; import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum; import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration; import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.ReadCellData; import com.alibaba.excel.metadata.data.ReadCellData;
import com.alibaba.excel.metadata.data.WriteCellData; import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty; import com.alibaba.excel.metadata.property.ExcelContentProperty;
import com.zt.plat.framework.dict.core.DictFrameworkUtils;
import com.zt.plat.framework.excel.core.annotations.DictFormat;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
/** /**

View File

@@ -1,11 +1,11 @@
package com.zt.plat.framework.excel.core.convert; package com.zt.plat.framework.excel.core.convert;
import com.zt.plat.framework.common.util.json.JsonUtils;
import com.alibaba.excel.converters.Converter; import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum; import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration; import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.WriteCellData; import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty; import com.alibaba.excel.metadata.property.ExcelContentProperty;
import com.zt.plat.framework.common.util.json.JsonUtils;
/** /**
* Excel Json 转换器 * Excel Json 转换器

View File

@@ -1,10 +1,10 @@
package com.zt.plat.framework.excel.core.util; package com.zt.plat.framework.excel.core.util;
import com.zt.plat.framework.common.util.http.HttpUtils;
import com.zt.plat.framework.excel.core.handler.SelectSheetWriteHandler;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.converters.longconverter.LongStringConverter; import com.alibaba.excel.converters.longconverter.LongStringConverter;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import com.zt.plat.framework.common.util.http.HttpUtils;
import com.zt.plat.framework.excel.core.handler.SelectSheetWriteHandler;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;

View File

@@ -1,9 +1,9 @@
package com.zt.plat.framework.dict.core.util; package com.zt.plat.framework.dict.core.util;
import com.zt.plat.framework.common.biz.system.dict.DictDataCommonApi; import com.zt.plat.framework.common.biz.system.dict.DictDataCommonApi;
import com.zt.plat.framework.common.biz.system.dict.dto.DictDataRespDTO;
import com.zt.plat.framework.dict.core.DictFrameworkUtils; import com.zt.plat.framework.dict.core.DictFrameworkUtils;
import com.zt.plat.framework.test.core.ut.BaseMockitoUnitTest; import com.zt.plat.framework.test.core.ut.BaseMockitoUnitTest;
import com.zt.plat.framework.common.biz.system.dict.dto.DictDataRespDTO;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.mockito.Mock; import org.mockito.Mock;

View File

@@ -1,11 +1,12 @@
package com.zt.plat.framework.quartz.config; package com.zt.plat.framework.quartz.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.validation.annotation.Validated;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.validation.annotation.Validated;
/** /**
* XXL-Job 配置类 * XXL-Job 配置类

View File

@@ -1,12 +1,12 @@
package com.zt.plat.framework.tracer.core.filter; package com.zt.plat.framework.tracer.core.filter;
import com.zt.plat.framework.common.util.monitor.TracerUtils; import com.zt.plat.framework.common.util.monitor.TracerUtils;
import org.springframework.web.filter.OncePerRequestFilter;
import jakarta.servlet.FilterChain; import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException; import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.filter.OncePerRequestFilter;
import java.io.IOException; import java.io.IOException;
/** /**

View File

@@ -1,8 +1,8 @@
package com.zt.plat.framework.datasource.config; package com.zt.plat.framework.datasource.config;
import com.alibaba.druid.spring.boot3.autoconfigure.properties.DruidStatProperties;
import com.zt.plat.framework.common.biz.system.sequence.SequenceCommonApi; import com.zt.plat.framework.common.biz.system.sequence.SequenceCommonApi;
import com.zt.plat.framework.datasource.core.filter.DruidAdRemoveFilter; import com.zt.plat.framework.datasource.core.filter.DruidAdRemoveFilter;
import com.alibaba.druid.spring.boot3.autoconfigure.properties.DruidStatProperties;
import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties;

View File

@@ -1,10 +1,10 @@
package com.zt.plat.framework.mybatis.config; package com.zt.plat.framework.mybatis.config;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.IdType;
import com.zt.plat.framework.common.util.collection.SetUtils; import com.zt.plat.framework.common.util.collection.SetUtils;
import com.zt.plat.framework.mybatis.core.util.JdbcUtils; import com.zt.plat.framework.mybatis.core.util.JdbcUtils;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.IdType;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.env.EnvironmentPostProcessor; import org.springframework.boot.env.EnvironmentPostProcessor;

View File

@@ -1,6 +1,7 @@
package com.zt.plat.framework.mybatis.config; package com.zt.plat.framework.mybatis.config;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.zt.plat.framework.mybatis.core.handler.DefaultDBFieldHandler;
import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration; import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
@@ -10,7 +11,6 @@ import com.baomidou.mybatisplus.extension.parser.JsqlParserGlobal;
import com.baomidou.mybatisplus.extension.parser.cache.JdkSerialCaffeineJsqlParseCache; import com.baomidou.mybatisplus.extension.parser.cache.JdkSerialCaffeineJsqlParseCache;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import com.zt.plat.framework.mybatis.core.handler.DefaultDBFieldHandler;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.mybatis.spring.annotation.MapperScan; import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfiguration;

View File

@@ -2,9 +2,9 @@ package com.zt.plat.framework.mybatis.core.query;
import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.zt.plat.framework.common.util.collection.ArrayUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.support.SFunction; import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
import com.zt.plat.framework.common.util.collection.ArrayUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.util.Collection; import java.util.Collection;

View File

@@ -2,9 +2,9 @@ package com.zt.plat.framework.mybatis.core.query;
import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.zt.plat.framework.common.util.collection.ArrayUtils;
import com.baomidou.mybatisplus.core.toolkit.support.SFunction; import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.zt.plat.framework.common.util.collection.ArrayUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.util.Collection; import java.util.Collection;

View File

@@ -1,10 +1,10 @@
package com.zt.plat.framework.mybatis.core.query; package com.zt.plat.framework.mybatis.core.query;
import com.zt.plat.framework.mybatis.core.util.JdbcUtils;
import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ArrayUtils; import com.baomidou.mybatisplus.core.toolkit.ArrayUtils;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.zt.plat.framework.mybatis.core.util.JdbcUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.util.Collection; import java.util.Collection;

View File

@@ -1,10 +1,10 @@
package com.zt.plat.framework.mybatis.core.util; package com.zt.plat.framework.mybatis.core.util;
import com.baomidou.dynamic.datasource.DynamicRoutingDataSource;
import com.baomidou.mybatisplus.annotation.DbType;
import com.zt.plat.framework.common.util.object.ObjectUtils; import com.zt.plat.framework.common.util.object.ObjectUtils;
import com.zt.plat.framework.common.util.spring.SpringUtils; import com.zt.plat.framework.common.util.spring.SpringUtils;
import com.zt.plat.framework.mybatis.core.enums.DbTypeEnum; import com.zt.plat.framework.mybatis.core.enums.DbTypeEnum;
import com.baomidou.dynamic.datasource.DynamicRoutingDataSource;
import com.baomidou.mybatisplus.annotation.DbType;
import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import javax.sql.DataSource; import javax.sql.DataSource;

View File

@@ -2,15 +2,15 @@ package com.zt.plat.framework.mybatis.core.util;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.SortingField;
import com.zt.plat.framework.mybatis.core.enums.DbTypeEnum;
import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.metadata.OrderItem; import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.core.toolkit.StringPool; import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.SortingField;
import com.zt.plat.framework.mybatis.core.enums.DbTypeEnum;
import net.sf.jsqlparser.expression.Alias; import net.sf.jsqlparser.expression.Alias;
import net.sf.jsqlparser.schema.Column; import net.sf.jsqlparser.schema.Column;
import net.sf.jsqlparser.schema.Table; import net.sf.jsqlparser.schema.Table;

View File

@@ -1,7 +1,7 @@
package com.zt.plat.framework.translate.config; package com.zt.plat.framework.translate.config;
import com.fhs.trans.service.impl.TransService;
import com.zt.plat.framework.translate.core.TranslateUtils; import com.zt.plat.framework.translate.core.TranslateUtils;
import com.fhs.trans.service.impl.TransService;
import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;

View File

@@ -1,13 +1,13 @@
package com.zt.plat.framework.idempotent.config; package com.zt.plat.framework.idempotent.config;
import com.zt.plat.framework.idempotent.core.aop.IdempotentAspect; import com.zt.plat.framework.idempotent.core.aop.IdempotentAspect;
import com.zt.plat.framework.idempotent.core.keyresolver.IdempotentKeyResolver;
import com.zt.plat.framework.idempotent.core.keyresolver.impl.DefaultIdempotentKeyResolver; import com.zt.plat.framework.idempotent.core.keyresolver.impl.DefaultIdempotentKeyResolver;
import com.zt.plat.framework.idempotent.core.keyresolver.impl.ExpressionIdempotentKeyResolver; import com.zt.plat.framework.idempotent.core.keyresolver.impl.ExpressionIdempotentKeyResolver;
import com.zt.plat.framework.idempotent.core.keyresolver.IdempotentKeyResolver;
import com.zt.plat.framework.idempotent.core.keyresolver.impl.UserIdempotentKeyResolver; import com.zt.plat.framework.idempotent.core.keyresolver.impl.UserIdempotentKeyResolver;
import com.zt.plat.framework.idempotent.core.redis.IdempotentRedisDAO; import com.zt.plat.framework.idempotent.core.redis.IdempotentRedisDAO;
import com.zt.plat.framework.redis.config.ZtRedisAutoConfiguration;
import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfiguration;
import com.zt.plat.framework.redis.config.ZtRedisAutoConfiguration;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate;

View File

@@ -1,7 +1,7 @@
package com.zt.plat.framework.lock4j.config; package com.zt.plat.framework.lock4j.config;
import com.baomidou.lock.spring.boot.autoconfigure.LockAutoConfiguration;
import com.zt.plat.framework.lock4j.core.DefaultLockFailureStrategy; import com.zt.plat.framework.lock4j.core.DefaultLockFailureStrategy;
import com.baomidou.lock.spring.boot.autoconfigure.LockAutoConfiguration;
import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;

View File

@@ -1,8 +1,8 @@
package com.zt.plat.framework.operatelog.config; package com.zt.plat.framework.operatelog.config;
import com.zt.plat.framework.operatelog.core.service.LogRecordServiceImpl;
import com.mzt.logapi.service.ILogRecordService; import com.mzt.logapi.service.ILogRecordService;
import com.mzt.logapi.starter.annotation.EnableLogRecord; import com.mzt.logapi.starter.annotation.EnableLogRecord;
import com.zt.plat.framework.operatelog.core.service.LogRecordServiceImpl;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;

View File

@@ -1,16 +1,17 @@
package com.zt.plat.framework.operatelog.core.service; package com.zt.plat.framework.operatelog.core.service;
import com.mzt.logapi.beans.LogRecord;
import com.mzt.logapi.service.ILogRecordService;
import com.zt.plat.framework.common.biz.system.logger.OperateLogCommonApi; import com.zt.plat.framework.common.biz.system.logger.OperateLogCommonApi;
import com.zt.plat.framework.common.biz.system.logger.dto.OperateLogCreateReqDTO;
import com.zt.plat.framework.common.util.monitor.TracerUtils; import com.zt.plat.framework.common.util.monitor.TracerUtils;
import com.zt.plat.framework.common.util.servlet.ServletUtils; import com.zt.plat.framework.common.util.servlet.ServletUtils;
import com.zt.plat.framework.security.core.LoginUser; import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.framework.common.biz.system.logger.dto.OperateLogCreateReqDTO;
import com.mzt.logapi.beans.LogRecord;
import com.mzt.logapi.service.ILogRecordService;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Qualifier;
import java.util.List; import java.util.List;

View File

@@ -1,6 +1,5 @@
package com.zt.plat.framework.security.config; package com.zt.plat.framework.security.config;
import com.zt.plat.framework.common.biz.system.oauth2.OAuth2TokenCommonApi;
import com.zt.plat.framework.common.biz.system.permission.PermissionCommonApi; import com.zt.plat.framework.common.biz.system.permission.PermissionCommonApi;
import com.zt.plat.framework.security.core.context.TransmittableThreadLocalSecurityContextHolderStrategy; import com.zt.plat.framework.security.core.context.TransmittableThreadLocalSecurityContextHolderStrategy;
import com.zt.plat.framework.security.core.filter.TokenAuthenticationFilter; import com.zt.plat.framework.security.core.filter.TokenAuthenticationFilter;
@@ -9,6 +8,7 @@ import com.zt.plat.framework.security.core.handler.AuthenticationEntryPointImpl;
import com.zt.plat.framework.security.core.service.SecurityFrameworkService; import com.zt.plat.framework.security.core.service.SecurityFrameworkService;
import com.zt.plat.framework.security.core.service.SecurityFrameworkServiceImpl; import com.zt.plat.framework.security.core.service.SecurityFrameworkServiceImpl;
import com.zt.plat.framework.web.core.handler.GlobalExceptionHandler; import com.zt.plat.framework.web.core.handler.GlobalExceptionHandler;
import com.zt.plat.framework.common.biz.system.oauth2.OAuth2TokenCommonApi;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.springframework.beans.factory.config.MethodInvokingFactoryBean; import org.springframework.beans.factory.config.MethodInvokingFactoryBean;
import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfiguration;

View File

@@ -1,8 +1,8 @@
package com.zt.plat.framework.security.config; package com.zt.plat.framework.security.config;
import com.zt.plat.framework.common.biz.system.oauth2.OAuth2TokenCommonApi;
import com.zt.plat.framework.common.biz.system.permission.PermissionCommonApi; import com.zt.plat.framework.common.biz.system.permission.PermissionCommonApi;
import com.zt.plat.framework.security.core.rpc.LoginUserRequestInterceptor; import com.zt.plat.framework.security.core.rpc.LoginUserRequestInterceptor;
import com.zt.plat.framework.common.biz.system.oauth2.OAuth2TokenCommonApi;
import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;

View File

@@ -1,10 +1,10 @@
package com.zt.plat.framework.security.config; package com.zt.plat.framework.security.config;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;
import com.zt.plat.framework.security.core.filter.TokenAuthenticationFilter; import com.zt.plat.framework.security.core.filter.TokenAuthenticationFilter;
import com.zt.plat.framework.web.config.WebProperties; import com.zt.plat.framework.web.config.WebProperties;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.annotation.security.PermitAll; import jakarta.annotation.security.PermitAll;
import jakarta.servlet.DispatcherType; import jakarta.servlet.DispatcherType;

View File

@@ -1,8 +1,8 @@
package com.zt.plat.framework.security.core; package com.zt.plat.framework.security.core;
import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.MapUtil;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.zt.plat.framework.common.enums.UserTypeEnum; import com.zt.plat.framework.common.enums.UserTypeEnum;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data; import lombok.Data;
import java.time.LocalDateTime; import java.time.LocalDateTime;

View File

@@ -1,12 +1,12 @@
package com.zt.plat.framework.security.core.service; package com.zt.plat.framework.security.core.service;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
import com.zt.plat.framework.common.biz.system.permission.PermissionCommonApi; import com.zt.plat.framework.common.biz.system.permission.PermissionCommonApi;
import com.zt.plat.framework.common.core.KeyValue; import com.zt.plat.framework.common.core.KeyValue;
import com.zt.plat.framework.security.core.LoginUser; import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.SneakyThrows; import lombok.SneakyThrows;

View File

@@ -1,9 +1,9 @@
package com.zt.plat.framework.desensitize.core.base.annotation; package com.zt.plat.framework.desensitize.core.base.annotation;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zt.plat.framework.desensitize.core.base.handler.DesensitizationHandler; import com.zt.plat.framework.desensitize.core.base.handler.DesensitizationHandler;
import com.zt.plat.framework.desensitize.core.base.serializer.StringDesensitizeSerializer; import com.zt.plat.framework.desensitize.core.base.serializer.StringDesensitizeSerializer;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import java.lang.annotation.*; import java.lang.annotation.*;

View File

@@ -5,14 +5,14 @@ import cn.hutool.core.lang.Singleton;
import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ReflectUtil; import cn.hutool.core.util.ReflectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.zt.plat.framework.desensitize.core.base.annotation.DesensitizeBy;
import com.zt.plat.framework.desensitize.core.base.handler.DesensitizationHandler;
import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.BeanProperty; import com.fasterxml.jackson.databind.BeanProperty;
import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.ContextualSerializer; import com.fasterxml.jackson.databind.ser.ContextualSerializer;
import com.fasterxml.jackson.databind.ser.std.StdSerializer; import com.fasterxml.jackson.databind.ser.std.StdSerializer;
import com.zt.plat.framework.desensitize.core.base.annotation.DesensitizeBy;
import com.zt.plat.framework.desensitize.core.base.handler.DesensitizationHandler;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;

View File

@@ -1,8 +1,8 @@
package com.zt.plat.framework.desensitize.core.regex.annotation; package com.zt.plat.framework.desensitize.core.regex.annotation;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import com.zt.plat.framework.desensitize.core.base.annotation.DesensitizeBy; import com.zt.plat.framework.desensitize.core.base.annotation.DesensitizeBy;
import com.zt.plat.framework.desensitize.core.regex.handler.EmailDesensitizationHandler; import com.zt.plat.framework.desensitize.core.regex.handler.EmailDesensitizationHandler;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import java.lang.annotation.*; import java.lang.annotation.*;

View File

@@ -1,8 +1,8 @@
package com.zt.plat.framework.desensitize.core.regex.annotation; package com.zt.plat.framework.desensitize.core.regex.annotation;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import com.zt.plat.framework.desensitize.core.base.annotation.DesensitizeBy; import com.zt.plat.framework.desensitize.core.base.annotation.DesensitizeBy;
import com.zt.plat.framework.desensitize.core.regex.handler.DefaultRegexDesensitizationHandler; import com.zt.plat.framework.desensitize.core.regex.handler.DefaultRegexDesensitizationHandler;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import java.lang.annotation.*; import java.lang.annotation.*;

View File

@@ -1,8 +1,8 @@
package com.zt.plat.framework.desensitize.core.slider.annotation; package com.zt.plat.framework.desensitize.core.slider.annotation;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import com.zt.plat.framework.desensitize.core.base.annotation.DesensitizeBy; import com.zt.plat.framework.desensitize.core.base.annotation.DesensitizeBy;
import com.zt.plat.framework.desensitize.core.slider.handler.FixedPhoneDesensitization; import com.zt.plat.framework.desensitize.core.slider.handler.FixedPhoneDesensitization;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import java.lang.annotation.*; import java.lang.annotation.*;

View File

@@ -1,8 +1,8 @@
package com.zt.plat.framework.desensitize.core.slider.annotation; package com.zt.plat.framework.desensitize.core.slider.annotation;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import com.zt.plat.framework.desensitize.core.base.annotation.DesensitizeBy; import com.zt.plat.framework.desensitize.core.base.annotation.DesensitizeBy;
import com.zt.plat.framework.desensitize.core.slider.handler.MobileDesensitization; import com.zt.plat.framework.desensitize.core.slider.handler.MobileDesensitization;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import java.lang.annotation.*; import java.lang.annotation.*;

View File

@@ -1,8 +1,8 @@
package com.zt.plat.framework.desensitize.core.slider.annotation; package com.zt.plat.framework.desensitize.core.slider.annotation;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import com.zt.plat.framework.desensitize.core.base.annotation.DesensitizeBy; import com.zt.plat.framework.desensitize.core.base.annotation.DesensitizeBy;
import com.zt.plat.framework.desensitize.core.slider.handler.PasswordDesensitization; import com.zt.plat.framework.desensitize.core.slider.handler.PasswordDesensitization;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import java.lang.annotation.*; import java.lang.annotation.*;

View File

@@ -1,8 +1,8 @@
package com.zt.plat.framework.desensitize.core.slider.annotation; package com.zt.plat.framework.desensitize.core.slider.annotation;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import com.zt.plat.framework.desensitize.core.base.annotation.DesensitizeBy; import com.zt.plat.framework.desensitize.core.base.annotation.DesensitizeBy;
import com.zt.plat.framework.desensitize.core.slider.handler.DefaultDesensitizationHandler; import com.zt.plat.framework.desensitize.core.slider.handler.DefaultDesensitizationHandler;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import java.lang.annotation.*; import java.lang.annotation.*;

View File

@@ -1,16 +1,16 @@
package com.zt.plat.framework.jackson.config; package com.zt.plat.framework.jackson.config;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.zt.plat.framework.common.util.json.JsonUtils;
import com.zt.plat.framework.common.util.json.databind.NumberSerializer;
import com.zt.plat.framework.common.util.json.databind.TimestampLocalDateTimeDeserializer;
import com.zt.plat.framework.common.util.json.databind.TimestampLocalDateTimeSerializer;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer; import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer; import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
import com.zt.plat.framework.common.util.json.JsonUtils;
import com.zt.plat.framework.common.util.json.databind.NumberSerializer;
import com.zt.plat.framework.common.util.json.databind.TimestampLocalDateTimeDeserializer;
import com.zt.plat.framework.common.util.json.databind.TimestampLocalDateTimeSerializer;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;

View File

@@ -1,9 +1,10 @@
package com.zt.plat.framework.swagger.config; package com.zt.plat.framework.swagger.config;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data; import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;
import jakarta.validation.constraints.NotEmpty;
/** /**
* Swagger 配置属性 * Swagger 配置属性
* *

View File

@@ -1,8 +1,5 @@
package com.zt.plat.framework.web.config; package com.zt.plat.framework.web.config;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@@ -10,6 +7,10 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.servlet.config.annotation.PathMatchConfigurer; import org.springframework.web.servlet.config.annotation.PathMatchConfigurer;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
@ConfigurationProperties(prefix = "zt.web") @ConfigurationProperties(prefix = "zt.web")
@Validated @Validated
@Data @Data

View File

@@ -7,8 +7,6 @@ import com.zt.plat.framework.web.core.filter.DemoFilter;
import com.zt.plat.framework.web.core.handler.GlobalExceptionHandler; import com.zt.plat.framework.web.core.handler.GlobalExceptionHandler;
import com.zt.plat.framework.web.core.handler.GlobalResponseBodyHandler; import com.zt.plat.framework.web.core.handler.GlobalResponseBodyHandler;
import com.zt.plat.framework.web.core.util.WebFrameworkUtils; import com.zt.plat.framework.web.core.util.WebFrameworkUtils;
import jakarta.annotation.Resource;
import jakarta.servlet.Filter;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -27,6 +25,9 @@ import org.springframework.web.filter.CorsFilter;
import org.springframework.web.servlet.config.annotation.PathMatchConfigurer; import org.springframework.web.servlet.config.annotation.PathMatchConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import jakarta.annotation.Resource;
import jakarta.servlet.Filter;
@AutoConfiguration @AutoConfiguration
@EnableConfigurationProperties(WebProperties.class) @EnableConfigurationProperties(WebProperties.class)
public class ZtWebAutoConfiguration implements WebMvcConfigurer { public class ZtWebAutoConfiguration implements WebMvcConfigurer {

View File

@@ -4,10 +4,11 @@ import cn.hutool.core.util.StrUtil;
import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.servlet.ServletUtils; import com.zt.plat.framework.common.util.servlet.ServletUtils;
import com.zt.plat.framework.web.core.util.WebFrameworkUtils; import com.zt.plat.framework.web.core.util.WebFrameworkUtils;
import org.springframework.web.filter.OncePerRequestFilter;
import jakarta.servlet.FilterChain; import jakarta.servlet.FilterChain;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.filter.OncePerRequestFilter;
import static com.zt.plat.framework.common.exception.enums.GlobalErrorCodeConstants.DEMO_DENY; import static com.zt.plat.framework.common.exception.enums.GlobalErrorCodeConstants.DEMO_DENY;

View File

@@ -6,7 +6,6 @@ import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.servlet.JakartaServletUtil; import cn.hutool.extra.servlet.JakartaServletUtil;
import com.fasterxml.jackson.databind.exc.InvalidFormatException;
import com.zt.plat.framework.common.biz.infra.logger.ApiErrorLogCommonApi; import com.zt.plat.framework.common.biz.infra.logger.ApiErrorLogCommonApi;
import com.zt.plat.framework.common.biz.infra.logger.dto.ApiErrorLogCreateReqDTO; import com.zt.plat.framework.common.biz.infra.logger.dto.ApiErrorLogCreateReqDTO;
import com.zt.plat.framework.common.exception.ServiceException; import com.zt.plat.framework.common.exception.ServiceException;
@@ -17,6 +16,7 @@ import com.zt.plat.framework.common.util.json.JsonUtils;
import com.zt.plat.framework.common.util.monitor.TracerUtils; import com.zt.plat.framework.common.util.monitor.TracerUtils;
import com.zt.plat.framework.common.util.servlet.ServletUtils; import com.zt.plat.framework.common.util.servlet.ServletUtils;
import com.zt.plat.framework.web.core.util.WebFrameworkUtils; import com.zt.plat.framework.web.core.util.WebFrameworkUtils;
import com.fasterxml.jackson.databind.exc.InvalidFormatException;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.validation.ConstraintViolation; import jakarta.validation.ConstraintViolation;
import jakarta.validation.ConstraintViolationException; import jakarta.validation.ConstraintViolationException;

View File

@@ -1,11 +1,11 @@
package com.zt.plat.framework.xss.config; package com.zt.plat.framework.xss.config;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.zt.plat.framework.common.enums.WebFilterOrderEnum; import com.zt.plat.framework.common.enums.WebFilterOrderEnum;
import com.zt.plat.framework.xss.core.clean.JsoupXssCleaner; import com.zt.plat.framework.xss.core.clean.JsoupXssCleaner;
import com.zt.plat.framework.xss.core.clean.XssCleaner; import com.zt.plat.framework.xss.core.clean.XssCleaner;
import com.zt.plat.framework.xss.core.filter.XssFilter; import com.zt.plat.framework.xss.core.filter.XssFilter;
import com.zt.plat.framework.xss.core.json.XssStringJsonDeserializer; import com.zt.plat.framework.xss.core.json.XssStringJsonDeserializer;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;

View File

@@ -2,14 +2,14 @@ package com.zt.plat.framework.xss.core.filter;
import com.zt.plat.framework.xss.config.XssProperties; import com.zt.plat.framework.xss.config.XssProperties;
import com.zt.plat.framework.xss.core.clean.XssCleaner; import com.zt.plat.framework.xss.core.clean.XssCleaner;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.util.PathMatcher; import org.springframework.util.PathMatcher;
import org.springframework.web.filter.OncePerRequestFilter; import org.springframework.web.filter.OncePerRequestFilter;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
/** /**

View File

@@ -1,9 +1,9 @@
package com.zt.plat.framework.xss.core.filter; package com.zt.plat.framework.xss.core.filter;
import com.zt.plat.framework.xss.core.clean.XssCleaner; import com.zt.plat.framework.xss.core.clean.XssCleaner;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletRequestWrapper; import jakarta.servlet.http.HttpServletRequestWrapper;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;

View File

@@ -1,12 +1,12 @@
package com.zt.plat.framework.xss.core.json; package com.zt.plat.framework.xss.core.json;
import com.zt.plat.framework.common.util.servlet.ServletUtils;
import com.zt.plat.framework.xss.config.XssProperties;
import com.zt.plat.framework.xss.core.clean.XssCleaner;
import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonToken; import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.deser.std.StringDeserializer; import com.fasterxml.jackson.databind.deser.std.StringDeserializer;
import com.zt.plat.framework.common.util.servlet.ServletUtils;
import com.zt.plat.framework.xss.config.XssProperties;
import com.zt.plat.framework.xss.core.clean.XssCleaner;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;

View File

@@ -1,17 +1,23 @@
package com.zt.plat.framework.desensitize.core; package com.zt.plat.framework.desensitize.core;
import com.zt.plat.framework.common.util.json.JsonUtils; import com.zt.plat.framework.common.util.json.JsonUtils;
import com.zt.plat.framework.desensitize.core.annotation.Address;
import com.zt.plat.framework.desensitize.core.regex.annotation.EmailDesensitize; import com.zt.plat.framework.desensitize.core.regex.annotation.EmailDesensitize;
import com.zt.plat.framework.desensitize.core.regex.annotation.RegexDesensitize; import com.zt.plat.framework.desensitize.core.regex.annotation.RegexDesensitize;
import com.zt.plat.framework.desensitize.core.slider.annotation.*; import com.zt.plat.framework.desensitize.core.annotation.Address;
import com.zt.plat.framework.desensitize.core.slider.annotation.BankCardDesensitize;
import com.zt.plat.framework.desensitize.core.slider.annotation.CarLicenseDesensitize;
import com.zt.plat.framework.desensitize.core.slider.annotation.ChineseNameDesensitize;
import com.zt.plat.framework.desensitize.core.slider.annotation.FixedPhoneDesensitize;
import com.zt.plat.framework.desensitize.core.slider.annotation.IdCardDesensitize;
import com.zt.plat.framework.desensitize.core.slider.annotation.PasswordDesensitize;
import com.zt.plat.framework.desensitize.core.slider.annotation.MobileDesensitize;
import com.zt.plat.framework.desensitize.core.slider.annotation.SliderDesensitize;
import lombok.Data; import lombok.Data;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.junit.jupiter.MockitoExtension; import org.mockito.junit.jupiter.MockitoExtension;
import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.*;
import static org.junit.jupiter.api.Assertions.assertNotNull;
/** /**
* {@link DesensitizeTest} 的单元测试 * {@link DesensitizeTest} 的单元测试

View File

@@ -1,11 +1,12 @@
package com.zt.plat.framework.websocket.config; package com.zt.plat.framework.websocket.config;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
/** /**
* WebSocket 配置项 * WebSocket 配置项
* *

View File

@@ -2,9 +2,9 @@ package com.zt.plat.gateway.filter.grey;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.cloud.nacos.balancer.NacosBalancer;
import com.zt.plat.framework.common.util.collection.CollectionUtils; import com.zt.plat.framework.common.util.collection.CollectionUtils;
import com.zt.plat.gateway.util.EnvUtils; import com.zt.plat.gateway.util.EnvUtils;
import com.alibaba.cloud.nacos.balancer.NacosBalancer;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.ObjectProvider;

View File

@@ -1,17 +1,17 @@
package com.zt.plat.gateway.filter.security; package com.zt.plat.gateway.filter.security;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.fasterxml.jackson.core.type.TypeReference;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
import com.zt.plat.framework.common.biz.system.oauth2.OAuth2TokenCommonApi;
import com.zt.plat.framework.common.biz.system.oauth2.dto.OAuth2AccessTokenCheckRespDTO;
import com.zt.plat.framework.common.core.KeyValue; import com.zt.plat.framework.common.core.KeyValue;
import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.date.LocalDateTimeUtils; import com.zt.plat.framework.common.util.date.LocalDateTimeUtils;
import com.zt.plat.framework.common.util.json.JsonUtils; import com.zt.plat.framework.common.util.json.JsonUtils;
import com.zt.plat.gateway.util.SecurityFrameworkUtils; import com.zt.plat.gateway.util.SecurityFrameworkUtils;
import com.zt.plat.gateway.util.WebFrameworkUtils; import com.zt.plat.gateway.util.WebFrameworkUtils;
import com.zt.plat.framework.common.biz.system.oauth2.OAuth2TokenCommonApi;
import com.zt.plat.framework.common.biz.system.oauth2.dto.OAuth2AccessTokenCheckRespDTO;
import com.fasterxml.jackson.core.type.TypeReference;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
import org.springframework.cloud.client.loadbalancer.reactive.ReactorLoadBalancerExchangeFilterFunction; import org.springframework.cloud.client.loadbalancer.reactive.ReactorLoadBalancerExchangeFilterFunction;
import org.springframework.cloud.gateway.filter.GatewayFilterChain; import org.springframework.cloud.gateway.filter.GatewayFilterChain;
import org.springframework.cloud.gateway.filter.GlobalFilter; import org.springframework.cloud.gateway.filter.GlobalFilter;

View File

@@ -1,16 +1,16 @@
package com.zt.plat.gateway.jackson; package com.zt.plat.gateway.jackson;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.zt.plat.framework.common.util.json.JsonUtils;
import com.zt.plat.framework.common.util.json.databind.NumberSerializer;
import com.zt.plat.framework.common.util.json.databind.TimestampLocalDateTimeDeserializer;
import com.zt.plat.framework.common.util.json.databind.TimestampLocalDateTimeSerializer;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer; import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer; import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
import com.zt.plat.framework.common.util.json.JsonUtils;
import com.zt.plat.framework.common.util.json.databind.NumberSerializer;
import com.zt.plat.framework.common.util.json.databind.TimestampLocalDateTimeDeserializer;
import com.zt.plat.framework.common.util.json.databind.TimestampLocalDateTimeSerializer;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;

View File

@@ -28,7 +28,7 @@ public class ProjectReactor {
private static final String GROUP_ID = "com.zt.plat"; private static final String GROUP_ID = "com.zt.plat";
private static final String ARTIFACT_ID = "zt"; private static final String ARTIFACT_ID = "zt";
private static final String PACKAGE_NAME = "com.zt.plat"; private static final String PACKAGE_NAME = "com.zt.plat";
private static final String TITLE = "中铜平台系统"; private static final String TITLE = "中铜系统平台";
/** /**
* 白名单文件,不进行重写,避免出问题 * 白名单文件,不进行重写,避免出问题
@@ -46,7 +46,7 @@ public class ProjectReactor {
String groupIdNew = "com.zt.plat"; String groupIdNew = "com.zt.plat";
String artifactIdNew = "zt"; String artifactIdNew = "zt";
String packageNameNew = "com.zt.plat"; String packageNameNew = "com.zt.plat";
String titleNew = "中铜平台系统"; String titleNew = "中铜系统平台";
String projectBaseDirNew = projectBaseDir + "-new"; // 一键改名后,“新”项目所在的目录 String projectBaseDirNew = projectBaseDir + "-new"; // 一键改名后,“新”项目所在的目录
log.info("[main][检测新项目目录 ({})是否存在]", projectBaseDirNew); log.info("[main][检测新项目目录 ({})是否存在]", projectBaseDirNew);
if (FileUtil.exist(projectBaseDirNew)) { if (FileUtil.exist(projectBaseDirNew)) {

View File

@@ -1,12 +1,13 @@
package com.zt.plat.module.databus.controller.admin.databus; package com.zt.plat.module.databus.controller.admin.databus;
import com.zt.plat.framework.common.pojo.CommonResult;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.zt.plat.framework.common.pojo.CommonResult;
import static com.zt.plat.framework.common.pojo.CommonResult.success; import static com.zt.plat.framework.common.pojo.CommonResult.success;
/** /**

View File

@@ -1,12 +1,13 @@
package com.zt.plat.module.html2pdf.controller.admin.html2pdf; package com.zt.plat.module.html2pdf.controller.admin.html2pdf;
import com.zt.plat.framework.common.pojo.CommonResult;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.zt.plat.framework.common.pojo.CommonResult;
import static com.zt.plat.framework.common.pojo.CommonResult.success; import static com.zt.plat.framework.common.pojo.CommonResult.success;
/** /**

View File

@@ -4,10 +4,11 @@ import cn.hutool.core.util.StrUtil;
import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.websocket.core.sender.WebSocketMessageSender; import com.zt.plat.framework.websocket.core.sender.WebSocketMessageSender;
import com.zt.plat.module.infra.api.websocket.dto.WebSocketSendReqDTO; import com.zt.plat.module.infra.api.websocket.dto.WebSocketSendReqDTO;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import jakarta.annotation.Resource;
import static com.zt.plat.framework.common.pojo.CommonResult.success; import static com.zt.plat.framework.common.pojo.CommonResult.success;
@RestController // 提供 RESTful API 接口,给 Feign 调用 @RestController // 提供 RESTful API 接口,给 Feign 调用

View File

@@ -1,12 +1,13 @@
package com.zt.plat.module.infra.config; package com.zt.plat.module.infra.config;
import com.zt.plat.module.infra.websocket.DocWebSocketHandler; import com.zt.plat.module.infra.websocket.DocWebSocketHandler;
import jakarta.annotation.Resource;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.config.annotation.EnableWebSocket; import org.springframework.web.socket.config.annotation.EnableWebSocket;
import org.springframework.web.socket.config.annotation.WebSocketConfigurer; import org.springframework.web.socket.config.annotation.WebSocketConfigurer;
import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry; import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;
import jakarta.annotation.Resource;
/** /**
* WebSocket 配置 * WebSocket 配置
* *

View File

@@ -1,9 +1,9 @@
package com.zt.plat.module.infra.controller.admin.demo.demo03.normal.vo; package com.zt.plat.module.infra.controller.admin.demo.demo03.normal.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.zt.plat.framework.excel.core.annotations.DictFormat; import com.zt.plat.framework.excel.core.annotations.DictFormat;
import com.zt.plat.framework.excel.core.convert.DictConvert; import com.zt.plat.framework.excel.core.convert.DictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;

View File

@@ -1,8 +1,8 @@
package com.zt.plat.module.infra.controller.admin.doc; package com.zt.plat.module.infra.controller.admin.doc;
import com.zt.plat.framework.common.enums.UserTypeEnum;
import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.enums.UserTypeEnum;
import com.zt.plat.framework.security.core.LoginUser; import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.framework.tenant.core.aop.TenantIgnore; import com.zt.plat.framework.tenant.core.aop.TenantIgnore;
@@ -12,6 +12,7 @@ import com.zt.plat.module.infra.dal.dataobject.doc.DocFilePermissionDO;
import com.zt.plat.module.infra.dal.dataobject.doc.DocFileVersionDO; import com.zt.plat.module.infra.dal.dataobject.doc.DocFileVersionDO;
import com.zt.plat.module.infra.service.doc.DocFileService; import com.zt.plat.module.infra.service.doc.DocFileService;
import com.zt.plat.module.infra.service.file.FileService; import com.zt.plat.module.infra.service.file.FileService;
import cn.hutool.json.JSONUtil;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;

View File

@@ -11,12 +11,13 @@ import com.zt.plat.module.infra.service.file.FileConfigService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import jakarta.validation.Valid;
import static com.zt.plat.framework.common.pojo.CommonResult.success; import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 文件配置") @Tag(name = "管理后台 - 文件配置")

View File

@@ -1,31 +1,34 @@
package com.zt.plat.module.infra.controller.admin.standardname; package com.zt.plat.module.infra.controller.admin.standardname;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; import org.springframework.web.bind.annotation.*;
import com.zt.plat.framework.common.pojo.CommonResult; import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.constraints.*;
import jakarta.validation.*;
import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
import com.zt.plat.framework.common.pojo.PageParam; import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.framework.common.util.object.BeanUtils;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils; import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.infra.controller.admin.standardname.vo.StandardNamePageReqVO;
import com.zt.plat.module.infra.controller.admin.standardname.vo.StandardNameRespVO; import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import com.zt.plat.module.infra.controller.admin.standardname.vo.StandardNameSaveReqVO; import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
import com.zt.plat.module.infra.controller.admin.standardname.vo.*;
import com.zt.plat.module.infra.dal.dataobject.standardname.StandardNameDO; import com.zt.plat.module.infra.dal.dataobject.standardname.StandardNameDO;
import com.zt.plat.module.infra.service.standardname.StandardNameService; import com.zt.plat.module.infra.service.standardname.StandardNameService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
@Tag(name = "管理后台 - 数据命名与简写标准") @Tag(name = "管理后台 - 数据命名与简写标准")
@RestController @RestController

View File

@@ -1,10 +1,10 @@
package com.zt.plat.module.infra.dal.dataobject.doc; package com.zt.plat.module.infra.dal.dataobject.doc;
import com.zt.plat.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.zt.plat.framework.mybatis.core.dataobject.BaseDO;
import lombok.*; import lombok.*;
/** /**

View File

@@ -1,10 +1,10 @@
package com.zt.plat.module.infra.dal.dataobject.doc; package com.zt.plat.module.infra.dal.dataobject.doc;
import com.zt.plat.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.zt.plat.framework.mybatis.core.dataobject.BaseDO;
import lombok.*; import lombok.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;

View File

@@ -1,10 +1,10 @@
package com.zt.plat.module.infra.dal.dataobject.doc; package com.zt.plat.module.infra.dal.dataobject.doc;
import com.zt.plat.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.zt.plat.framework.mybatis.core.dataobject.BaseDO;
import lombok.*; import lombok.*;
/** /**

View File

@@ -1,9 +1,6 @@
package com.zt.plat.module.infra.dal.dataobject.file; package com.zt.plat.module.infra.dal.dataobject.file;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.handlers.AbstractJsonTypeHandler;
import com.fasterxml.jackson.core.type.TypeReference;
import com.zt.plat.framework.common.util.json.JsonUtils; import com.zt.plat.framework.common.util.json.JsonUtils;
import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import com.zt.plat.framework.mybatis.core.dataobject.BaseDO;
import com.zt.plat.framework.tenant.core.aop.TenantIgnore; import com.zt.plat.framework.tenant.core.aop.TenantIgnore;
@@ -14,6 +11,9 @@ import com.zt.plat.module.infra.framework.file.core.client.local.LocalFileClient
import com.zt.plat.module.infra.framework.file.core.client.s3.S3FileClientConfig; import com.zt.plat.module.infra.framework.file.core.client.s3.S3FileClientConfig;
import com.zt.plat.module.infra.framework.file.core.client.sftp.SftpFileClientConfig; import com.zt.plat.module.infra.framework.file.core.client.sftp.SftpFileClientConfig;
import com.zt.plat.module.infra.framework.file.core.enums.FileStorageEnum; import com.zt.plat.module.infra.framework.file.core.enums.FileStorageEnum;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.handlers.AbstractJsonTypeHandler;
import com.fasterxml.jackson.core.type.TypeReference;
import lombok.*; import lombok.*;
import java.lang.reflect.Field; import java.lang.reflect.Field;

View File

@@ -1,12 +1,12 @@
package com.zt.plat.module.infra.dal.dataobject.file; package com.zt.plat.module.infra.dal.dataobject.file;
import com.zt.plat.framework.mybatis.core.dataobject.BaseDO;
import com.zt.plat.framework.tenant.core.aop.TenantIgnore;
import com.zt.plat.module.infra.framework.file.core.client.db.DBFileClient;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.zt.plat.framework.mybatis.core.dataobject.BaseDO;
import com.zt.plat.framework.tenant.core.aop.TenantIgnore;
import com.zt.plat.module.infra.framework.file.core.client.db.DBFileClient;
import lombok.*; import lombok.*;
/** /**

View File

@@ -1,8 +1,8 @@
package com.zt.plat.module.infra.dal.dataobject.file; package com.zt.plat.module.infra.dal.dataobject.file;
import com.baomidou.mybatisplus.annotation.*;
import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import com.zt.plat.framework.mybatis.core.dataobject.BaseDO;
import com.zt.plat.framework.tenant.core.aop.TenantIgnore; import com.zt.plat.framework.tenant.core.aop.TenantIgnore;
import com.baomidou.mybatisplus.annotation.*;
import lombok.*; import lombok.*;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;

View File

@@ -1,7 +1,7 @@
package com.zt.plat.module.infra.dal.dataobject.standardname; package com.zt.plat.module.infra.dal.dataobject.standardname;
import com.baomidou.mybatisplus.annotation.*;
import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import com.zt.plat.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.*;
import lombok.*; import lombok.*;
/** /**

View File

@@ -1,8 +1,8 @@
package com.zt.plat.module.infra.dal.mysql.doc; package com.zt.plat.module.infra.dal.mysql.doc;
import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
import com.zt.plat.module.infra.controller.admin.doc.vo.DocFilePageReqVO; import com.zt.plat.module.infra.controller.admin.doc.vo.DocFilePageReqVO;
import com.zt.plat.module.infra.dal.dataobject.doc.DocFileDO; import com.zt.plat.module.infra.dal.dataobject.doc.DocFileDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;

View File

@@ -1,8 +1,8 @@
package com.zt.plat.module.infra.dal.mysql.file; package com.zt.plat.module.infra.dal.mysql.file;
import com.zt.plat.module.infra.dal.dataobject.file.FileContentDO;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zt.plat.module.infra.dal.dataobject.file.FileContentDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List; import java.util.List;

View File

@@ -1,13 +1,13 @@
package com.zt.plat.module.infra.dal.mysql.standardname; package com.zt.plat.module.infra.dal.mysql.standardname;
import cn.hutool.core.lang.func.LambdaUtil; import cn.hutool.core.lang.func.LambdaUtil;
import com.baomidou.mybatisplus.core.toolkit.LambdaUtils;
import com.baomidou.mybatisplus.core.toolkit.support.ColumnCache;
import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.module.infra.controller.admin.standardname.vo.StandardNamePageReqVO; import com.zt.plat.module.infra.controller.admin.standardname.vo.StandardNamePageReqVO;
import com.zt.plat.module.infra.dal.dataobject.standardname.StandardNameDO; import com.zt.plat.module.infra.dal.dataobject.standardname.StandardNameDO;
import com.baomidou.mybatisplus.core.toolkit.LambdaUtils;
import com.baomidou.mybatisplus.core.toolkit.support.ColumnCache;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;

View File

@@ -1,8 +1,8 @@
package com.zt.plat.module.infra.framework.file.core.client.s3; package com.zt.plat.module.infra.framework.file.core.client.s3;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.zt.plat.module.infra.framework.file.core.client.FileClientConfig; import com.zt.plat.module.infra.framework.file.core.client.FileClientConfig;
import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.validation.constraints.AssertTrue; import jakarta.validation.constraints.AssertTrue;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;

View File

@@ -3,6 +3,7 @@ package com.zt.plat.module.infra.framework.file.core.utils;
import cn.hutool.core.io.IoUtil; import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.zt.plat.framework.common.util.http.HttpUtils; import com.zt.plat.framework.common.util.http.HttpUtils;
import com.alibaba.ttl.TransmittableThreadLocal;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;

View File

@@ -1,12 +1,13 @@
package com.zt.plat.module.infra.job.logger; package com.zt.plat.module.infra.job.logger;
import com.xxl.job.core.handler.annotation.XxlJob;
import com.zt.plat.framework.tenant.core.aop.TenantIgnore; import com.zt.plat.framework.tenant.core.aop.TenantIgnore;
import com.zt.plat.module.infra.service.logger.ApiErrorLogService; import com.zt.plat.module.infra.service.logger.ApiErrorLogService;
import jakarta.annotation.Resource; import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import jakarta.annotation.Resource;
/** /**
* 物理删除 N 天前的错误日志的 Job * 物理删除 N 天前的错误日志的 Job
* *

View File

@@ -5,9 +5,9 @@ import com.zt.plat.module.infra.controller.admin.doc.vo.*;
import com.zt.plat.module.infra.dal.dataobject.doc.DocFileDO; import com.zt.plat.module.infra.dal.dataobject.doc.DocFileDO;
import com.zt.plat.module.infra.dal.dataobject.doc.DocFilePermissionDO; import com.zt.plat.module.infra.dal.dataobject.doc.DocFilePermissionDO;
import com.zt.plat.module.infra.dal.dataobject.doc.DocFileVersionDO; import com.zt.plat.module.infra.dal.dataobject.doc.DocFileVersionDO;
import jakarta.validation.Valid;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import jakarta.validation.Valid;
import java.util.List; import java.util.List;
/** /**

View File

@@ -4,6 +4,7 @@ import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.module.infra.controller.admin.file.vo.config.FileConfigPageReqVO; import com.zt.plat.module.infra.controller.admin.file.vo.config.FileConfigPageReqVO;
import com.zt.plat.module.infra.controller.admin.file.vo.config.FileConfigSaveReqVO; import com.zt.plat.module.infra.controller.admin.file.vo.config.FileConfigSaveReqVO;
import com.zt.plat.module.infra.dal.dataobject.file.FileConfigDO; import com.zt.plat.module.infra.dal.dataobject.file.FileConfigDO;
import com.zt.plat.module.infra.framework.file.core.client.FileClient; import com.zt.plat.module.infra.framework.file.core.client.FileClient;
import jakarta.validation.Valid; import jakarta.validation.Valid;

View File

@@ -2,8 +2,6 @@ package com.zt.plat.module.infra.service.file;
import cn.hutool.core.io.resource.ResourceUtil; import cn.hutool.core.io.resource.ResourceUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.util.json.JsonUtils; import com.zt.plat.framework.common.util.json.JsonUtils;
import com.zt.plat.framework.common.util.validation.ValidationUtils; import com.zt.plat.framework.common.util.validation.ValidationUtils;
@@ -16,6 +14,8 @@ import com.zt.plat.module.infra.framework.file.core.client.FileClient;
import com.zt.plat.module.infra.framework.file.core.client.FileClientConfig; import com.zt.plat.module.infra.framework.file.core.client.FileClientConfig;
import com.zt.plat.module.infra.framework.file.core.client.FileClientFactory; import com.zt.plat.module.infra.framework.file.core.client.FileClientFactory;
import com.zt.plat.module.infra.framework.file.core.enums.FileStorageEnum; import com.zt.plat.module.infra.framework.file.core.enums.FileStorageEnum;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.validation.Validator; import jakarta.validation.Validator;
import lombok.Getter; import lombok.Getter;

View File

@@ -5,7 +5,6 @@ import cn.hutool.core.io.FileUtil;
import cn.hutool.core.lang.Assert; import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.digest.DigestUtil; import cn.hutool.crypto.digest.DigestUtil;
import com.google.common.annotations.VisibleForTesting;
import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.module.infra.controller.admin.file.vo.file.FileCreateReqVO; import com.zt.plat.module.infra.controller.admin.file.vo.file.FileCreateReqVO;
@@ -19,6 +18,7 @@ import com.zt.plat.module.infra.framework.file.core.client.FileClient;
import com.zt.plat.module.infra.framework.file.core.client.s3.FilePresignedUrlRespDTO; import com.zt.plat.module.infra.framework.file.core.client.s3.FilePresignedUrlRespDTO;
import com.zt.plat.module.infra.framework.file.core.utils.FileTypeUtils; import com.zt.plat.module.infra.framework.file.core.utils.FileTypeUtils;
import com.zt.plat.module.infra.util.VerificationCodeUtil; import com.zt.plat.module.infra.util.VerificationCodeUtil;
import com.google.common.annotations.VisibleForTesting;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;

Some files were not shown because too many files have changed in this diff Show More