Ver código fonte

!469 修复 vue3 代码生成 api 模版错误 && 修复过期属性
Merge pull request !469 from xingyu/fix/vue3_codegen

芋道源码 1 ano atrás
pai
commit
12d6c14b1c
100 arquivos alterados com 524 adições e 432 exclusões
  1. 2 2
      README.md
  2. 2 2
      pom.xml
  3. 4 4
      yudao-dependencies/pom.xml
  4. 2 2
      yudao-example/yudao-sso-demo-by-code/pom.xml
  5. 2 2
      yudao-example/yudao-sso-demo-by-password/pom.xml
  6. 2 2
      yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/pojo/PageParam.java
  7. 2 2
      yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/pojo/PageResult.java
  8. 2 2
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormBaseVO.java
  9. 2 2
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormCreateReqVO.java
  10. 4 4
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormRespVO.java
  11. 2 2
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormSimpleRespVO.java
  12. 3 3
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormUpdateReqVO.java
  13. 9 7
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupBaseVO.java
  14. 3 3
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupRespVO.java
  15. 2 2
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupSimpleRespVO.java
  16. 2 1
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupUpdateReqVO.java
  17. 1 1
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModeImportReqVO.java
  18. 2 2
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelBaseVO.java
  19. 2 2
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelCreateReqVO.java
  20. 6 6
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelPageItemRespVO.java
  21. 3 3
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelRespVO.java
  22. 2 2
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelUpdateReqVO.java
  23. 2 2
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelUpdateStateReqVO.java
  24. 1 1
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionPageItemRespVO.java
  25. 6 7
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionRespVO.java
  26. 3 3
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleBaseVO.java
  27. 2 2
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleCreateReqVO.java
  28. 5 5
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleRespVO.java
  29. 1 1
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleUpdateReqVO.java
  30. 5 4
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/BpmOALeaveBaseVO.java
  31. 4 3
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/BpmOALeaveRespVO.java
  32. 4 4
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/activity/BpmActivityRespVO.java
  33. 2 4
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceCancelReqVO.java
  34. 1 1
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceCreateReqVO.java
  35. 10 10
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstancePageItemRespVO.java
  36. 16 16
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceRespVO.java
  37. 2 2
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskApproveReqVO.java
  38. 4 4
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskDonePageItemRespVO.java
  39. 2 2
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskRejectReqVO.java
  40. 5 5
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskRespVO.java
  41. 10 10
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskTodoPageItemRespVO.java
  42. 2 5
      yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskUpdateAssigneeReqVO.java
  43. 2 2
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/CodegenCreateListReqVO.java
  44. 2 2
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/CodegenPreviewRespVO.java
  45. 2 2
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/CodegenUpdateReqVO.java
  46. 17 16
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/column/CodegenColumnBaseVO.java
  47. 2 2
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/column/CodegenColumnRespVO.java
  48. 14 13
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/CodegenTableBaseVO.java
  49. 4 4
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/CodegenTableRespVO.java
  50. 2 2
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/DatabaseTableRespVO.java
  51. 5 4
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigBaseVO.java
  52. 1 1
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigCreateReqVO.java
  53. 4 4
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigRespVO.java
  54. 1 1
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigUpdateReqVO.java
  55. 3 3
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/vo/DataSourceConfigBaseVO.java
  56. 2 1
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/vo/DataSourceConfigCreateReqVO.java
  57. 3 2
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/vo/DataSourceConfigRespVO.java
  58. 3 2
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/vo/DataSourceConfigUpdateReqVO.java
  59. 2 1
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/config/FileConfigBaseVO.java
  60. 2 2
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/config/FileConfigCreateReqVO.java
  61. 5 5
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/config/FileConfigRespVO.java
  62. 2 2
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/config/FileConfigUpdateReqVO.java
  63. 7 7
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/file/FileRespVO.java
  64. 1 1
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/file/FileUploadReqVO.java
  65. 5 4
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/job/JobBaseVO.java
  66. 1 1
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/job/JobCreateReqVO.java
  67. 4 4
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/job/JobRespVO.java
  68. 1 1
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/job/JobUpdateReqVO.java
  69. 6 5
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/log/JobLogBaseVO.java
  70. 2 2
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/log/JobLogRespVO.java
  71. 13 12
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogBaseVO.java
  72. 2 2
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogRespVO.java
  73. 19 19
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogBaseVO.java
  74. 3 3
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogRespVO.java
  75. 6 6
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/redis/vo/RedisKeyDefineRespVO.java
  76. 2 2
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/redis/vo/RedisKeyValueRespVO.java
  77. 6 6
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/redis/vo/RedisMonitorRespVO.java
  78. 4 4
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoBaseVO.java
  79. 2 2
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoRespVO.java
  80. 1 1
      yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoUpdateReqVO.java
  81. 1 1
      yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/respVO.vm
  82. 1 1
      yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/api/api.ts.vm
  83. 1 1
      yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_schema/api/api.ts.vm
  84. 84 10
      yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm
  85. 45 38
      yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/form.vue.vm
  86. 49 47
      yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/index.vue.vm
  87. 4 4
      yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/brand/vo/ProductBrandBaseVO.java
  88. 2 2
      yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/brand/vo/ProductBrandRespVO.java
  89. 1 1
      yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/brand/vo/ProductBrandUpdateReqVO.java
  90. 6 6
      yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/category/vo/ProductCategoryBaseVO.java
  91. 2 2
      yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/category/vo/ProductCategoryRespVO.java
  92. 1 1
      yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/category/vo/ProductCategoryUpdateReqVO.java
  93. 4 4
      yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyAndValueRespVO.java
  94. 1 1
      yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyBaseVO.java
  95. 1 1
      yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyPageReqVO.java
  96. 2 2
      yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyRespVO.java
  97. 1 1
      yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyUpdateReqVO.java
  98. 2 2
      yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValueBaseVO.java
  99. 4 4
      yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValueDetailRespVO.java
  100. 1 1
      yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValuePageReqVO.java

+ 2 - 2
README.md

@@ -249,7 +249,7 @@ ps:核心功能已经实现,正在对接微信小程序中...
 
 | 框架                                                                                          | 说明               | 版本          | 学习指南                                                           |
 |---------------------------------------------------------------------------------------------|------------------|-------------|----------------------------------------------------------------|
