Browse Source

将 tool 合并到 infra 模块

YunaiV 3 years ago
parent
commit
5a2169b688
100 changed files with 402 additions and 536 deletions
  1. 112 122
      README.md
  2. 0 1
      pom.xml
  3. 4 4
      sql/ruoyi-vue-pro.sql
  4. 4 3
      yudao-module-infra/pom.xml
  5. 14 0
      yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/enums/ErrorCodeConstants.java
  6. 8 2
      yudao-module-infra/yudao-module-infra-impl/pom.xml
  7. 24 25
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/CodegenController.java
  8. 3 3
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/CodegenDetailRespVO.java
  9. 1 1
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/CodegenPreviewRespVO.java
  10. 3 3
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/CodegenUpdateReqVO.java
  11. 1 1
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/column/CodegenColumnBaseVO.java
  12. 1 1
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/column/CodegenColumnRespVO.java
  13. 1 1
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/CodegenTableBaseVO.java
  14. 1 1
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/CodegenTablePageReqVO.java
  15. 1 1
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/CodegenTableRespVO.java
  16. 1 1
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/SchemaTableRespVO.java
  17. 2 3
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/doc/DbDocController.java
  18. 14 14
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/TestDemoController.java
  19. 1 1
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoBaseVO.java
  20. 1 3
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoCreateReqVO.java
  21. 1 1
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoExcelVO.java
  22. 1 1
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoExportReqVO.java
  23. 1 1
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoPageReqVO.java
  24. 1 1
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoRespVO.java
  25. 1 2
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoUpdateReqVO.java
  26. 11 11
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/convert/codegen/CodegenConvert.java
  27. 8 6
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/convert/test/TestDemoConvert.java
  28. 4 4
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/codegen/CodegenColumnDO.java
  29. 4 4
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/codegen/CodegenTableDO.java
  30. 1 1
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/codegen/SchemaColumnDO.java
  31. 1 1
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/codegen/SchemaTableDO.java
  32. 2 2
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/test/TestDemoDO.java
  33. 2 2
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/dal/mysql/codegen/CodegenColumnMapper.java
  34. 3 3
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/dal/mysql/codegen/CodegenTableMapper.java
  35. 2 2
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/dal/mysql/codegen/SchemaColumnMapper.java
  36. 2 2
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/dal/mysql/codegen/SchemaTableMapper.java
  37. 7 6
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/dal/mysql/test/TestDemoMapper.java
  38. 1 1
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/enums/codegen/CodegenColumnHtmlTypeEnum.java
  39. 1 1
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/enums/codegen/CodegenColumnListConditionEnum.java
  40. 1 1
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/enums/codegen/CodegenImportTypeEnum.java
  41. 1 2
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/enums/codegen/CodegenSceneEnum.java
  42. 1 1
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/enums/codegen/CodegenTemplateTypeEnum.java
  43. 4 0
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/enums/package-info.java
  44. 1 1
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/framework/codegen/config/CodegenConfiguration.java
  45. 1 1
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/framework/codegen/config/CodegenProperties.java
  46. 4 0
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/framework/codegen/package-info.java
  47. 3 2
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/package-info.java
  48. 6 6
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/CodegenService.java
  49. 18 18
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/CodegenServiceImpl.java
  50. 9 9
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/inner/CodegenBuilder.java
  51. 5 5
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/inner/CodegenEngine.java
  52. 3 3
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/inner/CodegenSQLParser.java
  53. 10 5
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/test/TestDemoService.java
  54. 13 10
      yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/test/TestDemoServiceImpl.java
  55. 0 0
      yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/controller/controller.vm
  56. 0 0
      yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/controller/vo/_column.vm
  57. 0 0
      yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/controller/vo/baseVO.vm
  58. 0 0
      yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/controller/vo/createReqVO.vm
  59. 0 0
      yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/controller/vo/excelVO.vm
  60. 0 0
      yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/controller/vo/exportReqVO.vm
  61. 0 0
      yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/controller/vo/pageReqVO.vm
  62. 0 0
      yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/controller/vo/respVO.vm
  63. 0 0
      yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/controller/vo/updateReqVO.vm
  64. 0 0
      yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/convert/convert.vm
  65. 0 0
      yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/dal/do.vm
  66. 0 0
      yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/dal/mapper.vm
  67. 0 0
      yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/enums/errorcode.vm
  68. 0 0
      yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/service/service.vm
  69. 0 0
      yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/service/serviceImpl.vm
  70. 0 0
      yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/test/serviceTest.vm
  71. 0 0
      yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/sql/h2.vm
  72. 0 0
      yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/sql/sql.vm
  73. 0 0
      yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/vue/api/api.js.vm
  74. 0 0
      yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/vue/views/index.vue.vm
  75. 1 1
      yudao-module-infra/yudao-module-infra-impl/src/test-integration/java/cn/iocoder/yudao/module/infra/dal/mysql/codegen/SchemaColumnMapperTest.java
  76. 4 0
      yudao-module-infra/yudao-module-infra-impl/src/test-integration/java/cn/iocoder/yudao/module/infra/dal/mysql/package-info.java
  77. 4 0
      yudao-module-infra/yudao-module-infra-impl/src/test-integration/java/cn/iocoder/yudao/module/infra/dal/package-info.java
  78. 7 7
      yudao-module-infra/yudao-module-infra-impl/src/test-integration/java/cn/iocoder/yudao/module/infra/service/codegen/CodegenEngineTest.java
  79. 4 4
      yudao-module-infra/yudao-module-infra-impl/src/test-integration/java/cn/iocoder/yudao/module/infra/service/codegen/CodegenSQLParserTest.java
  80. 20 0
      yudao-module-infra/yudao-module-infra-impl/src/test-integration/java/cn/iocoder/yudao/module/infra/service/codegen/CodegenServiceImplTest.java
  81. 4 0
      yudao-module-infra/yudao-module-infra-impl/src/test-integration/java/cn/iocoder/yudao/module/infra/service/package-info.java
  82. 1 1
      yudao-module-infra/yudao-module-infra-impl/src/test-integration/java/cn/iocoder/yudao/module/infra/test/BaseDbAndRedisIntegrationTest.java
  83. 1 1
      yudao-module-infra/yudao-module-infra-impl/src/test-integration/java/cn/iocoder/yudao/module/infra/test/BaseRedisIntegrationTest.java
  84. 9 9
      yudao-module-infra/yudao-module-infra-impl/src/test/java/cn/iocoder/yudao/module/infra/service/test/TestDemoServiceImplTest.java
  85. 1 0
      yudao-module-infra/yudao-module-infra-impl/src/test/resources/sql/clean.sql
  86. 15 0
      yudao-module-infra/yudao-module-infra-impl/src/test/resources/sql/create_tables.sql
  87. 0 24
      yudao-module-tool/pom.xml
  88. 0 26
      yudao-module-tool/yudao-module-tool-api/pom.xml
  89. 0 4
      yudao-module-tool/yudao-module-tool-api/src/main/java/cn/iocoder/yudao/module/tool/api/package-info.java
  90. 0 12
      yudao-module-tool/yudao-module-tool-api/src/main/java/cn/iocoder/yudao/module/tool/enums/DictTypeConstants.java
  91. 0 25
      yudao-module-tool/yudao-module-tool-api/src/main/java/cn/iocoder/yudao/module/tool/enums/ErrorCodeConstants.java
  92. 0 1
      yudao-module-tool/yudao-module-tool-api/src/main/java/cn/iocoder/yudao/module/tool/package-info.java
  93. 0 78
      yudao-module-tool/yudao-module-tool-impl/pom.xml
  94. 0 4
      yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/app/package-info.java
  95. 0 6
      yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/package-info.java
  96. 0 4
      yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/enums/package-info.java
  97. 0 4
      yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/framework/codegen/package-info.java
  98. 0 6
      yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/framework/package-info.java
  99. 0 8
      yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/package-info.java
  100. 0 4
      yudao-module-tool/yudao-module-tool-impl/src/test-integration/java/cn/iocoder/yudao/module/tool/dal/mysql/package-info.java

+ 112 - 122
README.md

@@ -21,10 +21,10 @@
 * 集成微信小程序、微信公众号、企业微信、钉钉等三方登陆,集成支付宝、微信等支付与退款。
 * 集成阿里云、腾讯云、云片等短信渠道,集成阿里云、腾讯云、七牛云等云存储服务。
 
-|  项目名 | 说明                     | 传说门  |
-|  ----  |------------------------| ----  |
-| `ruoyi-vue-pro` | Spring Boot 多模块        | **[Gitee](https://gitee.com/zhijiantianya/ruoyi-vue-pro)**     [Github](https://github.com/YunaiV/ruoyi-vue-pro) |
-| `ruoyi-vue-cloud` | Spring Cloud 微服务       | **[Gitee](https://gitee.com/zhijiantianya/ruoyi-vue-cloud)**     [Github](https://github.com/YunaiV/onemall) |
+| 项目名                | 说明                     | 传说门                                                                                                                                 |
+|--------------------|------------------------|-------------------------------------------------------------------------------------------------------------------------------------|
+| `ruoyi-vue-pro`    | Spring Boot 多模块        | **[Gitee](https://gitee.com/zhijiantianya/ruoyi-vue-pro)**     [Github](https://github.com/YunaiV/ruoyi-vue-pro)     |
+| `ruoyi-vue-cloud`  | Spring Cloud 微服务       | **[Gitee](https://gitee.com/zhijiantianya/ruoyi-vue-cloud)**     [Github](https://github.com/YunaiV/onemall)         |
 | `Spring-Boot-Labs` | Spring Boot & Cloud 入门 | **[Gitee](https://gitee.com/zhijiantianya/SpringBoot-Labs)**     [Github](https://github.com/YunaiV/SpringBoot-Labs) |
 
 ## 🐶 在线体验
@@ -45,7 +45,6 @@
 * 支付系统
 * 商城系统
 * 基础设施
-* 研发工具
 
 > 友情提示:本项目基于 RuoYi-Vue 修改,**重构优化**后端的代码,**美化**前端的界面。
 >
@@ -56,43 +55,43 @@
 
 ### 系统功能
 
-|  | 功能 | 描述 |
-| --- | --- | --- |
-|  | 用户管理 | 用户是系统操作者,该功能主要完成系统用户配置 |
-| ⭐️ | 在线用户 | 当前系统中活跃用户状态监控,支持手动踢下线 |
-|  | 角色管理 | 角色菜单权限分配、设置角色按机构进行数据范围权限划分 |
-|  | 菜单管理 | 配置系统菜单、操作权限、按钮权限标识等,本地缓存提供性能 |
-|  | 部门管理 | 配置系统组织机构(公司、部门、小组),树结构展现支持数据权限 |
-|  | 岗位管理 | 配置系统用户所属担任职务 |
-| 🚀 | 租户管理 | 配置系统租户,支持 SaaS 场景下的多租户功能 |
-| 🚀 | 租户套餐 | 配置租户套餐,自定每个租户的菜单、操作、按钮的权限 |
-|  | 字典管理 | 对系统中经常使用的一些较为固定的数据进行维护 |
-| 🚀 | 短信管理 | 短信渠道、短息模板、短信日志,对接阿里云、云片等主流短信平台 |
-| 🚀 | 操作日志 | 系统正常操作日志记录和查询,集成 Swagger 生成日志内容 |
-| ⭐️ | 登录日志 | 系统登录日志记录查询,包含登录异常 |
-| 🚀 | 错误码管理 | 系统所有错误码的管理,可在线修改错误提示,无需重启服务 |
-|  | 通知公告 | 系统通知公告信息发布维护 |
+|     | 功能    | 描述                              |
+|-----|-------|---------------------------------|
+|     | 用户管理  | 用户是系统操作者,该功能主要完成系统用户配置          |
+| ⭐️  | 在线用户  | 当前系统中活跃用户状态监控,支持手动踢下线           |
+|     | 角色管理  | 角色菜单权限分配、设置角色按机构进行数据范围权限划分      |
+|     | 菜单管理  | 配置系统菜单、操作权限、按钮权限标识等,本地缓存提供性能    |
+|     | 部门管理  | 配置系统组织机构(公司、部门、小组),树结构展现支持数据权限  |
+|     | 岗位管理  | 配置系统用户所属担任职务                    |
+| 🚀  | 租户管理  | 配置系统租户,支持 SaaS 场景下的多租户功能        |
+| 🚀  | 租户套餐  | 配置租户套餐,自定每个租户的菜单、操作、按钮的权限       |
+|     | 字典管理  | 对系统中经常使用的一些较为固定的数据进行维护          |
+| 🚀  | 短信管理  | 短信渠道、短息模板、短信日志,对接阿里云、云片等主流短信平台  |
+| 🚀  | 操作日志  | 系统正常操作日志记录和查询,集成 Swagger 生成日志内容 |
+| ⭐️  | 登录日志  | 系统登录日志记录查询,包含登录异常               |
+| 🚀  | 错误码管理 | 系统所有错误码的管理,可在线修改错误提示,无需重启服务     |
+|     | 通知公告  | 系统通知公告信息发布维护                    |
 
 ### 工作流程
 
-|  | 功能 | 描述 |
-| --- | --- | --- |
-| 🚀 | 流程模型 | 配置工作流的流程模型,支持文件导入与在线设计流程图,提供 7 种任务分配规则 |
-| 🚀 | 流程表单 | 拖动表单元素生成相应的工作流表单,覆盖 Element UI 所有的表单组件 |
-| 🚀 | 用户分组 | 自定义用户分组,可用于工作流的审批分组 |
-| 🚀 | 我的流程 | 查看我发起的工作流程,支持新建、取消流程等操作,高亮流程图、审批时间线 |
-| 🚀 | 待办任务 | 查看自己【未】审批的工作任务,支持通过、不通过、转发、委派、退回等操作 |
-| 🚀 | 已办任务 | 查看自己【已】审批的工作任务,未来会支持回退操作 |
-| 🚀 | OA 请假 | 作为业务自定义接入工作流的使用示例,只需创建请求对应的工作流程,即可进行审批 |
+|     | 功能    | 描述                                     |
+|-----|-------|----------------------------------------|
+| 🚀  | 流程模型  | 配置工作流的流程模型,支持文件导入与在线设计流程图,提供 7 种任务分配规则 |
+| 🚀  | 流程表单  | 拖动表单元素生成相应的工作流表单,覆盖 Element UI 所有的表单组件 |
+| 🚀  | 用户分组  | 自定义用户分组,可用于工作流的审批分组                    |
+| 🚀  | 我的流程  | 查看我发起的工作流程,支持新建、取消流程等操作,高亮流程图、审批时间线    |
+| 🚀  | 待办任务  | 查看自己【未】审批的工作任务,支持通过、不通过、转发、委派、退回等操作    |
+| 🚀  | 已办任务  | 查看自己【已】审批的工作任务,未来会支持回退操作               |
+| 🚀  | OA 请假 | 作为业务自定义接入工作流的使用示例,只需创建请求对应的工作流程,即可进行审批 |
 
 ### 支付系统
 
-|  | 功能 | 描述 |
-| --- | --- | --- |
-| 🚀 | 商户信息 | 管理商户信息,支持 Saas 场景下的多商户功能 |
-| 🚀 | 应用信息 | 配置商户的应用信息,对接支付宝、微信等多个支付渠道 |
-| 🚀 | 支付订单 | 查看用户发起的支付宝、微信等的【支付】订单 |
-| 🚀 | 退款订单 | 查看用户发起的支付宝、微信等的【退款】订单 |
+|     | 功能   | 描述                        |
+|-----|------|---------------------------|
+| 🚀  | 商户信息 | 管理商户信息,支持 Saas 场景下的多商户功能  |
+| 🚀  | 应用信息 | 配置商户的应用信息,对接支付宝、微信等多个支付渠道 |
+| 🚀  | 支付订单 | 查看用户发起的支付宝、微信等的【支付】订单     |
+| 🚀  | 退款订单 | 查看用户发起的支付宝、微信等的【退款】订单     |
 
 ps:核心功能已经实现,正在对接微信小程序中...
 
@@ -109,32 +108,27 @@ ps:核心功能已经实现,正在对接微信小程序中...
 
 ### 基础设施
 
-|  | 功能 | 描述 |
-| --- | --- | --- |
-| 🚀 | 配置管理 | 对系统动态配置常用参数,支持 SpringBoot 加载 |
-| ⭐️ | 定时任务 | 在线(添加、修改、删除)任务调度包含执行结果日志 |
-| 🚀 | 文件服务 | 支持本地文件存储,同时支持兼容 Amazon S3 协议的云服务、开源组件 | 
-| 🚀 | API 日志 | 包括 RESTful API 访问日志、异常日志两部分,方便排查 API 相关的问题 |
-|  | MySQL 监控 | 监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈 |
-|  | Redis 监控 | 监控 Redis 数据库的使用情况,使用的 Redis Key 管理 |
-| 🚀 | 消息队列 | 基于 Redis 实现消息队列,Stream 提供集群消费,Pub/Sub 提供广播消费 |
-| 🚀 |Java 监控 | 基于 Spring Boot Admin 实现 Java 应用的监控 |
-| 🚀 | 链路追踪 | 接入 SkyWalking 组件,实现链路追踪 |
-| 🚀 | 日志中心 | 接入 SkyWalking 组件,实现日志中心 |
-| 🚀 | 分布式锁 | 基于 Redis 实现分布式锁,满足并发场景 |
-| 🚀 | 幂等组件 | 基于 Redis 实现幂等组件,解决重复请求问题 |
-| 🚀 | 服务保障 | 基于 Resilience4j 实现服务的稳定性,包括限流、熔断等功能 |
-| 🚀 | 日志服务 | 轻量级日志中心,查看远程服务器的日志 |
-| 🚀 | 单元测试 |基于 JUnit + Mockito 实现单元测试,保证功能的正确性、代码的质量等 |
-
-### 研发工具
-
-|  | 功能 | 描述 |
-| --- | --- | --- |
-| 🚀 | 代码生成 |前后端代码的生成(Java、Vue、SQL、单元测试),支持 CRUD 下载 |
-| 🚀 | 系统接口 | 基于 Swagger 自动生成相关的 RESTful API 接口文档 |
-| 🚀 | 数据库文档 | 基于 Screw 自动生成数据库文档,支持导出 Word、HTML、MD 格式 |
-|  | 表单构建 | 拖动表单元素生成相应的 HTML 代码,支持导出 JSON、Vue 文件  |
+|     | 功能       | 描述                                           |
+|-----|----------|----------------------------------------------|
+| 🚀  | 代码生成     | 前后端代码的生成(Java、Vue、SQL、单元测试),支持 CRUD 下载       |
+| 🚀  | 系统接口     | 基于 Swagger 自动生成相关的 RESTful API 接口文档          |
+| 🚀  | 数据库文档    | 基于 Screw 自动生成数据库文档,支持导出 Word、HTML、MD 格式      |
+|     | 表单构建     | 拖动表单元素生成相应的 HTML 代码,支持导出 JSON、Vue 文件         |
+| 🚀  | 配置管理     | 对系统动态配置常用参数,支持 SpringBoot 加载                 |
+| ⭐️  | 定时任务     | 在线(添加、修改、删除)任务调度包含执行结果日志                     |
+| 🚀  | 文件服务     | 支持本地文件存储,同时支持兼容 Amazon S3 协议的云服务、开源组件        | 
+| 🚀  | API 日志   | 包括 RESTful API 访问日志、异常日志两部分,方便排查 API 相关的问题   |
+|     | MySQL 监控 | 监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈              |
+|     | Redis 监控 | 监控 Redis 数据库的使用情况,使用的 Redis Key 管理           |
+| 🚀  | 消息队列     | 基于 Redis 实现消息队列,Stream 提供集群消费,Pub/Sub 提供广播消费 |
+| 🚀  | Java 监控  | 基于 Spring Boot Admin 实现 Java 应用的监控           |
+| 🚀  | 链路追踪     | 接入 SkyWalking 组件,实现链路追踪                      |
+| 🚀  | 日志中心     | 接入 SkyWalking 组件,实现日志中心                      |
+| 🚀  | 分布式锁     | 基于 Redis 实现分布式锁,满足并发场景                       |
+| 🚀  | 幂等组件     | 基于 Redis 实现幂等组件,解决重复请求问题                     |
+| 🚀  | 服务保障     | 基于 Resilience4j 实现服务的稳定性,包括限流、熔断等功能          |
+| 🚀  | 日志服务     | 轻量级日志中心,查看远程服务器的日志                           |
+| 🚀  | 单元测试     | 基于 JUnit + Mockito 实现单元测试,保证功能的正确性、代码的质量等    |
 
 ## 🐨 技术栈
 
@@ -154,83 +148,79 @@ ps:核心功能已经实现,正在对接微信小程序中...
 
 ### 后端
 
-| 框架 | 说明 | 版本       | 学习指南 |
-| --- | --- |----------| --- |
-| [Spring Boot](https://spring.io/projects/spring-boot) | 应用开发框架 | 2.5.10    | [文档](https://github.com/YunaiV/SpringBoot-Labs) |
-| [MySQL](https://www.mysql.com/cn/) | 数据库服务器 | 5.7      |  |
-| [Druid](https://github.com/alibaba/druid) | JDBC 连接池、监控组件 | 1.2.8    | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) |
-| [MyBatis Plus](https://mp.baomidou.com/) | MyBatis 增强工具包 | 3.5.1  | [文档](http://www.iocoder.cn/Spring-Boot/MyBatis/?yudao) |
-| [Dynamic Datasource](https://dynamic-datasource.com/) | 动态数据源 | 3.5.0    | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) |
-| [Redis](https://redis.io/) | key-value 数据库 | 5.0      |  |
-| [Redisson](https://github.com/redisson/redisson) | Redis 客户端 | 3.16.8   | [文档](http://www.iocoder.cn/Spring-Boot/Redis/?yudao) |
-| [Spring MVC](https://github.com/spring-projects/spring-framework/tree/master/spring-webmvc) | MVC 框架  | 5.3.16   | [文档](http://www.iocoder.cn/SpringMVC/MVC/?yudao) |
-| [Spring Security](https://github.com/spring-projects/spring-security) | Spring 安全框架 | 5.5.5    | [文档](http://www.iocoder.cn/Spring-Boot/Spring-Security/?yudao) |
-| [Hibernate Validator](https://github.com/hibernate/hibernate-validator) | 参数校验组件 | 6.2.2    | [文档](http://www.iocoder.cn/Spring-Boot/Validation/?yudao) |
-| [Activiti](https://github.com/Activiti/Activiti) | 工作流引擎 | 7.1.0.M6 | [文档](TODO)  |
-| [Quartz](https://github.com/quartz-scheduler) | 任务调度组件 | 2.3.2    | [文档](http://www.iocoder.cn/Spring-Boot/Job/?yudao) |
-| [Knife4j](https://gitee.com/xiaoym/knife4j) | Swagger 增强 UI 实现 | 3.0.2    | [文档](http://www.iocoder.cn/Spring-Boot/Swagger/?yudao) |
-| [Resilience4j](https://github.com/resilience4j/resilience4j) | 服务保障组件 | 1.7.0    | [文档](http://www.iocoder.cn/Spring-Boot/Resilience4j/?yudao) |
-| [SkyWalking](https://skywalking.apache.org/) | 分布式应用追踪系统 | 8.5.0    | [文档](http://www.iocoder.cn/Spring-Boot/SkyWalking/?yudao) |
-| [Spring Boot Admin](https://github.com/codecentric/spring-boot-admin) | Spring Boot 监控平台 | 2.4.2    | [文档](http://www.iocoder.cn/Spring-Boot/Admin/?yudao) |
-| [Jackson](https://github.com/FasterXML/jackson) | JSON 工具库 | 2.12.6   |  |
-| [MapStruct](https://mapstruct.org/) | Java Bean 转换 | 1.4.1    | [文档](http://www.iocoder.cn/Spring-Boot/MapStruct/?yudao) |
-| [Lombok](https://projectlombok.org/) | 消除冗长的 Java 代码 | 1.16.14  | [文档](http://www.iocoder.cn/Spring-Boot/Lombok/?yudao) |
-| [JUnit](https://junit.org/junit5/) | Java 单元测试框架 | 5.7.2    | - |
-| [Mockito](https://github.com/mockito/mockito) | Java Mock 框架 | 3.9.0    | - |
+| 框架                                                                                          | 说明               | 版本       | 学习指南                                                           |
+|---------------------------------------------------------------------------------------------|------------------|----------|----------------------------------------------------------------|
+| [Spring Boot](https://spring.io/projects/spring-boot)                                       | 应用开发框架           | 2.5.10   | [文档](https://github.com/YunaiV/SpringBoot-Labs)                |
+| [MySQL](https://www.mysql.com/cn/)                                                          | 数据库服务器           | 5.7      |                                                                |
+| [Druid](https://github.com/alibaba/druid)                                                   | JDBC 连接池、监控组件    | 1.2.8    | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) |
+| [MyBatis Plus](https://mp.baomidou.com/)                                                    | MyBatis 增强工具包    | 3.5.1    | [文档](http://www.iocoder.cn/Spring-Boot/MyBatis/?yudao)         |
+| [Dynamic Datasource](https://dynamic-datasource.com/)                                       | 动态数据源            | 3.5.0    | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) |
+| [Redis](https://redis.io/)                                                                  | key-value 数据库    | 5.0      |                                                                |
+| [Redisson](https://github.com/redisson/redisson)                                            | Redis 客户端        | 3.16.8   | [文档](http://www.iocoder.cn/Spring-Boot/Redis/?yudao)           |
+| [Spring MVC](https://github.com/spring-projects/spring-framework/tree/master/spring-webmvc) | MVC 框架           | 5.3.16   | [文档](http://www.iocoder.cn/SpringMVC/MVC/?yudao)               |
+| [Spring Security](https://github.com/spring-projects/spring-security)                       | Spring 安全框架      | 5.5.5    | [文档](http://www.iocoder.cn/Spring-Boot/Spring-Security/?yudao) |
+| [Hibernate Validator](https://github.com/hibernate/hibernate-validator)                     | 参数校验组件           | 6.2.2    | [文档](http://www.iocoder.cn/Spring-Boot/Validation/?yudao)      |
+| [Activiti](https://github.com/Activiti/Activiti)                                            | 工作流引擎            | 7.1.0.M6 | [文档](TODO)                                                     |
+| [Quartz](https://github.com/quartz-scheduler)                                               | 任务调度组件           | 2.3.2    | [文档](http://www.iocoder.cn/Spring-Boot/Job/?yudao)             |
+| [Knife4j](https://gitee.com/xiaoym/knife4j)                                                 | Swagger 增强 UI 实现 | 3.0.2    | [文档](http://www.iocoder.cn/Spring-Boot/Swagger/?yudao)         |
+| [Resilience4j](https://github.com/resilience4j/resilience4j)                                | 服务保障组件           | 1.7.0    | [文档](http://www.iocoder.cn/Spring-Boot/Resilience4j/?yudao)    |
+| [SkyWalking](https://skywalking.apache.org/)                                                | 分布式应用追踪系统        | 8.5.0    | [文档](http://www.iocoder.cn/Spring-Boot/SkyWalking/?yudao)      |
+| [Spring Boot Admin](https://github.com/codecentric/spring-boot-admin)                       | Spring Boot 监控平台 | 2.4.2    | [文档](http://www.iocoder.cn/Spring-Boot/Admin/?yudao)           |
+| [Jackson](https://github.com/FasterXML/jackson)                                             | JSON 工具库         | 2.12.6   |                                                                |
+| [MapStruct](https://mapstruct.org/)                                                         | Java Bean 转换     | 1.4.1    | [文档](http://www.iocoder.cn/Spring-Boot/MapStruct/?yudao)       |
+| [Lombok](https://projectlombok.org/)                                                        | 消除冗长的 Java 代码    | 1.16.14  | [文档](http://www.iocoder.cn/Spring-Boot/Lombok/?yudao)          |
+| [JUnit](https://junit.org/junit5/)                                                          | Java 单元测试框架      | 5.7.2    | -                                                              |
+| [Mockito](https://github.com/mockito/mockito)                                               | Java Mock 框架     | 3.9.0    | -                                                              |
 
 ### 前端
 
-| 框架 | 说明 |  版本 |
-| --- | --- | --- |
-| [Vue](https://cn.vuejs.org/index.html) | JavaScript 框架 | 2.6.12 |
-| [Vue Element Admin](https://panjiachen.github.io/vue-element-admin-site/zh/) | 后台前端解决方案 | - |
+| 框架                                                                           | 说明            | 版本     |
+|------------------------------------------------------------------------------|---------------|--------|
+| [Vue](https://cn.vuejs.org/index.html)                                       | JavaScript 框架 | 2.6.12 |
+| [Vue Element Admin](https://panjiachen.github.io/vue-element-admin-site/zh/) | 后台前端解决方案      | -      |
 
 ## 🐷 演示图
 
 ### 系统功能
 
-| 模块 | biu | biu                                                              | biu |
-| --- | --- |------------------------------------------------------------------| --- |
-| 登录 & 首页 | ![登录](https://static.iocoder.cn/images/ruoyi-vue-pro/登录.jpg) | ![首页](https://static.iocoder.cn/images/ruoyi-vue-pro/首页.jpg)     | ![个人中心](https://static.iocoder.cn/images/ruoyi-vue-pro/个人中心.jpg) |
-| 用户 | ![用户管理](https://static.iocoder.cn/images/ruoyi-vue-pro/用户管理.jpg) | ![在线用户](https://static.iocoder.cn/images/ruoyi-vue-pro/在线用户.jpg) | - |
-| 租户 & 套餐 | ![租户管理](https://static.iocoder.cn/images/ruoyi-vue-pro/租户管理.jpg) | ![租户套餐](https://static.iocoder.cn/images/ruoyi-vue-pro/租户套餐.png) | - |
-| 部门 & 岗位 | ![部门管理](https://static.iocoder.cn/images/ruoyi-vue-pro/部门管理.jpg) | ![岗位管理](https://static.iocoder.cn/images/ruoyi-vue-pro/岗位管理.jpg) | - |
-| 菜单 & 角色 | ![菜单管理](https://static.iocoder.cn/images/ruoyi-vue-pro/菜单管理.jpg) | ![角色管理](https://static.iocoder.cn/images/ruoyi-vue-pro/角色管理.jpg) | - |
-| 审计日志 | ![操作日志](https://static.iocoder.cn/images/ruoyi-vue-pro/操作日志.jpg) | ![登录日志](https://static.iocoder.cn/images/ruoyi-vue-pro/登录日志.jpg) | - |
-| 短信 | ![短信渠道](https://static.iocoder.cn/images/ruoyi-vue-pro/短信渠道.jpg) | ![短信模板](https://static.iocoder.cn/images/ruoyi-vue-pro/短信模板.jpg) | ![短信日志](https://static.iocoder.cn/images/ruoyi-vue-pro/短信日志.jpg) |
-| 字典 | ![字典类型](https://static.iocoder.cn/images/ruoyi-vue-pro/字典类型.jpg) | ![字典数据](https://static.iocoder.cn/images/ruoyi-vue-pro/字典数据.jpg) | - |
-| 错误码 & 通知 | ![错误码管理](https://static.iocoder.cn/images/ruoyi-vue-pro/错误码管理.jpg) | ![通知公告](https://static.iocoder.cn/images/ruoyi-vue-pro/通知公告.jpg) | - |
+| 模块       | biu                                                                | biu                                                              | biu                                                              |
+|----------|--------------------------------------------------------------------|------------------------------------------------------------------|------------------------------------------------------------------|
+| 登录 & 首页  | ![登录](https://static.iocoder.cn/images/ruoyi-vue-pro/登录.jpg)       | ![首页](https://static.iocoder.cn/images/ruoyi-vue-pro/首页.jpg)     | ![个人中心](https://static.iocoder.cn/images/ruoyi-vue-pro/个人中心.jpg) |
+| 用户       | ![用户管理](https://static.iocoder.cn/images/ruoyi-vue-pro/用户管理.jpg)   | ![在线用户](https://static.iocoder.cn/images/ruoyi-vue-pro/在线用户.jpg) | -                                                                |
+| 租户 & 套餐  | ![租户管理](https://static.iocoder.cn/images/ruoyi-vue-pro/租户管理.jpg)   | ![租户套餐](https://static.iocoder.cn/images/ruoyi-vue-pro/租户套餐.png) | -                                                                |
+| 部门 & 岗位  | ![部门管理](https://static.iocoder.cn/images/ruoyi-vue-pro/部门管理.jpg)   | ![岗位管理](https://static.iocoder.cn/images/ruoyi-vue-pro/岗位管理.jpg) | -                                                                |
+| 菜单 & 角色  | ![菜单管理](https://static.iocoder.cn/images/ruoyi-vue-pro/菜单管理.jpg)   | ![角色管理](https://static.iocoder.cn/images/ruoyi-vue-pro/角色管理.jpg) | -                                                                |
+| 审计日志     | ![操作日志](https://static.iocoder.cn/images/ruoyi-vue-pro/操作日志.jpg)   | ![登录日志](https://static.iocoder.cn/images/ruoyi-vue-pro/登录日志.jpg) | -                                                                |
+| 短信       | ![短信渠道](https://static.iocoder.cn/images/ruoyi-vue-pro/短信渠道.jpg)   | ![短信模板](https://static.iocoder.cn/images/ruoyi-vue-pro/短信模板.jpg) | ![短信日志](https://static.iocoder.cn/images/ruoyi-vue-pro/短信日志.jpg) |
+| 字典       | ![字典类型](https://static.iocoder.cn/images/ruoyi-vue-pro/字典类型.jpg)   | ![字典数据](https://static.iocoder.cn/images/ruoyi-vue-pro/字典数据.jpg) | -                                                                |
+| 错误码 & 通知 | ![错误码管理](https://static.iocoder.cn/images/ruoyi-vue-pro/错误码管理.jpg) | ![通知公告](https://static.iocoder.cn/images/ruoyi-vue-pro/通知公告.jpg) | -                                                                |
 
 ### 工作流程
 
-| 模块 | biu |  biu | biu |
-| --- | --- | --- | --- |
-| 流程模型 | ![流程模型-列表](https://static.iocoder.cn/images/ruoyi-vue-pro/流程模型-列表.jpg) | ![流程模型-设计](https://static.iocoder.cn/images/ruoyi-vue-pro/流程模型-设计.jpg) | ![流程模型-定义](https://static.iocoder.cn/images/ruoyi-vue-pro/流程模型-定义.jpg) |
-| 表单 & 分组 | ![流程表单](https://static.iocoder.cn/images/ruoyi-vue-pro/流程表单.jpg) | ![用户分组](https://static.iocoder.cn/images/ruoyi-vue-pro/用户分组.jpg) | - |
-| 我的流程 | ![我的流程-列表](https://static.iocoder.cn/images/ruoyi-vue-pro/我的流程-列表.jpg) | ![我的流程-发起](https://static.iocoder.cn/images/ruoyi-vue-pro/我的流程-发起.jpg) | ![我的流程-详情](https://static.iocoder.cn/images/ruoyi-vue-pro/我的流程-详情.jpg) |
+| 模块      | biu                                                                    | biu                                                                    | biu                                                                    |
+|---------|------------------------------------------------------------------------|------------------------------------------------------------------------|------------------------------------------------------------------------|
+| 流程模型    | ![流程模型-列表](https://static.iocoder.cn/images/ruoyi-vue-pro/流程模型-列表.jpg) | ![流程模型-设计](https://static.iocoder.cn/images/ruoyi-vue-pro/流程模型-设计.jpg) | ![流程模型-定义](https://static.iocoder.cn/images/ruoyi-vue-pro/流程模型-定义.jpg) |
+| 表单 & 分组 | ![流程表单](https://static.iocoder.cn/images/ruoyi-vue-pro/流程表单.jpg)       | ![用户分组](https://static.iocoder.cn/images/ruoyi-vue-pro/用户分组.jpg)       | -                                                                      |
+| 我的流程    | ![我的流程-列表](https://static.iocoder.cn/images/ruoyi-vue-pro/我的流程-列表.jpg) | ![我的流程-发起](https://static.iocoder.cn/images/ruoyi-vue-pro/我的流程-发起.jpg) | ![我的流程-详情](https://static.iocoder.cn/images/ruoyi-vue-pro/我的流程-详情.jpg) |
 | 待办 & 已办 | ![任务列表-审批](https://static.iocoder.cn/images/ruoyi-vue-pro/任务列表-审批.jpg) | ![任务列表-待办](https://static.iocoder.cn/images/ruoyi-vue-pro/任务列表-待办.jpg) | ![任务列表-已办](https://static.iocoder.cn/images/ruoyi-vue-pro/任务列表-已办.jpg) |
-| OA 请假 | ![OA请假-列表](https://static.iocoder.cn/images/ruoyi-vue-pro/OA请假-列表.jpg) | ![OA请假-发起](https://static.iocoder.cn/images/ruoyi-vue-pro/OA请假-发起.jpg) | ![OA请假-详情](https://static.iocoder.cn/images/ruoyi-vue-pro/OA请假-详情.jpg) |
+| OA 请假   | ![OA请假-列表](https://static.iocoder.cn/images/ruoyi-vue-pro/OA请假-列表.jpg) | ![OA请假-发起](https://static.iocoder.cn/images/ruoyi-vue-pro/OA请假-发起.jpg) | ![OA请假-详情](https://static.iocoder.cn/images/ruoyi-vue-pro/OA请假-详情.jpg) |
 
 ### 支付系统
 
-| 模块 | biu |  biu | biu |
-| --- | --- | --- | --- |
+| 模块      | biu                                                              | biu                                                                    | biu                                                                    |
+|---------|------------------------------------------------------------------|------------------------------------------------------------------------|------------------------------------------------------------------------|
 | 商家 & 应用 | ![商户信息](https://static.iocoder.cn/images/ruoyi-vue-pro/商户信息.jpg) | ![应用信息-列表](https://static.iocoder.cn/images/ruoyi-vue-pro/应用信息-列表.jpg) | ![应用信息-编辑](https://static.iocoder.cn/images/ruoyi-vue-pro/应用信息-编辑.jpg) |
-| 支付 & 退款 | ![支付订单](https://static.iocoder.cn/images/ruoyi-vue-pro/支付订单.jpg) | ![退款订单](https://static.iocoder.cn/images/ruoyi-vue-pro/退款订单.jpg) | --- |
+| 支付 & 退款 | ![支付订单](https://static.iocoder.cn/images/ruoyi-vue-pro/支付订单.jpg) | ![退款订单](https://static.iocoder.cn/images/ruoyi-vue-pro/退款订单.jpg)       | ---                                                                    |
 
 ### 基础设施
 
-| 模块 | biu |  biu | biu |
-| --- | --- | --- | --- |
-| 文件 & 配置 | ![文件管理](https://static.iocoder.cn/images/ruoyi-vue-pro/文件管理.jpg) | ![配置管理](https://static.iocoder.cn/images/ruoyi-vue-pro/配置管理.jpg) | - |
-| 定时任务 | ![定时任务](https://static.iocoder.cn/images/ruoyi-vue-pro/定时任务.jpg) | ![任务日志](https://static.iocoder.cn/images/ruoyi-vue-pro/任务日志.jpg) | - |
-| API 日志 | ![访问日志](https://static.iocoder.cn/images/ruoyi-vue-pro/访问日志.jpg) | ![错误日志](https://static.iocoder.cn/images/ruoyi-vue-pro/错误日志.jpg) | - |
-| MySQL & Redis | ![MySQL](https://static.iocoder.cn/images/ruoyi-vue-pro/MySQL.jpg) | ![Redis](https://static.iocoder.cn/images/ruoyi-vue-pro/Redis.jpg) | - |
-| 监控平台 | ![Java监控](https://static.iocoder.cn/images/ruoyi-vue-pro/Java监控.jpg) | ![链路追踪](https://static.iocoder.cn/images/ruoyi-vue-pro/链路追踪.jpg) | ![日志中心](https://static.iocoder.cn/images/ruoyi-vue-pro/日志中心.jpg) |
+| 模块            | biu                                                                  | biu                                                                | biu                                                              |
+|---------------|----------------------------------------------------------------------|--------------------------------------------------------------------|------------------------------------------------------------------|
+| 代码生成          | ![代码生成](https://static.iocoder.cn/images/ruoyi-vue-pro/代码生成.jpg)     | ![生成效果](https://static.iocoder.cn/images/ruoyi-vue-pro/生成效果.jpg)   | -                                                                |
+| 文档            | ![系统接口](https://static.iocoder.cn/images/ruoyi-vue-pro/系统接口.jpg)     | ![数据库文档](https://static.iocoder.cn/images/ruoyi-vue-pro/数据库文档.jpg) | -                                                                |
+| 文件 & 配置       | ![文件管理](https://static.iocoder.cn/images/ruoyi-vue-pro/文件管理.jpg)     | ![配置管理](https://static.iocoder.cn/images/ruoyi-vue-pro/配置管理.jpg)   | -                                                                |
+| 定时任务          | ![定时任务](https://static.iocoder.cn/images/ruoyi-vue-pro/定时任务.jpg)     | ![任务日志](https://static.iocoder.cn/images/ruoyi-vue-pro/任务日志.jpg)   | -                                                                |
+| API 日志        | ![访问日志](https://static.iocoder.cn/images/ruoyi-vue-pro/访问日志.jpg)     | ![错误日志](https://static.iocoder.cn/images/ruoyi-vue-pro/错误日志.jpg)   | -                                                                |
+| MySQL & Redis | ![MySQL](https://static.iocoder.cn/images/ruoyi-vue-pro/MySQL.jpg)   | ![Redis](https://static.iocoder.cn/images/ruoyi-vue-pro/Redis.jpg) | -                                                                |
+| 监控平台          | ![Java监控](https://static.iocoder.cn/images/ruoyi-vue-pro/Java监控.jpg) | ![链路追踪](https://static.iocoder.cn/images/ruoyi-vue-pro/链路追踪.jpg)   | ![日志中心](https://static.iocoder.cn/images/ruoyi-vue-pro/日志中心.jpg) |
 
-### 研发工具
-
-| 模块 | biu |  biu | biu |
-| --- | --- | --- | --- |
-| 代码生成 | ![代码生成](https://static.iocoder.cn/images/ruoyi-vue-pro/代码生成.jpg) | ![生成效果](https://static.iocoder.cn/images/ruoyi-vue-pro/生成效果.jpg) | - |
-| 文档 | ![系统接口](https://static.iocoder.cn/images/ruoyi-vue-pro/系统接口.jpg) | ![数据库文档](https://static.iocoder.cn/images/ruoyi-vue-pro/数据库文档.jpg) | - |

+ 0 - 1
pom.xml

@@ -17,7 +17,6 @@
         <module>yudao-module-bpm</module>
         <module>yudao-module-system</module>
         <module>yudao-module-infra</module>
-        <module>yudao-module-tool</module>
         <module>yudao-module-pay</module>
     </modules>
 

File diff suppressed because it is too large
+ 4 - 4
sql/ruoyi-vue-pro.sql


+ 4 - 3
yudao-module-infra/pom.xml

@@ -17,8 +17,9 @@
 
     <name>${project.artifactId}</name>
     <description>
-        infra 包下,我们放基础设施的运维与管理,支撑上层的通用与核心业务。
-        例如说:定时任务的管理、服务器的信息等等
+        infra 模块,主要提供两块能力:
+        1. 我们放基础设施的运维与管理,支撑上层的通用与核心业务。 例如说:定时任务的管理、服务器的信息等等
+        2. 研发工具,提升研发效率与质量。 例如说:代码生成器、接口文档等等
     </description>
-
+    
 </project>

+ 14 - 0
yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/enums/ErrorCodeConstants.java

@@ -32,4 +32,18 @@ public interface ErrorCodeConstants {
     ErrorCode FILE_NOT_EXISTS = new ErrorCode(1001003001, "文件不存在");
     ErrorCode FILE_IS_EMPTY = new ErrorCode(1001003002, "文件为空");
 
+    // ========== 代码生成器 1001004000 ==========
+    ErrorCode CODEGEN_TABLE_EXISTS = new ErrorCode(1003001000, "表定义已经存在");
+    ErrorCode CODEGEN_IMPORT_TABLE_NULL = new ErrorCode(1003001001, "导入的表不存在");
+    ErrorCode CODEGEN_IMPORT_COLUMNS_NULL = new ErrorCode(1003001002, "导入的字段不存在");
+    ErrorCode CODEGEN_PARSE_SQL_ERROR = new ErrorCode(1003001003, "解析 SQL 失败,请检查");
+    ErrorCode CODEGEN_TABLE_NOT_EXISTS = new ErrorCode(1003001004, "表定义不存在");
+    ErrorCode CODEGEN_COLUMN_NOT_EXISTS = new ErrorCode(1003001005, "字段义不存在");
+    ErrorCode CODEGEN_SYNC_COLUMNS_NULL = new ErrorCode(1003001006, "同步的字段不存在");
+    ErrorCode CODEGEN_SYNC_NONE_CHANGE = new ErrorCode(1003001007, "同步失败,不存在改变");
+
+    // ========== 字典类型(测试) 1003000000 ==========
+    ErrorCode TEST_DEMO_NOT_EXISTS = new ErrorCode(1003000000, "测试示例不存在");
+
+
 }

+ 8 - 2
yudao-module-infra/yudao-module-infra-impl/pom.xml

@@ -13,8 +13,9 @@
 
     <name>${project.artifactId}</name>
     <description>
-        infra 模块,我们放基础设施的运维与管理,支撑上层的通用与核心业务。
-        例如说:定时任务的管理、服务器的信息等等
+        infra 模块,主要提供两块能力:
+            1. 我们放基础设施的运维与管理,支撑上层的通用与核心业务。 例如说:定时任务的管理、服务器的信息等等
+            2. 研发工具,提升研发效率与质量。 例如说:代码生成器、接口文档等等
     </description>
 
     <dependencies>
@@ -88,6 +89,11 @@
             <artifactId>yudao-spring-boot-starter-excel</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>org.apache.velocity</groupId>
+            <artifactId>velocity-engine-core</artifactId> <!-- 实现代码生成 -->
+        </dependency>
+
         <dependency>
             <groupId>cn.smallbun.screw</groupId>
             <artifactId>screw-core</artifactId> <!-- 实现数据库文档 -->

+ 24 - 25
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/codegen/CodegenController.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/CodegenController.java

@@ -1,21 +1,20 @@
-package cn.iocoder.yudao.module.tool.controller.admin.codegen;
+package cn.iocoder.yudao.module.infra.controller.admin.codegen;
 
 import cn.hutool.core.io.IoUtil;
 import cn.hutool.core.util.ZipUtil;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
-import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.CodegenDetailRespVO;
-import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.CodegenPreviewRespVO;
-import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.CodegenUpdateReqVO;
-import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table.CodegenTablePageReqVO;
-import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table.CodegenTableRespVO;
-import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table.SchemaTableRespVO;
-import cn.iocoder.yudao.module.tool.convert.codegen.CodegenConvert;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenColumnDO;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenTableDO;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.SchemaTableDO;
-import cn.iocoder.yudao.module.tool.service.codegen.CodegenService;
+import cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.CodegenDetailRespVO;
+import cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.CodegenPreviewRespVO;
+import cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.CodegenUpdateReqVO;
+import cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.table.CodegenTablePageReqVO;
+import cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.table.CodegenTableRespVO;
+import cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.table.SchemaTableRespVO;
+import cn.iocoder.yudao.module.infra.convert.codegen.CodegenConvert;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.CodegenColumnDO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.CodegenTableDO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.SchemaTableDO;
+import cn.iocoder.yudao.module.infra.service.codegen.CodegenService;
 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
 import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
 import io.swagger.annotations.Api;
@@ -41,7 +40,7 @@ import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUti
 
 @Api(tags = "管理后台 - 代码生成器")
 @RestController
-@RequestMapping("/tool/codegen")
+@RequestMapping("/infra/codegen")
 @Validated
 public class CodegenController {
 
@@ -54,7 +53,7 @@ public class CodegenController {
             @ApiImplicitParam(name = "tableName", value = "表名,模糊匹配", required = true, example = "yudao", dataTypeClass = String.class),
             @ApiImplicitParam(name = "tableComment", value = "描述,模糊匹配", required = true, example = "芋道", dataTypeClass = String.class)
     })
-    @PreAuthorize("@ss.hasPermission('tool:codegen:query')")
+    @PreAuthorize("@ss.hasPermission('infra:codegen:query')")
     public CommonResult<List<SchemaTableRespVO>> getSchemaTableList(
             @RequestParam(value = "tableName", required = false) String tableName,
             @RequestParam(value = "tableComment", required = false) String tableComment) {
@@ -68,7 +67,7 @@ public class CodegenController {
 
     @GetMapping("/table/page")
     @ApiOperation("获得表定义分页")
-    @PreAuthorize("@ss.hasPermission('tool:codegen:query')")
+    @PreAuthorize("@ss.hasPermission('infra:codegen:query')")
     public CommonResult<PageResult<CodegenTableRespVO>> getCodeGenTablePage(@Valid CodegenTablePageReqVO pageReqVO) {
         PageResult<CodegenTableDO> pageResult = codegenService.getCodegenTablePage(pageReqVO);
         return success(CodegenConvert.INSTANCE.convertPage(pageResult));
@@ -77,7 +76,7 @@ public class CodegenController {
     @GetMapping("/detail")
     @ApiOperation("获得表和字段的明细")
     @ApiImplicitParam(name = "tableId", value = "表编号", required = true, example = "1024", dataTypeClass = Long.class)
-    @PreAuthorize("@ss.hasPermission('tool:codegen:query')")
+    @PreAuthorize("@ss.hasPermission('infra:codegen:query')")
     public CommonResult<CodegenDetailRespVO> getCodegenDetail(@RequestParam("tableId") Long tableId) {
         CodegenTableDO table = codegenService.getCodegenTablePage(tableId);
         List<CodegenColumnDO> columns = codegenService.getCodegenColumnListByTableId(tableId);
@@ -88,7 +87,7 @@ public class CodegenController {
     @ApiOperation("基于数据库的表结构,创建代码生成器的表和字段定义")
     @ApiImplicitParam(name = "tableNames", value = "表名数组", required = true, example = "sys_user", dataTypeClass = List.class)
     @PostMapping("/create-list-from-db")
-    @PreAuthorize("@ss.hasPermission('tool:codegen:create')")
+    @PreAuthorize("@ss.hasPermission('infra:codegen:create')")
     public CommonResult<List<Long>> createCodegenListFromDB(@RequestParam("tableNames") List<String> tableNames) {
         return success(codegenService.createCodegenListFromDB(getLoginUserId(), tableNames));
     }
@@ -96,14 +95,14 @@ public class CodegenController {
     @ApiOperation("基于 SQL 建表语句,创建代码生成器的表和字段定义")
     @ApiImplicitParam(name = "sql", value = "SQL 建表语句", required = true, example = "sql", dataTypeClass = String.class)
     @PostMapping("/create-list-from-sql")
-    @PreAuthorize("@ss.hasPermission('tool:codegen:create')")
+    @PreAuthorize("@ss.hasPermission('infra:codegen:create')")
     public CommonResult<Long> createCodegenListFromSQL(@RequestParam("sql") String sql) {
         return success(codegenService.createCodegenListFromSQL(getLoginUserId(), sql));
     }
 
     @ApiOperation("更新数据库的表和字段定义")
     @PutMapping("/update")
-    @PreAuthorize("@ss.hasPermission('tool:codegen:update')")
+    @PreAuthorize("@ss.hasPermission('infra:codegen:update')")
     public CommonResult<Boolean> updateCodegen(@Valid @RequestBody CodegenUpdateReqVO updateReqVO) {
         codegenService.updateCodegen(updateReqVO);
         return success(true);
@@ -112,7 +111,7 @@ public class CodegenController {
     @ApiOperation("基于数据库的表结构,同步数据库的表和字段定义")
     @PutMapping("/sync-from-db")
     @ApiImplicitParam(name = "tableId", value = "表编号", required = true, example = "1024", dataTypeClass = Long.class)
-    @PreAuthorize("@ss.hasPermission('tool:codegen:update')")
+    @PreAuthorize("@ss.hasPermission('infra:codegen:update')")
     public CommonResult<Boolean> syncCodegenFromDB(@RequestParam("tableId") Long tableId) {
         codegenService.syncCodegenFromDB(tableId);
         return success(true);
@@ -124,7 +123,7 @@ public class CodegenController {
             @ApiImplicitParam(name = "tableId", value = "表编号", required = true, example = "1024", dataTypeClass = Long.class),
             @ApiImplicitParam(name = "sql", value = "SQL 建表语句", required = true, example = "sql", dataTypeClass = String.class)
     })
-    @PreAuthorize("@ss.hasPermission('tool:codegen:update')")
+    @PreAuthorize("@ss.hasPermission('infra:codegen:update')")
     public CommonResult<Boolean> syncCodegenFromSQL(@RequestParam("tableId") Long tableId,
                                                     @RequestParam("sql") String sql) {
         codegenService.syncCodegenFromSQL(tableId, sql);
@@ -134,7 +133,7 @@ public class CodegenController {
     @ApiOperation("删除数据库的表和字段定义")
     @DeleteMapping("/delete")
     @ApiImplicitParam(name = "tableId", value = "表编号", required = true, example = "1024", dataTypeClass = Long.class)
-    @PreAuthorize("@ss.hasPermission('tool:codegen:delete')")
+    @PreAuthorize("@ss.hasPermission('infra:codegen:delete')")
     public CommonResult<Boolean> deleteCodegen(@RequestParam("tableId") Long tableId) {
         codegenService.deleteCodegen(tableId);
         return success(true);
@@ -143,7 +142,7 @@ public class CodegenController {
     @ApiOperation("预览生成代码")
     @GetMapping("/preview")
     @ApiImplicitParam(name = "tableId", value = "表编号", required = true, example = "1024", dataTypeClass = Long.class)
-    @PreAuthorize("@ss.hasPermission('tool:codegen:preview')")
+    @PreAuthorize("@ss.hasPermission('infra:codegen:preview')")
     public CommonResult<List<CodegenPreviewRespVO>> previewCodegen(@RequestParam("tableId") Long tableId) {
         Map<String, String> codes = codegenService.generationCodes(tableId);
         return success(CodegenConvert.INSTANCE.convert(codes));
@@ -152,7 +151,7 @@ public class CodegenController {
     @ApiOperation("下载生成代码")
     @GetMapping("/download")
     @ApiImplicitParam(name = "tableId", value = "表编号", required = true, example = "1024", dataTypeClass = Long.class)
-    @PreAuthorize("@ss.hasPermission('tool:codegen:download')")
+    @PreAuthorize("@ss.hasPermission('infra:codegen:download')")
     public void downloadCodegen(@RequestParam("tableId") Long tableId,
                                 HttpServletResponse response) throws IOException {
         // 生成代码

+ 3 - 3
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/codegen/vo/CodegenDetailRespVO.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/CodegenDetailRespVO.java

@@ -1,7 +1,7 @@
-package cn.iocoder.yudao.module.tool.controller.admin.codegen.vo;
+package cn.iocoder.yudao.module.infra.controller.admin.codegen.vo;
 
-import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.column.CodegenColumnRespVO;
-import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table.CodegenTableRespVO;
+import cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.column.CodegenColumnRespVO;
+import cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.table.CodegenTableRespVO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;

+ 1 - 1
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/codegen/vo/CodegenPreviewRespVO.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/CodegenPreviewRespVO.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.tool.controller.admin.codegen.vo;
+package cn.iocoder.yudao.module.infra.controller.admin.codegen.vo;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 3 - 3
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/codegen/vo/CodegenUpdateReqVO.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/CodegenUpdateReqVO.java

@@ -1,7 +1,7 @@
-package cn.iocoder.yudao.module.tool.controller.admin.codegen.vo;
+package cn.iocoder.yudao.module.infra.controller.admin.codegen.vo;
 
-import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table.CodegenTableBaseVO;
-import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.column.CodegenColumnBaseVO;
+import cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.column.CodegenColumnBaseVO;
+import cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.table.CodegenTableBaseVO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;

+ 1 - 1
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/codegen/vo/column/CodegenColumnBaseVO.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/column/CodegenColumnBaseVO.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.column;
+package cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.column;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;

+ 1 - 1
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/codegen/vo/column/CodegenColumnRespVO.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/column/CodegenColumnRespVO.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.column;
+package cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.column;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/codegen/vo/table/CodegenTableBaseVO.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/CodegenTableBaseVO.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table;
+package cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.table;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;

+ 1 - 1
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/codegen/vo/table/CodegenTablePageReqVO.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/CodegenTablePageReqVO.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table;
+package cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.table;
 
 import cn.iocoder.yudao.framework.common.pojo.PageParam;
 import io.swagger.annotations.ApiModel;

+ 1 - 1
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/codegen/vo/table/CodegenTableRespVO.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/CodegenTableRespVO.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table;
+package cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.table;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/codegen/vo/table/SchemaTableRespVO.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/SchemaTableRespVO.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table;
+package cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.table;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;

+ 2 - 3
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/doc/DbDocController.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/doc/DbDocController.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.tool.controller.admin.doc;
+package cn.iocoder.yudao.module.infra.controller.admin.doc;
 
 import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.util.IdUtil;
@@ -26,11 +26,10 @@ import javax.servlet.http.HttpServletResponse;
 import java.io.File;
 import java.io.IOException;
 import java.util.Arrays;
-import java.util.Collections;
 
 @Api(tags = "管理后台 - 数据库文档")
 @RestController
-@RequestMapping("/tool/db-doc")
+@RequestMapping("/infra/db-doc")
 public class DbDocController {
 
     @Resource

+ 14 - 14
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/test/TestDemoController.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/TestDemoController.java

@@ -1,12 +1,14 @@
-package cn.iocoder.yudao.module.tool.controller.admin.test;
+package cn.iocoder.yudao.module.infra.controller.admin.test;
 
+import cn.iocoder.yudao.module.infra.controller.admin.test.vo.*;
+import cn.iocoder.yudao.module.infra.convert.test.TestDemoConvert;
+import cn.iocoder.yudao.module.infra.dal.dataobject.test.TestDemoDO;
 import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.security.access.prepost.PreAuthorize;
 import io.swagger.annotations.*;
 
-import javax.validation.constraints.*;
 import javax.validation.*;
 import javax.servlet.http.*;
 import java.util.*;
@@ -21,14 +23,12 @@ import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
 import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
 import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*;
 
-import cn.iocoder.yudao.module.tool.controller.admin.test.vo.*;
-import cn.iocoder.yudao.module.tool.dal.dataobject.test.TestDemoDO;
-import cn.iocoder.yudao.module.tool.convert.test.TestDemoConvert;
-import cn.iocoder.yudao.module.tool.service.test.TestDemoService;
+import cn.iocoder.yudao.module.infra.controller.admin.test.vo.*;
+import cn.iocoder.yudao.module.infra.service.test.TestDemoService;
 
 @Api(tags = "管理后台 - 字典类型")
 @RestController
-@RequestMapping("/tool/test-demo")
+@RequestMapping("/infra/test-demo")
 @Validated
 public class TestDemoController {
 
@@ -37,13 +37,13 @@ public class TestDemoController {
 
     @PostMapping("/create")
     @ApiOperation("创建字典类型")
-    @PreAuthorize("@ss.hasPermission('tool:test-demo:create')")    public CommonResult<Long> createTestDemo(@Valid @RequestBody TestDemoCreateReqVO createReqVO) {
+    @PreAuthorize("@ss.hasPermission('infra:test-demo:create')")    public CommonResult<Long> createTestDemo(@Valid @RequestBody TestDemoCreateReqVO createReqVO) {
         return success(testDemoService.createTestDemo(createReqVO));
     }
 
     @PutMapping("/update")
     @ApiOperation("更新字典类型")
-    @PreAuthorize("@ss.hasPermission('tool:test-demo:update')")    public CommonResult<Boolean> updateTestDemo(@Valid @RequestBody TestDemoUpdateReqVO updateReqVO) {
+    @PreAuthorize("@ss.hasPermission('infra:test-demo:update')")    public CommonResult<Boolean> updateTestDemo(@Valid @RequestBody TestDemoUpdateReqVO updateReqVO) {
         testDemoService.updateTestDemo(updateReqVO);
         return success(true);
     }
@@ -51,7 +51,7 @@ public class TestDemoController {
     @DeleteMapping("/delete")
     @ApiOperation("删除字典类型")
     @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Long.class)
-    @PreAuthorize("@ss.hasPermission('tool:test-demo:delete')")
+    @PreAuthorize("@ss.hasPermission('infra:test-demo:delete')")
     public CommonResult<Boolean> deleteTestDemo(@RequestParam("id") Long id) {
         testDemoService.deleteTestDemo(id);
         return success(true);
@@ -60,7 +60,7 @@ public class TestDemoController {
     @GetMapping("/get")
     @ApiOperation("获得字典类型")
     @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class)
-    @PreAuthorize("@ss.hasPermission('tool:test-demo:query')")
+    @PreAuthorize("@ss.hasPermission('infra:test-demo:query')")
     public CommonResult<TestDemoRespVO> getTestDemo(@RequestParam("id") Long id) {
         TestDemoDO testDemo = testDemoService.getTestDemo(id);
         return success(TestDemoConvert.INSTANCE.convert(testDemo));
@@ -69,7 +69,7 @@ public class TestDemoController {
     @GetMapping("/list")
     @ApiOperation("获得字典类型列表")
     @ApiImplicitParam(name = "ids", value = "编号列表", required = true, example = "1024,2048", dataTypeClass = List.class)
-    @PreAuthorize("@ss.hasPermission('tool:test-demo:query')")
+    @PreAuthorize("@ss.hasPermission('infra:test-demo:query')")
     public CommonResult<List<TestDemoRespVO>> getTestDemoList(@RequestParam("ids") Collection<Long> ids) {
         List<TestDemoDO> list = testDemoService.getTestDemoList(ids);
         return success(TestDemoConvert.INSTANCE.convertList(list));
@@ -77,14 +77,14 @@ public class TestDemoController {
 
     @GetMapping("/page")
     @ApiOperation("获得字典类型分页")
-    @PreAuthorize("@ss.hasPermission('tool:test-demo:query')")    public CommonResult<PageResult<TestDemoRespVO>> getTestDemoPage(@Valid TestDemoPageReqVO pageVO) {
+    @PreAuthorize("@ss.hasPermission('infra:test-demo:query')")    public CommonResult<PageResult<TestDemoRespVO>> getTestDemoPage(@Valid TestDemoPageReqVO pageVO) {
         PageResult<TestDemoDO> pageResult = testDemoService.getTestDemoPage(pageVO);
         return success(TestDemoConvert.INSTANCE.convertPage(pageResult));
     }
 
     @GetMapping("/export-excel")
     @ApiOperation("导出字典类型 Excel")
-    @PreAuthorize("@ss.hasPermission('tool:test-demo:export')")    @OperateLog(type = EXPORT)
+    @PreAuthorize("@ss.hasPermission('infra:test-demo:export')")    @OperateLog(type = EXPORT)
     public void exportTestDemoExcel(@Valid TestDemoExportReqVO exportReqVO,
               HttpServletResponse response) throws IOException {
         List<TestDemoDO> list = testDemoService.getTestDemoList(exportReqVO);

+ 1 - 1
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/test/vo/TestDemoBaseVO.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoBaseVO.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.tool.controller.admin.test.vo;
+package cn.iocoder.yudao.module.infra.controller.admin.test.vo;
 
 import lombok.*;
 import java.util.*;

+ 1 - 3
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/test/vo/TestDemoCreateReqVO.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoCreateReqVO.java

@@ -1,9 +1,7 @@
-package cn.iocoder.yudao.module.tool.controller.admin.test.vo;
+package cn.iocoder.yudao.module.infra.controller.admin.test.vo;
 
 import lombok.*;
-import java.util.*;
 import io.swagger.annotations.*;
-import javax.validation.constraints.*;
 
 @ApiModel("管理后台 - 字典类型创建 Request VO")
 @Data

+ 1 - 1
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/test/vo/TestDemoExcelVO.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoExcelVO.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.tool.controller.admin.test.vo;
+package cn.iocoder.yudao.module.infra.controller.admin.test.vo;
 
 import lombok.*;
 import java.util.*;

+ 1 - 1
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/test/vo/TestDemoExportReqVO.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoExportReqVO.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.tool.controller.admin.test.vo;
+package cn.iocoder.yudao.module.infra.controller.admin.test.vo;
 
 import lombok.*;
 import java.util.*;

+ 1 - 1
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/test/vo/TestDemoPageReqVO.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoPageReqVO.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.tool.controller.admin.test.vo;
+package cn.iocoder.yudao.module.infra.controller.admin.test.vo;
 
 import lombok.*;
 import java.util.*;

+ 1 - 1
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/test/vo/TestDemoRespVO.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoRespVO.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.tool.controller.admin.test.vo;
+package cn.iocoder.yudao.module.infra.controller.admin.test.vo;
 
 import lombok.*;
 import java.util.*;

+ 1 - 2
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/admin/test/vo/TestDemoUpdateReqVO.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoUpdateReqVO.java

@@ -1,7 +1,6 @@
-package cn.iocoder.yudao.module.tool.controller.admin.test.vo;
+package cn.iocoder.yudao.module.infra.controller.admin.test.vo;
 
 import lombok.*;
-import java.util.*;
 import io.swagger.annotations.*;
 import javax.validation.constraints.*;
 

+ 11 - 11
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/convert/codegen/CodegenConvert.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/convert/codegen/CodegenConvert.java

@@ -1,16 +1,16 @@
-package cn.iocoder.yudao.module.tool.convert.codegen;
+package cn.iocoder.yudao.module.infra.convert.codegen;
 
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.CodegenDetailRespVO;
-import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.CodegenPreviewRespVO;
-import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.CodegenUpdateReqVO;
-import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.column.CodegenColumnRespVO;
-import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table.CodegenTableRespVO;
-import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table.SchemaTableRespVO;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenColumnDO;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenTableDO;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.SchemaColumnDO;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.SchemaTableDO;
+import cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.CodegenDetailRespVO;
+import cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.CodegenPreviewRespVO;
+import cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.CodegenUpdateReqVO;
+import cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.column.CodegenColumnRespVO;
+import cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.table.CodegenTableRespVO;
+import cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.table.SchemaTableRespVO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.CodegenColumnDO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.CodegenTableDO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.SchemaColumnDO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.SchemaTableDO;
 import org.mapstruct.Mapper;
 import org.mapstruct.factory.Mappers;
 

+ 8 - 6
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/convert/test/TestDemoConvert.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/convert/test/TestDemoConvert.java

@@ -1,13 +1,15 @@
-package cn.iocoder.yudao.module.tool.convert.test;
-
-import java.util.*;
+package cn.iocoder.yudao.module.infra.convert.test;
 
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-
+import cn.iocoder.yudao.module.infra.controller.admin.test.vo.TestDemoCreateReqVO;
+import cn.iocoder.yudao.module.infra.controller.admin.test.vo.TestDemoExcelVO;
+import cn.iocoder.yudao.module.infra.controller.admin.test.vo.TestDemoRespVO;
+import cn.iocoder.yudao.module.infra.controller.admin.test.vo.TestDemoUpdateReqVO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.test.TestDemoDO;
 import org.mapstruct.Mapper;
 import org.mapstruct.factory.Mappers;
-import cn.iocoder.yudao.module.tool.controller.admin.test.vo.*;
-import cn.iocoder.yudao.module.tool.dal.dataobject.test.TestDemoDO;
+
+import java.util.List;
 
 /**
  * 字典类型 Convert

+ 4 - 4
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/dal/dataobject/codegen/CodegenColumnDO.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/codegen/CodegenColumnDO.java

@@ -1,8 +1,8 @@
-package cn.iocoder.yudao.module.tool.dal.dataobject.codegen;
+package cn.iocoder.yudao.module.infra.dal.dataobject.codegen;
 
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
-import cn.iocoder.yudao.module.tool.enums.codegen.CodegenColumnHtmlTypeEnum;
-import cn.iocoder.yudao.module.tool.enums.codegen.CodegenColumnListConditionEnum;
+import cn.iocoder.yudao.module.infra.enums.codegen.CodegenColumnHtmlTypeEnum;
+import cn.iocoder.yudao.module.infra.enums.codegen.CodegenColumnListConditionEnum;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
@@ -14,7 +14,7 @@ import lombok.experimental.Accessors;
  *
  * @author 芋道源码
  */
-@TableName(value = "tool_codegen_column", autoResultMap = true)
+@TableName(value = "infra_codegen_column", autoResultMap = true)
 @Data
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)

+ 4 - 4
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/dal/dataobject/codegen/CodegenTableDO.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/codegen/CodegenTableDO.java

@@ -1,8 +1,8 @@
-package cn.iocoder.yudao.module.tool.dal.dataobject.codegen;
+package cn.iocoder.yudao.module.infra.dal.dataobject.codegen;
 
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
-import cn.iocoder.yudao.module.tool.enums.codegen.CodegenSceneEnum;
-import cn.iocoder.yudao.module.tool.enums.codegen.CodegenTemplateTypeEnum;
+import cn.iocoder.yudao.module.infra.enums.codegen.CodegenSceneEnum;
+import cn.iocoder.yudao.module.infra.enums.codegen.CodegenTemplateTypeEnum;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -13,7 +13,7 @@ import lombok.experimental.Accessors;
  *
  * @author 芋道源码
  */
-@TableName(value = "tool_codegen_table", autoResultMap = true)
+@TableName(value = "infra_codegen_table", autoResultMap = true)
 @Data
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)

+ 1 - 1
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/dal/dataobject/codegen/SchemaColumnDO.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/codegen/SchemaColumnDO.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.tool.dal.dataobject.codegen;
+package cn.iocoder.yudao.module.infra.dal.dataobject.codegen;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;

+ 1 - 1
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/dal/dataobject/codegen/SchemaTableDO.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/codegen/SchemaTableDO.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.tool.dal.dataobject.codegen;
+package cn.iocoder.yudao.module.infra.dal.dataobject.codegen;
 
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Builder;

+ 2 - 2
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/dal/dataobject/test/TestDemoDO.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/dal/dataobject/test/TestDemoDO.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.tool.dal.dataobject.test;
+package cn.iocoder.yudao.module.infra.dal.dataobject.test;
 
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -10,7 +10,7 @@ import lombok.*;
  *
  * @author 芋道源码
  */
-@TableName("tool_test_demo")
+@TableName("infra_test_demo")
 @Data
 @EqualsAndHashCode(callSuper = true)
 @ToString(callSuper = true)

+ 2 - 2
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/dal/mysql/codegen/CodegenColumnMapper.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/dal/mysql/codegen/CodegenColumnMapper.java

@@ -1,7 +1,7 @@
-package cn.iocoder.yudao.module.tool.dal.mysql.codegen;
+package cn.iocoder.yudao.module.infra.dal.mysql.codegen;
 
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenColumnDO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.CodegenColumnDO;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import org.apache.ibatis.annotations.Mapper;
 

+ 3 - 3
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/dal/mysql/codegen/CodegenTableMapper.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/dal/mysql/codegen/CodegenTableMapper.java

@@ -1,10 +1,10 @@
-package cn.iocoder.yudao.module.tool.dal.mysql.codegen;
+package cn.iocoder.yudao.module.infra.dal.mysql.codegen;
 
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
 import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX;
-import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table.CodegenTablePageReqVO;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenTableDO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.CodegenTableDO;
+import cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.table.CodegenTablePageReqVO;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import org.apache.ibatis.annotations.Mapper;
 

+ 2 - 2
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/dal/mysql/codegen/SchemaColumnMapper.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/dal/mysql/codegen/SchemaColumnMapper.java

@@ -1,7 +1,7 @@
-package cn.iocoder.yudao.module.tool.dal.mysql.codegen;
+package cn.iocoder.yudao.module.infra.dal.mysql.codegen;
 
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.SchemaColumnDO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.SchemaColumnDO;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import org.apache.ibatis.annotations.Mapper;
 

+ 2 - 2
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/dal/mysql/codegen/SchemaTableMapper.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/dal/mysql/codegen/SchemaTableMapper.java

@@ -1,8 +1,8 @@
-package cn.iocoder.yudao.module.tool.dal.mysql.codegen;
+package cn.iocoder.yudao.module.infra.dal.mysql.codegen;
 
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
 import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.SchemaTableDO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.SchemaTableDO;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import org.apache.ibatis.annotations.Mapper;
 

+ 7 - 6
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/dal/mysql/test/TestDemoMapper.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/dal/mysql/test/TestDemoMapper.java

@@ -1,13 +1,14 @@
-package cn.iocoder.yudao.module.tool.dal.mysql.test;
-
-import java.util.*;
+package cn.iocoder.yudao.module.infra.dal.mysql.test;
 
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
-import cn.iocoder.yudao.module.tool.dal.dataobject.test.TestDemoDO;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.iocoder.yudao.module.infra.controller.admin.test.vo.TestDemoExportReqVO;
+import cn.iocoder.yudao.module.infra.controller.admin.test.vo.TestDemoPageReqVO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.test.TestDemoDO;
 import org.apache.ibatis.annotations.Mapper;
-import cn.iocoder.yudao.module.tool.controller.admin.test.vo.*;
+
+import java.util.List;
 
 /**
  * 字典类型 Mapper

+ 1 - 1
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/enums/codegen/CodegenColumnHtmlTypeEnum.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/enums/codegen/CodegenColumnHtmlTypeEnum.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.tool.enums.codegen;
+package cn.iocoder.yudao.module.infra.enums.codegen;
 
 import lombok.AllArgsConstructor;
 import lombok.Getter;

+ 1 - 1
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/enums/codegen/CodegenColumnListConditionEnum.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/enums/codegen/CodegenColumnListConditionEnum.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.tool.enums.codegen;
+package cn.iocoder.yudao.module.infra.enums.codegen;
 
 import lombok.AllArgsConstructor;
 import lombok.Getter;

+ 1 - 1
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/enums/codegen/CodegenImportTypeEnum.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/enums/codegen/CodegenImportTypeEnum.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.tool.enums.codegen;
+package cn.iocoder.yudao.module.infra.enums.codegen;
 
 import lombok.AllArgsConstructor;
 import lombok.Getter;

+ 1 - 2
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/enums/codegen/CodegenSceneEnum.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/enums/codegen/CodegenSceneEnum.java

@@ -1,6 +1,5 @@
-package cn.iocoder.yudao.module.tool.enums.codegen;
+package cn.iocoder.yudao.module.infra.enums.codegen;
 
-import cn.hutool.core.util.ArrayUtil;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 

+ 1 - 1
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/enums/codegen/CodegenTemplateTypeEnum.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/enums/codegen/CodegenTemplateTypeEnum.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.tool.enums.codegen;
+package cn.iocoder.yudao.module.infra.enums.codegen;
 
 import lombok.AllArgsConstructor;
 import lombok.Getter;

+ 4 - 0
yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/enums/package-info.java

@@ -0,0 +1,4 @@
+/**
+ * 占位
+ */
+package cn.iocoder.yudao.module.infra.enums;

+ 1 - 1
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/framework/codegen/config/CodegenConfiguration.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/framework/codegen/config/CodegenConfiguration.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.tool.framework.codegen.config;
+package cn.iocoder.yudao.module.infra.framework.codegen.config;
 
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
 import org.springframework.context.annotation.Configuration;

+ 1 - 1
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/framework/codegen/config/CodegenProperties.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/framework/codegen/config/CodegenProperties.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.tool.framework.codegen.config;
+package cn.iocoder.yudao.module.infra.framework.codegen.config;
 
 import lombok.Data;
 import org.springframework.boot.context.properties.ConfigurationProperties;

+ 4 - 0
yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/framework/codegen/package-info.java

@@ -0,0 +1,4 @@
+/**
+ * 代码生成器
+ */
+package cn.iocoder.yudao.module.infra.framework.codegen;

+ 3 - 2
yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/package-info.java

@@ -1,6 +1,7 @@
 /**
- * infra 包下,我们放基础设施的运维与管理,支撑上层的通用与核心业务。
- * 例如说:定时任务的管理、服务器的信息等等
+ * infra 模块,主要提供两块能力:
+ * 1. 我们放基础设施的运维与管理,支撑上层的通用与核心业务。 例如说:定时任务的管理、服务器的信息等等
+ * 2. 研发工具,提升研发效率与质量。 例如说:代码生成器、接口文档等等
  *
  * 1. Controller URL:以 /infra/ 开头,避免和其它 Module 冲突
  * 2. DataObject 表名:以 infra_ 开头,方便在数据库中区分

+ 6 - 6
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/service/codegen/CodegenService.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/CodegenService.java

@@ -1,11 +1,11 @@
-package cn.iocoder.yudao.module.tool.service.codegen;
+package cn.iocoder.yudao.module.infra.service.codegen;
 
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.CodegenUpdateReqVO;
-import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table.CodegenTablePageReqVO;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenColumnDO;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenTableDO;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.SchemaTableDO;
+import cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.CodegenUpdateReqVO;
+import cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.table.CodegenTablePageReqVO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.CodegenColumnDO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.CodegenTableDO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.SchemaTableDO;
 
 import java.util.List;
 import java.util.Map;

+ 18 - 18
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/service/codegen/CodegenServiceImpl.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/CodegenServiceImpl.java

@@ -1,25 +1,25 @@
-package cn.iocoder.yudao.module.tool.service.codegen;
+package cn.iocoder.yudao.module.infra.service.codegen;
 
 import cn.hutool.core.collection.CollUtil;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.CodegenUpdateReqVO;
+import cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.table.CodegenTablePageReqVO;
+import cn.iocoder.yudao.module.infra.convert.codegen.CodegenConvert;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.CodegenColumnDO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.CodegenTableDO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.SchemaColumnDO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.SchemaTableDO;
+import cn.iocoder.yudao.module.infra.dal.mysql.codegen.CodegenColumnMapper;
+import cn.iocoder.yudao.module.infra.dal.mysql.codegen.CodegenTableMapper;
+import cn.iocoder.yudao.module.infra.dal.mysql.codegen.SchemaColumnMapper;
+import cn.iocoder.yudao.module.infra.dal.mysql.codegen.SchemaTableMapper;
+import cn.iocoder.yudao.module.infra.enums.codegen.CodegenImportTypeEnum;
+import cn.iocoder.yudao.module.infra.framework.codegen.config.CodegenProperties;
+import cn.iocoder.yudao.module.infra.service.codegen.inner.CodegenBuilder;
+import cn.iocoder.yudao.module.infra.service.codegen.inner.CodegenEngine;
+import cn.iocoder.yudao.module.infra.service.codegen.inner.CodegenSQLParser;
 import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
-import cn.iocoder.yudao.module.tool.framework.codegen.config.CodegenProperties;
-import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.CodegenUpdateReqVO;
-import cn.iocoder.yudao.module.tool.controller.admin.codegen.vo.table.CodegenTablePageReqVO;
-import cn.iocoder.yudao.module.tool.convert.codegen.CodegenConvert;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenColumnDO;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenTableDO;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.SchemaColumnDO;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.SchemaTableDO;
-import cn.iocoder.yudao.module.tool.dal.mysql.codegen.CodegenColumnMapper;
-import cn.iocoder.yudao.module.tool.dal.mysql.codegen.CodegenTableMapper;
-import cn.iocoder.yudao.module.tool.dal.mysql.codegen.SchemaColumnMapper;
-import cn.iocoder.yudao.module.tool.dal.mysql.codegen.SchemaTableMapper;
-import cn.iocoder.yudao.module.tool.enums.codegen.CodegenImportTypeEnum;
 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
-import cn.iocoder.yudao.module.tool.service.codegen.inner.CodegenBuilder;
-import cn.iocoder.yudao.module.tool.service.codegen.inner.CodegenEngine;
-import cn.iocoder.yudao.module.tool.service.codegen.inner.CodegenSQLParser;
 import org.apache.commons.collections4.KeyValue;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -32,7 +32,7 @@ import java.util.Set;
 import java.util.stream.Collectors;
 
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
-import static cn.iocoder.yudao.module.tool.enums.ErrorCodeConstants.*;
+import static cn.iocoder.yudao.module.infra.enums.ErrorCodeConstants.*;
 
 /**
  * 代码生成 Service 实现类

+ 9 - 9
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/service/codegen/inner/CodegenBuilder.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/inner/CodegenBuilder.java

@@ -1,17 +1,17 @@
-package cn.iocoder.yudao.module.tool.service.codegen.inner;
+package cn.iocoder.yudao.module.infra.service.codegen.inner;
 
 import cn.hutool.core.map.MapUtil;
 import cn.hutool.core.util.ReflectUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
-import cn.iocoder.yudao.module.tool.convert.codegen.CodegenConvert;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenColumnDO;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenTableDO;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.SchemaColumnDO;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.SchemaTableDO;
-import cn.iocoder.yudao.module.tool.enums.codegen.CodegenColumnHtmlTypeEnum;
-import cn.iocoder.yudao.module.tool.enums.codegen.CodegenColumnListConditionEnum;
-import cn.iocoder.yudao.module.tool.enums.codegen.CodegenTemplateTypeEnum;
+import cn.iocoder.yudao.module.infra.convert.codegen.CodegenConvert;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.CodegenColumnDO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.CodegenTableDO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.SchemaColumnDO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.SchemaTableDO;
+import cn.iocoder.yudao.module.infra.enums.codegen.CodegenColumnHtmlTypeEnum;
+import cn.iocoder.yudao.module.infra.enums.codegen.CodegenColumnListConditionEnum;
+import cn.iocoder.yudao.module.infra.enums.codegen.CodegenTemplateTypeEnum;
 import com.google.common.collect.Sets;
 import org.springframework.stereotype.Component;
 

+ 5 - 5
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/service/codegen/inner/CodegenEngine.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/inner/CodegenEngine.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.tool.service.codegen.inner;
+package cn.iocoder.yudao.module.infra.service.codegen.inner;
 
 import cn.hutool.core.map.MapUtil;
 import cn.hutool.core.util.StrUtil;
@@ -20,10 +20,10 @@ import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
 import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
 import cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenColumnDO;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenTableDO;
-import cn.iocoder.yudao.module.tool.enums.codegen.CodegenSceneEnum;
-import cn.iocoder.yudao.module.tool.framework.codegen.config.CodegenProperties;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.CodegenColumnDO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.CodegenTableDO;
+import cn.iocoder.yudao.module.infra.enums.codegen.CodegenSceneEnum;
+import cn.iocoder.yudao.module.infra.framework.codegen.config.CodegenProperties;
 import com.google.common.collect.Maps;
 import org.springframework.stereotype.Component;
 

+ 3 - 3
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/service/codegen/inner/CodegenSQLParser.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/inner/CodegenSQLParser.java

@@ -1,8 +1,8 @@
-package cn.iocoder.yudao.module.tool.service.codegen.inner;
+package cn.iocoder.yudao.module.infra.service.codegen.inner;
 
 import cn.hutool.core.collection.CollUtil;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.SchemaColumnDO;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.SchemaTableDO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.SchemaColumnDO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.SchemaTableDO;
 import com.alibaba.druid.DbType;
 import com.alibaba.druid.sql.ast.expr.SQLCharExpr;
 import com.alibaba.druid.sql.ast.statement.SQLColumnDefinition;

+ 10 - 5
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/service/test/TestDemoService.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/test/TestDemoService.java

@@ -1,10 +1,15 @@
-package cn.iocoder.yudao.module.tool.service.test;
+package cn.iocoder.yudao.module.infra.service.test;
 
-import java.util.*;
-import javax.validation.*;
-import cn.iocoder.yudao.module.tool.controller.admin.test.vo.*;
-import cn.iocoder.yudao.module.tool.dal.dataobject.test.TestDemoDO;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.infra.controller.admin.test.vo.TestDemoCreateReqVO;
+import cn.iocoder.yudao.module.infra.controller.admin.test.vo.TestDemoExportReqVO;
+import cn.iocoder.yudao.module.infra.controller.admin.test.vo.TestDemoPageReqVO;
+import cn.iocoder.yudao.module.infra.controller.admin.test.vo.TestDemoUpdateReqVO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.test.TestDemoDO;
+
+import javax.validation.Valid;
+import java.util.Collection;
+import java.util.List;
 
 /**
  * 字典类型 Service 接口

+ 13 - 10
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/service/test/TestDemoServiceImpl.java → yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/test/TestDemoServiceImpl.java

@@ -1,19 +1,22 @@
-package cn.iocoder.yudao.module.tool.service.test;
+package cn.iocoder.yudao.module.infra.service.test;
 
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.infra.controller.admin.test.vo.TestDemoCreateReqVO;
+import cn.iocoder.yudao.module.infra.controller.admin.test.vo.TestDemoExportReqVO;
+import cn.iocoder.yudao.module.infra.controller.admin.test.vo.TestDemoPageReqVO;
+import cn.iocoder.yudao.module.infra.controller.admin.test.vo.TestDemoUpdateReqVO;
+import cn.iocoder.yudao.module.infra.convert.test.TestDemoConvert;
+import cn.iocoder.yudao.module.infra.dal.dataobject.test.TestDemoDO;
+import cn.iocoder.yudao.module.infra.dal.mysql.test.TestDemoMapper;
 import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
 import org.springframework.validation.annotation.Validated;
 
-import java.util.*;
-import cn.iocoder.yudao.module.tool.controller.admin.test.vo.*;
-import cn.iocoder.yudao.module.tool.dal.dataobject.test.TestDemoDO;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-
-import cn.iocoder.yudao.module.tool.convert.test.TestDemoConvert;
-import cn.iocoder.yudao.module.tool.dal.mysql.test.TestDemoMapper;
+import javax.annotation.Resource;
+import java.util.Collection;
+import java.util.List;
 
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
-import static cn.iocoder.yudao.module.tool.enums.ErrorCodeConstants.*;
+import static cn.iocoder.yudao.module.infra.enums.ErrorCodeConstants.TEST_DEMO_NOT_EXISTS;
 
 /**
  * 字典类型 Service 实现类

+ 0 - 0
yudao-module-tool/yudao-module-tool-impl/src/main/resources/codegen/java/controller/controller.vm → yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/controller/controller.vm


+ 0 - 0
yudao-module-tool/yudao-module-tool-impl/src/main/resources/codegen/java/controller/vo/_column.vm → yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/controller/vo/_column.vm


+ 0 - 0
yudao-module-tool/yudao-module-tool-impl/src/main/resources/codegen/java/controller/vo/baseVO.vm → yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/controller/vo/baseVO.vm


+ 0 - 0
yudao-module-tool/yudao-module-tool-impl/src/main/resources/codegen/java/controller/vo/createReqVO.vm → yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/controller/vo/createReqVO.vm


+ 0 - 0
yudao-module-tool/yudao-module-tool-impl/src/main/resources/codegen/java/controller/vo/excelVO.vm → yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/controller/vo/excelVO.vm


+ 0 - 0
yudao-module-tool/yudao-module-tool-impl/src/main/resources/codegen/java/controller/vo/exportReqVO.vm → yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/controller/vo/exportReqVO.vm


+ 0 - 0
yudao-module-tool/yudao-module-tool-impl/src/main/resources/codegen/java/controller/vo/pageReqVO.vm → yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/controller/vo/pageReqVO.vm


+ 0 - 0
yudao-module-tool/yudao-module-tool-impl/src/main/resources/codegen/java/controller/vo/respVO.vm → yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/controller/vo/respVO.vm


+ 0 - 0
yudao-module-tool/yudao-module-tool-impl/src/main/resources/codegen/java/controller/vo/updateReqVO.vm → yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/controller/vo/updateReqVO.vm


+ 0 - 0
yudao-module-tool/yudao-module-tool-impl/src/main/resources/codegen/java/convert/convert.vm → yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/convert/convert.vm


+ 0 - 0
yudao-module-tool/yudao-module-tool-impl/src/main/resources/codegen/java/dal/do.vm → yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/dal/do.vm


+ 0 - 0
yudao-module-tool/yudao-module-tool-impl/src/main/resources/codegen/java/dal/mapper.vm → yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/dal/mapper.vm


+ 0 - 0
yudao-module-tool/yudao-module-tool-impl/src/main/resources/codegen/java/enums/errorcode.vm → yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/enums/errorcode.vm


+ 0 - 0
yudao-module-tool/yudao-module-tool-impl/src/main/resources/codegen/java/service/service.vm → yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/service/service.vm


+ 0 - 0
yudao-module-tool/yudao-module-tool-impl/src/main/resources/codegen/java/service/serviceImpl.vm → yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/service/serviceImpl.vm


+ 0 - 0
yudao-module-tool/yudao-module-tool-impl/src/main/resources/codegen/java/test/serviceTest.vm → yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/java/test/serviceTest.vm


+ 0 - 0
yudao-module-tool/yudao-module-tool-impl/src/main/resources/codegen/sql/h2.vm → yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/sql/h2.vm


+ 0 - 0
yudao-module-tool/yudao-module-tool-impl/src/main/resources/codegen/sql/sql.vm → yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/sql/sql.vm


+ 0 - 0
yudao-module-tool/yudao-module-tool-impl/src/main/resources/codegen/vue/api/api.js.vm → yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/vue/api/api.js.vm


+ 0 - 0
yudao-module-tool/yudao-module-tool-impl/src/main/resources/codegen/vue/views/index.vue.vm → yudao-module-infra/yudao-module-infra-impl/src/main/resources/codegen/vue/views/index.vue.vm


+ 1 - 1
yudao-module-tool/yudao-module-tool-impl/src/test-integration/java/cn/iocoder/yudao/module/tool/dal/mysql/codegen/SchemaColumnMapperTest.java → yudao-module-infra/yudao-module-infra-impl/src/test-integration/java/cn/iocoder/yudao/module/infra/dal/mysql/codegen/SchemaColumnMapperTest.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.tool.dal.mysql.codegen;
+package cn.iocoder.yudao.module.infra.dal.mysql.codegen;
 
 import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.SchemaColumnDO;
 import cn.iocoder.yudao.module.tool.test.BaseDbUnitTest;

+ 4 - 0
yudao-module-infra/yudao-module-infra-impl/src/test-integration/java/cn/iocoder/yudao/module/infra/dal/mysql/package-info.java

@@ -0,0 +1,4 @@
+/**
+ * 占位
+ */
+package cn.iocoder.yudao.module.infra.dal.mysql;

+ 4 - 0
yudao-module-infra/yudao-module-infra-impl/src/test-integration/java/cn/iocoder/yudao/module/infra/dal/package-info.java

@@ -0,0 +1,4 @@
+/**
+ * 占位
+ */
+package cn.iocoder.yudao.module.infra.dal;

+ 7 - 7
yudao-module-tool/yudao-module-tool-impl/src/test-integration/java/cn/iocoder/yudao/module/tool/service/codegen/CodegenEngineTest.java → yudao-module-infra/yudao-module-infra-impl/src/test-integration/java/cn/iocoder/yudao/module/infra/service/codegen/CodegenEngineTest.java

@@ -1,11 +1,11 @@
-package cn.iocoder.yudao.module.tool.service.codegen;
+package cn.iocoder.yudao.module.infra.service.codegen;
 
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenColumnDO;
-import cn.iocoder.yudao.module.tool.dal.dataobject.codegen.CodegenTableDO;
-import cn.iocoder.yudao.module.tool.dal.mysql.codegen.CodegenColumnMapper;
-import cn.iocoder.yudao.module.tool.dal.mysql.codegen.CodegenTableMapper;
-import cn.iocoder.yudao.module.tool.service.codegen.inner.CodegenEngine;
-import cn.iocoder.yudao.module.tool.test.BaseDbUnitTest;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.CodegenColumnDO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.codegen.CodegenTableDO;
+import cn.iocoder.yudao.module.infra.dal.mysql.codegen.CodegenColumnMapper;
+import cn.iocoder.yudao.module.infra.dal.mysql.codegen.CodegenTableMapper;
+import cn.iocoder.yudao.module.infra.service.codegen.inner.CodegenEngine;
+import cn.iocoder.yudao.module.infra.test.BaseDbUnitTest;
 import org.junit.jupiter.api.Test;
 
 import javax.annotation.Resource;

+ 4 - 4
yudao-module-tool/yudao-module-tool-impl/src/test-integration/java/cn/iocoder/yudao/module/tool/service/codegen/CodegenSQLParserTest.java → yudao-module-infra/yudao-module-infra-impl/src/test-integration/java/cn/iocoder/yudao/module/infra/service/codegen/CodegenSQLParserTest.java

@@ -1,14 +1,14 @@
-package cn.iocoder.yudao.module.tool.service.codegen;
+package cn.iocoder.yudao.module.infra.service.codegen;
 
-import cn.iocoder.yudao.module.tool.service.codegen.inner.CodegenSQLParser;
-import cn.iocoder.yudao.module.tool.test.BaseDbUnitTest;
+import cn.iocoder.yudao.module.infra.service.codegen.inner.CodegenSQLParser;
+import cn.iocoder.yudao.module.infra.test.BaseDbUnitTest;
 import org.junit.jupiter.api.Test;
 
 public class CodegenSQLParserTest extends BaseDbUnitTest {
 
     @Test
     public void testParse() {
-        String sql = "CREATE TABLE `tool_test_demo` (\n" +
+        String sql = "CREATE TABLE `infra_test_demo` (\n" +
                 "  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号',\n" +
                 "  `name` varchar(100) NOT NULL DEFAULT '' COMMENT '名字',\n" +
                 "  `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '状态',\n" +

+ 20 - 0
yudao-module-infra/yudao-module-infra-impl/src/test-integration/java/cn/iocoder/yudao/module/infra/service/codegen/CodegenServiceImplTest.java

@@ -0,0 +1,20 @@
+package cn.iocoder.yudao.module.infra.service.codegen;
+
+import cn.iocoder.yudao.module.infra.test.BaseDbUnitTest;
+import org.junit.jupiter.api.Test;
+
+import javax.annotation.Resource;
+
+class CodegenServiceImplTest extends BaseDbUnitTest {
+
+    @Resource
+    private CodegenServiceImpl codegenService;
+
+    @Test
+    public void tetCreateCodegenTable() {
+        codegenService.createCodegen(0L, "infra_test_demo");
+//        infraCodegenService.createCodegenTable("infra_codegen_table");
+//        infraCodegenService.createCodegen("infra_codegen_column");
+    }
+
+}

+ 4 - 0
yudao-module-infra/yudao-module-infra-impl/src/test-integration/java/cn/iocoder/yudao/module/infra/service/package-info.java

@@ -0,0 +1,4 @@
+/**
+ * 占位
+ */
+package cn.iocoder.yudao.module.infra.service;

+ 1 - 1
yudao-module-tool/yudao-module-tool-impl/src/test-integration/java/cn/iocoder/yudao/module/tool/test/BaseDbAndRedisIntegrationTest.java → yudao-module-infra/yudao-module-infra-impl/src/test-integration/java/cn/iocoder/yudao/module/infra/test/BaseDbAndRedisIntegrationTest.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.tool.test;
+package cn.iocoder.yudao.module.infra.test;
 
 import cn.iocoder.yudao.framework.datasource.config.YudaoDataSourceAutoConfiguration;
 import cn.iocoder.yudao.framework.mybatis.config.YudaoMybatisAutoConfiguration;

+ 1 - 1
yudao-module-tool/yudao-module-tool-impl/src/test-integration/java/cn/iocoder/yudao/module/tool/test/BaseRedisIntegrationTest.java → yudao-module-infra/yudao-module-infra-impl/src/test-integration/java/cn/iocoder/yudao/module/infra/test/BaseRedisIntegrationTest.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.tool.test;
+package cn.iocoder.yudao.module.infra.test;
 
 import cn.iocoder.yudao.framework.redis.config.YudaoRedisAutoConfiguration;
 import org.redisson.spring.starter.RedissonAutoConfiguration;

+ 9 - 9
yudao-module-tool/yudao-module-tool-impl/src/test/java/cn/iocoder/yudao/module/tool/service/test/TestDemoServiceImplTest.java → yudao-module-infra/yudao-module-infra-impl/src/test/java/cn/iocoder/yudao/module/infra/service/test/TestDemoServiceImplTest.java

@@ -1,15 +1,15 @@
-package cn.iocoder.yudao.module.tool.service.test;
+package cn.iocoder.yudao.module.infra.service.test;
 
 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.date.DateUtils;
-import cn.iocoder.yudao.module.tool.controller.admin.test.vo.TestDemoCreateReqVO;
-import cn.iocoder.yudao.module.tool.controller.admin.test.vo.TestDemoExportReqVO;
-import cn.iocoder.yudao.module.tool.controller.admin.test.vo.TestDemoPageReqVO;
-import cn.iocoder.yudao.module.tool.controller.admin.test.vo.TestDemoUpdateReqVO;
-import cn.iocoder.yudao.module.tool.dal.dataobject.test.TestDemoDO;
-import cn.iocoder.yudao.module.tool.dal.mysql.test.TestDemoMapper;
-import cn.iocoder.yudao.module.tool.test.BaseDbUnitTest;
+import cn.iocoder.yudao.module.infra.controller.admin.test.vo.TestDemoExportReqVO;
+import cn.iocoder.yudao.module.infra.dal.dataobject.test.TestDemoDO;
+import cn.iocoder.yudao.module.infra.controller.admin.test.vo.TestDemoCreateReqVO;
+import cn.iocoder.yudao.module.infra.controller.admin.test.vo.TestDemoPageReqVO;
+import cn.iocoder.yudao.module.infra.controller.admin.test.vo.TestDemoUpdateReqVO;
+import cn.iocoder.yudao.module.infra.dal.mysql.test.TestDemoMapper;
+import cn.iocoder.yudao.module.infra.test.BaseDbUnitTest;
 import org.junit.jupiter.api.Test;
 import org.springframework.context.annotation.Import;
 
@@ -21,7 +21,7 @@ import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEq
 import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException;
 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId;
 import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo;
-import static cn.iocoder.yudao.module.tool.enums.ErrorCodeConstants.TEST_DEMO_NOT_EXISTS;
+import static cn.iocoder.yudao.module.infra.enums.ErrorCodeConstants.TEST_DEMO_NOT_EXISTS;
 import static org.junit.jupiter.api.Assertions.*;
 
 /**

+ 1 - 0
yudao-module-infra/yudao-module-infra-impl/src/test/resources/sql/clean.sql

@@ -7,3 +7,4 @@ DELETE FROM "infra_api_error_log";
 DELETE FROM "infra_api_access_log";
 DELETE FROM "infra_file";
 DELETE FROM "infra_api_error_log";
+DELETE FROM "infra_test_demo";

+ 15 - 0
yudao-module-infra/yudao-module-infra-impl/src/test/resources/sql/create_tables.sql

@@ -135,3 +135,18 @@ CREATE TABLE IF NOT EXISTS "infra_api_error_log" (
     "tenant_id" bigint not null default  '0',
     primary key ("id")
 ) COMMENT '系统异常日志';
+
+CREATE TABLE IF NOT EXISTS "infra_test_demo" (
+    "id"          bigint       NOT NULL GENERATED BY DEFAULT AS IDENTITY,
+    "name"        varchar(100) NOT NULL,
+    "status"      tinyint      NOT NULL,
+    "type"        tinyint      NOT NULL,
+    "category"    tinyint      NOT NULL,
+    "remark"      varchar(500),
+    "creator"     varchar(64)           DEFAULT '''',
+    "create_time" datetime     NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    "updater"     varchar(64)           DEFAULT '''',
+    "update_time" datetime     NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+    "deleted"     bit          NOT NULL DEFAULT FALSE,
+    PRIMARY KEY ("id")
+) COMMENT '字典类型表';

+ 0 - 24
yudao-module-tool/pom.xml

@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <groupId>cn.iocoder.boot</groupId>
-        <artifactId>yudao</artifactId>
-        <version>${revision}</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    <modules>
-        <module>yudao-module-tool-api</module>
-        <module>yudao-module-tool-impl</module>
-    </modules>
-    <artifactId>yudao-module-tool</artifactId>
-    <packaging>pom</packaging>
-
-    <name>${project.artifactId}</name>
-    <description>
-        tool 模块,我们放研发工具,提升研发效率与质量。
-        例如说:代码生成器、接口文档等等
-    </description>
-
-</project>

+ 0 - 26
yudao-module-tool/yudao-module-tool-api/pom.xml

@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <groupId>cn.iocoder.boot</groupId>
-        <artifactId>yudao-module-tool</artifactId>
-        <version>${revision}</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>yudao-module-tool-api</artifactId>
-    <packaging>jar</packaging>
-
-    <name>${project.artifactId}</name>
-    <description>
-        tool 模块 API,暴露给其它模块调用
-    </description>
-
-    <dependencies>
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-common</artifactId>
-        </dependency>
-    </dependencies>
-
-</project>

+ 0 - 4
yudao-module-tool/yudao-module-tool-api/src/main/java/cn/iocoder/yudao/module/tool/api/package-info.java

@@ -1,4 +0,0 @@
-/**
- * Tool API 包,定义暴露给其它模块的 API
- */
-package cn.iocoder.yudao.module.tool.api;

+ 0 - 12
yudao-module-tool/yudao-module-tool-api/src/main/java/cn/iocoder/yudao/module/tool/enums/DictTypeConstants.java

@@ -1,12 +0,0 @@
-package cn.iocoder.yudao.module.tool.enums;
-
-/**
- * Tool 字典类型的枚举类
- *
- * @author 芋道源码
- */
-public interface DictTypeConstants {
-
-    String TEST_DEMO_TYPE = "tool_test_demo_type";
-
-}

+ 0 - 25
yudao-module-tool/yudao-module-tool-api/src/main/java/cn/iocoder/yudao/module/tool/enums/ErrorCodeConstants.java

@@ -1,25 +0,0 @@
-package cn.iocoder.yudao.module.tool.enums;
-
-import cn.iocoder.yudao.framework.common.exception.ErrorCode;
-
-/**
- * Tool 错误码枚举类
- *
- * tool 系统,使用 1-003-000-000 段
- */
-public interface ErrorCodeConstants {
-
-    // ========== 字典类型(测试) 1003000000 ==========
-    ErrorCode TEST_DEMO_NOT_EXISTS = new ErrorCode(1003000000, "测试示例不存在");
-
-    // ========== 代码生成器 1003001000 ==========
-    ErrorCode CODEGEN_TABLE_EXISTS = new ErrorCode(1003001000, "表定义已经存在");
-    ErrorCode CODEGEN_IMPORT_TABLE_NULL = new ErrorCode(1003001001, "导入的表不存在");
-    ErrorCode CODEGEN_IMPORT_COLUMNS_NULL = new ErrorCode(1003001002, "导入的字段不存在");
-    ErrorCode CODEGEN_PARSE_SQL_ERROR = new ErrorCode(1003001003, "解析 SQL 失败,请检查");
-    ErrorCode CODEGEN_TABLE_NOT_EXISTS = new ErrorCode(1003001004, "表定义不存在");
-    ErrorCode CODEGEN_COLUMN_NOT_EXISTS = new ErrorCode(1003001005, "字段义不存在");
-    ErrorCode CODEGEN_SYNC_COLUMNS_NULL = new ErrorCode(1003001006, "同步的字段不存在");
-    ErrorCode CODEGEN_SYNC_NONE_CHANGE = new ErrorCode(1003001007, "同步失败,不存在改变");
-
-}

+ 0 - 1
yudao-module-tool/yudao-module-tool-api/src/main/java/cn/iocoder/yudao/module/tool/package-info.java

@@ -1 +0,0 @@
-package cn.iocoder.yudao.module.tool;

+ 0 - 78
yudao-module-tool/yudao-module-tool-impl/pom.xml

@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <artifactId>yudao-module-tool</artifactId>
-        <groupId>cn.iocoder.boot</groupId>
-        <version>${revision}</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>yudao-module-tool-impl</artifactId>
-    <packaging>jar</packaging>
-
-    <name>${project.artifactId}</name>
-    <description>
-        tool 模块,我们放研发工具,提升研发效率与质量。
-        例如说:代码生成器、接口文档等等
-    </description>
-
-    <dependencies>
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-module-tool-api</artifactId>
-            <version>${revision}</version>
-        </dependency>
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-module-system-api</artifactId>
-            <version>${revision}</version>
-        </dependency>
-
-        <!-- 业务组件 -->
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-spring-boot-starter-biz-operatelog</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-spring-boot-starter-biz-dict</artifactId>
-        </dependency>
-
-        <!-- Web 相关 -->
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-spring-boot-starter-security</artifactId>
-        </dependency>
-
-        <!-- DB 相关 -->
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-spring-boot-starter-mybatis</artifactId>
-        </dependency>
-
-        <!-- Test 测试相关 -->
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-spring-boot-starter-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <!-- 工具类相关 -->
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-spring-boot-starter-excel</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.velocity</groupId>
-            <artifactId>velocity-engine-core</artifactId> <!-- 实现代码生成 -->
-        </dependency>
-
-        <dependency>
-            <groupId>cn.smallbun.screw</groupId>
-            <artifactId>screw-core</artifactId> <!-- 实现数据库文档 -->
-        </dependency>
-    </dependencies>
-
-</project>

+ 0 - 4
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/app/package-info.java

@@ -1,4 +0,0 @@
-/**
- * 占位,避免 package 无法提交到 Git 仓库
- */
-package cn.iocoder.yudao.module.tool.controller.app;

+ 0 - 6
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/controller/package-info.java

@@ -1,6 +0,0 @@
-/**
- * 提供 RESTful API 给前端:
- * 1. admin 包:提供给管理后台 yudao-ui-admin 前端项目
- * 2. app 包:提供给用户 APP yudao-ui-app 前端项目,它的 Controller 和 VO 都要添加 App 前缀,用于和管理后台进行区分
- */
-package cn.iocoder.yudao.module.tool.controller;

+ 0 - 4
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/enums/package-info.java

@@ -1,4 +0,0 @@
-/**
- * 占位
- */
-package cn.iocoder.yudao.module.tool.enums;

+ 0 - 4
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/framework/codegen/package-info.java

@@ -1,4 +0,0 @@
-/**
- * 代码生成器
- */
-package cn.iocoder.yudao.module.tool.framework.codegen;

+ 0 - 6
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/framework/package-info.java

@@ -1,6 +0,0 @@
-/**
- * 属于 tool 模块的 framework 封装
- *
- * @author 芋道源码
- */
-package cn.iocoder.yudao.module.tool.framework;

+ 0 - 8
yudao-module-tool/yudao-module-tool-impl/src/main/java/cn/iocoder/yudao/module/tool/package-info.java

@@ -1,8 +0,0 @@
-/**
- * tool 模块下,我们放研发工具,提升研发效率与质量。
- * 例如说:代码生成器、接口文档等等
- *
- * 1. Controller URL:以 /tool/ 开头,避免和其它 Module 冲突
- * 2. DataObject 表名:以 tool_ 开头,方便在数据库中区分
- */
-package cn.iocoder.yudao.module.tool;

+ 0 - 4
yudao-module-tool/yudao-module-tool-impl/src/test-integration/java/cn/iocoder/yudao/module/tool/dal/mysql/package-info.java

@@ -1,4 +0,0 @@
-/**
- * 占位
- */
-package cn.iocoder.yudao.module.tool.dal.mysql;

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