-| [Spring Boot](https://spring.io/projects/spring-boot)                                       | 应用开发框架           | 2.7.10      | [文档](https://github.com/YunaiV/SpringBoot-Labs)                |
+| [Spring Boot](https://spring.io/projects/spring-boot)                                       | 应用开发框架           | 2.7.11      | [文档](https://github.com/YunaiV/SpringBoot-Labs)                |
 | [MySQL](https://www.mysql.com/cn/)                                                          | 数据库服务器           | 5.7 / 8.0+  |                                                                |
 | [Druid](https://github.com/alibaba/druid)                                                   | JDBC 连接池、监控组件    | 1.2.16      | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) |
 | [MyBatis Plus](https://mp.baomidou.com/)                                                    | MyBatis 增强工具包    | 3.5.3.1     | [文档](http://www.iocoder.cn/Spring-Boot/MyBatis/?yudao)         |
@@ -266,7 +266,7 @@ ps:核心功能已经实现,正在对接微信小程序中...
 | [SkyWalking](https://skywalking.apache.org/)                                                | 分布式应用追踪系统        | 8.12.0      | [文档](http://www.iocoder.cn/Spring-Boot/SkyWalking/?yudao)      |
 | [Spring Boot Admin](https://github.com/codecentric/spring-boot-admin)                       | Spring Boot 监控平台 | 2.7.10      | [文档](http://www.iocoder.cn/Spring-Boot/Admin/?yudao)           |
 | [Jackson](https://github.com/FasterXML/jackson)                                             | JSON 工具库         | 2.13.3      |                                                                |
-| [MapStruct](https://mapstruct.org/)                                                         | Java Bean 转换     | 1.5.3.Final | [文档](http://www.iocoder.cn/Spring-Boot/MapStruct/?yudao)       |
+| [MapStruct](https://mapstruct.org/)                                                         | Java Bean 转换     | 1.5.5.Final | [文档](http://www.iocoder.cn/Spring-Boot/MapStruct/?yudao)       |
 | [Lombok](https://projectlombok.org/)                                                        | 消除冗长的 Java 代码    | 1.18.26     | [文档](http://www.iocoder.cn/Spring-Boot/Lombok/?yudao)          |
 | [JUnit](https://junit.org/junit5/)                                                          | Java 单元测试框架      | 5.8.2       | -                                                              |
 | [Mockito](https://github.com/mockito/mockito)                                               | Java Mock 框架     | 4.8.0       | -                                                              |

+ 2 - 2
pom.xml

@@ -39,8 +39,8 @@
         <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
         <!-- 看看咋放到 bom 里 -->
         <lombok.version>1.18.26</lombok.version>
-        <spring.boot.version>2.7.10</spring.boot.version>
-        <mapstruct.version>1.5.3.Final</mapstruct.version>
+        <spring.boot.version>2.7.11</spring.boot.version>
+        <mapstruct.version>1.5.5.Final</mapstruct.version>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     </properties>
 

+ 4 - 4
yudao-dependencies/pom.xml

@@ -16,7 +16,7 @@
     <properties>
         <revision>1.7.2-snapshot</revision>
         <!-- 统一依赖管理 -->
-        <spring.boot.version>2.7.10</spring.boot.version>
+        <spring.boot.version>2.7.11</spring.boot.version>
         <!-- Web 相关 -->
         <springdoc.version>1.6.15</springdoc.version>
         <knife4j.version>4.1.0</knife4j.version>
@@ -46,9 +46,9 @@
         <captcha-plus.version>1.0.2</captcha-plus.version>
         <jsoup.version>1.15.4</jsoup.version>
         <lombok.version>1.18.26</lombok.version>
-        <mapstruct.version>1.5.3.Final</mapstruct.version>
-        <hutool.version>5.8.15</hutool.version>
-        <easyexcel.verion>3.2.1</easyexcel.verion>
+        <mapstruct.version>1.5.5.Final</mapstruct.version>
+        <hutool.version>5.8.18</hutool.version>
+        <easyexcel.verion>3.3.0</easyexcel.verion>
         <velocity.version>2.3</velocity.version>
         <screw.version>1.0.5</screw.version>
         <fastjson.version>1.2.83</fastjson.version>

+ 2 - 2
yudao-example/yudao-sso-demo-by-code/pom.xml

@@ -21,7 +21,7 @@
         <maven.compiler.target>8</maven.compiler.target>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <!-- 统一依赖管理 -->
-        <spring.boot.version>2.7.10</spring.boot.version>
+        <spring.boot.version>2.7.11</spring.boot.version>
     </properties>
 
     <dependencyManagement>
@@ -52,7 +52,7 @@
         <dependency>
             <groupId>cn.hutool</groupId>
             <artifactId>hutool-all</artifactId>
-            <version>5.8.15</version>
+            <version>5.8.18</version>
         </dependency>
 
         <dependency>

+ 2 - 2
yudao-example/yudao-sso-demo-by-password/pom.xml

@@ -21,7 +21,7 @@
         <maven.compiler.target>8</maven.compiler.target>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <!-- 统一依赖管理 -->
-        <spring.boot.version>2.7.10</spring.boot.version>
+        <spring.boot.version>2.7.11</spring.boot.version>
     </properties>
 
     <dependencyManagement>
@@ -52,7 +52,7 @@
         <dependency>
             <groupId>cn.hutool</groupId>
             <artifactId>hutool-all</artifactId>
-            <version>5.8.15</version>
+            <version>5.8.18</version>
         </dependency>
 
         <dependency>

+ 2 - 2
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/pojo/PageParam.java

@@ -15,12 +15,12 @@ public class PageParam implements Serializable {
     private static final Integer PAGE_NO = 1;
     private static final Integer PAGE_SIZE = 10;
 
-    @Schema(description = "页码,从 1 开始", required = true,example = "1")
+    @Schema(description = "页码,从 1 开始", requiredMode = Schema.RequiredMode.REQUIRED,example = "1")
     @NotNull(message = "页码不能为空")
     @Min(value = 1, message = "页码最小值为 1")
     private Integer pageNo = PAGE_NO;
 
-    @Schema(description = "每页条数,最大值为 100", required = true, example = "10")
+    @Schema(description = "每页条数,最大值为 100", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
     @NotNull(message = "每页条数不能为空")
     @Min(value = 1, message = "每页条数最小值为 1")
     @Max(value = 100, message = "每页条数最大值为 100")

+ 2 - 2
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/pojo/PageResult.java

@@ -11,10 +11,10 @@ import java.util.List;
 @Data
 public final class PageResult<T> implements Serializable {
 
-    @Schema(description = "数据", required = true)
+    @Schema(description = "数据", requiredMode = Schema.RequiredMode.REQUIRED)
     private List<T> list;
 
-    @Schema(description = "总量", required = true)
+    @Schema(description = "总量", requiredMode = Schema.RequiredMode.REQUIRED)
     private Long total;
 
     public PageResult() {

+ 2 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormBaseVO.java

@@ -10,11 +10,11 @@ import javax.validation.constraints.*;
 @Data
 public class BpmFormBaseVO {
 
-    @Schema(description = "表单名称", required = true, example = "芋道")
+    @Schema(description = "表单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     @NotNull(message = "表单名称不能为空")
     private String name;
 
-    @Schema(description = "表单状态-参见 CommonStatusEnum 枚举", required = true, example = "1")
+    @Schema(description = "表单状态-参见 CommonStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "表单状态不能为空")
     private Integer status;
 

+ 2 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormCreateReqVO.java

@@ -11,11 +11,11 @@ import java.util.List;
 @ToString(callSuper = true)
 public class BpmFormCreateReqVO extends BpmFormBaseVO {
 
-    @Schema(description = "表单的配置-JSON 字符串", required = true)
+    @Schema(description = "表单的配置-JSON 字符串", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "表单的配置不能为空")
     private String conf;
 
-    @Schema(description = "表单项的数组-JSON 字符串的数组", required = true)
+    @Schema(description = "表单项的数组-JSON 字符串的数组", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "表单项的数组不能为空")
     private List<String> fields;
 

+ 4 - 4
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormRespVO.java

@@ -14,18 +14,18 @@ import java.util.List;
 @ToString(callSuper = true)
 public class BpmFormRespVO extends BpmFormBaseVO {
 
-    @Schema(description = "表单编号", required = true, example = "1024")
+    @Schema(description = "表单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "表单的配置-JSON 字符串", required = true)
+    @Schema(description = "表单的配置-JSON 字符串", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "表单的配置不能为空")
     private String conf;
 
-    @Schema(description = "表单项的数组-JSON 字符串的数组", required = true)
+    @Schema(description = "表单项的数组-JSON 字符串的数组", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "表单项的数组不能为空")
     private List<String> fields;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }

+ 2 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormSimpleRespVO.java

@@ -7,10 +7,10 @@ import lombok.Data;
 @Data
 public class BpmFormSimpleRespVO {
 
-    @Schema(description = "表单编号", required = true, example = "1024")
+    @Schema(description = "表单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "表单名称", required = true, example = "芋道")
+    @Schema(description = "表单名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     private String name;
 
 }

+ 3 - 3
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/form/BpmFormUpdateReqVO.java

@@ -10,15 +10,15 @@ import java.util.List;
 @ToString(callSuper = true)
 public class BpmFormUpdateReqVO extends BpmFormBaseVO {
 
-    @Schema(description = "表单编号", required = true, example = "1024")
+    @Schema(description = "表单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "表单编号不能为空")
     private Long id;
 
-    @Schema(description = "表单的配置-JSON 字符串", required = true)
+    @Schema(description = "表单的配置-JSON 字符串", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "表单的配置不能为空")
     private String conf;
 
-    @Schema(description = "表单项的数组-JSON 字符串的数组", required = true)
+    @Schema(description = "表单项的数组-JSON 字符串的数组", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "表单项的数组不能为空")
     private List<String> fields;
 

+ 9 - 7
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupBaseVO.java

@@ -1,8 +1,10 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.group;
+
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-import java.util.*;
-import javax.validation.constraints.*;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.util.Set;
 
 /**
 * 用户组 Base VO,提供给添加、修改、详细的子 VO 使用
@@ -11,19 +13,19 @@ import javax.validation.constraints.*;
 @Data
 public class BpmUserGroupBaseVO {
 
-    @Schema(description = "组名", required = true, example = "芋道")
+    @Schema(description = "组名", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     @NotNull(message = "组名不能为空")
     private String name;
 
-    @Schema(description = "描述", required = true, example = "芋道源码")
+    @Schema(description = "描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道源码")
     @NotNull(message = "描述不能为空")
     private String description;
 
-    @Schema(description = "成员编号数组", required = true, example = "1,2,3")
+    @Schema(description = "成员编号数组", requiredMode = Schema.RequiredMode.REQUIRED, example = "1,2,3")
     @NotNull(message = "成员编号数组不能为空")
     private Set<Long> memberUserIds;
 
-    @Schema(description = "状态", required = true, example = "1")
+    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "状态不能为空")
     private Integer status;
 

+ 3 - 3
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupRespVO.java

@@ -1,20 +1,20 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.group;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import java.time.LocalDateTime;
 
-
 @Schema(description = "管理后台 - 用户组 Response VO")
 @Data
 @EqualsAndHashCode(callSuper = true)
 @ToString(callSuper = true)
 public class BpmUserGroupRespVO extends BpmUserGroupBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }

+ 2 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupSimpleRespVO.java

@@ -11,10 +11,10 @@ import lombok.NoArgsConstructor;
 @AllArgsConstructor
 public class BpmUserGroupSimpleRespVO {
 
-    @Schema(description = "用户组编号", required = true, example = "1024")
+    @Schema(description = "用户组编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "用户组名字", required = true, example = "芋道")
+    @Schema(description = "用户组名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     private String name;
 
 }

+ 2 - 1
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/group/BpmUserGroupUpdateReqVO.java

@@ -1,4 +1,5 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.group;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 import javax.validation.constraints.*;
@@ -9,7 +10,7 @@ import javax.validation.constraints.*;
 @ToString(callSuper = true)
 public class BpmUserGroupUpdateReqVO extends BpmUserGroupBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "编号不能为空")
     private Long id;
 

+ 1 - 1
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModeImportReqVO.java

@@ -14,7 +14,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class BpmModeImportReqVO extends BpmModelCreateReqVO {
 
-    @Schema(description = "BPMN 文件", required = true)
+    @Schema(description = "BPMN 文件", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "BPMN 文件不能为空")
     private MultipartFile bpmnFile;
 

+ 2 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelBaseVO.java

@@ -11,11 +11,11 @@ import javax.validation.constraints.NotEmpty;
 @Data
 public class BpmModelBaseVO {
 
-    @Schema(description = "流程标识", required = true, example = "process_yudao")
+    @Schema(description = "流程标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "process_yudao")
     @NotEmpty(message = "流程标识不能为空")
     private String key;
 
-    @Schema(description = "流程名称", required = true, example = "芋道")
+    @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     @NotEmpty(message = "流程名称不能为空")
     private String name;
 

+ 2 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelCreateReqVO.java

@@ -11,11 +11,11 @@ import javax.validation.constraints.NotEmpty;
 @Data
 public class BpmModelCreateReqVO {
 
-    @Schema(description = "流程标识", required = true, example = "process_yudao")
+    @Schema(description = "流程标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "process_yudao")
     @NotEmpty(message = "流程标识不能为空")
     private String key;
 
-    @Schema(description = "流程名称", required = true, example = "芋道")
+    @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     @NotEmpty(message = "流程名称不能为空")
     private String name;
 

+ 6 - 6
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelPageItemRespVO.java

@@ -13,13 +13,13 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class BpmModelPageItemRespVO extends BpmModelBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private String id;
 
     @Schema(description = "表单名字", example = "请假表单")
     private String formName;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
     /**
@@ -31,16 +31,16 @@ public class BpmModelPageItemRespVO extends BpmModelBaseVO {
     @Data
     public static class ProcessDefinition {
 
-        @Schema(description = "编号", required = true, example = "1024")
+        @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
         private String id;
 
-        @Schema(description = "版本", required = true, example = "1")
+        @Schema(description = "版本", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Integer version;
 
-        @Schema(description = "部署时间", required = true)
+        @Schema(description = "部署时间", requiredMode = Schema.RequiredMode.REQUIRED)
         private LocalDateTime deploymentTime;
 
-        @Schema(description = "中断状态-参见 SuspensionState 枚举", required = true, example = "1")
+        @Schema(description = "中断状态-参见 SuspensionState 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Integer suspensionState;
 
     }

+ 3 - 3
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelRespVO.java

@@ -13,13 +13,13 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class BpmModelRespVO extends BpmModelBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private String id;
 
-    @Schema(description = "BPMN XML", required = true)
+    @Schema(description = "BPMN XML", requiredMode = Schema.RequiredMode.REQUIRED)
     private String bpmnXml;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }

+ 2 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelUpdateReqVO.java

@@ -9,7 +9,7 @@ import javax.validation.constraints.NotEmpty;
 @Data
 public class BpmModelUpdateReqVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotEmpty(message = "编号不能为空")
     private String id;
 
@@ -22,7 +22,7 @@ public class BpmModelUpdateReqVO {
     @Schema(description = "流程分类-参见 bpm_model_category 数据字典", example = "1")
     private String category;
 
-    @Schema(description = "BPMN XML", required = true)
+    @Schema(description = "BPMN XML", requiredMode = Schema.RequiredMode.REQUIRED)
     private String bpmnXml;
 
     @Schema(description = "表单类型-参见 bpm_model_form_type 数据字典", example = "1")

+ 2 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/model/BpmModelUpdateStateReqVO.java

@@ -9,11 +9,11 @@ import javax.validation.constraints.NotNull;
 @Data
 public class BpmModelUpdateStateReqVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "编号不能为空")
     private String id;
 
-    @Schema(description = "状态-见 SuspensionState 枚举", required = true, example = "1")
+    @Schema(description = "状态-见 SuspensionState 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "状态不能为空")
     private Integer state;
 

+ 1 - 1
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionPageItemRespVO.java

@@ -16,7 +16,7 @@ public class BpmProcessDefinitionPageItemRespVO extends BpmProcessDefinitionResp
     @Schema(description = "表单名字", example = "请假表单")
     private String formName;
 
-    @Schema(description = "部署时间", required = true)
+    @Schema(description = "部署时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime deploymentTime;
 
 }

+ 6 - 7
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/process/BpmProcessDefinitionRespVO.java

@@ -4,20 +4,19 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
 import java.util.List;
 
 @Schema(description = "管理后台 - 流程定义 Response VO")
 @Data
 public class BpmProcessDefinitionRespVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private String id;
 
-    @Schema(description = "版本", required = true, example = "1")
+    @Schema(description = "版本", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer version;
 
-    @Schema(description = "流程名称", required = true, example = "芋道")
+    @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     @NotEmpty(message = "流程名称不能为空")
     private String name;
 
@@ -32,9 +31,9 @@ public class BpmProcessDefinitionRespVO {
     private Integer formType;
     @Schema(description = "表单编号-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", example = "1024")
     private Long formId;
-    @Schema(description = "表单的配置-JSON 字符串。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", required = true)
+    @Schema(description = "表单的配置-JSON 字符串。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", requiredMode = Schema.RequiredMode.REQUIRED)
     private String formConf;
-    @Schema(description = "表单项的数组-JSON 字符串的数组。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", required = true)
+    @Schema(description = "表单项的数组-JSON 字符串的数组。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", requiredMode = Schema.RequiredMode.REQUIRED)
     private List<String> formFields;
     @Schema(description = "自定义表单的提交路径,使用 Vue 的路由地址-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空",
             example = "/bpm/oa/leave/create")
@@ -43,7 +42,7 @@ public class BpmProcessDefinitionRespVO {
             example = "/bpm/oa/leave/view")
     private String formCustomViewPath;
 
-    @Schema(description = "中断状态-参见 SuspensionState 枚举", required = true, example = "1")
+    @Schema(description = "中断状态-参见 SuspensionState 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer suspensionState;
 
 }

+ 3 - 3
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleBaseVO.java

@@ -1,8 +1,8 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.rule;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
-import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
 import java.util.Set;
 
@@ -13,11 +13,11 @@ import java.util.Set;
 @Data
 public class BpmTaskAssignRuleBaseVO {
 
-    @Schema(description = "规则类型", required = true, example = "bpm_task_assign_rule_type")
+    @Schema(description = "规则类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "bpm_task_assign_rule_type")
     @NotNull(message = "规则类型不能为空")
     private Integer type;
 
-    @Schema(description = "规则值数组", required = true, example = "1,2,3")
+    @Schema(description = "规则值数组", requiredMode = Schema.RequiredMode.REQUIRED, example = "1,2,3")
     @NotNull(message = "规则值数组不能为空")
     private Set<Long> options;
 

+ 2 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleCreateReqVO.java

@@ -13,11 +13,11 @@ import javax.validation.constraints.NotEmpty;
 @ToString(callSuper = true)
 public class BpmTaskAssignRuleCreateReqVO extends BpmTaskAssignRuleBaseVO {
 
-    @Schema(description = "流程模型的编号", required = true, example = "1024")
+    @Schema(description = "流程模型的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotEmpty(message = "流程模型的编号不能为空")
     private String modelId;
 
-    @Schema(description = "流程任务定义的编号", required = true, example = "2048")
+    @Schema(description = "流程任务定义的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
     @NotEmpty(message = "流程任务定义的编号不能为空")
     private String taskDefinitionKey;
 

+ 5 - 5
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleRespVO.java

@@ -11,18 +11,18 @@ import lombok.ToString;
 @ToString(callSuper = true)
 public class BpmTaskAssignRuleRespVO extends BpmTaskAssignRuleBaseVO {
 
-    @Schema(description = "任务分配规则的编号", required = true, example = "1024")
+    @Schema(description = "任务分配规则的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "流程模型的编号", required = true, example = "2048")
+    @Schema(description = "流程模型的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
     private String modelId;
 
-    @Schema(description = "流程定义的编号", required = true, example = "4096")
+    @Schema(description = "流程定义的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "4096")
     private String processDefinitionId;
 
-    @Schema(description = "流程任务定义的编号", required = true, example = "2048")
+    @Schema(description = "流程任务定义的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
     private String taskDefinitionKey;
-    @Schema(description = "流程任务定义的名字", required = true, example = "关注芋道")
+    @Schema(description = "流程任务定义的名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "关注芋道")
     private String taskDefinitionName;
 
 }

+ 1 - 1
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/vo/rule/BpmTaskAssignRuleUpdateReqVO.java

@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class BpmTaskAssignRuleUpdateReqVO extends BpmTaskAssignRuleBaseVO {
 
-    @Schema(description = "任务分配规则的编号", required = true, example = "1024")
+    @Schema(description = "任务分配规则的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "任务分配规则的编号不能为空")
     private Long id;
 

+ 5 - 4
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/BpmOALeaveBaseVO.java

@@ -1,4 +1,5 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 import java.time.LocalDateTime;
@@ -14,19 +15,19 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @Data
 public class BpmOALeaveBaseVO {
 
-    @Schema(description = "请假的开始时间", required = true)
+    @Schema(description = "请假的开始时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "开始时间不能为空")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime startTime;
-    @Schema(description = "请假的结束时间", required = true)
+    @Schema(description = "请假的结束时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "结束时间不能为空")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime endTime;
 
-    @Schema(description = "请假类型-参见 bpm_oa_type 枚举", required = true, example = "1")
+    @Schema(description = "请假类型-参见 bpm_oa_type 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer type;
 
-    @Schema(description = "原因", required = true, example = "阅读芋道源码")
+    @Schema(description = "原因", requiredMode = Schema.RequiredMode.REQUIRED, example = "阅读芋道源码")
     private String reason;
 
 }

+ 4 - 3
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/BpmOALeaveRespVO.java

@@ -1,4 +1,5 @@
 package cn.iocoder.yudao.module.bpm.controller.admin.oa.vo;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -14,13 +15,13 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @ToString(callSuper = true)
 public class BpmOALeaveRespVO extends BpmOALeaveBaseVO {
 
-    @Schema(description = "请假表单主键", required = true, example = "1024")
+    @Schema(description = "请假表单主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "状态-参见 bpm_process_instance_result 枚举", required = true, example = "1")
+    @Schema(description = "状态-参见 bpm_process_instance_result 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer result;
 
-    @Schema(description = "申请时间", required = true)
+    @Schema(description = "申请时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "申请时间不能为空")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime createTime;

+ 4 - 4
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/activity/BpmActivityRespVO.java

@@ -9,14 +9,14 @@ import java.time.LocalDateTime;
 @Data
 public class BpmActivityRespVO {
 
-    @Schema(description = "流程活动的标识", required = true, example = "1024")
+    @Schema(description = "流程活动的标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private String key;
-    @Schema(description = "流程活动的类型", required = true, example = "StartEvent")
+    @Schema(description = "流程活动的类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "StartEvent")
     private String type;
 
-    @Schema(description = "流程活动的开始时间", required = true)
+    @Schema(description = "流程活动的开始时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime startTime;
-    @Schema(description = "流程活动的结束时间", required = true)
+    @Schema(description = "流程活动的结束时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime endTime;
 
     @Schema(description = "关联的流程任务的编号-关联的流程任务,只有 UserTask 等类型才有", example = "2048")

+ 2 - 4
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceCancelReqVO.java

@@ -4,18 +4,16 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
-import java.util.Map;
 
 @Schema(description = "管理后台 - 流程实例的取消 Request VO")
 @Data
 public class BpmProcessInstanceCancelReqVO {
 
-    @Schema(description = "流程实例的编号", required = true, example = "1024")
+    @Schema(description = "流程实例的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotEmpty(message = "流程实例的编号不能为空")
     private String id;
 
-    @Schema(description = "取消原因", required = true, example = "不请假了!")
+    @Schema(description = "取消原因", requiredMode = Schema.RequiredMode.REQUIRED, example = "不请假了!")
     @NotEmpty(message = "取消原因不能为空")
     private String reason;
 

+ 1 - 1
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceCreateReqVO.java

@@ -10,7 +10,7 @@ import java.util.Map;
 @Data
 public class BpmProcessInstanceCreateReqVO {
 
-    @Schema(description = "流程定义的编号", required = true, example = "1024")
+    @Schema(description = "流程定义的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotEmpty(message = "流程定义编号不能为空")
     private String processDefinitionId;
 

+ 10 - 10
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstancePageItemRespVO.java

@@ -10,28 +10,28 @@ import java.util.List;
 @Data
 public class BpmProcessInstancePageItemRespVO {
 
-    @Schema(description = "流程实例的编号", required = true, example = "1024")
+    @Schema(description = "流程实例的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private String id;
 
-    @Schema(description = "流程名称", required = true, example = "芋道")
+    @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     private String name;
 
-    @Schema(description = "流程定义的编号", required = true, example = "2048")
+    @Schema(description = "流程定义的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
     private String processDefinitionId;
 
-    @Schema(description = "流程分类-参见 bpm_model_category 数据字典", required = true, example = "1")
+    @Schema(description = "流程分类-参见 bpm_model_category 数据字典", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private String category;
 
-    @Schema(description = "流程实例的状态-参见 bpm_process_instance_status", required = true, example = "1")
+    @Schema(description = "流程实例的状态-参见 bpm_process_instance_status", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer status;
 
-    @Schema(description = "流程实例的结果-参见 bpm_process_instance_result", required = true, example = "2")
+    @Schema(description = "流程实例的结果-参见 bpm_process_instance_result", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
     private Integer result;
 
-    @Schema(description = "提交时间", required = true)
+    @Schema(description = "提交时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
-    @Schema(description = "结束时间", required = true)
+    @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime endTime;
 
     /**
@@ -43,10 +43,10 @@ public class BpmProcessInstancePageItemRespVO {
     @Data
     public static class Task {
 
-        @Schema(description = "流程任务的编号", required = true, example = "1024")
+        @Schema(description = "流程任务的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
         private String id;
 
-        @Schema(description = "任务名称", required = true, example = "芋道")
+        @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
         private String name;
 
     }

+ 16 - 16
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/instance/BpmProcessInstanceRespVO.java

@@ -11,28 +11,28 @@ import java.util.Map;
 @Data
 public class BpmProcessInstanceRespVO {
 
-    @Schema(description = "流程实例的编号", required = true, example = "1024")
+    @Schema(description = "流程实例的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private String id;
 
-    @Schema(description = "流程名称", required = true, example = "芋道")
+    @Schema(description = "流程名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     private String name;
 
-    @Schema(description = "流程分类-参见 bpm_model_category 数据字典", required = true, example = "1")
+    @Schema(description = "流程分类-参见 bpm_model_category 数据字典", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private String category;
 
-    @Schema(description = "流程实例的状态-参见 bpm_process_instance_status", required = true, example = "1")
+    @Schema(description = "流程实例的状态-参见 bpm_process_instance_status", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer status;
 
-    @Schema(description = "流程实例的结果-参见 bpm_process_instance_result", required = true, example = "2")
+    @Schema(description = "流程实例的结果-参见 bpm_process_instance_result", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
     private Integer result;
 
-    @Schema(description = "提交时间", required = true)
+    @Schema(description = "提交时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
-    @Schema(description = "结束时间", required = true)
+    @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime endTime;
 
-    @Schema(description = "提交的表单值", required = true)
+    @Schema(description = "提交的表单值", requiredMode = Schema.RequiredMode.REQUIRED)
     private Map<String, Object> formVariables;
 
     @Schema(description = "业务的唯一标识-例如说,请假申请的编号", example = "1")
@@ -52,14 +52,14 @@ public class BpmProcessInstanceRespVO {
     @Data
     public static class User {
 
-        @Schema(description = "用户编号", required = true, example = "1")
+        @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Long id;
-        @Schema(description = "用户昵称", required = true, example = "芋艿")
+        @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
         private String nickname;
 
-        @Schema(description = "部门编号", required = true, example = "1")
+        @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Long deptId;
-        @Schema(description = "部门名称", required = true, example = "研发部")
+        @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "研发部")
         private String deptName;
 
     }
@@ -68,16 +68,16 @@ public class BpmProcessInstanceRespVO {
     @Data
     public static class ProcessDefinition {
 
-        @Schema(description = "编号", required = true, example = "1024")
+        @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
         private String id;
 
         @Schema(description = "表单类型-参见 bpm_model_form_type 数据字典", example = "1")
         private Integer formType;
         @Schema(description = "表单编号-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", example = "1024")
         private Long formId;
-        @Schema(description = "表单的配置-JSON 字符串。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", required = true)
+        @Schema(description = "表单的配置-JSON 字符串。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", requiredMode = Schema.RequiredMode.REQUIRED)
         private String formConf;
-        @Schema(description = "表单项的数组-JSON 字符串的数组。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", required = true)
+        @Schema(description = "表单项的数组-JSON 字符串的数组。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空", requiredMode = Schema.RequiredMode.REQUIRED)
         private List<String> formFields;
         @Schema(description = "自定义表单的提交路径,使用 Vue 的路由地址-在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空",
                 example = "/bpm/oa/leave/create")
@@ -86,7 +86,7 @@ public class BpmProcessInstanceRespVO {
                 example = "/bpm/oa/leave/view")
         private String formCustomViewPath;
 
-        @Schema(description = "BPMN XML", required = true)
+        @Schema(description = "BPMN XML", requiredMode = Schema.RequiredMode.REQUIRED)
         private String bpmnXml;
 
     }

+ 2 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskApproveReqVO.java

@@ -9,11 +9,11 @@ import javax.validation.constraints.NotEmpty;
 @Data
 public class BpmTaskApproveReqVO {
 
-    @Schema(description = "任务编号", required = true, example = "1024")
+    @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotEmpty(message = "任务编号不能为空")
     private String id;
 
-    @Schema(description = "审批意见", required = true, example = "不错不错!")
+    @Schema(description = "审批意见", requiredMode = Schema.RequiredMode.REQUIRED, example = "不错不错!")
     @NotEmpty(message = "审批意见不能为空")
     private String reason;
 

+ 4 - 4
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskDonePageItemRespVO.java

@@ -13,14 +13,14 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class BpmTaskDonePageItemRespVO extends BpmTaskTodoPageItemRespVO {
 
-    @Schema(description = "结束时间", required = true)
+    @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime endTime;
-    @Schema(description = "持续时间", required = true, example = "1000")
+    @Schema(description = "持续时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000")
     private Long durationInMillis;
 
-    @Schema(description = "任务结果-参见 bpm_process_instance_result", required = true, example = "2")
+    @Schema(description = "任务结果-参见 bpm_process_instance_result", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
     private Integer result;
-    @Schema(description = "审批建议", required = true, example = "不请假了!")
+    @Schema(description = "审批建议", requiredMode = Schema.RequiredMode.REQUIRED, example = "不请假了!")
     private String reason;
 
 }

+ 2 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskRejectReqVO.java

@@ -9,11 +9,11 @@ import javax.validation.constraints.NotEmpty;
 @Data
 public class BpmTaskRejectReqVO {
 
-    @Schema(description = "任务编号", required = true, example = "1024")
+    @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotEmpty(message = "任务编号不能为空")
     private String id;
 
-    @Schema(description = "审批意见", required = true, example = "不错不错!")
+    @Schema(description = "审批意见", requiredMode = Schema.RequiredMode.REQUIRED, example = "不错不错!")
     @NotEmpty(message = "审批意见不能为空")
     private String reason;
 

+ 5 - 5
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskRespVO.java

@@ -11,7 +11,7 @@ import lombok.ToString;
 @ToString(callSuper = true)
 public class BpmTaskRespVO extends BpmTaskDonePageItemRespVO {
 
-    @Schema(description = "任务定义的标识", required = true, example = "user-001")
+    @Schema(description = "任务定义的标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "user-001")
     private String definitionKey;
 
     /**
@@ -23,14 +23,14 @@ public class BpmTaskRespVO extends BpmTaskDonePageItemRespVO {
     @Data
     public static class User {
 
-        @Schema(description = "用户编号", required = true, example = "1")
+        @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Long id;
-        @Schema(description = "用户昵称", required = true, example = "芋艿")
+        @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
         private String nickname;
 
-        @Schema(description = "部门编号", required = true, example = "1")
+        @Schema(description = "部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Long deptId;
-        @Schema(description = "部门名称", required = true, example = "研发部")
+        @Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "研发部")
         private String deptName;
 
     }

+ 10 - 10
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskTodoPageItemRespVO.java

@@ -9,19 +9,19 @@ import java.time.LocalDateTime;
 @Data
 public class BpmTaskTodoPageItemRespVO {
 
-    @Schema(description = "任务编号", required = true, example = "1024")
+    @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private String id;
 
-    @Schema(description = "任务名字", required = true, example = "芋道")
+    @Schema(description = "任务名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     private String name;
 
-    @Schema(description = "接收时间", required = true)
+    @Schema(description = "接收时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime claimTime;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
-    @Schema(description = "激活状态-参见 SuspensionState 枚举", required = true, example = "1")
+    @Schema(description = "激活状态-参见 SuspensionState 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer suspensionState;
 
     /**
@@ -33,19 +33,19 @@ public class BpmTaskTodoPageItemRespVO {
     @Schema(description = "流程实例")
     public static class ProcessInstance {
 
-        @Schema(description = "流程实例编号", required = true, example = "1024")
+        @Schema(description = "流程实例编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
         private String id;
 
-        @Schema(description = "流程实例名称", required = true, example = "芋道")
+        @Schema(description = "流程实例名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
         private String name;
 
-        @Schema(description = "发起人的用户编号", required = true, example = "1024")
+        @Schema(description = "发起人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
         private Long startUserId;
 
-        @Schema(description = "发起人的用户昵称", required = true, example = "芋艿")
+        @Schema(description = "发起人的用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
         private String startUserNickname;
 
-        @Schema(description = "流程定义的编号", required = true, example = "2048")
+        @Schema(description = "流程定义的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
         private String processDefinitionId;
 
     }

+ 2 - 5
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/vo/task/BpmTaskUpdateAssigneeReqVO.java

@@ -2,9 +2,6 @@ package cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-import net.bytebuddy.implementation.bind.annotation.Empty;
 
 import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
@@ -13,11 +10,11 @@ import javax.validation.constraints.NotNull;
 @Data
 public class BpmTaskUpdateAssigneeReqVO {
 
-    @Schema(description = "任务编号", required = true, example = "1024")
+    @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotEmpty(message = "任务编号不能为空")
     private String id;
 
-    @Schema(description = "新审批人的用户编号", required = true, example = "2048")
+    @Schema(description = "新审批人的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
     @NotNull(message = "新审批人的用户编号不能为空")
     private Long assigneeUserId;
 

+ 2 - 2
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/CodegenCreateListReqVO.java

@@ -10,11 +10,11 @@ import java.util.List;
 @Data
 public class CodegenCreateListReqVO {
 
-    @Schema(description = "数据源配置的编号", required = true, example = "1")
+    @Schema(description = "数据源配置的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "数据源配置的编号不能为空")
     private Long dataSourceConfigId;
 
-    @Schema(description = "表名数组", required = true, example = "[1, 2, 3]")
+    @Schema(description = "表名数组", requiredMode = Schema.RequiredMode.REQUIRED, example = "[1, 2, 3]")
     @NotNull(message = "表名数组不能为空")
     private List<String> tableNames;
 

+ 2 - 2
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/CodegenPreviewRespVO.java

@@ -7,10 +7,10 @@ import lombok.Data;
 @Data
 public class CodegenPreviewRespVO {
 
-    @Schema(description = "文件路径", required = true, example = "java/cn/iocoder/yudao/adminserver/modules/system/controller/test/SysTestDemoController.java")
+    @Schema(description = "文件路径", requiredMode = Schema.RequiredMode.REQUIRED, example = "java/cn/iocoder/yudao/adminserver/modules/system/controller/test/SysTestDemoController.java")
     private String filePath;
 
-    @Schema(description = "代码", required = true, example = "Hello World")
+    @Schema(description = "代码", requiredMode = Schema.RequiredMode.REQUIRED, example = "Hello World")
     private String code;
 
 }

+ 2 - 2
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/CodegenUpdateReqVO.java

@@ -33,7 +33,7 @@ public class CodegenUpdateReqVO {
     @Valid
     public static class Table extends CodegenTableBaseVO {
 
-        @Schema(description = "编号", required = true, example = "1")
+        @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Long id;
 
         @AssertTrue(message = "上级菜单不能为空,请前往 [修改生成配置 -> 生成信息] 界面,设置“上级菜单”字段")
@@ -51,7 +51,7 @@ public class CodegenUpdateReqVO {
     @ToString(callSuper = true)
     public static class Column extends CodegenColumnBaseVO {
 
-        @Schema(description = "编号", required = true, example = "1")
+        @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
         private Long id;
 
     }

+ 17 - 16
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/column/CodegenColumnBaseVO.java

@@ -1,4 +1,5 @@
 package cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.column;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
@@ -11,43 +12,43 @@ import javax.validation.constraints.NotNull;
 @Data
 public class CodegenColumnBaseVO {
 
-    @Schema(description = "表编号", required = true, example = "1")
+    @Schema(description = "表编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "表编号不能为空")
     private Long tableId;
 
-    @Schema(description = "字段名", required = true, example = "user_age")
+    @Schema(description = "字段名", requiredMode = Schema.RequiredMode.REQUIRED, example = "user_age")
     @NotNull(message = "字段名不能为空")
     private String columnName;
 
-    @Schema(description = "字段类型", required = true, example = "int(11)")
+    @Schema(description = "字段类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "int(11)")
     @NotNull(message = "字段类型不能为空")
     private String dataType;
 
-    @Schema(description = "字段描述", required = true, example = "年龄")
+    @Schema(description = "字段描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "年龄")
     @NotNull(message = "字段描述不能为空")
     private String columnComment;
 
-    @Schema(description = "是否允许为空", required = true, example = "true")
+    @Schema(description = "是否允许为空", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
     @NotNull(message = "是否允许为空不能为空")
     private Boolean nullable;
 
-    @Schema(description = "是否主键", required = true, example = "false")
+    @Schema(description = "是否主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "false")
     @NotNull(message = "是否主键不能为空")
     private Boolean primaryKey;
 
-    @Schema(description = "是否自增", required = true, example = "true")
+    @Schema(description = "是否自增", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
     @NotNull(message = "是否自增不能为空")
     private String autoIncrement;
 
-    @Schema(description = "排序", required = true, example = "10")
+    @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
     @NotNull(message = "排序不能为空")
     private Integer ordinalPosition;
 
-    @Schema(description = "Java 属性类型", required = true, example = "userAge")
+    @Schema(description = "Java 属性类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "userAge")
     @NotNull(message = "Java 属性类型不能为空")
     private String javaType;
 
-    @Schema(description = "Java 属性名", required = true, example = "Integer")
+    @Schema(description = "Java 属性名", requiredMode = Schema.RequiredMode.REQUIRED, example = "Integer")
     @NotNull(message = "Java 属性名不能为空")
     private String javaField;
 
@@ -57,27 +58,27 @@ public class CodegenColumnBaseVO {
     @Schema(description = "数据示例", example = "1024")
     private String example;
 
-    @Schema(description = "是否为 Create 创建操作的字段", required = true, example = "true")
+    @Schema(description = "是否为 Create 创建操作的字段", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
     @NotNull(message = "是否为 Create 创建操作的字段不能为空")
     private Boolean createOperation;
 
-    @Schema(description = "是否为 Update 更新操作的字段", required = true, example = "false")
+    @Schema(description = "是否为 Update 更新操作的字段", requiredMode = Schema.RequiredMode.REQUIRED, example = "false")
     @NotNull(message = "是否为 Update 更新操作的字段不能为空")
     private Boolean updateOperation;
 
-    @Schema(description = "是否为 List 查询操作的字段", required = true, example = "true")
+    @Schema(description = "是否为 List 查询操作的字段", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
     @NotNull(message = "是否为 List 查询操作的字段不能为空")
     private Boolean listOperation;
 
-    @Schema(description = "List 查询操作的条件类型,参见 CodegenColumnListConditionEnum 枚举", required = true, example = "LIKE")
+    @Schema(description = "List 查询操作的条件类型,参见 CodegenColumnListConditionEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "LIKE")
     @NotNull(message = "List 查询操作的条件类型不能为空")
     private String listOperationCondition;
 
-    @Schema(description = "是否为 List 查询操作的返回字段", required = true, example = "true")
+    @Schema(description = "是否为 List 查询操作的返回字段", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
     @NotNull(message = "是否为 List 查询操作的返回字段不能为空")
     private Boolean listOperationResult;
 
-    @Schema(description = "显示类型", required = true, example = "input")
+    @Schema(description = "显示类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "input")
     @NotNull(message = "显示类型不能为空")
     private String htmlType;
 

+ 2 - 2
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/column/CodegenColumnRespVO.java

@@ -13,10 +13,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class CodegenColumnRespVO extends CodegenColumnBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }

+ 14 - 13
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/CodegenTableBaseVO.java

@@ -1,56 +1,57 @@
 package cn.iocoder.yudao.module.infra.controller.admin.codegen.vo.table;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 import javax.validation.constraints.NotNull;
 
 /**
-    * 代码生成 Base VO,提供给添加、修改、详细的子 VO 使用
-    * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
-    */
+ * 代码生成 Base VO,提供给添加、修改、详细的子 VO 使用
+ * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
+ */
 @Data
 public class CodegenTableBaseVO {
 
-    @Schema(description = "生成场景,参见 CodegenSceneEnum 枚举", required = true, example = "1")
+    @Schema(description = "生成场景,参见 CodegenSceneEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "导入类型不能为空")
     private Integer scene;
 
-    @Schema(description = "表名称", required = true, example = "yudao")
+    @Schema(description = "表名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudao")
     @NotNull(message = "表名称不能为空")
     private String tableName;
 
-    @Schema(description = "表描述", required = true, example = "芋道")
+    @Schema(description = "表描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     @NotNull(message = "表描述不能为空")
     private String tableComment;
 
     @Schema(description = "备注", example = "我是备注")
     private String remark;
 
-    @Schema(description = "模块名", required = true, example = "system")
+    @Schema(description = "模块名", requiredMode = Schema.RequiredMode.REQUIRED, example = "system")
     @NotNull(message = "模块名不能为空")
     private String moduleName;
 
-    @Schema(description = "业务名", required = true, example = "codegen")
+    @Schema(description = "业务名", requiredMode = Schema.RequiredMode.REQUIRED, example = "codegen")
     @NotNull(message = "业务名不能为空")
     private String businessName;
 
-    @Schema(description = "类名称", required = true, example = "CodegenTable")
+    @Schema(description = "类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "CodegenTable")
     @NotNull(message = "类名称不能为空")
     private String className;
 
-    @Schema(description = "类描述", required = true, example = "代码生成器的表定义")
+    @Schema(description = "类描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "代码生成器的表定义")
     @NotNull(message = "类描述不能为空")
     private String classComment;
 
-    @Schema(description = "作者", required = true, example = "芋道源码")
+    @Schema(description = "作者", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道源码")
     @NotNull(message = "作者不能为空")
     private String author;
 
-    @Schema(description = "模板类型,参见 CodegenTemplateTypeEnum 枚举", required = true, example = "1")
+    @Schema(description = "模板类型,参见 CodegenTemplateTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "模板类型不能为空")
     private Integer templateType;
 
-    @Schema(description = "前端类型,参见 CodegenFrontTypeEnum 枚举", required = true, example = "20")
+    @Schema(description = "前端类型,参见 CodegenFrontTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "20")
     @NotNull(message = "前端类型不能为空")
     private Integer frontType;
 

+ 4 - 4
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/CodegenTableRespVO.java

@@ -13,16 +13,16 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class CodegenTableRespVO extends CodegenTableBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long id;
 
-    @Schema(description = "主键编号", required = true, example = "1024")
+    @Schema(description = "主键编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Integer dataSourceConfigId;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
-    @Schema(description = "更新时间", required = true)
+    @Schema(description = "更新时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime updateTime;
 
 }

+ 2 - 2
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/vo/table/DatabaseTableRespVO.java

@@ -7,10 +7,10 @@ import lombok.Data;
 @Data
 public class DatabaseTableRespVO {
 
-    @Schema(description = "表名称", required = true, example = "yuanma")
+    @Schema(description = "表名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "yuanma")
     private String name;
 
-    @Schema(description = "表描述", required = true, example = "芋道源码")
+    @Schema(description = "表描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道源码")
     private String comment;
 
 }

+ 5 - 4
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigBaseVO.java

@@ -1,4 +1,5 @@
 package cn.iocoder.yudao.module.infra.controller.admin.config.vo;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
@@ -14,22 +15,22 @@ import javax.validation.constraints.Size;
 @Data
 public class ConfigBaseVO {
 
-    @Schema(description = "参数分组", required = true, example = "biz")
+    @Schema(description = "参数分组", requiredMode = Schema.RequiredMode.REQUIRED, example = "biz")
     @NotEmpty(message = "参数分组不能为空")
     @Size(max = 50, message = "参数名称不能超过50个字符")
     private String category;
 
-    @Schema(description = "参数名称", required = true, example = "数据库名")
+    @Schema(description = "参数名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "数据库名")
     @NotBlank(message = "参数名称不能为空")
     @Size(max = 100, message = "参数名称不能超过100个字符")
     private String name;
 
-    @Schema(description = "参数键值", required = true, example = "1024")
+    @Schema(description = "参数键值", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotBlank(message = "参数键值不能为空")
     @Size(max = 500, message = "参数键值长度不能超过500个字符")
     private String value;
 
-    @Schema(description = "是否可见", required = true, example = "true")
+    @Schema(description = "是否可见", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
     @NotNull(message = "是否可见不能为空")
     private Boolean visible;
 

+ 1 - 1
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigCreateReqVO.java

@@ -12,7 +12,7 @@ import javax.validation.constraints.Size;
 @EqualsAndHashCode(callSuper = true)
 public class ConfigCreateReqVO extends ConfigBaseVO {
 
-    @Schema(description = "参数键名", required = true, example = "yunai.db.username")
+    @Schema(description = "参数键名", requiredMode = Schema.RequiredMode.REQUIRED, example = "yunai.db.username")
     @NotBlank(message = "参数键名长度不能为空")
     @Size(max = 100, message = "参数键名长度不能超过100个字符")
     private String key;

+ 4 - 4
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigRespVO.java

@@ -13,18 +13,18 @@ import java.time.LocalDateTime;
 @EqualsAndHashCode(callSuper = true)
 public class ConfigRespVO extends ConfigBaseVO {
 
-    @Schema(description = "参数配置序号", required = true, example = "1024")
+    @Schema(description = "参数配置序号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "参数键名", required = true, example = "yunai.db.username")
+    @Schema(description = "参数键名", requiredMode = Schema.RequiredMode.REQUIRED, example = "yunai.db.username")
     @NotBlank(message = "参数键名长度不能为空")
     @Size(max = 100, message = "参数键名长度不能超过100个字符")
     private String key;
 
-    @Schema(description = "参数类型,参见 SysConfigTypeEnum 枚举", required = true, example = "1")
+    @Schema(description = "参数类型,参见 SysConfigTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer type;
 
-    @Schema(description = "创建时间", required = true, example = "时间戳格式")
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式")
     private LocalDateTime createTime;
 
 }

+ 1 - 1
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/vo/ConfigUpdateReqVO.java

@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class ConfigUpdateReqVO extends ConfigBaseVO {
 
-    @Schema(description = "参数配置序号", required = true, example = "1024")
+    @Schema(description = "参数配置序号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "参数配置编号不能为空")
     private Long id;
 

+ 3 - 3
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/vo/DataSourceConfigBaseVO.java

@@ -10,15 +10,15 @@ import javax.validation.constraints.*;
 @Data
 public class DataSourceConfigBaseVO {
 
-    @Schema(description = "数据源名称", required = true, example = "test")
+    @Schema(description = "数据源名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "test")
     @NotNull(message = "数据源名称不能为空")
     private String name;
 
-    @Schema(description = "数据源连接", required = true, example = "jdbc:mysql://127.0.0.1:3306/ruoyi-vue-pro")
+    @Schema(description = "数据源连接", requiredMode = Schema.RequiredMode.REQUIRED, example = "jdbc:mysql://127.0.0.1:3306/ruoyi-vue-pro")
     @NotNull(message = "数据源连接不能为空")
     private String url;
 
-    @Schema(description = "用户名", required = true, example = "root")
+    @Schema(description = "用户名", requiredMode = Schema.RequiredMode.REQUIRED, example = "root")
     @NotNull(message = "用户名不能为空")
     private String username;
 

+ 2 - 1
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/vo/DataSourceConfigCreateReqVO.java

@@ -1,4 +1,5 @@
 package cn.iocoder.yudao.module.infra.controller.admin.db.vo;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 import javax.validation.constraints.*;
@@ -9,7 +10,7 @@ import javax.validation.constraints.*;
 @ToString(callSuper = true)
 public class DataSourceConfigCreateReqVO extends DataSourceConfigBaseVO {
 
-    @Schema(description = "密码", required = true, example = "123456")
+    @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456")
     @NotNull(message = "密码不能为空")
     private String password;
 

+ 3 - 2
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/vo/DataSourceConfigRespVO.java

@@ -1,4 +1,5 @@
 package cn.iocoder.yudao.module.infra.controller.admin.db.vo;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
@@ -10,10 +11,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class DataSourceConfigRespVO extends DataSourceConfigBaseVO {
 
-    @Schema(description = "主键编号", required = true, example = "1024")
+    @Schema(description = "主键编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Integer id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }

+ 3 - 2
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/vo/DataSourceConfigUpdateReqVO.java

@@ -1,4 +1,5 @@
 package cn.iocoder.yudao.module.infra.controller.admin.db.vo;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 import javax.validation.constraints.*;
@@ -9,11 +10,11 @@ import javax.validation.constraints.*;
 @ToString(callSuper = true)
 public class DataSourceConfigUpdateReqVO extends DataSourceConfigBaseVO {
 
-    @Schema(description = "主键编号", required = true, example = "1024")
+    @Schema(description = "主键编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "主键编号不能为空")
     private Long id;
 
-    @Schema(description = "密码", required = true, example = "123456")
+    @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456")
     @NotNull(message = "密码不能为空")
     private String password;
 

+ 2 - 1
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/config/FileConfigBaseVO.java

@@ -1,4 +1,5 @@
 package cn.iocoder.yudao.module.infra.controller.admin.file.vo.config;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
@@ -11,7 +12,7 @@ import javax.validation.constraints.NotNull;
 @Data
 public class FileConfigBaseVO {
 
-    @Schema(description = "配置名", required = true, example = "S3 - 阿里云")
+    @Schema(description = "配置名", requiredMode = Schema.RequiredMode.REQUIRED, example = "S3 - 阿里云")
     @NotNull(message = "配置名不能为空")
     private String name;
 

+ 2 - 2
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/config/FileConfigCreateReqVO.java

@@ -14,11 +14,11 @@ import java.util.Map;
 @ToString(callSuper = true)
 public class FileConfigCreateReqVO extends FileConfigBaseVO {
 
-    @Schema(description = "存储器,参见 FileStorageEnum 枚举类参见 FileStorageEnum 枚举类", required = true, example = "1")
+    @Schema(description = "存储器,参见 FileStorageEnum 枚举类参见 FileStorageEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "存储器不能为空")
     private Integer storage;
 
-    @Schema(description = "存储配置,配置是动态参数,所以使用 Map 接收", required = true)
+    @Schema(description = "存储配置,配置是动态参数,所以使用 Map 接收", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "存储配置不能为空")
     private Map<String, Object> config;
 

+ 5 - 5
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/config/FileConfigRespVO.java

@@ -15,21 +15,21 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class FileConfigRespVO extends FileConfigBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long id;
 
-    @Schema(description = "存储器,参见 FileStorageEnum 枚举类", required = true, example = "1")
+    @Schema(description = "存储器,参见 FileStorageEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "存储器不能为空")
     private Integer storage;
 
-    @Schema(description = "是否为主配置", required = true, example = "true")
+    @Schema(description = "是否为主配置", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
     @NotNull(message = "是否为主配置不能为空")
     private Boolean master;
 
-    @Schema(description = "存储配置", required = true)
+    @Schema(description = "存储配置", requiredMode = Schema.RequiredMode.REQUIRED)
     private FileClientConfig config;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }

+ 2 - 2
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/config/FileConfigUpdateReqVO.java

@@ -14,11 +14,11 @@ import java.util.Map;
 @ToString(callSuper = true)
 public class FileConfigUpdateReqVO extends FileConfigBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "编号不能为空")
     private Long id;
 
-    @Schema(description = "存储配置,配置是动态参数,所以使用 Map 接收", required = true)
+    @Schema(description = "存储配置,配置是动态参数,所以使用 Map 接收", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "存储配置不能为空")
     private Map<String, Object> config;
 

+ 7 - 7
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/file/FileRespVO.java

@@ -9,28 +9,28 @@ import java.time.LocalDateTime;
 @Data
 public class FileRespVO {
 
-    @Schema(description = "文件编号", required = true, example = "1024")
+    @Schema(description = "文件编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "配置编号", required = true, example = "11")
+    @Schema(description = "配置编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "11")
     private Long configId;
 
-    @Schema(description = "文件路径", required = true, example = "yudao.jpg")
+    @Schema(description = "文件路径", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudao.jpg")
     private String path;
 
-    @Schema(description = "原文件名", required = true, example = "yudao.jpg")
+    @Schema(description = "原文件名", requiredMode = Schema.RequiredMode.REQUIRED, example = "yudao.jpg")
     private String name;
 
-    @Schema(description = "文件 URL", required = true, example = "https://www.iocoder.cn/yudao.jpg")
+    @Schema(description = "文件 URL", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/yudao.jpg")
     private String url;
 
     @Schema(description = "文件MIME类型", example = "application/octet-stream")
     private String type;
 
-    @Schema(description = "文件大小", example = "2048", required = true)
+    @Schema(description = "文件大小", example = "2048", requiredMode = Schema.RequiredMode.REQUIRED)
     private Integer size;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }

+ 1 - 1
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/vo/file/FileUploadReqVO.java

@@ -10,7 +10,7 @@ import javax.validation.constraints.NotNull;
 @Data
 public class FileUploadReqVO {
 
-    @Schema(description = "文件附件", required = true)
+    @Schema(description = "文件附件", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "文件附件不能为空")
     private MultipartFile file;
 

+ 5 - 4
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/job/JobBaseVO.java

@@ -1,4 +1,5 @@
 package cn.iocoder.yudao.module.infra.controller.admin.job.vo.job;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
@@ -11,22 +12,22 @@ import javax.validation.constraints.NotNull;
 @Data
 public class JobBaseVO {
 
-    @Schema(description = "任务名称", required = true, example = "测试任务")
+    @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "测试任务")
     @NotNull(message = "任务名称不能为空")
     private String name;
 
     @Schema(description = "处理器的参数", example = "yudao")
     private String handlerParam;
 
-    @Schema(description = "CRON 表达式", required = true, example = "0/10 * * * * ? *")
+    @Schema(description = "CRON 表达式", requiredMode = Schema.RequiredMode.REQUIRED, example = "0/10 * * * * ? *")
     @NotNull(message = "CRON 表达式不能为空")
     private String cronExpression;
 
-    @Schema(description = "重试次数", required = true, example = "3")
+    @Schema(description = "重试次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "3")
     @NotNull(message = "重试次数不能为空")
     private Integer retryCount;
 
-    @Schema(description = "重试间隔", required = true, example = "1000")
+    @Schema(description = "重试间隔", requiredMode = Schema.RequiredMode.REQUIRED, example = "1000")
     @NotNull(message = "重试间隔不能为空")
     private Integer retryInterval;
 

+ 1 - 1
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/job/JobCreateReqVO.java

@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class JobCreateReqVO extends JobBaseVO {
 
-    @Schema(description = "处理器的名字", required = true, example = "sysUserSessionTimeoutJob")
+    @Schema(description = "处理器的名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "sysUserSessionTimeoutJob")
     @NotNull(message = "处理器的名字不能为空")
     private String handlerName;
 

+ 4 - 4
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/job/JobRespVO.java

@@ -14,17 +14,17 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class JobRespVO extends JobBaseVO {
 
-    @Schema(description = "任务编号", required = true, example = "1024")
+    @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "任务状态", required = true, example = "1")
+    @Schema(description = "任务状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer status;
 
-    @Schema(description = "处理器的名字", required = true, example = "sysUserSessionTimeoutJob")
+    @Schema(description = "处理器的名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "sysUserSessionTimeoutJob")
     @NotNull(message = "处理器的名字不能为空")
     private String handlerName;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }

+ 1 - 1
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/job/JobUpdateReqVO.java

@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class JobUpdateReqVO extends JobBaseVO {
 
-    @Schema(description = "任务编号", required = true, example = "1024")
+    @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "任务编号不能为空")
     private Long id;
 

+ 6 - 5
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/log/JobLogBaseVO.java

@@ -1,4 +1,5 @@
 package cn.iocoder.yudao.module.infra.controller.admin.job.vo.log;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -15,22 +16,22 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @Data
 public class JobLogBaseVO {
 
-    @Schema(description = "任务编号", required = true, example = "1024")
+    @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "任务编号不能为空")
     private Long jobId;
 
-    @Schema(description = "处理器的名字", required = true, example = "sysUserSessionTimeoutJob")
+    @Schema(description = "处理器的名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "sysUserSessionTimeoutJob")
     @NotNull(message = "处理器的名字不能为空")
     private String handlerName;
 
     @Schema(description = "处理器的参数", example = "yudao")
     private String handlerParam;
 
-    @Schema(description = "第几次执行", required = true, example = "1")
+    @Schema(description = "第几次执行", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "第几次执行不能为空")
     private Integer executeIndex;
 
-    @Schema(description = "开始执行时间", required = true)
+    @Schema(description = "开始执行时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "开始执行时间不能为空")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime beginTime;
@@ -42,7 +43,7 @@ public class JobLogBaseVO {
     @Schema(description = "执行时长", example = "123")
     private Integer duration;
 
-    @Schema(description = "任务状态,参见 JobLogStatusEnum 枚举", required = true, example = "1")
+    @Schema(description = "任务状态,参见 JobLogStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "任务状态不能为空")
     private Integer status;
 

+ 2 - 2
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/vo/log/JobLogRespVO.java

@@ -13,10 +13,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class JobLogRespVO extends JobLogBaseVO {
 
-    @Schema(description = "日志编号", required = true, example = "1024")
+    @Schema(description = "日志编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }

+ 13 - 12
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogBaseVO.java

@@ -1,4 +1,5 @@
 package cn.iocoder.yudao.module.infra.controller.admin.logger.vo.apiaccesslog;
+
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -15,56 +16,56 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @Data
 public class ApiAccessLogBaseVO {
 
-    @Schema(description = "链路追踪编号", required = true, example = "66600cb6-7852-11eb-9439-0242ac130002")
+    @Schema(description = "链路追踪编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "66600cb6-7852-11eb-9439-0242ac130002")
     @NotNull(message = "链路追踪编号不能为空")
     private String traceId;
 
-    @Schema(description = "用户编号", required = true, example = "666")
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "666")
     @NotNull(message = "用户编号不能为空")
     private Long userId;
 
-    @Schema(description = "用户类型,参见 UserTypeEnum 枚举", required = true, example = "2")
+    @Schema(description = "用户类型,参见 UserTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
     @NotNull(message = "用户类型不能为空")
     private Integer userType;
 
-    @Schema(description = "应用名", required = true, example = "dashboard")
+    @Schema(description = "应用名", requiredMode = Schema.RequiredMode.REQUIRED, example = "dashboard")
     @NotNull(message = "应用名不能为空")
     private String applicationName;
 
-    @Schema(description = "请求方法名", required = true, example = "GET")
+    @Schema(description = "请求方法名", requiredMode = Schema.RequiredMode.REQUIRED, example = "GET")
     @NotNull(message = "请求方法名不能为空")
     private String requestMethod;
 
-    @Schema(description = "请求地址", required = true, example = "/xxx/yyy")
+    @Schema(description = "请求地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "/xxx/yyy")
     @NotNull(message = "请求地址不能为空")
     private String requestUrl;
 
     @Schema(description = "请求参数")
     private String requestParams;
 
-    @Schema(description = "用户 IP", required = true, example = "127.0.0.1")
+    @Schema(description = "用户 IP", requiredMode = Schema.RequiredMode.REQUIRED, example = "127.0.0.1")
     @NotNull(message = "用户 IP不能为空")
     private String userIp;
 
-    @Schema(description = "浏览器 UA", required = true, example = "Mozilla/5.0")
+    @Schema(description = "浏览器 UA", requiredMode = Schema.RequiredMode.REQUIRED, example = "Mozilla/5.0")
     @NotNull(message = "浏览器 UA不能为空")
     private String userAgent;
 
-    @Schema(description = "开始请求时间", required = true)
+    @Schema(description = "开始请求时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "开始请求时间不能为空")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime beginTime;
 
-    @Schema(description = "结束请求时间", required = true)
+    @Schema(description = "结束请求时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "结束请求时间不能为空")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime endTime;
 
-    @Schema(description = "执行时长", required = true, example = "100")
+    @Schema(description = "执行时长", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
     @NotNull(message = "执行时长不能为空")
     private Integer duration;
 
-    @Schema(description = "结果码", required = true, example = "0")
+    @Schema(description = "结果码", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
     @NotNull(message = "结果码不能为空")
     private Integer resultCode;
 

+ 2 - 2
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apiaccesslog/ApiAccessLogRespVO.java

@@ -13,10 +13,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class ApiAccessLogRespVO extends ApiAccessLogBaseVO {
 
-    @Schema(description = "日志主键", required = true, example = "1024")
+    @Schema(description = "日志主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }

+ 19 - 19
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogBaseVO.java

@@ -15,80 +15,80 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @Data
 public class ApiErrorLogBaseVO {
 
-    @Schema(description = "链路追踪编号", required = true, example = "66600cb6-7852-11eb-9439-0242ac130002")
+    @Schema(description = "链路追踪编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "66600cb6-7852-11eb-9439-0242ac130002")
     @NotNull(message = "链路追踪编号不能为空")
     private String traceId;
 
-    @Schema(description = "用户编号", required = true, example = "666")
+    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "666")
     @NotNull(message = "用户编号不能为空")
     private Integer userId;
 
-    @Schema(description = "用户类型", required = true, example = "1")
+    @Schema(description = "用户类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "用户类型不能为空")
     private Integer userType;
 
-    @Schema(description = "应用名", required = true, example = "dashboard")
+    @Schema(description = "应用名", requiredMode = Schema.RequiredMode.REQUIRED, example = "dashboard")
     @NotNull(message = "应用名不能为空")
     private String applicationName;
 
-    @Schema(description = "请求方法名", required = true, example = "GET")
+    @Schema(description = "请求方法名", requiredMode = Schema.RequiredMode.REQUIRED, example = "GET")
     @NotNull(message = "请求方法名不能为空")
     private String requestMethod;
 
-    @Schema(description = "请求地址", required = true, example = "/xx/yy")
+    @Schema(description = "请求地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "/xx/yy")
     @NotNull(message = "请求地址不能为空")
     private String requestUrl;
 
-    @Schema(description = "请求参数", required = true)
+    @Schema(description = "请求参数", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "请求参数不能为空")
     private String requestParams;
 
-    @Schema(description = "用户 IP", required = true, example = "127.0.0.1")
+    @Schema(description = "用户 IP", requiredMode = Schema.RequiredMode.REQUIRED, example = "127.0.0.1")
     @NotNull(message = "用户 IP不能为空")
     private String userIp;
 
-    @Schema(description = "浏览器 UA", required = true, example = "Mozilla/5.0")
+    @Schema(description = "浏览器 UA", requiredMode = Schema.RequiredMode.REQUIRED, example = "Mozilla/5.0")
     @NotNull(message = "浏览器 UA不能为空")
     private String userAgent;
 
-    @Schema(description = "异常发生时间", required = true)
+    @Schema(description = "异常发生时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "异常发生时间不能为空")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime exceptionTime;
 
-    @Schema(description = "异常名", required = true)
+    @Schema(description = "异常名", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "异常名不能为空")
     private String exceptionName;
 
-    @Schema(description = "异常导致的消息", required = true)
+    @Schema(description = "异常导致的消息", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "异常导致的消息不能为空")
     private String exceptionMessage;
 
-    @Schema(description = "异常导致的根消息", required = true)
+    @Schema(description = "异常导致的根消息", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "异常导致的根消息不能为空")
     private String exceptionRootCauseMessage;
 
-    @Schema(description = "异常的栈轨迹", required = true)
+    @Schema(description = "异常的栈轨迹", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "异常的栈轨迹不能为空")
     private String exceptionStackTrace;
 
-    @Schema(description = "异常发生的类全名", required = true)
+    @Schema(description = "异常发生的类全名", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "异常发生的类全名不能为空")
     private String exceptionClassName;
 
-    @Schema(description = "异常发生的类文件", required = true)
+    @Schema(description = "异常发生的类文件", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "异常发生的类文件不能为空")
     private String exceptionFileName;
 
-    @Schema(description = "异常发生的方法名", required = true)
+    @Schema(description = "异常发生的方法名", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "异常发生的方法名不能为空")
     private String exceptionMethodName;
 
-    @Schema(description = "异常发生的方法所在行", required = true)
+    @Schema(description = "异常发生的方法所在行", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "异常发生的方法所在行不能为空")
     private Integer exceptionLineNumber;
 
-    @Schema(description = "处理状态", required = true, example = "0")
+    @Schema(description = "处理状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
     @NotNull(message = "处理状态不能为空")
     private Integer processStatus;
 

+ 3 - 3
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/vo/apierrorlog/ApiErrorLogRespVO.java

@@ -13,13 +13,13 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class ApiErrorLogRespVO extends ApiErrorLogBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Integer id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
-    @Schema(description = "处理时间", required = true)
+    @Schema(description = "处理时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime processTime;
 
     @Schema(description = "处理用户编号", example = "233")

+ 6 - 6
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/redis/vo/RedisKeyDefineRespVO.java

@@ -14,22 +14,22 @@ import java.time.Duration;
 @AllArgsConstructor
 public class RedisKeyDefineRespVO {
 
-    @Schema(description = "Key 模板", required = true, example = "login_user:%s")
+    @Schema(description = "Key 模板", requiredMode = Schema.RequiredMode.REQUIRED, example = "login_user:%s")
     private String keyTemplate;
 
-    @Schema(description = "Key 类型的枚举", required = true, example = "String")
+    @Schema(description = "Key 类型的枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "String")
     private RedisKeyDefine.KeyTypeEnum keyType;
 
-    @Schema(description = "Value 类型", required = true, example = "java.lang.String")
+    @Schema(description = "Value 类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "java.lang.String")
     private Class<?> valueType;
 
-    @Schema(description = "超时类型", required = true, example = "1")
+    @Schema(description = "超时类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private RedisKeyDefine.TimeoutTypeEnum timeoutType;
 
-    @Schema(description = "过期时间,单位:毫秒", required = true, example = "1024")
+    @Schema(description = "过期时间,单位:毫秒", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Duration timeout;
 
-    @Schema(description = "备注", required = true, example = "啦啦啦啦~")
+    @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "啦啦啦啦~")
     private String memo;
 
 }

+ 2 - 2
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/redis/vo/RedisKeyValueRespVO.java

@@ -9,10 +9,10 @@ import lombok.Data;
 @AllArgsConstructor
 public class RedisKeyValueRespVO {
 
-    @Schema(description = "c5f6990767804a928f4bb96ca249febf", required = true, example = "String")
+    @Schema(description = "c5f6990767804a928f4bb96ca249febf", requiredMode = Schema.RequiredMode.REQUIRED, example = "String")
     private String key;
 
-    @Schema(required = true, example = "String")
+    @Schema(requiredMode = Schema.RequiredMode.REQUIRED, example = "String")
     private String value;
 
 }

+ 6 - 6
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/redis/vo/RedisMonitorRespVO.java

@@ -14,13 +14,13 @@ import java.util.Properties;
 @AllArgsConstructor
 public class RedisMonitorRespVO {
 
-    @Schema(description = "Redis info 指令结果,具体字段,查看 Redis 文档", required = true)
+    @Schema(description = "Redis info 指令结果,具体字段,查看 Redis 文档", requiredMode = Schema.RequiredMode.REQUIRED)
     private Properties info;
 
-    @Schema(description = "Redis key 数量", required = true, example = "1024")
+    @Schema(description = "Redis key 数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long dbSize;
 
-    @Schema(description = "CommandStat 数组", required = true)
+    @Schema(description = "CommandStat 数组", requiredMode = Schema.RequiredMode.REQUIRED)
     private List<CommandStat> commandStats;
 
     @Schema(description = "Redis 命令统计结果")
@@ -29,13 +29,13 @@ public class RedisMonitorRespVO {
     @AllArgsConstructor
     public static class CommandStat {
 
-        @Schema(description = "Redis 命令", required = true, example = "get")
+        @Schema(description = "Redis 命令", requiredMode = Schema.RequiredMode.REQUIRED, example = "get")
         private String command;
 
-        @Schema(description = "调用次数", required = true, example = "1024")
+        @Schema(description = "调用次数", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
         private Long calls;
 
-        @Schema(description = "消耗 CPU 秒数", required = true, example = "666")
+        @Schema(description = "消耗 CPU 秒数", requiredMode = Schema.RequiredMode.REQUIRED, example = "666")
         private Long usec;
 
     }

+ 4 - 4
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoBaseVO.java

@@ -10,19 +10,19 @@ import javax.validation.constraints.*;
 @Data
 public class TestDemoBaseVO {
 
-    @Schema(description = "名字", required = true)
+    @Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "名字不能为空")
     private String name;
 
-    @Schema(description = "状态", required = true)
+    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "状态不能为空")
     private Integer status;
 
-    @Schema(description = "类型", required = true)
+    @Schema(description = "类型", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "类型不能为空")
     private Integer type;
 
-    @Schema(description = "分类", required = true)
+    @Schema(description = "分类", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "分类不能为空")
     private Integer category;
 

+ 2 - 2
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoRespVO.java

@@ -10,10 +10,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class TestDemoRespVO extends TestDemoBaseVO {
 
-    @Schema(description = "编号", required = true)
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED)
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }

+ 1 - 1
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/test/vo/TestDemoUpdateReqVO.java

@@ -9,7 +9,7 @@ import javax.validation.constraints.*;
 @ToString(callSuper = true)
 public class TestDemoUpdateReqVO extends TestDemoBaseVO {
 
-    @Schema(description = "编号", required = true)
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "编号不能为空")
     private Long id;
 

+ 1 - 1
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/controller/vo/respVO.vm

@@ -17,7 +17,7 @@ public class ${sceneEnum.prefixClass}${table.className}RespVO extends ${sceneEnu
 
 #foreach ($column in $columns)
 #if (${column.listOperationResult} && (!${column.createOperation} || !${column.updateOperation}))##不是通用字段
-    @Schema(description = "${column.columnComment}"#if (!${column.nullable}), required = true#end#if ("$!column.example" != ""), example = "${column.example}"#end)
+    @Schema(description = "${column.columnComment}"#if (!${column.nullable}), requiredMode = Schema.RequiredMode.REQUIRED#end#if ("$!column.example" != ""), example = "${column.example}"#end)
     private ${column.javaType} ${column.javaField};
 
 #end

+ 1 - 1
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3/api/api.ts.vm

@@ -16,7 +16,7 @@ export interface ${simpleClassName}VO {
 }
 
 // 查询${table.classComment}列表
-export const get${simpleClassName}Page = async (params: ${simpleClassName}PageReqVO) => {
+export const get${simpleClassName}Page = async (params) => {
   return await request.get({ url: `${baseURL}/page`, params })
 }
 

+ 1 - 1
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_schema/api/api.ts.vm

@@ -16,7 +16,7 @@ export interface ${simpleClassName}VO {
 }
 
 // 查询${table.classComment}列表
-export const get${simpleClassName}Page = async (params: ${simpleClassName}PageReqVO) => {
+export const get${simpleClassName}Page = async (params) => {
   return await request.get({ url: '${baseURL}/page', params })
 }
 

+ 84 - 10
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/data.ts.vm

@@ -1,5 +1,5 @@
 import { BasicColumn, FormSchema, useRender } from '@/components/Table'
-import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
+import { DICT_TYPE, getDictOptions } from '@/utils/dict'
 
 export const columns: BasicColumn[] = [
 #foreach($column in $columns)
@@ -53,7 +53,7 @@ export const searchFormSchema: FormSchema[] = [
     component: 'Select',
     componentProps: {
       #if ("" != $dictType)## 设置了 dictType 数据字典的情况
-        options: getIntDictOptions(DICT_TYPE.$dictType.toUpperCase())
+        options: getDictOptions(DICT_TYPE.$dictType.toUpperCase())
       #else## 未设置 dictType 数据字典的情况
         options: []
       #end
@@ -67,7 +67,7 @@ export const searchFormSchema: FormSchema[] = [
 #end
 ]
 
-export const formSchema: FormSchema[] = [
+export const createFormSchema: FormSchema[] = [
   {
     label: '编号',
     field: 'id',
@@ -75,7 +75,7 @@ export const formSchema: FormSchema[] = [
     component: 'Input'
   },
 #foreach($column in $columns)
-#if ($column.createOperation || $column.updateOperation)
+#if ($column.createOperation)
   #set ($dictType = $column.dictType)
   #set ($javaField = $column.javaField)
   #set ($AttrName = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
@@ -90,16 +90,24 @@ export const formSchema: FormSchema[] = [
   #if ($column.htmlType == "input")
     component: 'Input'
   #elseif($column.htmlType == "imageUpload")## 图片上传
-    component: 'Upload'
+    component: 'FileUpload',
+    componentProps: {
+      fileType: 'file',
+      maxCount: 1
+    }
   #elseif($column.htmlType == "fileUpload")## 文件上传
-    component: 'Upload'
+    component: 'FileUpload',
+    componentProps: {
+      fileType: 'image',
+      maxCount: 1
+    }
   #elseif($column.htmlType == "editor")## 文本编辑器
-    component: 'InputTextArea'
+    component: 'Editor'
   #elseif($column.htmlType == "select")## 下拉框
     component: 'Select',
     componentProps: {
       #if ("" != $dictType)## 有数据字典
-        options: getIntDictOptions(DICT_TYPE.COMMON_STATUS)
+        options: getDictOptions(DICT_TYPE.$dictType.toUpperCase(), 'number')
       #else##没数据字典
         options:[]
       #end
@@ -108,7 +116,7 @@ export const formSchema: FormSchema[] = [
     component: 'Checkbox',
     componentProps: {
       #if ("" != $dictType)## 有数据字典
-        options: getIntDictOptions(DICT_TYPE.COMMON_STATUS)
+        options: getDictOptions(DICT_TYPE.$dictType.toUpperCase(), 'number')
       #else##没数据字典
         options:[]
       #end
@@ -117,7 +125,7 @@ export const formSchema: FormSchema[] = [
     component: 'Radio',
     componentProps: {
       #if ("" != $dictType)## 有数据字典
-        options: getIntDictOptions(DICT_TYPE.COMMON_STATUS)
+        options: getDictOptions(DICT_TYPE.$dictType.toUpperCase(), 'number')
       #else##没数据字典
         options:[]
       #end
@@ -132,3 +140,69 @@ export const formSchema: FormSchema[] = [
 #end
 #end
 ]
+
+export const updateFormSchema: FormSchema[] = [
+  {
+    label: '编号',
+    field: 'id',
+    show: false,
+    component: 'Input'
+  },
+#foreach($column in $columns)
+#if ($column.updateOperation)
+#set ($dictType = $column.dictType)
+#set ($javaField = $column.javaField)
+#set ($AttrName = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
+#set ($comment = $column.columnComment)
+#if (!$column.primaryKey)## 忽略主键,不用在表单里
+  {
+    label: '${comment}',
+    field: '${javaField}',
+    #if (($column.createOperation || $column.updateOperation) && !$column.nullable && !${column.primaryKey})## 创建或者更新操作 && 要求非空 && 非主键
+    required: true,
+    #end
+    #if ($column.htmlType == "input")
+    component: 'Input'
+    #elseif($column.htmlType == "imageUpload")## 图片上传
+    component: 'Upload'
+    #elseif($column.htmlType == "fileUpload")## 文件上传
+    component: 'Upload'
+    #elseif($column.htmlType == "editor")## 文本编辑器
+    component: 'Editor'
+    #elseif($column.htmlType == "select")## 下拉框
+    component: 'Select',
+    componentProps: {
+      #if ("" != $dictType)## 有数据字典
+        options: getDictOptions(DICT_TYPE.$dictType.toUpperCase(), 'number')
+      #else##没数据字典
+        options:[]
+      #end
+    }
+    #elseif($column.htmlType == "checkbox")## 多选框
+    component: 'Checkbox',
+    componentProps: {
+      #if ("" != $dictType)## 有数据字典
+        options: getDictOptions(DICT_TYPE.$dictType.toUpperCase(), 'number')
+      #else##没数据字典
+        options:[]
+      #end
+    }
+    #elseif($column.htmlType == "radio")## 单选框
+    component: 'Radio',
+    componentProps: {
+      #if ("" != $dictType)## 有数据字典
+        options: getDictOptions(DICT_TYPE.$dictType.toUpperCase(), 'number')
+      #else##没数据字典
+        options:[]
+      #end
+    }
+    #elseif($column.htmlType == "datetime")## 时间框
+    component: 'DatePicker'
+    #elseif($column.htmlType == "textarea")## 文本域
+    component: 'InputTextArea'
+    #end
+  },
+#end
+#end
+#end
+]

+ 45 - 38
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/form.vue.vm

@@ -1,49 +1,56 @@
 <template>
-  <BasicModal v-bind="$attrs" @register="registerModal" :title="isUpdate ? '编辑' : '新增'" @ok="handleSubmit">
+  <BasicModal v-bind="$attrs" @register="registerModal" :title="isUpdate ? t('action.edit') : t('action.create')" @ok="handleSubmit">
     <BasicForm @register="registerForm" />
   </BasicModal>
 </template>
-<script lang="ts" setup name="${table.className}Modal">
-  import { ref, unref } from 'vue'
-  import { BasicModal, useModalInner } from '@/components/Modal'
-  import { BasicForm, useForm } from '@/components/Form'
-  import { formSchema } from './${classNameVar}.data'
-  import { create${simpleClassName}, get${simpleClassName}, update${simpleClassName} } from '@/api/${table.moduleName}/${classNameVar}'
+<script lang="ts" setup>
+import { ref, unref } from 'vue'
+import { useI18n } from '@/hooks/web/useI18n'
+import { useMessage } from '@/hooks/web/useMessage'
+import { BasicForm, useForm } from '@/components/Form'
+import { BasicModal, useModalInner } from '@/components/Modal'
+import { createFormSchema, updateFormSchema } from './${classNameVar}.data'
+import { create${simpleClassName}, get${simpleClassName}, update${simpleClassName} } from '@/api/${table.moduleName}/${classNameVar}'
 
-  const emit = defineEmits(['success', 'register'])
-  const isUpdate = ref(true)
+defineOptions({ name: '${table.className}Modal' })
 
-  const [registerForm, { setFieldsValue, resetFields, validate }] = useForm({
-    labelWidth: 120,
-    baseColProps: { span: 24 },
-    schemas: formSchema,
-    showActionButtonGroup: false,
-    actionColOptions: { span: 23 }
-  })
+const { t } = useI18n()
+const { createMessage } = useMessage()
+const emit = defineEmits(['success', 'register'])
+const isUpdate = ref(true)
 
-  const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
-    resetFields()
-    setModalProps({ confirmLoading: false })
-    isUpdate.value = !!data?.isUpdate
-    if (unref(isUpdate)) {
-      const res = await get${simpleClassName}(data.record.id)
-      setFieldsValue({ ...res })
-    }
-  })
+const [registerForm, { setFieldsValue, resetFields, validate }] = useForm({
+  labelWidth: 120,
+  baseColProps: { span: 24 },
+  schemas: isUpdate? updateFormSchema : createFormSchema,
+  showActionButtonGroup: false,
+  actionColOptions: { span: 23 }
+})
 
-  async function handleSubmit() {
-    try {
-      const values = await validate()
-      setModalProps({ confirmLoading: true })
-      if (unref(isUpdate)) {
-        await update${simpleClassName}(values)
-      } else {
-        await create${simpleClassName}(values)
-      }
-      closeModal()
-      emit('success')
-    } finally {
-      setModalProps({ confirmLoading: false })
+const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
+  resetFields()
+  setModalProps({ confirmLoading: false })
+  isUpdate.value = !!data?.isUpdate
+  if (unref(isUpdate)) {
+    const res = await get${simpleClassName}(data.record.id)
+    setFieldsValue({ ...res })
+  }
+})
+
+async function handleSubmit() {
+  try {
+    const values = await validate()
+    setModalProps({ confirmLoading: true })
+    if (unref(isUpdate)) {
+      await update${simpleClassName}(values)
+    } else {
+      await create${simpleClassName}(values)
     }
+    closeModal()
+    emit('success')
+    createMessage.success(t('common.saveSuccessText'))
+  } finally {
+    setModalProps({ confirmLoading: false })
   }
+}
 </script>

+ 49 - 47
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben/views/index.vue.vm

@@ -33,58 +33,60 @@
     <${simpleClassName}Modal @register="registerModal" @success="reload()" />
   </div>
 </template>
-<script lang="ts" setup name="${table.className}">
-  import { useI18n } from '@/hooks/web/useI18n'
-  import { useMessage } from '@/hooks/web/useMessage'
-  import { useModal } from '@/components/Modal'
-  import ${simpleClassName}Modal from './${simpleClassName}Modal.vue'
-  import { IconEnum } from '@/enums/appEnum'
-  import { BasicTable, useTable, TableAction } from '@/components/Table'
-  import { delete${simpleClassName}, export${simpleClassName}, get${simpleClassName}Page } from '@/api/${table.moduleName}/${classNameVar}'
-  import { columns, searchFormSchema } from './${classNameVar}.data'
+<script lang="ts" setup>
+import { useI18n } from '@/hooks/web/useI18n'
+import { useMessage } from '@/hooks/web/useMessage'
+import { useModal } from '@/components/Modal'
+import ${simpleClassName}Modal from './${simpleClassName}Modal.vue'
+import { IconEnum } from '@/enums/appEnum'
+import { BasicTable, useTable, TableAction } from '@/components/Table'
+import { delete${simpleClassName}, export${simpleClassName}, get${simpleClassName}Page } from '@/api/${table.moduleName}/${classNameVar}'
+import { columns, searchFormSchema } from './${classNameVar}.data'
 
-  const { t } = useI18n()
-  const { createConfirm, createMessage } = useMessage()
-  const [registerModal, { openModal }] = useModal()
+defineOptions({ name: '${table.className}' })
 
-  const [registerTable, { getForm, reload }] = useTable({
-    title: '${table.classComment}列表',
-    api: get${simpleClassName}Page,
-    columns,
-    formConfig: { labelWidth: 120, schemas: searchFormSchema },
-    useSearchForm: true,
-    showTableSetting: true,
-    actionColumn: {
-      width: 140,
-      title: t('common.action'),
-      dataIndex: 'action',
-      fixed: 'right'
-    }
-  })
+const { t } = useI18n()
+const { createConfirm, createMessage } = useMessage()
+const [registerModal, { openModal }] = useModal()
 
-  function handleCreate() {
-    openModal(true, { isUpdate: false })
+const [registerTable, { getForm, reload }] = useTable({
+  title: '${table.classComment}列表',
+  api: get${simpleClassName}Page,
+  columns,
+  formConfig: { labelWidth: 120, schemas: searchFormSchema },
+  useSearchForm: true,
+  showTableSetting: true,
+  actionColumn: {
+    width: 140,
+    title: t('common.action'),
+    dataIndex: 'action',
+    fixed: 'right'
   }
+})
 
-  function handleEdit(record: Recordable) {
-    openModal(true, { record, isUpdate: true })
-  }
+function handleCreate() {
+  openModal(true, { isUpdate: false })
+}
 
-  async function handleExport() {
-    createConfirm({
-      title: t('common.exportTitle'),
-      iconType: 'warning',
-      content: t('common.exportMessage'),
-      async onOk() {
-        await export${simpleClassName}(getForm().getFieldsValue())
-        createMessage.success(t('common.exportSuccessText'))
-      }
-    })
-  }
+function handleEdit(record: Recordable) {
+  openModal(true, { record, isUpdate: true })
+}
 
-  async function handleDelete(record: Recordable) {
-    await delete${simpleClassName}(record.id)
-    createMessage.success(t('common.delSuccessText'))
-    reload()
-  }
+async function handleExport() {
+  createConfirm({
+    title: t('common.exportTitle'),
+    iconType: 'warning',
+    content: t('common.exportMessage'),
+    async onOk() {
+      await export${simpleClassName}(getForm().getFieldsValue())
+      createMessage.success(t('common.exportSuccessText'))
+    }
+  })
+}
+
+async function handleDelete(record: Recordable) {
+  await delete${simpleClassName}(record.id)
+  createMessage.success(t('common.delSuccessText'))
+  reload()
+}
 </script>

+ 4 - 4
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/brand/vo/ProductBrandBaseVO.java

@@ -12,22 +12,22 @@ import javax.validation.constraints.NotNull;
 @Data
 public class ProductBrandBaseVO {
 
-    @Schema(description = "品牌名称", required = true, example = "芋道")
+    @Schema(description = "品牌名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
     @NotNull(message = "品牌名称不能为空")
     private String name;
 
-    @Schema(description = "品牌图片", required = true)
+    @Schema(description = "品牌图片", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotNull(message = "品牌图片不能为空")
     private String picUrl;
 
-    @Schema(description = "品牌排序", required = true, example = "1")
+    @Schema(description = "品牌排序", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "品牌排序不能为空")
     private Integer sort;
 
     @Schema(description = "品牌描述", example = "描述")
     private String description;
 
-    @Schema(description = "状态", required = true, example = "0")
+    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
     @NotNull(message = "状态不能为空")
     private Integer status;
 

+ 2 - 2
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/brand/vo/ProductBrandRespVO.java

@@ -13,10 +13,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class ProductBrandRespVO extends ProductBrandBaseVO {
 
-    @Schema(description = "品牌编号", required = true, example = "1")
+    @Schema(description = "品牌编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }

+ 1 - 1
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/brand/vo/ProductBrandUpdateReqVO.java

@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class ProductBrandUpdateReqVO extends ProductBrandBaseVO {
 
-    @Schema(description = "品牌编号", required = true, example = "1")
+    @Schema(description = "品牌编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "品牌编号不能为空")
     private Long id;
 

+ 6 - 6
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/category/vo/ProductCategoryBaseVO.java

@@ -13,25 +13,25 @@ import javax.validation.constraints.NotNull;
 @Data
 public class ProductCategoryBaseVO {
 
-    @Schema(description = "父分类编号", required = true, example = "1")
+    @Schema(description = "父分类编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "父分类编号不能为空")
     private Long parentId;
 
-    @Schema(description = "分类名称", required = true, example = "办公文具")
+    @Schema(description = "分类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "办公文具")
     @NotBlank(message = "分类名称不能为空")
     private String name;
 
-    @Schema(description = "分类图片", required = true)
+    @Schema(description = "分类图片", requiredMode = Schema.RequiredMode.REQUIRED)
     @NotBlank(message = "分类图片不能为空")
     private String picUrl;
 
-    @Schema(description = "分类排序", required = true, example = "1")
+    @Schema(description = "分类排序", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer sort;
 
-    @Schema(description = "分类描述", required = true, example = "描述")
+    @Schema(description = "分类描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "描述")
     private String description;
 
-    @Schema(description = "开启状态", required = true, example = "0")
+    @Schema(description = "开启状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
     @NotNull(message = "开启状态不能为空")
     private Integer status;
 

+ 2 - 2
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/category/vo/ProductCategoryRespVO.java

@@ -13,10 +13,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class ProductCategoryRespVO extends ProductCategoryBaseVO {
 
-    @Schema(description = "分类编号", required = true, example = "2")
+    @Schema(description = "分类编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }

+ 1 - 1
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/category/vo/ProductCategoryUpdateReqVO.java

@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class ProductCategoryUpdateReqVO extends ProductCategoryBaseVO {
 
-    @Schema(description = "分类编号", required = true, example = "2")
+    @Schema(description = "分类编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
     @NotNull(message = "分类编号不能为空")
     private Long id;
 

+ 4 - 4
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyAndValueRespVO.java

@@ -9,10 +9,10 @@ import java.util.List;
 @Data
 public class ProductPropertyAndValueRespVO {
 
-    @Schema(description = "属性项的编号", required = true, example = "1024")
+    @Schema(description = "属性项的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "属性项的名称", required = true, example = "颜色")
+    @Schema(description = "属性项的名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "颜色")
     private String name;
 
     /**
@@ -24,10 +24,10 @@ public class ProductPropertyAndValueRespVO {
     @Data
     public static class Value {
 
-        @Schema(description = "属性值的编号", required = true, example = "2048")
+        @Schema(description = "属性值的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
         private Long id;
 
-        @Schema(description = "属性值的名称", required = true, example = "红色")
+        @Schema(description = "属性值的名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "红色")
         private String name;
 
     }

+ 1 - 1
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyBaseVO.java

@@ -12,7 +12,7 @@ import javax.validation.constraints.NotBlank;
 @Data
 public class ProductPropertyBaseVO {
 
-    @Schema(description = "名称", required = true, example = "颜色")
+    @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "颜色")
     @NotBlank(message = "名称不能为空")
     private String name;
 

+ 1 - 1
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyPageReqVO.java

@@ -20,7 +20,7 @@ public class ProductPropertyPageReqVO extends PageParam {
     @Schema(description = "名称", example = "颜色")
     private String name;
 
-    @Schema(description = "状态", required = true, example = "1")
+    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer status;
 
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)

+ 2 - 2
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyRespVO.java

@@ -13,10 +13,10 @@ import java.time.LocalDateTime;
 @ToString(callSuper = true)
 public class ProductPropertyRespVO extends ProductPropertyBaseVO {
 
-    @Schema(description = "编号", required = true, example = "1024")
+    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long id;
 
-    @Schema(description = "创建时间", required = true)
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     private LocalDateTime createTime;
 
 }

+ 1 - 1
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/property/ProductPropertyUpdateReqVO.java

@@ -13,7 +13,7 @@ import javax.validation.constraints.NotNull;
 @ToString(callSuper = true)
 public class ProductPropertyUpdateReqVO extends ProductPropertyBaseVO {
 
-    @Schema(description = "主键", required = true, example = "1")
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "主键不能为空")
     private Long id;
 

+ 2 - 2
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValueBaseVO.java

@@ -13,11 +13,11 @@ import javax.validation.constraints.NotNull;
 @Data
 public class ProductPropertyValueBaseVO {
 
-    @Schema(description = "属性项的编号", required = true, example = "1024")
+    @Schema(description = "属性项的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     @NotNull(message = "属性项的编号不能为空")
     private Long propertyId;
 
-    @Schema(description = "名称", required = true, example = "红色")
+    @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "红色")
     @NotEmpty(message = "名称名字不能为空")
     private String name;
 

+ 4 - 4
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValueDetailRespVO.java

@@ -7,16 +7,16 @@ import lombok.Data;
 @Data
 public class ProductPropertyValueDetailRespVO {
 
-    @Schema(description = "属性的编号", required = true, example = "1")
+    @Schema(description = "属性的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Long propertyId;
 
-    @Schema(description = "属性的名称", required = true, example = "颜色")
+    @Schema(description = "属性的名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "颜色")
     private String propertyName;
 
-    @Schema(description = "属性值的编号", required = true, example = "1024")
+    @Schema(description = "属性值的编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
     private Long valueId;
 
-    @Schema(description = "属性值的名称", required = true, example = "红色")
+    @Schema(description = "属性值的名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "红色")
     private String valueName;
 
 }

+ 1 - 1
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/admin/property/vo/value/ProductPropertyValuePageReqVO.java

@@ -18,7 +18,7 @@ public class ProductPropertyValuePageReqVO extends PageParam {
     @Schema(description = "名称", example = "红色")
     private String name;
 
-    @Schema(description = "状态", required = true, example = "1")
+    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     private Integer status;
 
 }

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff