Explorar o código

!71 基于 Maven Module 的方式拆分多模块
Merge pull request !71 from 芋道源码/feature/multi-module

芋道源码 %!s(int64=4) %!d(string=hai) anos
pai
achega
bb02c8eccc
Modificáronse 100 ficheiros con 1855 adicións e 5161 borrados
  1. 40 33
      README.md
  2. 7 3
      http-client.env.json
  3. BIN=BIN
      img.png
  4. 34 4
      pom.xml
  5. 1774 1143
      sql/ruoyi-vue-pro.sql
  6. 0 168
      yudao-admin-server/pom.xml
  7. 0 14
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/AdminServerApplication.java
  8. 0 9
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/framework/monitor/config/AdminServerConfiguration.java
  9. 0 4
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/framework/monitor/package-info.java
  10. 0 6
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/framework/package-info.java
  11. 0 41
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/framework/security/SecurityConfiguration.java
  12. 0 79
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/BpmFormController.java
  13. 0 97
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/BpmModelController.java
  14. 0 60
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/BpmProcessDefinitionController.java
  15. 0 59
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/BpmTaskAssignRuleController.java
  16. 0 89
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/BpmUserGroupController.java
  17. 0 25
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/form/BpmFormBaseVO.java
  18. 0 23
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/form/BpmFormCreateReqVO.java
  19. 0 19
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/form/BpmFormPageReqVO.java
  20. 0 33
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/form/BpmFormRespVO.java
  21. 0 17
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/form/BpmFormSimpleRespVO.java
  22. 0 26
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/form/BpmFormUpdateReqVO.java
  23. 0 31
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/group/BpmUserGroupBaseVO.java
  24. 0 14
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/group/BpmUserGroupCreateReqVO.java
  25. 0 31
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/group/BpmUserGroupPageReqVO.java
  26. 0 19
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/group/BpmUserGroupRespVO.java
  27. 0 21
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/group/BpmUserGroupSimpleRespVO.java
  28. 0 18
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/group/BpmUserGroupUpdateReqVO.java
  29. 0 22
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/model/BpmModeImportReqVO.java
  30. 0 41
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/model/BpmModelBaseVO.java
  31. 0 26
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/model/BpmModelCreateReqVO.java
  32. 0 49
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/model/BpmModelPageItemRespVO.java
  33. 0 26
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/model/BpmModelRespVO.java
  34. 0 40
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/model/BpmModelUpdateReqVO.java
  35. 0 21
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/model/BpmModelUpdateStateReqVO.java
  36. 0 26
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/model/ModelPageReqVO.java
  37. 0 19
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/process/BpmProcessDefinitionListReqVO.java
  38. 0 23
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/process/BpmProcessDefinitionPageItemRespVO.java
  39. 0 19
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/process/BpmProcessDefinitionPageReqVO.java
  40. 0 52
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/process/BpmProcessDefinitionRespVO.java
  41. 0 25
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/rule/BpmTaskAssignRuleBaseVO.java
  42. 0 25
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/rule/BpmTaskAssignRuleCreateReqVO.java
  43. 0 29
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/rule/BpmTaskAssignRuleRespVO.java
  44. 0 22
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/rule/BpmTaskAssignRuleUpdateReqVO.java
  45. 0 63
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/oa/BpmOALeaveController.java
  46. 0 33
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/oa/vo/BpmOALeaveBaseVO.java
  47. 0 21
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/oa/vo/BpmOALeaveCreateReqVO.java
  48. 0 34
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/oa/vo/BpmOALeavePageReqVO.java
  49. 0 32
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/oa/vo/BpmOALeaveRespVO.java
  50. 0 55
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/BpmActivityController.java
  51. 0 60
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/BpmProcessInstanceController.java
  52. 0 80
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/BpmTaskController.java
  53. 0 26
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/activity/BpmActivityRespVO.java
  54. 0 23
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/instance/BpmProcessInstanceCancelReqVO.java
  55. 0 21
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/instance/BpmProcessInstanceCreateReqVO.java
  56. 0 44
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/instance/BpmProcessInstanceMyPageReqVO.java
  57. 0 55
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/instance/BpmProcessInstancePageItemRespVO.java
  58. 0 97
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/instance/BpmProcessInstanceRespVO.java
  59. 0 25
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskApproveReqVO.java
  60. 0 27
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskDonePageItemRespVO.java
  61. 0 32
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskDonePageReqVO.java
  62. 0 21
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskRejectReqVO.java
  63. 0 41
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskRespVO.java
  64. 0 54
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskTodoPageItemRespVO.java
  65. 0 32
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskTodoPageReqVO.java
  66. 0 25
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskUpdateAssigneeReqVO.java
  67. 0 34
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/definition/BpmFormConvert.java
  68. 0 142
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/definition/BpmModelConvert.java
  69. 0 83
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/definition/BpmProcessDefinitionConvert.java
  70. 0 44
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/definition/BpmTaskAssignRuleConvert.java
  71. 0 37
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/definition/BpmUserGroupConvert.java
  72. 0 57
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/message/BpmMessageConvert.java
  73. 0 30
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/oa/BpmOALeaveConvert.java
  74. 0 6
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/package-info.java
  75. 0 33
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/task/BpmActivityConvert.java
  76. 0 120
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/task/BpmProcessInstanceConvert.java
  77. 0 126
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/task/BpmTaskConvert.java
  78. 0 57
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/dataobject/definition/BpmFormDO.java
  79. 0 92
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/dataobject/definition/BpmProcessDefinitionExtDO.java
  80. 0 86
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/dataobject/definition/BpmTaskAssignRuleDO.java
  81. 0 5
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/dataobject/definition/BpmTaskMessageRuleDO.java
  82. 0 52
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/dataobject/definition/BpmUserGroupDO.java
  83. 0 74
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/dataobject/leave/BpmOALeaveDO.java
  84. 0 96
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/dataobject/task/BpmProcessInstanceExtDO.java
  85. 0 85
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/dataobject/task/BpmTaskExtDO.java
  86. 0 25
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/mysql/definition/BpmFormMapper.java
  87. 0 23
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/mysql/definition/BpmProcessDefinitionExtMapper.java
  88. 0 35
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/mysql/definition/BpmTaskAssignRuleMapper.java
  89. 0 32
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/mysql/definition/BpmUserGroupMapper.java
  90. 0 29
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/mysql/oa/BpmOALeaveMapper.java
  91. 0 35
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/mysql/task/BpmProcessInstanceExtMapper.java
  92. 0 25
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/mysql/task/BpmTaskExtMapper.java
  93. 0 64
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/enums/BpmErrorCodeConstants.java
  94. 0 21
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/enums/definition/BpmModelFormTypeEnum.java
  95. 0 37
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/enums/definition/BpmTaskAssignRuleTypeEnum.java
  96. 0 30
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/enums/definition/BpmTaskRuleScriptEnum.java
  97. 0 28
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/enums/message/BpmMessageEnum.java
  98. 0 37
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/enums/task/BpmProcessInstanceDeleteReasonEnum.java
  99. 0 29
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/enums/task/BpmProcessInstanceResultEnum.java
  100. 0 0
      yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/enums/task/BpmProcessInstanceStatusEnum.java

+ 40 - 33
README.md

@@ -87,6 +87,11 @@ ps:核心功能已经实现,正在对接微信小程序中...
 * 2022 Q2 => 完成对 <https://github.com/YunaiV/onemall> 的迁移,作为 onemall 的 Spring Boot 单体版本。
 * 2022 Q4 => 完成对 <https://github.com/YunaiV/onemall>> 的重构,作为 onemall 的 Spring Cloud 微服务版本。
 
+### 会员中心
+
+正在开发中,大体计划如下:
+* 2021 Q1 =》完成对 <https://github.com/YunaiV/onemall> 的迁移 
+
 ### 基础设施
 
 |  | 功能 | 描述 |
@@ -118,43 +123,45 @@ ps:核心功能已经实现,正在对接微信小程序中...
 
 ## 技术栈
 
-| 项目 | 说明 |
-| --- | --- |
-| `yudao-dependencies` | Maven 依赖版本管理 |
-| `yudao-framework` | Java 框架拓展 |
-| `yudao-admin-server` | 管理后台的服务端 |
-| `yudao-admin-ui` | 管理后台的 UI 界面 |
-| `yudao-user-server` | 用户前台的服务端 |
-| `yudao-user-ui` | 用户前台的 UI 界面 |
-| `yudao-core-service` | 公共服务,提供共享逻辑 |
-
-> 友情提示:`yudao-admin-server` 和 `yudao-user-server` 会存在需要复用的逻辑,通过 `yudao-core-service` 实现。
+| 项目                    | 说明                 |
+|-----------------------|--------------------|
+| `yudao-dependencies`  | Maven 依赖版本管理       |
+| `yudao-framework`     | Java 框架拓展          |
+| `yudao-server`        | 管理后台 + 用户 APP 的服务端 |
+| `yudao-admin-ui`      | 管理后台的 UI 界面        |
+| `yudao-user-ui`       | 用户 APP 的 UI 界面     |
+| `yudao-module-system` | 系统功能的 Module 模块    |
+| `yudao-module-member` | 会员中心的 Module 模块    |
+| `yudao-module-infra`  | 基础设施的 Module 模块    |
+| `yudao-module-tool`   | 研发工具的 Module 模块    |
+| `yudao-module-bpm`    | 工作流程的 Module 模块    |
+| `yudao-module-pay`    | 支付系统的 Module 模块    |
 
 ### 后端
 
-| 框架 | 说明 |  版本 | 学习指南 |
-| --- | --- | --- | --- |
-| [Spring Boot](https://spring.io/projects/spring-boot) | 应用开发框架 | 2.4.12 | [文档](https://github.com/YunaiV/SpringBoot-Labs) |
-| [MySQL](https://www.mysql.com/cn/) | 数据库服务器 | 5.7 |  |
-| [Druid](https://github.com/alibaba/druid) | JDBC 连接池、监控组件 | 1.2.8 | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) |
-| [MyBatis Plus](https://mp.baomidou.com/) | MyBatis 增强工具包 | 3.4.3.4 | [文档](http://www.iocoder.cn/Spring-Boot/MyBatis/?yudao) |
-| [Dynamic Datasource](https://dynamic-datasource.com/) | 动态数据源 | 3.5.0 | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) |
-| [Redis](https://redis.io/) | key-value 数据库 | 5.0 |  |
-| [Redisson](https://github.com/redisson/redisson) | Redis 客户端 | 3.16.6 | [文档](http://www.iocoder.cn/Spring-Boot/Redis/?yudao) |
-| [Spring MVC](https://github.com/spring-projects/spring-framework/tree/master/spring-webmvc) | MVC 框架  | 5.3.13 | [文档](http://www.iocoder.cn/SpringMVC/MVC/?yudao) |
-| [Spring Security](https://github.com/spring-projects/spring-security) | Spring 安全框架 | 5.4.9 | [文档](http://www.iocoder.cn/Spring-Boot/Spring-Security/?yudao) |
-| [Hibernate Validator](https://github.com/hibernate/hibernate-validator) | 参数校验组件 | 6.1.7 | [文档](http://www.iocoder.cn/Spring-Boot/Validation/?yudao) |
+| 框架 | 说明 | 版本       | 学习指南 |
+| --- | --- |----------| --- |
+| [Spring Boot](https://spring.io/projects/spring-boot) | 应用开发框架 | 2.5.9    | [文档](https://github.com/YunaiV/SpringBoot-Labs) |
+| [MySQL](https://www.mysql.com/cn/) | 数据库服务器 | 5.7      |  |
+| [Druid](https://github.com/alibaba/druid) | JDBC 连接池、监控组件 | 1.2.8    | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) |
+| [MyBatis Plus](https://mp.baomidou.com/) | MyBatis 增强工具包 | 3.4.3.4  | [文档](http://www.iocoder.cn/Spring-Boot/MyBatis/?yudao) |
+| [Dynamic Datasource](https://dynamic-datasource.com/) | 动态数据源 | 3.5.0    | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) |
+| [Redis](https://redis.io/) | key-value 数据库 | 5.0      |  |
+| [Redisson](https://github.com/redisson/redisson) | Redis 客户端 | 3.16.8   | [文档](http://www.iocoder.cn/Spring-Boot/Redis/?yudao) |
+| [Spring MVC](https://github.com/spring-projects/spring-framework/tree/master/spring-webmvc) | MVC 框架  | 5.3.15   | [文档](http://www.iocoder.cn/SpringMVC/MVC/?yudao) |
+| [Spring Security](https://github.com/spring-projects/spring-security) | Spring 安全框架 | 5.5.4    | [文档](http://www.iocoder.cn/Spring-Boot/Spring-Security/?yudao) |
+| [Hibernate Validator](https://github.com/hibernate/hibernate-validator) | 参数校验组件 | 6.2.0    | [文档](http://www.iocoder.cn/Spring-Boot/Validation/?yudao) |
 | [Activiti](https://github.com/Activiti/Activiti) | 工作流引擎 | 7.1.0.M6 | [文档](TODO)  |
-| [Quartz](https://github.com/quartz-scheduler) | 任务调度组件 | 2.3.2 | [文档](http://www.iocoder.cn/Spring-Boot/Job/?yudao) |
-| [Knife4j](https://gitee.com/xiaoym/knife4j) | Swagger 增强 UI 实现 | 3.0.2 | [文档](http://www.iocoder.cn/Spring-Boot/Swagger/?yudao) |
-| [Resilience4j](https://github.com/resilience4j/resilience4j) | 服务保障组件 | 1.7.0 | [文档](http://www.iocoder.cn/Spring-Boot/Resilience4j/?yudao) |
-| [SkyWalking](https://skywalking.apache.org/) | 分布式应用追踪系统 | 8.5.0 | [文档](http://www.iocoder.cn/Spring-Boot/SkyWalking/?yudao) |
-| [Spring Boot Admin](https://github.com/codecentric/spring-boot-admin) | Spring Boot 监控平台 | 2.4.2 | [文档](http://www.iocoder.cn/Spring-Boot/Admin/?yudao) |
-| [Jackson](https://github.com/FasterXML/jackson) | JSON 工具库 | 2.11.4 |  |
-| [MapStruct](https://mapstruct.org/) | Java Bean 转换 | 1.4.1 | [文档](http://www.iocoder.cn/Spring-Boot/MapStruct/?yudao) |
-| [Lombok](https://projectlombok.org/) | 消除冗长的 Java 代码 | 1.16.14 | [文档](http://www.iocoder.cn/Spring-Boot/Lombok/?yudao) |
-| [JUnit](https://junit.org/junit5/) | Java 单元测试框架 | 5.7.1 | - |
-| [Mockito](https://github.com/mockito/mockito) | Java Mock 框架 | 3.6.28 | - |
+| [Quartz](https://github.com/quartz-scheduler) | 任务调度组件 | 2.3.2    | [文档](http://www.iocoder.cn/Spring-Boot/Job/?yudao) |
+| [Knife4j](https://gitee.com/xiaoym/knife4j) | Swagger 增强 UI 实现 | 3.0.2    | [文档](http://www.iocoder.cn/Spring-Boot/Swagger/?yudao) |
+| [Resilience4j](https://github.com/resilience4j/resilience4j) | 服务保障组件 | 1.7.0    | [文档](http://www.iocoder.cn/Spring-Boot/Resilience4j/?yudao) |
+| [SkyWalking](https://skywalking.apache.org/) | 分布式应用追踪系统 | 8.5.0    | [文档](http://www.iocoder.cn/Spring-Boot/SkyWalking/?yudao) |
+| [Spring Boot Admin](https://github.com/codecentric/spring-boot-admin) | Spring Boot 监控平台 | 2.4.2    | [文档](http://www.iocoder.cn/Spring-Boot/Admin/?yudao) |
+| [Jackson](https://github.com/FasterXML/jackson) | JSON 工具库 | 2.12.6   |  |
+| [MapStruct](https://mapstruct.org/) | Java Bean 转换 | 1.4.1    | [文档](http://www.iocoder.cn/Spring-Boot/MapStruct/?yudao) |
+| [Lombok](https://projectlombok.org/) | 消除冗长的 Java 代码 | 1.16.14  | [文档](http://www.iocoder.cn/Spring-Boot/Lombok/?yudao) |
+| [JUnit](https://junit.org/junit5/) | Java 单元测试框架 | 5.7.2    | - |
+| [Mockito](https://github.com/mockito/mockito) | Java Mock 框架 | 3.9.0    | - |
 
 ### 前端
 

+ 7 - 3
http-client.env.json

@@ -1,7 +1,11 @@
 {
   "local": {
-    "baseUrl": "http://127.0.0.1:48080/api",
-    "userServerUrl": "http://127.0.0.1:28080/api",
-    "token": "test1"
+    "baseUrl": "http://127.0.0.1:48080/admin-api",
+    "token": "test1",
+    "adminTenentId": "1",
+
+    "appApi": "http://127.0.0.1:48080/app-api",
+    "appToken": "test1",
+    "appTenentId": "1"
   }
 }

BIN=BIN
img.png


+ 34 - 4
pom.xml

@@ -10,9 +10,15 @@
     <modules>
         <module>yudao-dependencies</module>
         <module>yudao-framework</module>
-        <module>yudao-admin-server</module>
-        <module>yudao-user-server</module>
-        <module>yudao-core-service</module>
+        <!-- Server 主项目 -->
+        <module>yudao-server</module>
+        <!--  各种 module 拓展 -->
+        <module>yudao-module-member</module>
+        <module>yudao-module-bpm</module>
+        <module>yudao-module-system</module>
+        <module>yudao-module-infra</module>
+        <module>yudao-module-tool</module>
+        <module>yudao-module-pay</module>
     </modules>
 
     <name>${artifactId}</name>
@@ -20,12 +26,16 @@
     <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
 
     <properties>
-        <revision>1.3.0-snapshot</revision>
+        <revision>1.4.0-snapshot</revision>
         <!-- Maven 相关 -->
         <java.version>1.8</java.version>
         <maven.compiler.source>${java.version}</maven.compiler.source>
         <maven.compiler.target>${java.version}</maven.compiler.target>
         <maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
+        <maven-compiler-plugin.version>3.8.0</maven-compiler-plugin.version>
+        <!-- 看看咋放到 bom 里 -->
+        <lombok.version>1.18.20</lombok.version>
+        <mapstruct.version>1.4.1.Final</mapstruct.version>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     </properties>
 
@@ -51,6 +61,26 @@
                     <artifactId>maven-surefire-plugin</artifactId>
                     <version>${maven-surefire-plugin.version}</version>
                 </plugin>
+                <!-- maven-compiler-plugin 插件,解决 Lombok + MapStruct 组合 -->
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-compiler-plugin</artifactId>
+                    <version>${maven-compiler-plugin.version}</version>
+                    <configuration>
+                        <annotationProcessorPaths>
+                            <path>
+                                <groupId>org.projectlombok</groupId>
+                                <artifactId>lombok</artifactId>
+                                <version>${lombok.version}</version>
+                            </path>
+                            <path>
+                                <groupId>org.mapstruct</groupId>
+                                <artifactId>mapstruct-processor</artifactId>
+                                <version>${mapstruct.version}</version>
+                            </path>
+                        </annotationProcessorPaths>
+                    </configuration>
+                </plugin>
             </plugins>
         </pluginManagement>
     </build>

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1774 - 1143
sql/ruoyi-vue-pro.sql


+ 0 - 168
yudao-admin-server/pom.xml

@@ -1,168 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <groupId>cn.iocoder.boot</groupId>
-        <artifactId>yudao</artifactId>
-        <version>${revision}</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>yudao-admin-server</artifactId>
-    <packaging>jar</packaging>
-
-    <name>yudao-admin-server</name>
-    <description>管理后台 Server,提供其 API 接口</description>
-    <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
-
-    <dependencies>
-        <!-- 业务组件 -->
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-core-service</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-spring-boot-starter-biz-operatelog</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-spring-boot-starter-biz-dict</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-spring-boot-starter-biz-sms</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-spring-boot-starter-biz-tenant</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-spring-boot-starter-biz-data-permission</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-spring-boot-starter-activiti</artifactId>
-        </dependency>
-
-        <!-- Web 相关 -->
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-spring-boot-starter-web</artifactId>
-        </dependency>
-        <!-- spring boot 配置所需依赖 -->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-configuration-processor</artifactId>
-            <optional>true</optional>
-        </dependency>
-
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-spring-boot-starter-security</artifactId>
-        </dependency>
-
-        <!-- DB 相关 -->
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-spring-boot-starter-mybatis</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-spring-boot-starter-redis</artifactId>
-        </dependency>
-
-        <!-- Config 配置中心相关 -->
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-spring-boot-starter-config</artifactId>
-        </dependency>
-
-        <!-- Job 定时任务相关 -->
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-spring-boot-starter-job</artifactId>
-        </dependency>
-
-        <!-- 消息队列相关 -->
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-spring-boot-starter-mq</artifactId>
-        </dependency>
-
-        <!-- 服务保障相关 -->
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-spring-boot-starter-protection</artifactId>
-        </dependency>
-
-        <!-- 监控相关 -->
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-spring-boot-starter-monitor</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>de.codecentric</groupId>
-            <artifactId>spring-boot-admin-starter-server</artifactId> <!-- 实现 Spring Boot Admin Server 服务端 -->
-        </dependency>
-
-        <!-- Test 测试相关 -->
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-spring-boot-starter-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <!-- 工具类相关 -->
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-spring-boot-starter-excel</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.velocity</groupId>
-            <artifactId>velocity-engine-core</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>cn.smallbun.screw</groupId>
-            <artifactId>screw-core</artifactId> <!-- 实现数据库文档 -->
-        </dependency>
-
-        <!-- 三方云服务相关 -->
-
-        <dependency>
-            <groupId>com.xkcoding.justauth</groupId>
-            <artifactId>justauth-spring-boot-starter</artifactId>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <!-- 设置构建的 jar 包名 -->
-        <finalName>${artifactId}</finalName>
-        <plugins>
-            <!-- 打包 -->
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-                <configuration>
-                    <fork>true</fork>
-                </configuration>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>repackage</goal> <!-- 将引入的 jar 打入其中 -->
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>

+ 0 - 14
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/AdminServerApplication.java

@@ -1,14 +0,0 @@
-package cn.iocoder.yudao.adminserver;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-
-@SuppressWarnings("SpringComponentScan") // 忽略 IDEA 无法识别 ${yudao.info.base-package} 和 ${yudao.core-service.base-package}
-@SpringBootApplication(scanBasePackages = {"${yudao.info.base-package}", "${yudao.core-service.base-package}"})
-public class AdminServerApplication {
-
-    public static void main(String[] args) {
-        SpringApplication.run(AdminServerApplication.class, args);
-    }
-
-}

+ 0 - 9
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/framework/monitor/config/AdminServerConfiguration.java

@@ -1,9 +0,0 @@
-package cn.iocoder.yudao.adminserver.framework.monitor.config;
-
-import de.codecentric.boot.admin.server.config.EnableAdminServer;
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-@EnableAdminServer
-public class AdminServerConfiguration {
-}

+ 0 - 4
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/framework/monitor/package-info.java

@@ -1,4 +0,0 @@
-/**
- * 使用 Spring Boot Admin 实现简单的监控平台
- */
-package cn.iocoder.yudao.adminserver.framework.monitor;

+ 0 - 6
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/framework/package-info.java

@@ -1,6 +0,0 @@
-/**
- * 属于整个 yudao-admin-server 的 framework 封装
- *
- * @author 芋道源码
- */
-package cn.iocoder.yudao.adminserver.framework;

+ 0 - 41
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/framework/security/SecurityConfiguration.java

@@ -1,41 +0,0 @@
-package cn.iocoder.yudao.adminserver.framework.security;
-
-import cn.iocoder.yudao.framework.web.config.WebProperties;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.security.config.Customizer;
-import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.annotation.web.configurers.ExpressionUrlAuthorizationConfigurer;
-
-import javax.annotation.Resource;
-
-@Configuration
-public class SecurityConfiguration {
-
-    @Resource
-    private WebProperties webProperties;
-
-    @Value("${spring.boot.admin.context-path:''}")
-    private String adminSeverContextPath;
-
-    @Bean
-    public Customizer<ExpressionUrlAuthorizationConfigurer<HttpSecurity>.ExpressionInterceptUrlRegistry> authorizeRequestsCustomizer() {
-        return registry -> {
-            // 验证码的接口
-            registry.antMatchers(api("/system/captcha/**")).anonymous();
-            // 获得租户编号的接口
-            registry.antMatchers(api("/system/tenant/get-id-by-name")).anonymous();
-            // Spring Boot Admin Server 的安全配置
-            registry.antMatchers(adminSeverContextPath).anonymous()
-                    .antMatchers(adminSeverContextPath + "/**").anonymous();
-            // 短信回调 API
-            registry.antMatchers(api("/system/sms/callback/**")).anonymous();
-        };
-    }
-
-    private String api(String url) {
-        return webProperties.getApiPrefix() + url;
-    }
-
-}

+ 0 - 79
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/BpmFormController.java

@@ -1,79 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition;
-
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.form.*;
-import cn.iocoder.yudao.adminserver.modules.bpm.convert.definition.BpmFormConvert;
-import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition.BpmFormDO;
-import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmFormService;
-import cn.iocoder.yudao.framework.common.pojo.CommonResult;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import javax.validation.Valid;
-import java.util.List;
-
-import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
-
-@Api(tags = "动态表单")
-@RestController
-@RequestMapping("/bpm/form")
-@Validated
-public class BpmFormController {
-
-    @Resource
-    private BpmFormService formService;
-
-    @PostMapping("/create")
-    @ApiOperation("创建动态表单")
-    @PreAuthorize("@ss.hasPermission('bpm:form:create')")
-    public CommonResult<Long> createForm(@Valid @RequestBody BpmFormCreateReqVO createReqVO) {
-        return success(formService.createForm(createReqVO));
-    }
-
-    @PutMapping("/update")
-    @ApiOperation("更新动态表单")
-    @PreAuthorize("@ss.hasPermission('bpm:form:update')")
-    public CommonResult<Boolean> updateForm(@Valid @RequestBody BpmFormUpdateReqVO updateReqVO) {
-        formService.updateForm(updateReqVO);
-        return success(true);
-    }
-
-    @DeleteMapping("/delete")
-    @ApiOperation("删除动态表单")
-    @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Long.class)
-    @PreAuthorize("@ss.hasPermission('bpm:form:delete')")
-    public CommonResult<Boolean> deleteForm(@RequestParam("id") Long id) {
-        formService.deleteForm(id);
-        return success(true);
-    }
-
-    @GetMapping("/get")
-    @ApiOperation("获得动态表单")
-    @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class)
-    @PreAuthorize("@ss.hasPermission('bpm:form:query')")
-    public CommonResult<BpmFormRespVO> getForm(@RequestParam("id") Long id) {
-        BpmFormDO form = formService.getForm(id);
-        return success(BpmFormConvert.INSTANCE.convert(form));
-    }
-
-    @GetMapping("/list-all-simple")
-    @ApiOperation(value = "获得动态表单的精简列表", notes = "用于表单下拉框")
-    public CommonResult<List<BpmFormSimpleRespVO>> getSimpleForms() {
-        List<BpmFormDO> list = formService.getFormList();
-        return success(BpmFormConvert.INSTANCE.convertList2(list));
-    }
-
-    @GetMapping("/page")
-    @ApiOperation("获得动态表单分页")
-    @PreAuthorize("@ss.hasPermission('bpm:form:query')")
-    public CommonResult<PageResult<BpmFormRespVO>> getFormPage(@Valid BpmFormPageReqVO pageVO) {
-        PageResult<BpmFormDO> pageResult = formService.getFormPage(pageVO);
-        return success(BpmFormConvert.INSTANCE.convertPage(pageResult));
-    }
-
-}

+ 0 - 97
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/BpmModelController.java

@@ -1,97 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition;
-
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.model.*;
-import cn.iocoder.yudao.adminserver.modules.bpm.convert.definition.BpmModelConvert;
-import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmModelService;
-import cn.iocoder.yudao.framework.common.pojo.CommonResult;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.common.util.io.IoUtils;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import javax.validation.Valid;
-import java.io.IOException;
-
-import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
-
-@Api(tags = "流程模型")
-@RestController
-@RequestMapping("/bpm/model")
-@Validated
-public class BpmModelController {
-
-    @Resource
-    private BpmModelService bpmModelService;
-
-    @GetMapping("/page")
-    @ApiOperation(value = "获得模型分页")
-    public CommonResult<PageResult<BpmModelPageItemRespVO>> getModelPage(ModelPageReqVO pageVO) {
-        return success(bpmModelService.getModelPage(pageVO));
-    }
-
-    @GetMapping("/get")
-    @ApiOperation("获得模型")
-    @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = String.class)
-    @PreAuthorize("@ss.hasPermission('bpm:model:query')")
-    public CommonResult<BpmModelRespVO> getModel(@RequestParam("id") String id) {
-        BpmModelRespVO model = bpmModelService.getModel(id);
-        return success(model);
-    }
-
-    @PostMapping("/create")
-    @ApiOperation(value = "新建模型")
-    @PreAuthorize("@ss.hasPermission('bpm:model:create')")
-    public CommonResult<String> createModel(@Valid @RequestBody BpmModelCreateReqVO createRetVO) {
-        return success(bpmModelService.createModel(createRetVO, null));
-    }
-
-    @PostMapping("/import")
-    @ApiOperation(value = "导入模型")
-    @PreAuthorize("@ss.hasPermission('bpm:model:import')")
-    public CommonResult<String> importModel(@Valid BpmModeImportReqVO importReqVO) throws IOException {
-        BpmModelCreateReqVO createReqVO = BpmModelConvert.INSTANCE.convert(importReqVO);
-        // 读取文件
-        String bpmnXml = IoUtils.readUtf8(importReqVO.getBpmnFile().getInputStream(), false);
-        return success(bpmModelService.createModel(createReqVO, bpmnXml));
-    }
-
-    @PutMapping("/update")
-    @ApiOperation(value = "修改模型")
-    @PreAuthorize("@ss.hasPermission('bpm:model:update')")
-    public CommonResult<Boolean> updateModel(@Valid @RequestBody BpmModelUpdateReqVO modelVO) {
-        bpmModelService.updateModel(modelVO);
-        return success(true);
-    }
-
-    @DeleteMapping("/delete")
-    @ApiOperation("删除模型")
-    @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = String.class)
-    @PreAuthorize("@ss.hasPermission('bpm:model:delete')")
-    public CommonResult<Boolean> deleteModel(@RequestParam("id") String id) {
-        bpmModelService.deleteModel(id);
-        return success(true);
-    }
-
-    @PostMapping("/deploy")
-    @ApiOperation(value = "部署模型")
-    @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = String.class)
-    @PreAuthorize("@ss.hasPermission('bpm:model:deploy')")
-    public CommonResult<Boolean> deployModel(@RequestParam("id") String id) {
-        bpmModelService.deployModel(id);
-        return success(true);
-    }
-
-    @PutMapping("/update-state")
-    @ApiOperation(value = "修改模型的状态", notes = "实际更新的部署的流程定义的状态")
-    @PreAuthorize("@ss.hasPermission('bpm:model:update')")
-    public CommonResult<Boolean> updateModelState(@Valid @RequestBody BpmModelUpdateStateReqVO reqVO) {
-        bpmModelService.updateModelState(reqVO.getId(), reqVO.getState());
-        return success(true);
-    }
-
-}

+ 0 - 60
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/BpmProcessDefinitionController.java

@@ -1,60 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition;
-
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.process.BpmProcessDefinitionListReqVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.process.BpmProcessDefinitionPageItemRespVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.process.BpmProcessDefinitionPageReqVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.process.BpmProcessDefinitionRespVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmProcessDefinitionService;
-import cn.iocoder.yudao.framework.common.pojo.CommonResult;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-
-import java.util.List;
-
-import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
-
-@Api(tags = "流程定义")
-@RestController
-@RequestMapping("/bpm/process-definition")
-@Validated
-public class BpmProcessDefinitionController {
-
-    @Resource
-    private BpmProcessDefinitionService bpmDefinitionService;
-
-    @GetMapping ("/page")
-    @ApiOperation(value = "获得流程定义分页")
-    @PreAuthorize("@ss.hasPermission('bpm:process-definition:query')")
-    public CommonResult<PageResult<BpmProcessDefinitionPageItemRespVO>> getProcessDefinitionPage(
-            BpmProcessDefinitionPageReqVO pageReqVO) {
-        return success(bpmDefinitionService.getProcessDefinitionPage(pageReqVO));
-    }
-
-    @GetMapping ("/list")
-    @ApiOperation(value = "获得流程定义列表")
-    @PreAuthorize("@ss.hasPermission('bpm:process-definition:query')")
-    public CommonResult<List<BpmProcessDefinitionRespVO>> getProcessDefinitionList(
-            BpmProcessDefinitionListReqVO listReqVO) {
-        return success(bpmDefinitionService.getProcessDefinitionList(listReqVO));
-    }
-
-    @GetMapping ("/get-bpmn-xml")
-    @ApiOperation(value = "获得流程定义的 BPMN XML")
-    @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = String.class)
-    @PreAuthorize("@ss.hasPermission('bpm:process-definition:query')")
-    public CommonResult<String> getProcessDefinitionBpmnXML(@RequestParam("id") String id) {
-        String bpmnXML = bpmDefinitionService.getProcessDefinitionBpmnXML(id);
-        return success(bpmnXML);
-    }
-
-}

+ 0 - 59
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/BpmTaskAssignRuleController.java

@@ -1,59 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition;
-
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleCreateReqVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleRespVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleUpdateReqVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmTaskAssignRuleService;
-import cn.iocoder.yudao.framework.common.pojo.CommonResult;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import javax.validation.Valid;
-import java.util.List;
-
-import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
-
-@Api(tags = "任务分配规则")
-@RestController
-@RequestMapping("/bpm/task-assign-rule")
-@Validated
-public class BpmTaskAssignRuleController {
-
-    @Resource
-    private BpmTaskAssignRuleService taskAssignRuleService;
-
-    @GetMapping("/list")
-    @ApiOperation(value = "获得任务分配规则列表")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "modelId", value = "模型编号", example = "1024", dataTypeClass = String.class),
-            @ApiImplicitParam(name = "processDefinitionId", value = "刘晨定义的编号", example = "2048", dataTypeClass = String.class)
-    })
-    @PreAuthorize("@ss.hasPermission('bpm:task-assign-rule:query')")
-    public CommonResult<List<BpmTaskAssignRuleRespVO>> getTaskAssignRuleList(
-            @RequestParam(value = "modelId", required = false) String modelId,
-            @RequestParam(value = "processDefinitionId", required = false) String processDefinitionId) {
-        return success(taskAssignRuleService.getTaskAssignRuleList(modelId, processDefinitionId));
-    }
-
-    @PostMapping("/create")
-    @ApiOperation(value = "创建任务分配规则")
-    @PreAuthorize("@ss.hasPermission('bpm:task-assign-rule:create')")
-    public CommonResult<Long> createTaskAssignRule(@Valid @RequestBody BpmTaskAssignRuleCreateReqVO reqVO) {
-        return success(taskAssignRuleService.createTaskAssignRule(reqVO));
-    }
-
-    @PutMapping("/update")
-    @ApiOperation(value = "更新任务分配规则")
-    @PreAuthorize("@ss.hasPermission('bpm:task-assign-rule:update')")
-    public CommonResult<Boolean> updateTaskAssignRule(@Valid @RequestBody BpmTaskAssignRuleUpdateReqVO reqVO) {
-        taskAssignRuleService.updateTaskAssignRule(reqVO);
-        return success(true);
-    }
-
-}

+ 0 - 89
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/BpmUserGroupController.java

@@ -1,89 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition;
-
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.group.BpmUserGroupCreateReqVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.group.BpmUserGroupPageReqVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.group.BpmUserGroupRespVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.group.BpmUserGroupUpdateReqVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.convert.definition.BpmUserGroupConvert;
-import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition.BpmUserGroupDO;
-import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmUserGroupService;
-import cn.iocoder.yudao.adminserver.modules.system.controller.user.vo.user.SysUserSimpleRespVO;
-import cn.iocoder.yudao.adminserver.modules.system.convert.user.SysUserConvert;
-import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO;
-import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
-import cn.iocoder.yudao.framework.common.pojo.CommonResult;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import javax.validation.Valid;
-
-import java.util.List;
-
-import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
-
-@Api(tags = "用户组")
-@RestController
-@RequestMapping("/bpm/user-group")
-@Validated
-public class BpmUserGroupController {
-
-    @Resource
-    private BpmUserGroupService userGroupService;
-
-    @PostMapping("/create")
-    @ApiOperation("创建用户组")
-    @PreAuthorize("@ss.hasPermission('bpm:user-group:create')")
-    public CommonResult<Long> createUserGroup(@Valid @RequestBody BpmUserGroupCreateReqVO createReqVO) {
-        return success(userGroupService.createUserGroup(createReqVO));
-    }
-
-    @PutMapping("/update")
-    @ApiOperation("更新用户组")
-    @PreAuthorize("@ss.hasPermission('bpm:user-group:update')")
-    public CommonResult<Boolean> updateUserGroup(@Valid @RequestBody BpmUserGroupUpdateReqVO updateReqVO) {
-        userGroupService.updateUserGroup(updateReqVO);
-        return success(true);
-    }
-
-    @DeleteMapping("/delete")
-    @ApiOperation("删除用户组")
-    @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Long.class)
-    @PreAuthorize("@ss.hasPermission('bpm:user-group:delete')")
-    public CommonResult<Boolean> deleteUserGroup(@RequestParam("id") Long id) {
-        userGroupService.deleteUserGroup(id);
-        return success(true);
-    }
-
-    @GetMapping("/get")
-    @ApiOperation("获得用户组")
-    @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class)
-    @PreAuthorize("@ss.hasPermission('bpm:user-group:query')")
-    public CommonResult<BpmUserGroupRespVO> getUserGroup(@RequestParam("id") Long id) {
-        BpmUserGroupDO userGroup = userGroupService.getUserGroup(id);
-        return success(BpmUserGroupConvert.INSTANCE.convert(userGroup));
-    }
-
-    @GetMapping("/page")
-    @ApiOperation("获得用户组分页")
-    @PreAuthorize("@ss.hasPermission('bpm:user-group:query')")
-    public CommonResult<PageResult<BpmUserGroupRespVO>> getUserGroupPage(@Valid BpmUserGroupPageReqVO pageVO) {
-        PageResult<BpmUserGroupDO> pageResult = userGroupService.getUserGroupPage(pageVO);
-        return success(BpmUserGroupConvert.INSTANCE.convertPage(pageResult));
-    }
-
-    @GetMapping("/list-all-simple")
-    @ApiOperation(value = "获取用户组精简信息列表", notes = "只包含被开启的用户组,主要用于前端的下拉选项")
-    public CommonResult<List<BpmUserGroupRespVO>> getSimpleUserGroups() {
-        // 获用户门列表,只要开启状态的
-        List<BpmUserGroupDO> list = userGroupService.getUserGroupListByStatus(CommonStatusEnum.ENABLE.getStatus());
-        // 排序后,返回给前端
-        return success(BpmUserGroupConvert.INSTANCE.convertList2(list));
-    }
-
-}

+ 0 - 25
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/form/BpmFormBaseVO.java

@@ -1,25 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.form;
-
-import lombok.*;
-import io.swagger.annotations.*;
-import javax.validation.constraints.*;
-
-/**
-* 动态表单 Base VO,提供给添加、修改、详细的子 VO 使用
-* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
-*/
-@Data
-public class BpmFormBaseVO {
-
-    @ApiModelProperty(value = "表单名称", required = true, example = "芋道")
-    @NotNull(message = "表单名称不能为空")
-    private String name;
-
-    @ApiModelProperty(value = "表单状态", required = true, notes = "参见 CommonStatusEnum 枚举", example = "1")
-    @NotNull(message = "表单状态不能为空")
-    private Integer status;
-
-    @ApiModelProperty(value = "备注", example = "我是备注")
-    private String remark;
-
-}

+ 0 - 23
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/form/BpmFormCreateReqVO.java

@@ -1,23 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.form;
-
-import lombok.*;
-import io.swagger.annotations.*;
-
-import javax.validation.constraints.NotNull;
-import java.util.List;
-
-@ApiModel("动态表单创建 Request VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class BpmFormCreateReqVO extends BpmFormBaseVO {
-
-    @ApiModelProperty(value = "表单的配置", required = true, notes = "JSON 字符串")
-    @NotNull(message = "表单的配置不能为空")
-    private String conf;
-
-    @ApiModelProperty(value = "表单项的数组", required = true, notes = "JSON 字符串的数组")
-    @NotNull(message = "表单项的数组不能为空")
-    private List<String> fields;
-
-}

+ 0 - 19
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/form/BpmFormPageReqVO.java

@@ -1,19 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.form;
-
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-
-@ApiModel("动态表单分页 Request VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class BpmFormPageReqVO extends PageParam {
-
-    @ApiModelProperty(value = "表单名称", example = "芋道")
-    private String name;
-
-}

+ 0 - 33
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/form/BpmFormRespVO.java

@@ -1,33 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.form;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-
-import javax.validation.constraints.NotNull;
-import java.util.Date;
-import java.util.List;
-
-@ApiModel("动态表单 Response VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class BpmFormRespVO extends BpmFormBaseVO {
-
-    @ApiModelProperty(value = "表单编号", required = true, example = "1024")
-    private Long id;
-
-    @ApiModelProperty(value = "表单的配置", required = true, notes = "JSON 字符串")
-    @NotNull(message = "表单的配置不能为空")
-    private String conf;
-
-    @ApiModelProperty(value = "表单项的数组", required = true, notes = "JSON 字符串的数组")
-    @NotNull(message = "表单项的数组不能为空")
-    private List<String> fields;
-
-    @ApiModelProperty(value = "创建时间", required = true)
-    private Date createTime;
-
-}

+ 0 - 17
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/form/BpmFormSimpleRespVO.java

@@ -1,17 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.form;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@ApiModel("流程表单精简 Response VO")
-@Data
-public class BpmFormSimpleRespVO {
-
-    @ApiModelProperty(value = "表单编号", required = true, example = "1024")
-    private Long id;
-
-    @ApiModelProperty(value = "表单名称", required = true, example = "芋道")
-    private String name;
-
-}

+ 0 - 26
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/form/BpmFormUpdateReqVO.java

@@ -1,26 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.form;
-
-import lombok.*;
-import io.swagger.annotations.*;
-import javax.validation.constraints.*;
-import java.util.List;
-
-@ApiModel("动态表单更新 Request VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class BpmFormUpdateReqVO extends BpmFormBaseVO {
-
-    @ApiModelProperty(value = "表单编号", required = true, example = "1024")
-    @NotNull(message = "表单编号不能为空")
-    private Long id;
-
-    @ApiModelProperty(value = "表单的配置", required = true, notes = "JSON 字符串")
-    @NotNull(message = "表单的配置不能为空")
-    private String conf;
-
-    @ApiModelProperty(value = "表单项的数组", required = true, notes = "JSON 字符串的数组")
-    @NotNull(message = "表单项的数组不能为空")
-    private List<String> fields;
-
-}

+ 0 - 31
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/group/BpmUserGroupBaseVO.java

@@ -1,31 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.group;
-
-import lombok.*;
-import java.util.*;
-import io.swagger.annotations.*;
-import javax.validation.constraints.*;
-
-/**
-* 用户组 Base VO,提供给添加、修改、详细的子 VO 使用
-* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
-*/
-@Data
-public class BpmUserGroupBaseVO {
-
-    @ApiModelProperty(value = "组名", required = true, example = "芋道")
-    @NotNull(message = "组名不能为空")
-    private String name;
-
-    @ApiModelProperty(value = "描述", required = true, example = "芋道源码")
-    @NotNull(message = "描述不能为空")
-    private String description;
-
-    @ApiModelProperty(value = "成员编号数组", required = true, example = "1,2,3")
-    @NotNull(message = "成员编号数组不能为空")
-    private Set<Long> memberUserIds;
-
-    @ApiModelProperty(value = "状态", required = true, example = "1")
-    @NotNull(message = "状态不能为空")
-    private Integer status;
-
-}

+ 0 - 14
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/group/BpmUserGroupCreateReqVO.java

@@ -1,14 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.group;
-
-import lombok.*;
-import java.util.*;
-import io.swagger.annotations.*;
-import javax.validation.constraints.*;
-
-@ApiModel("用户组创建 Request VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class BpmUserGroupCreateReqVO extends BpmUserGroupBaseVO {
-
-}

+ 0 - 31
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/group/BpmUserGroupPageReqVO.java

@@ -1,31 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.group;
-
-import lombok.*;
-import java.util.*;
-import io.swagger.annotations.*;
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
-
-@ApiModel("用户组分页 Request VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class BpmUserGroupPageReqVO extends PageParam {
-
-    @ApiModelProperty(value = "组名", example = "芋道")
-    private String name;
-
-    @ApiModelProperty(value = "状态", example = "1")
-    private Integer status;
-
-    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
-    @ApiModelProperty(value = "开始创建时间")
-    private Date beginCreateTime;
-
-    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
-    @ApiModelProperty(value = "结束创建时间")
-    private Date endCreateTime;
-
-}

+ 0 - 19
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/group/BpmUserGroupRespVO.java

@@ -1,19 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.group;
-
-import lombok.*;
-import java.util.*;
-import io.swagger.annotations.*;
-
-@ApiModel("用户组 Response VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class BpmUserGroupRespVO extends BpmUserGroupBaseVO {
-
-    @ApiModelProperty(value = "编号", required = true, example = "1024")
-    private Long id;
-
-    @ApiModelProperty(value = "创建时间", required = true)
-    private Date createTime;
-
-}

+ 0 - 21
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/group/BpmUserGroupSimpleRespVO.java

@@ -1,21 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.group;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-@ApiModel("用户组精简信息 Response VO")
-@Data
-@NoArgsConstructor
-@AllArgsConstructor
-public class BpmUserGroupSimpleRespVO {
-
-    @ApiModelProperty(value = "用户组编号", required = true, example = "1024")
-    private Long id;
-
-    @ApiModelProperty(value = "用户组名字", required = true, example = "芋道")
-    private String name;
-
-}

+ 0 - 18
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/group/BpmUserGroupUpdateReqVO.java

@@ -1,18 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.group;
-
-import lombok.*;
-import java.util.*;
-import io.swagger.annotations.*;
-import javax.validation.constraints.*;
-
-@ApiModel("用户组更新 Request VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class BpmUserGroupUpdateReqVO extends BpmUserGroupBaseVO {
-
-    @ApiModelProperty(value = "编号", required = true, example = "1024")
-    @NotNull(message = "编号不能为空")
-    private Long id;
-
-}

+ 0 - 22
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/model/BpmModeImportReqVO.java

@@ -1,22 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.model;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.validation.constraints.NotNull;
-
-@ApiModel(value = "流程模型的导入 Request VO", description = "相比流程模型的新建来说,只是多了一个 bpmnFile 文件")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class BpmModeImportReqVO extends BpmModelCreateReqVO {
-
-    @ApiModelProperty(value = "BPMN 文件", required = true)
-    @NotNull(message = "BPMN 文件不能为空")
-    private MultipartFile bpmnFile;
-
-}

+ 0 - 41
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/model/BpmModelBaseVO.java

@@ -1,41 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.model;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import javax.validation.constraints.NotEmpty;
-
-/**
-* 流程模型 Base VO,提供给添加、修改、详细的子 VO 使用
-* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
-*/
-@Data
-public class BpmModelBaseVO {
-
-    @ApiModelProperty(value = "流程标识", required = true, example = "process_yudao")
-    @NotEmpty(message = "流程标识不能为空")
-    private String key;
-
-    @ApiModelProperty(value = "流程名称", required = true, example = "芋道")
-    @NotEmpty(message = "流程名称不能为空")
-    private String name;
-
-    @ApiModelProperty(value = "流程描述", example = "我是描述")
-    private String description;
-
-    @ApiModelProperty(value = "流程分类", notes = "参见 bpm_model_category 数据字典", example = "1")
-    @NotEmpty(message = "流程分类不能为空")
-    private String category;
-
-    @ApiModelProperty(value = "表单类型", notes = "参见 bpm_model_form_type 数据字典", example = "1")
-    private Integer formType;
-    @ApiModelProperty(value = "表单编号", example = "1024", notes = "在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空")
-    private Long formId;
-    @ApiModelProperty(value = "自定义表单的提交路径,使用 Vue 的路由地址", example = "/bpm/oa/leave/create",
-            notes = "在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空")
-    private String formCustomCreatePath;
-    @ApiModelProperty(value = "自定义表单的查看路径,使用 Vue 的路由地址", example = "/bpm/oa/leave/view",
-            notes = "在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空")
-    private String formCustomViewPath;
-
-}

+ 0 - 26
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/model/BpmModelCreateReqVO.java

@@ -1,26 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.model;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-
-import javax.validation.constraints.NotEmpty;
-
-@ApiModel("流程模型的创建 Request VO")
-@Data
-public class BpmModelCreateReqVO {
-
-    @ApiModelProperty(value = "流程标识", required = true, example = "process_yudao")
-    @NotEmpty(message = "流程标识不能为空")
-    private String key;
-
-    @ApiModelProperty(value = "流程名称", required = true, example = "芋道")
-    @NotEmpty(message = "流程名称不能为空")
-    private String name;
-
-    @ApiModelProperty(value = "流程描述", example = "我是描述")
-    private String description;
-
-}

+ 0 - 49
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/model/BpmModelPageItemRespVO.java

@@ -1,49 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.model;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-
-import java.util.Date;
-
-@ApiModel("流程模型的分页的每一项 Response VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class BpmModelPageItemRespVO extends BpmModelBaseVO {
-
-    @ApiModelProperty(value = "编号", required = true, example = "1024")
-    private String id;
-
-    @ApiModelProperty(value = "表单名字", example = "请假表单")
-    private String formName;
-
-    @ApiModelProperty(value = "创建时间", required = true)
-    private Date createTime;
-
-    /**
-     * 最新部署的流程定义
-     */
-    private ProcessDefinition processDefinition;
-
-    @ApiModel("流程定义")
-    @Data
-    public static class ProcessDefinition {
-
-        @ApiModelProperty(value = "编号", required = true, example = "1024")
-        private String id;
-
-        @ApiModelProperty(value = "版本", required = true, example = "1")
-        private Integer version;
-
-        @ApiModelProperty(value = "部署时间", required = true)
-        private Date deploymentTime;
-
-        @ApiModelProperty(value = "中断状态", required = true, example = "1", notes = "参见 SuspensionState 枚举")
-        private Integer suspensionState;
-
-    }
-
-}

+ 0 - 26
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/model/BpmModelRespVO.java

@@ -1,26 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.model;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-
-import java.util.Date;
-
-@ApiModel("流程模型的创建 Request VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class BpmModelRespVO extends BpmModelBaseVO {
-
-    @ApiModelProperty(value = "编号", required = true, example = "1024")
-    private String id;
-
-    @ApiModelProperty(value = "BPMN XML", required = true)
-    private String bpmnXml;
-
-    @ApiModelProperty(value = "创建时间", required = true)
-    private Date createTime;
-
-}

+ 0 - 40
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/model/BpmModelUpdateReqVO.java

@@ -1,40 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.model;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import javax.validation.constraints.NotEmpty;
-
-@ApiModel("流程模型的更新 Request VO")
-@Data
-public class BpmModelUpdateReqVO {
-
-    @ApiModelProperty(value = "编号", required = true, example = "1024")
-    @NotEmpty(message = "编号不能为空")
-    private String id;
-
-    @ApiModelProperty(value = "流程名称", example = "芋道")
-    private String name;
-
-    @ApiModelProperty(value = "流程描述", example = "我是描述")
-    private String description;
-
-    @ApiModelProperty(value = "流程分类", notes = "参见 bpm_model_category 数据字典", example = "1")
-    private String category;
-
-    @ApiModelProperty(value = "BPMN XML", required = true)
-    private String bpmnXml;
-
-    @ApiModelProperty(value = "表单类型", notes = "参见 bpm_model_form_type 数据字典", example = "1")
-    private Integer formType;
-    @ApiModelProperty(value = "表单编号", example = "1024", notes = "在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空")
-    private Long formId;
-    @ApiModelProperty(value = "自定义表单的提交路径,使用 Vue 的路由地址", example = "/bpm/oa/leave/create",
-            notes = "在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空")
-    private String formCustomCreatePath;
-    @ApiModelProperty(value = "自定义表单的查看路径,使用 Vue 的路由地址", example = "/bpm/oa/leave/view",
-            notes = "在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空")
-    private String formCustomViewPath;
-
-}

+ 0 - 21
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/model/BpmModelUpdateStateReqVO.java

@@ -1,21 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.model;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import javax.validation.constraints.NotNull;
-
-@ApiModel("流程模型更新状态 Request VO")
-@Data
-public class BpmModelUpdateStateReqVO {
-
-    @ApiModelProperty(value = "编号", required = true, example = "1024")
-    @NotNull(message = "编号不能为空")
-    private String id;
-
-    @ApiModelProperty(value = "状态", required = true, example = "1", notes = "见 SuspensionState 枚举")
-    @NotNull(message = "状态不能为空")
-    private Integer state;
-
-}

+ 0 - 26
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/model/ModelPageReqVO.java

@@ -1,26 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.model;
-
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-
-
-@ApiModel("流程模型分页 Request VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class ModelPageReqVO extends PageParam {
-
-    @ApiModelProperty(value = "标识", example = "process1641042089407", notes = "精准匹配")
-    private String key;
-
-    @ApiModelProperty(value = "名字", example = "芋道", notes = "模糊匹配")
-    private String name;
-
-    @ApiModelProperty(value = "流程分类", notes = "参见 bpm_model_category 数据字典", example = "1")
-    private String category;
-
-}

+ 0 - 19
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/process/BpmProcessDefinitionListReqVO.java

@@ -1,19 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.process;
-
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-
-@Data
-@ToString(callSuper = true)
-@EqualsAndHashCode(callSuper = true)
-@ApiModel("流程定义列表 Request VO")
-public class BpmProcessDefinitionListReqVO extends PageParam {
-
-    @ApiModelProperty(value = "中断状态", example = "1", notes = "参见 SuspensionState 枚举")
-    private Integer suspensionState;
-
-}

+ 0 - 23
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/process/BpmProcessDefinitionPageItemRespVO.java

@@ -1,23 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.process;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-
-import java.util.Date;
-
-@ApiModel("流程定义的分页的每一项 Response VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class BpmProcessDefinitionPageItemRespVO extends BpmProcessDefinitionRespVO {
-
-    @ApiModelProperty(value = "表单名字", example = "请假表单")
-    private String formName;
-
-    @ApiModelProperty(value = "部署时间", required = true)
-    private Date deploymentTime;
-
-}

+ 0 - 19
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/process/BpmProcessDefinitionPageReqVO.java

@@ -1,19 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.process;
-
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-
-@Data
-@ToString(callSuper = true)
-@EqualsAndHashCode(callSuper = true)
-@ApiModel("流程定义分页 Request VO")
-public class BpmProcessDefinitionPageReqVO extends PageParam {
-
-    @ApiModelProperty(value = "标识", example = "process1641042089407", notes = "精准匹配")
-    private String key;
-
-}

+ 0 - 52
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/process/BpmProcessDefinitionRespVO.java

@@ -1,52 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.process;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
-import java.util.List;
-
-@ApiModel("流程定义 Response VO")
-@Data
-public class BpmProcessDefinitionRespVO {
-
-    @ApiModelProperty(value = "编号", required = true, example = "1024")
-    private String id;
-
-    @ApiModelProperty(value = "版本", required = true, example = "1")
-    private Integer version;
-
-    @ApiModelProperty(value = "流程名称", required = true, example = "芋道")
-    @NotEmpty(message = "流程名称不能为空")
-    private String name;
-
-    @ApiModelProperty(value = "流程描述", example = "我是描述")
-    private String description;
-
-    @ApiModelProperty(value = "流程分类", notes = "参见 bpm_model_category 数据字典", example = "1")
-    @NotEmpty(message = "流程分类不能为空")
-    private String category;
-
-    @ApiModelProperty(value = "表单类型", notes = "参见 bpm_model_form_type 数据字典", example = "1")
-    private Integer formType;
-    @ApiModelProperty(value = "表单编号", example = "1024", notes = "在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空")
-    private Long formId;
-    @ApiModelProperty(value = "表单的配置", required = true,
-            notes = "JSON 字符串。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空")
-    private String formConf;
-    @ApiModelProperty(value = "表单项的数组", required = true,
-            notes = "JSON 字符串的数组。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空")
-    private List<String> formFields;
-    @ApiModelProperty(value = "自定义表单的提交路径,使用 Vue 的路由地址", example = "/bpm/oa/leave/create",
-            notes = "在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空")
-    private String formCustomCreatePath;
-    @ApiModelProperty(value = "自定义表单的查看路径,使用 Vue 的路由地址", example = "/bpm/oa/leave/view",
-            notes = "在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空")
-    private String formCustomViewPath;
-
-    @ApiModelProperty(value = "中断状态", required = true, example = "1", notes = "参见 SuspensionState 枚举")
-    private Integer suspensionState;
-
-}

+ 0 - 25
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/rule/BpmTaskAssignRuleBaseVO.java

@@ -1,25 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
-import java.util.Set;
-
-/**
- * 流程任务分配规则 Base VO,提供给添加、修改、详细的子 VO 使用
- * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
- */
-@Data
-public class BpmTaskAssignRuleBaseVO {
-
-    @ApiModelProperty(value = "规则类型", required = true, example = "bpm_task_assign_rule_type")
-    @NotNull(message = "规则类型不能为空")
-    private Integer type;
-
-    @ApiModelProperty(value = "规则值数组", required = true, example = "1,2,3")
-    @NotNull(message = "规则值数组不能为空")
-    private Set<Long> options;
-
-}

+ 0 - 25
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/rule/BpmTaskAssignRuleCreateReqVO.java

@@ -1,25 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-
-import javax.validation.constraints.NotEmpty;
-
-@ApiModel("流程任务分配规则的创建 Request VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class BpmTaskAssignRuleCreateReqVO extends BpmTaskAssignRuleBaseVO {
-
-    @ApiModelProperty(value = "流程模型的编号", required = true, example = "1024")
-    @NotEmpty(message = "流程模型的编号不能为空")
-    private String modelId;
-
-    @ApiModelProperty(value = "流程任务定义的编号", required = true, example = "2048")
-    @NotEmpty(message = "流程任务定义的编号不能为空")
-    private String taskDefinitionKey;
-
-}

+ 0 - 29
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/rule/BpmTaskAssignRuleRespVO.java

@@ -1,29 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-
-@ApiModel("流程任务分配规则的 Response VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class BpmTaskAssignRuleRespVO extends BpmTaskAssignRuleBaseVO {
-
-    @ApiModelProperty(value = "任务分配规则的编号", required = true, example = "1024")
-    private Long id;
-
-    @ApiModelProperty(value = "流程模型的编号", required = true, example = "2048")
-    private String modelId;
-
-    @ApiModelProperty(value = "流程定义的编号", required = true, example = "4096")
-    private String processDefinitionId;
-
-    @ApiModelProperty(value = "流程任务定义的编号", required = true, example = "2048")
-    private String taskDefinitionKey;
-    @ApiModelProperty(value = "流程任务定义的名字", required = true, example = "关注芋道")
-    private String taskDefinitionName;
-
-}

+ 0 - 22
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/vo/rule/BpmTaskAssignRuleUpdateReqVO.java

@@ -1,22 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-
-import javax.validation.constraints.NotNull;
-import java.util.Set;
-
-@ApiModel("流程任务分配规则的更新 Request VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class BpmTaskAssignRuleUpdateReqVO extends BpmTaskAssignRuleBaseVO {
-
-    @ApiModelProperty(value = "任务分配规则的编号", required = true, example = "1024")
-    @NotNull(message = "任务分配规则的编号不能为空")
-    private Long id;
-
-}

+ 0 - 63
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/oa/BpmOALeaveController.java

@@ -1,63 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.oa;
-
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeaveCreateReqVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeavePageReqVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeaveRespVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.convert.oa.BpmOALeaveConvert;
-import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.BpmOALeaveDO;
-import cn.iocoder.yudao.adminserver.modules.bpm.service.oa.BpmOALeaveService;
-import cn.iocoder.yudao.framework.common.pojo.CommonResult;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import javax.validation.Valid;
-
-import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
-import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
-
-/**
- * OA 请假申请 Controller,用于演示自己存储数据,接入工作流的例子
- *
- * @author jason
- * @author 芋道源码
- */
-@Api(tags = "OA 请假申请")
-@RestController
-@RequestMapping("/bpm/oa/leave")
-@Validated
-public class BpmOALeaveController {
-
-    @Resource
-    private BpmOALeaveService leaveService;
-
-    @PostMapping("/create")
-    @PreAuthorize("@ss.hasPermission('bpm:oa-leave:create')")
-    @ApiOperation("创建请求申请")
-    public CommonResult<Long> createLeave(@Valid @RequestBody BpmOALeaveCreateReqVO createReqVO) {
-        return success(leaveService.createLeave(getLoginUserId(), createReqVO));
-    }
-
-    @GetMapping("/get")
-    @PreAuthorize("@ss.hasPermission('bpm:oa-leave:query')")
-    @ApiOperation("获得请假申请")
-    @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class)
-    public CommonResult<BpmOALeaveRespVO> getLeave(@RequestParam("id") Long id) {
-        BpmOALeaveDO leave = leaveService.getLeave(id);
-        return success(BpmOALeaveConvert.INSTANCE.convert(leave));
-    }
-
-    @GetMapping("/page")
-    @PreAuthorize("@ss.hasPermission('bpm:oa-leave:query')")
-    @ApiOperation("获得请假申请分页")
-    public CommonResult<PageResult<BpmOALeaveRespVO>> getLeavePage(@Valid BpmOALeavePageReqVO pageVO) {
-        PageResult<BpmOALeaveDO> pageResult = leaveService.getLeavePage(getLoginUserId(), pageVO);
-        return success(BpmOALeaveConvert.INSTANCE.convertPage(pageResult));
-    }
-
-}

+ 0 - 33
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/oa/vo/BpmOALeaveBaseVO.java

@@ -1,33 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo;
-
-import lombok.*;
-import java.util.*;
-import io.swagger.annotations.*;
-import javax.validation.constraints.*;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
-
-/**
-* 请假申请 Base VO,提供给添加、修改、详细的子 VO 使用
-* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
-*/
-@Data
-public class BpmOALeaveBaseVO {
-
-    @ApiModelProperty(value = "请假的开始时间", required = true)
-    @NotNull(message = "开始时间不能为空")
-    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
-    private Date startTime;
-    @ApiModelProperty(value = "请假的结束时间", required = true)
-    @NotNull(message = "结束时间不能为空")
-    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
-    private Date endTime;
-
-    @ApiModelProperty(value = "请假类型", required = true, example = "1", notes = "参见 bpm_oa_type 枚举")
-    private Integer type;
-
-    @ApiModelProperty(value = "原因", required = true, example = "阅读芋道源码")
-    private String reason;
-
-}

+ 0 - 21
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/oa/vo/BpmOALeaveCreateReqVO.java

@@ -1,21 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo;
-
-import io.swagger.annotations.ApiModel;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-
-import javax.validation.constraints.AssertTrue;
-
-@ApiModel("请假申请创建 Request VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class BpmOALeaveCreateReqVO extends BpmOALeaveBaseVO {
-
-    @AssertTrue(message = "结束时间,需要在开始时间之后")
-    public boolean isEndTimeValid() {
-        return !getEndTime().before(getStartTime());
-    }
-
-}

+ 0 - 34
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/oa/vo/BpmOALeavePageReqVO.java

@@ -1,34 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo;
-
-import lombok.*;
-import java.util.*;
-import io.swagger.annotations.*;
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
-
-@ApiModel("请假申请分页 Request VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class BpmOALeavePageReqVO extends PageParam {
-
-    @ApiModelProperty(value = "状态", example = "1", notes = "参见 bpm_process_instance_result 枚举")
-    private Integer result;
-
-    @ApiModelProperty(value = "请假类型", example = "1", notes = "参见 bpm_oa_type")
-    private Integer type;
-
-    @ApiModelProperty(value = "原因", example = "阅读芋道源码", notes = "模糊匹配")
-    private String reason;
-
-    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
-    @ApiModelProperty(value = "开始申请时间")
-    private Date beginCreateTime;
-
-    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
-    @ApiModelProperty(value = "结束申请时间")
-    private Date endCreateTime;
-
-}

+ 0 - 32
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/oa/vo/BpmOALeaveRespVO.java

@@ -1,32 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo;
-
-import lombok.*;
-import io.swagger.annotations.*;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import javax.validation.constraints.NotNull;
-import java.util.Date;
-
-import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
-
-@ApiModel("请假申请 Response VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class BpmOALeaveRespVO extends BpmOALeaveBaseVO {
-
-    @ApiModelProperty(value = "请假表单主键", required = true, example = "1024")
-    private Long id;
-
-    @ApiModelProperty(value = "状态", required = true, example = "1", notes = "参见 bpm_process_instance_result 枚举")
-    private Integer result;
-
-    @ApiModelProperty(value = "申请时间", required = true)
-    @NotNull(message = "申请时间不能为空")
-    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
-    private Date createTime;
-
-    @ApiModelProperty(value = "流程id")
-    private String processInstanceId;
-
-}

+ 0 - 55
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/BpmActivityController.java

@@ -1,55 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.task;
-
-import cn.hutool.core.util.StrUtil;
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.activity.BpmActivityRespVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmActivityService;
-import cn.iocoder.yudao.framework.common.pojo.CommonResult;
-import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.util.List;
-
-import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
-
-@Api(tags = "流程活动实例")
-@RestController
-@RequestMapping("/bpm/activity")
-@Validated
-public class BpmActivityController {
-
-    @Resource
-    private BpmActivityService activityService;
-
-    @GetMapping("/list")
-    @ApiOperation(value = "生成指定流程实例的高亮流程图",
-            notes = "只高亮进行中的任务。不过要注意,该接口暂时没用,通过前端的 ProcessViewer.vue 界面的 highlightDiagram 方法生成")
-    @ApiImplicitParam(name = "id", value = "流程实例的编号", required = true, dataTypeClass = String.class)
-    @PreAuthorize("@ss.hasPermission('bpm:task:query')")
-    public CommonResult<List<BpmActivityRespVO>> getActivityList(
-            @RequestParam("processInstanceId") String processInstanceId) {
-        return success(activityService.getActivityListByProcessInstanceId(processInstanceId));
-    }
-
-    @GetMapping("/generate-highlight-diagram")
-    @ApiOperation(value = "生成指定流程实例的高亮流程图",
-            notes = "只高亮进行中的任务。不过要注意,该接口暂时没用,通过前端的 ProcessViewer.vue 界面的 highlightDiagram 方法生成")
-    @ApiImplicitParam(name = "id", value = "流程实例的编号", required = true, dataTypeClass = String.class)
-    @PreAuthorize("@ss.hasPermission('bpm:task:query')")
-    public void generateHighlightDiagram(@RequestParam("processInstanceId") String processInstanceId,
-                                         HttpServletResponse response) throws IOException {
-        byte[] bytes = activityService.generateHighlightDiagram(processInstanceId);
-        ServletUtils.writeAttachment(response, StrUtil.format("流程图-{}.svg", processInstanceId), bytes);
-    }
-
-}

+ 0 - 60
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/BpmProcessInstanceController.java

@@ -1,60 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.task;
-
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance.*;
-import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmProcessInstanceService;
-import cn.iocoder.yudao.framework.common.pojo.CommonResult;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import javax.validation.Valid;
-
-import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
-import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
-
-@Api(tags = "流程实例") // 流程实例,通过流程定义创建的一次“申请”
-@RestController
-@RequestMapping("/bpm/process-instance")
-@Validated
-public class BpmProcessInstanceController {
-
-    @Resource
-    private BpmProcessInstanceService processInstanceService;
-    
-    @PostMapping("/create")
-    @ApiOperation("新建流程实例")
-    @PreAuthorize("@ss.hasPermission('bpm:process-instance:query')")
-    public CommonResult<String> createProcessInstance(@Valid @RequestBody BpmProcessInstanceCreateReqVO createReqVO) {
-        return success(processInstanceService.createProcessInstance(getLoginUserId(), createReqVO));
-    }
-
-    @DeleteMapping("/cancel")
-    @ApiOperation(value = "取消流程实例", notes = "撤回发起的流程")
-    @PreAuthorize("@ss.hasPermission('bpm:process-instance:cancel')")
-    public CommonResult<Boolean> cancelProcessInstance(@Valid @RequestBody BpmProcessInstanceCancelReqVO cancelReqVO) {
-        processInstanceService.cancelProcessInstance(getLoginUserId(), cancelReqVO);
-        return success(true);
-    }
-
-    @GetMapping("/my-page")
-    @ApiOperation(value = "获得我的实例分页列表", notes = "在【我的流程】菜单中,进行调用")
-    @PreAuthorize("@ss.hasPermission('bpm:process-instance:query')")
-    public CommonResult<PageResult<BpmProcessInstancePageItemRespVO>> getMyProcessInstancePage(
-            @Valid BpmProcessInstanceMyPageReqVO pageReqVO) {
-        return success(processInstanceService.getMyProcessInstancePage(getLoginUserId(), pageReqVO));
-    }
-
-    @GetMapping("/get")
-    @ApiOperation(value = "获得指定流程实例", notes = "在【流程详细】界面中,进行调用")
-    @ApiImplicitParam(name = "id", value = "流程实例的编号", required = true, dataTypeClass = String.class)
-    @PreAuthorize("@ss.hasPermission('bpm:process-instance:query')")
-    public CommonResult<BpmProcessInstanceRespVO> getProcessInstance(@RequestParam("id") String id) {
-        return success(processInstanceService.getProcessInstanceVO(id));
-    }
-
-}

+ 0 - 80
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/BpmTaskController.java

@@ -1,80 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.task;
-
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task.*;
-import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmTaskService;
-import cn.iocoder.yudao.framework.common.pojo.CommonResult;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
-import java.io.IOException;
-import java.util.List;
-
-import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
-import static cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils.getLoginUserId;
-
-@Api(tags = "流程任务实例")
-@RestController
-@RequestMapping("/bpm/task")
-@Validated
-public class BpmTaskController {
-
-    @Resource
-    private BpmTaskService taskService;
-
-    @GetMapping("todo-page")
-    @ApiOperation("获取 Todo 待办任务分页")
-    @PreAuthorize("@ss.hasPermission('bpm:task:query')")
-    public CommonResult<PageResult<BpmTaskTodoPageItemRespVO>> getTodoTaskPage(@Valid BpmTaskTodoPageReqVO pageVO) {
-        return success(taskService.getTodoTaskPage(getLoginUserId(), pageVO));
-    }
-
-    @GetMapping("done-page")
-    @ApiOperation("获取 Done 已办任务分页")
-    @PreAuthorize("@ss.hasPermission('bpm:task:query')")
-    public CommonResult<PageResult<BpmTaskDonePageItemRespVO>> getTodoTaskPage(@Valid BpmTaskDonePageReqVO pageVO) {
-        return success(taskService.getDoneTaskPage(getLoginUserId(), pageVO));
-    }
-
-    @PutMapping("/approve")
-    @ApiOperation("通过任务")
-    @PreAuthorize("@ss.hasPermission('bpm:task:update')")
-    public CommonResult<Boolean> approveTask(@Valid @RequestBody BpmTaskApproveReqVO reqVO) {
-        taskService.approveTask(getLoginUserId(), reqVO);
-        return success(true);
-    }
-
-    @PutMapping("/reject")
-    @ApiOperation("不通过任务")
-    @PreAuthorize("@ss.hasPermission('bpm:task:update')")
-    public CommonResult<Boolean> rejectTask(@Valid @RequestBody BpmTaskRejectReqVO reqVO) {
-        taskService.rejectTask(getLoginUserId(), reqVO);
-        return success(true);
-    }
-
-    @PutMapping("/update-assignee")
-    @ApiOperation(value = "更新任务的负责人", notes = "用于【流程详情】的【转派】按钮")
-    @PreAuthorize("@ss.hasPermission('bpm:task:update')")
-    public CommonResult<Boolean> updateTaskAssignee(@Valid @RequestBody BpmTaskUpdateAssigneeReqVO reqVO) {
-        taskService.updateTaskAssignee(getLoginUserId(), reqVO);
-        return success(true);
-    }
-
-    @GetMapping("/list-by-process-instance-id")
-    @ApiOperation(value = "获得指定流程实例的任务列表", notes = "包括完成的、未完成的")
-    @ApiImplicitParam(name = "processInstanceId", value = "流程实例的编号", required = true, dataTypeClass = String.class)
-    @PreAuthorize("@ss.hasPermission('bpm:task:query')")
-    public CommonResult<List<BpmTaskRespVO>> getTaskListByProcessInstanceId(
-            @RequestParam("processInstanceId") String processInstanceId) {
-        return success(taskService.getTaskListByProcessInstanceId(processInstanceId));
-    }
-
-}

+ 0 - 26
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/activity/BpmActivityRespVO.java

@@ -1,26 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.activity;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.util.Date;
-
-@ApiModel("流程活动的 Response VO")
-@Data
-public class BpmActivityRespVO {
-
-    @ApiModelProperty(value = "流程活动的标识", required = true, example = "1024")
-    private String key;
-    @ApiModelProperty(value = "流程活动的类型", required = true, example = "StartEvent")
-    private String type;
-
-    @ApiModelProperty(value = "流程活动的开始时间", required = true)
-    private Date startTime;
-    @ApiModelProperty(value = "流程活动的结束时间", required = true)
-    private Date endTime;
-
-    @ApiModelProperty(value = "关联的流程任务的编号", example = "2048", notes = "关联的流程任务,只有 UserTask 等类型才有")
-    private String taskId;
-
-}

+ 0 - 23
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/instance/BpmProcessInstanceCancelReqVO.java

@@ -1,23 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
-import java.util.Map;
-
-@ApiModel("流程实例的取消 Request VO")
-@Data
-public class BpmProcessInstanceCancelReqVO {
-
-    @ApiModelProperty(value = "流程实例的编号", required = true, example = "1024")
-    @NotEmpty(message = "流程实例的编号不能为空")
-    private String id;
-
-    @ApiModelProperty(value = "取消原因", required = true, example = "不请假了!")
-    @NotEmpty(message = "取消原因不能为空")
-    private String reason;
-
-}

+ 0 - 21
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/instance/BpmProcessInstanceCreateReqVO.java

@@ -1,21 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import javax.validation.constraints.NotEmpty;
-import java.util.Map;
-
-@ApiModel("流程实例的创建 Request VO")
-@Data
-public class BpmProcessInstanceCreateReqVO {
-
-    @ApiModelProperty(value = "流程定义的编号", required = true, example = "1024")
-    @NotEmpty(message = "流程定义编号不能为空")
-    private String processDefinitionId;
-
-    @ApiModelProperty(value = "变量实例")
-    private Map<String, Object> variables;
-
-}

+ 0 - 44
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/instance/BpmProcessInstanceMyPageReqVO.java

@@ -1,44 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance;
-
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.util.Date;
-
-import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
-
-@ApiModel("流程实例的分页 Item Response VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class BpmProcessInstanceMyPageReqVO extends PageParam {
-
-    @ApiModelProperty(value = "流程名称", example = "芋道")
-    private String name;
-
-    @ApiModelProperty(value = "流程定义的编号", example = "2048")
-    private String processDefinitionId;
-
-    @ApiModelProperty(value = "流程实例的状态", notes = "参见 bpm_process_instance_status", example = "1")
-    private Integer status;
-
-    @ApiModelProperty(value = "流程实例的结果", notes = "参见 bpm_process_instance_result", example = "2")
-    private Integer result;
-
-    @ApiModelProperty(value = "流程分类", notes = "参见 bpm_model_category 数据字典", example = "1")
-    private String category;
-
-    @ApiModelProperty(value = "开始的创建时间")
-    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
-    private Date beginCreateTime;
-
-    @ApiModelProperty(value = "结束的创建时间")
-    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
-    private Date endCreateTime;
-
-}

+ 0 - 55
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/instance/BpmProcessInstancePageItemRespVO.java

@@ -1,55 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.util.Date;
-import java.util.List;
-
-@ApiModel("流程实例的分页 Item Response VO")
-@Data
-public class BpmProcessInstancePageItemRespVO {
-
-    @ApiModelProperty(value = "流程实例的编号", required = true, example = "1024")
-    private String id;
-
-    @ApiModelProperty(value = "流程名称", required = true, example = "芋道")
-    private String name;
-
-    @ApiModelProperty(value = "流程定义的编号", required = true, example = "2048")
-    private String processDefinitionId;
-
-    @ApiModelProperty(value = "流程分类", required = true, notes = "参见 bpm_model_category 数据字典", example = "1")
-    private String category;
-
-    @ApiModelProperty(value = "流程实例的状态", required = true, notes = "参见 bpm_process_instance_status", example = "1")
-    private Integer status;
-
-    @ApiModelProperty(value = "流程实例的结果", required = true, notes = "参见 bpm_process_instance_result", example = "2")
-    private Integer result;
-
-    @ApiModelProperty(value = "提交时间", required = true)
-    private Date createTime;
-
-    @ApiModelProperty(value = "结束时间", required = true)
-    private Date endTime;
-
-    /**
-     * 当前任务
-     */
-    private List<Task> tasks;
-
-    @ApiModel("流程任务")
-    @Data
-    public static class Task {
-
-        @ApiModelProperty(value = "流程任务的编号", required = true, example = "1024")
-        private String id;
-
-        @ApiModelProperty(value = "任务名称", required = true, example = "芋道")
-        private String name;
-
-    }
-
-}

+ 0 - 97
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/instance/BpmProcessInstanceRespVO.java

@@ -1,97 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-@ApiModel("流程实例的 Response VO")
-@Data
-public class BpmProcessInstanceRespVO {
-
-    @ApiModelProperty(value = "流程实例的编号", required = true, example = "1024")
-    private String id;
-
-    @ApiModelProperty(value = "流程名称", required = true, example = "芋道")
-    private String name;
-
-    @ApiModelProperty(value = "流程分类", required = true, notes = "参见 bpm_model_category 数据字典", example = "1")
-    private String category;
-
-    @ApiModelProperty(value = "流程实例的状态", required = true, notes = "参见 bpm_process_instance_status", example = "1")
-    private Integer status;
-
-    @ApiModelProperty(value = "流程实例的结果", required = true, notes = "参见 bpm_process_instance_result", example = "2")
-    private Integer result;
-
-    @ApiModelProperty(value = "提交时间", required = true)
-    private Date createTime;
-
-    @ApiModelProperty(value = "结束时间", required = true)
-    private Date endTime;
-
-    @ApiModelProperty(value = "提交的表单值", required = true)
-    private Map<String, Object> formVariables;
-
-    @ApiModelProperty(value = "业务的唯一标识", example = "1", notes = "例如说,请假申请的编号")
-    private String businessKey;
-
-    /**
-     * 发起流程的用户
-     */
-    private User startUser;
-
-    /**
-     * 流程定义
-     */
-    private ProcessDefinition processDefinition;
-
-    @ApiModel("用户信息")
-    @Data
-    public static class User {
-
-        @ApiModelProperty(value = "用户编号", required = true, example = "1")
-        private Long id;
-        @ApiModelProperty(value = "用户昵称", required = true, example = "芋艿")
-        private String nickname;
-
-        @ApiModelProperty(value = "部门编号", required = true, example = "1")
-        private Long deptId;
-        @ApiModelProperty(value = "部门名称", required = true, example = "研发部")
-        private String deptName;
-
-    }
-
-    @ApiModel("流程定义信息")
-    @Data
-    public static class ProcessDefinition {
-
-        @ApiModelProperty(value = "编号", required = true, example = "1024")
-        private String id;
-
-        @ApiModelProperty(value = "表单类型", notes = "参见 bpm_model_form_type 数据字典", example = "1")
-        private Integer formType;
-        @ApiModelProperty(value = "表单编号", example = "1024", notes = "在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空")
-        private Long formId;
-        @ApiModelProperty(value = "表单的配置", required = true,
-                notes = "JSON 字符串。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空")
-        private String formConf;
-        @ApiModelProperty(value = "表单项的数组", required = true,
-                notes = "JSON 字符串的数组。在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空")
-        private List<String> formFields;
-        @ApiModelProperty(value = "自定义表单的提交路径,使用 Vue 的路由地址", example = "/bpm/oa/leave/create",
-                notes = "在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空")
-        private String formCustomCreatePath;
-        @ApiModelProperty(value = "自定义表单的查看路径,使用 Vue 的路由地址", example = "/bpm/oa/leave/view",
-                notes = "在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时,必须非空")
-        private String formCustomViewPath;
-
-        @ApiModelProperty(value = "BPMN XML", required = true)
-        private String bpmnXml;
-
-    }
-
-}

+ 0 - 25
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskApproveReqVO.java

@@ -1,25 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
-import java.util.Map;
-
-@ApiModel("通过流程任务的 Request VO")
-@Data
-public class BpmTaskApproveReqVO {
-
-    @ApiModelProperty(value = "任务编号", required = true, example = "1024")
-    @NotEmpty(message = "任务编号不能为空")
-    private String id;
-
-    @ApiModelProperty(value = "审批意见", required = true, example = "不错不错!")
-    @NotEmpty(message = "审批意见不能为空")
-    private String comment;
-
-}

+ 0 - 27
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskDonePageItemRespVO.java

@@ -1,27 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-
-import java.util.Date;
-
-@ApiModel("流程任务的 Done 已完成的分页项 Response VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class BpmTaskDonePageItemRespVO extends BpmTaskTodoPageItemRespVO {
-
-    @ApiModelProperty(value = "结束时间", required = true)
-    private Date endTime;
-    @ApiModelProperty(value = "持续时间", required = true, example = "1000")
-    private Long durationInMillis;
-
-    @ApiModelProperty(value = "任务结果", required = true, notes = "参见 bpm_process_instance_result", example = "2")
-    private Integer result;
-    @ApiModelProperty(value = "审批建议", required = true, example = "不请假了!")
-    private String comment;
-
-}

+ 0 - 32
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskDonePageReqVO.java

@@ -1,32 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task;
-
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.util.Date;
-
-import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
-
-@ApiModel("流程任务的 Done 已办的分页 Request VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class BpmTaskDonePageReqVO extends PageParam {
-
-    @ApiModelProperty(value = "流程任务名", example = "芋道")
-    private String name;
-
-    @ApiModelProperty(value = "开始的创建收间")
-    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
-    private Date beginCreateTime;
-
-    @ApiModelProperty(value = "结束的创建时间")
-    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
-    private Date endCreateTime;
-
-}

+ 0 - 21
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskRejectReqVO.java

@@ -1,21 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import javax.validation.constraints.NotEmpty;
-
-@ApiModel("不通过流程任务的 Request VO")
-@Data
-public class BpmTaskRejectReqVO {
-
-    @ApiModelProperty(value = "任务编号", required = true, example = "1024")
-    @NotEmpty(message = "任务编号不能为空")
-    private String id;
-
-    @ApiModelProperty(value = "审批意见", required = true, example = "不错不错!")
-    @NotEmpty(message = "审批意见不能为空")
-    private String comment;
-
-}

+ 0 - 41
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskRespVO.java

@@ -1,41 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-
-import java.util.List;
-
-@ApiModel("流程任务的 Response VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class BpmTaskRespVO extends BpmTaskDonePageItemRespVO {
-
-    @ApiModelProperty(value = "任务定义的标识", required = true, example = "user-001")
-    private String definitionKey;
-
-    /**
-     * 审核的用户信息
-     */
-    private User assigneeUser;
-
-    @ApiModel("用户信息")
-    @Data
-    public static class User {
-
-        @ApiModelProperty(value = "用户编号", required = true, example = "1")
-        private Long id;
-        @ApiModelProperty(value = "用户昵称", required = true, example = "芋艿")
-        private String nickname;
-
-        @ApiModelProperty(value = "部门编号", required = true, example = "1")
-        private Long deptId;
-        @ApiModelProperty(value = "部门名称", required = true, example = "研发部")
-        private String deptName;
-
-    }
-
-}

+ 0 - 54
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskTodoPageItemRespVO.java

@@ -1,54 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.util.Date;
-
-@ApiModel("流程任务的 Running 进行中的分页项 Response VO")
-@Data
-public class BpmTaskTodoPageItemRespVO {
-
-    @ApiModelProperty(value = "任务编号", required = true, example = "1024")
-    private String id;
-
-    @ApiModelProperty(value = "任务名字", required = true, example = "芋道")
-    private String name;
-
-    @ApiModelProperty(value = "接收时间", required = true)
-    private Date claimTime;
-
-    @ApiModelProperty(value = "创建时间", required = true)
-    private Date createTime;
-
-    @ApiModelProperty(value = "激活状态", required = true, example = "1", notes = "参见 SuspensionState 枚举")
-    private Integer suspensionState;
-
-    /**
-     * 所属流程实例
-     */
-    private ProcessInstance processInstance;
-
-    @Data
-    @ApiModel("流程实例")
-    public static class ProcessInstance {
-
-        @ApiModelProperty(value = "流程实例编号", required = true, example = "1024")
-        private String id;
-
-        @ApiModelProperty(value = "流程实例名称", required = true, example = "芋道")
-        private String name;
-
-        @ApiModelProperty(value = "发起人的用户编号", required = true, example = "1024")
-        private Long startUserId;
-
-        @ApiModelProperty(value = "发起人的用户昵称", required = true, example = "芋艿")
-        private String startUserNickname;
-
-        @ApiModelProperty(value = "流程定义的编号", required = true, example = "2048")
-        private String processDefinitionId;
-
-    }
-
-}

+ 0 - 32
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskTodoPageReqVO.java

@@ -1,32 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task;
-
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.util.Date;
-
-import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
-
-@ApiModel("流程任务的 TODO 待办的分页 Request VO")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-public class BpmTaskTodoPageReqVO extends PageParam {
-
-    @ApiModelProperty(value = "流程任务名", example = "芋道")
-    private String name;
-
-    @ApiModelProperty(value = "开始的创建收间")
-    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
-    private Date beginCreateTime;
-
-    @ApiModelProperty(value = "结束的创建时间")
-    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
-    private Date endCreateTime;
-
-}

+ 0 - 25
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskUpdateAssigneeReqVO.java

@@ -1,25 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-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;
-
-@ApiModel("流程任务的更新负责人的 Request VO")
-@Data
-public class BpmTaskUpdateAssigneeReqVO {
-
-    @ApiModelProperty(value = "任务编号", required = true, example = "1024")
-    @NotEmpty(message = "任务编号不能为空")
-    private String id;
-
-    @ApiModelProperty(value = "新审批人的用户编号", required = true, example = "2048")
-    @NotNull(message = "新审批人的用户编号不能为空")
-    private Long assigneeUserId;
-
-}

+ 0 - 34
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/definition/BpmFormConvert.java

@@ -1,34 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.convert.definition;
-
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.form.BpmFormCreateReqVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.form.BpmFormRespVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.form.BpmFormSimpleRespVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.form.BpmFormUpdateReqVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition.BpmFormDO;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import org.mapstruct.Mapper;
-import org.mapstruct.factory.Mappers;
-
-import java.util.List;
-
-/**
- * 动态表单 Convert
- *
- * @author 芋艿
- */
-@Mapper
-public interface BpmFormConvert {
-
-    BpmFormConvert INSTANCE = Mappers.getMapper(BpmFormConvert.class);
-
-    BpmFormDO convert(BpmFormCreateReqVO bean);
-
-    BpmFormDO convert(BpmFormUpdateReqVO bean);
-
-    BpmFormRespVO convert(BpmFormDO bean);
-
-    List<BpmFormSimpleRespVO> convertList2(List<BpmFormDO> list);
-
-    PageResult<BpmFormRespVO> convertPage(PageResult<BpmFormDO> page);
-
-}

+ 0 - 142
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/definition/BpmModelConvert.java

@@ -1,142 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.convert.definition;
-
-import cn.hutool.core.util.StrUtil;
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.model.*;
-import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition.BpmFormDO;
-import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.dto.BpmProcessDefinitionCreateReqDTO;
-import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.dto.BpmModelMetaInfoRespDTO;
-import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
-import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
-import org.activiti.engine.impl.persistence.entity.SuspensionState;
-import org.activiti.engine.repository.Deployment;
-import org.activiti.engine.repository.Model;
-import org.activiti.engine.repository.ProcessDefinition;
-import org.mapstruct.Mapper;
-import org.mapstruct.MappingTarget;
-import org.mapstruct.factory.Mappers;
-
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-
-
-/**
- * 流程模型 Convert
- *
- * @author yunlongn
- */
-@Mapper
-public interface BpmModelConvert {
-
-    BpmModelConvert INSTANCE = Mappers.getMapper(BpmModelConvert.class);
-
-    default List<BpmModelPageItemRespVO> convertList(List<Model> list, Map<Long, BpmFormDO> formMap,
-                                                     Map<String, Deployment> deploymentMap,
-                                                     Map<String, ProcessDefinition> processDefinitionMap) {
-        return CollectionUtils.convertList(list, model -> {
-            BpmModelMetaInfoRespDTO metaInfo = JsonUtils.parseObject(model.getMetaInfo(), BpmModelMetaInfoRespDTO.class);
-            BpmFormDO form = metaInfo != null ? formMap.get(metaInfo.getFormId()) : null;
-            Deployment deployment = model.getDeploymentId() != null ? deploymentMap.get(model.getDeploymentId()) : null;
-            ProcessDefinition processDefinition = model.getDeploymentId() != null ? processDefinitionMap.get(model.getDeploymentId()) : null;
-            return convert(model, form, deployment, processDefinition);
-        });
-    }
-
-    default BpmModelPageItemRespVO convert(Model model, BpmFormDO form, Deployment deployment, ProcessDefinition processDefinition) {
-        BpmModelPageItemRespVO modelRespVO = new BpmModelPageItemRespVO();
-        modelRespVO.setId(model.getId());
-        modelRespVO.setCreateTime(model.getCreateTime());
-        // 通用 copy
-        copyTo(model, modelRespVO);
-        // Form
-        if (form != null) {
-            modelRespVO.setFormId(form.getId());
-            modelRespVO.setFormName(form.getName());
-        }
-        // ProcessDefinition
-        modelRespVO.setProcessDefinition(this.convert(processDefinition));
-        if (modelRespVO.getProcessDefinition() != null) {
-            modelRespVO.getProcessDefinition().setSuspensionState(processDefinition.isSuspended() ?
-                    SuspensionState.SUSPENDED.getStateCode() : SuspensionState.ACTIVE.getStateCode());
-            modelRespVO.getProcessDefinition().setDeploymentTime(deployment.getDeploymentTime());
-        }
-        return modelRespVO;
-    }
-
-    default BpmModelRespVO convert(Model model) {
-        BpmModelRespVO modelRespVO = new BpmModelRespVO();
-        modelRespVO.setId(model.getId());
-        modelRespVO.setCreateTime(model.getCreateTime());
-        // 通用 copy
-        copyTo(model, modelRespVO);
-        return modelRespVO;
-    }
-
-    default void copyTo(Model model, BpmModelBaseVO to) {
-        to.setName(model.getName());
-        to.setKey(model.getKey());
-        to.setCategory(model.getCategory());
-        // metaInfo
-        BpmModelMetaInfoRespDTO metaInfo = JsonUtils.parseObject(model.getMetaInfo(), BpmModelMetaInfoRespDTO.class);
-        copyTo(metaInfo, to);
-    }
-
-    void copyTo(BpmModelMetaInfoRespDTO from, @MappingTarget BpmModelBaseVO to);
-
-    default BpmProcessDefinitionCreateReqDTO convert2(Model model, BpmFormDO form) {
-        BpmProcessDefinitionCreateReqDTO createReqDTO = new BpmProcessDefinitionCreateReqDTO();
-        createReqDTO.setModelId(model.getId());
-        createReqDTO.setName(model.getName());
-        createReqDTO.setKey(model.getKey());
-        createReqDTO.setCategory(model.getCategory());
-        BpmModelMetaInfoRespDTO metaInfo = JsonUtils.parseObject(model.getMetaInfo(), BpmModelMetaInfoRespDTO.class);
-        // metaInfo
-        copyTo(metaInfo, createReqDTO);
-        // form
-        if (form != null) {
-            createReqDTO.setFormConf(form.getConf());
-            createReqDTO.setFormFields(form.getFields());
-        }
-        return createReqDTO;
-    }
-
-    void copyTo(BpmModelMetaInfoRespDTO from, @MappingTarget BpmProcessDefinitionCreateReqDTO to);
-
-    default void copy(Model model, BpmModelCreateReqVO bean) {
-        model.setName(bean.getName());
-        model.setKey(bean.getKey());
-        model.setMetaInfo(buildMetaInfoStr(null, bean.getDescription(), null, null,
-                null, null));
-    }
-
-    default void copy(Model model, BpmModelUpdateReqVO bean) {
-        model.setName(bean.getName());
-        model.setCategory(bean.getCategory());
-        model.setMetaInfo(buildMetaInfoStr(JsonUtils.parseObject(model.getMetaInfo(), BpmModelMetaInfoRespDTO.class),
-                bean.getDescription(), bean.getFormType(), bean.getFormId(),
-                bean.getFormCustomCreatePath(), bean.getFormCustomViewPath()));
-    }
-
-    default String buildMetaInfoStr(BpmModelMetaInfoRespDTO metaInfo, String description, Integer formType,
-                                    Long formId, String formCustomCreatePath, String formCustomViewPath) {
-        if (metaInfo == null) {
-            metaInfo = new BpmModelMetaInfoRespDTO();
-        }
-        // 只有非空,才进行设置,避免更新时的覆盖
-        if (StrUtil.isNotEmpty(description)) {
-            metaInfo.setDescription(description);
-        }
-        if (Objects.nonNull(formType)) {
-            metaInfo.setFormType(formType);
-            metaInfo.setFormId(formId);
-            metaInfo.setFormCustomCreatePath(formCustomCreatePath);
-            metaInfo.setFormCustomViewPath(formCustomViewPath);
-        }
-        return JsonUtils.toJsonString(metaInfo);
-    }
-
-    BpmModelPageItemRespVO.ProcessDefinition convert(ProcessDefinition bean);
-
-    BpmModelCreateReqVO convert(BpmModeImportReqVO bean);
-
-}

+ 0 - 83
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/definition/BpmProcessDefinitionConvert.java

@@ -1,83 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.convert.definition;
-
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.process.BpmProcessDefinitionPageItemRespVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.process.BpmProcessDefinitionRespVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO;
-import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition.BpmFormDO;
-import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.dto.BpmProcessDefinitionCreateReqDTO;
-import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
-import org.activiti.engine.impl.persistence.entity.SuspensionState;
-import org.activiti.engine.repository.Deployment;
-import org.activiti.engine.repository.ProcessDefinition;
-import org.mapstruct.Mapper;
-import org.mapstruct.Mapping;
-import org.mapstruct.MappingTarget;
-import org.mapstruct.Named;
-import org.mapstruct.factory.Mappers;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * Bpm 流程定义的 Convert
- *
- * @author yunlong.li
- */
-@Mapper
-public interface BpmProcessDefinitionConvert {
-
-    BpmProcessDefinitionConvert INSTANCE = Mappers.getMapper(BpmProcessDefinitionConvert.class);
-
-    default List<BpmProcessDefinitionPageItemRespVO> convertList(List<ProcessDefinition> list, Map<String, Deployment> deploymentMap,
-                                                                 Map<String, BpmProcessDefinitionExtDO> processDefinitionDOMap, Map<Long, BpmFormDO> formMap) {
-        return CollectionUtils.convertList(list, definition -> {
-            Deployment deployment = definition.getDeploymentId() != null ? deploymentMap.get(definition.getDeploymentId()) : null;
-            BpmProcessDefinitionExtDO definitionDO = processDefinitionDOMap.get(definition.getId());
-            BpmFormDO form = definitionDO != null ? formMap.get(definitionDO.getFormId()) : null;
-            return convert(definition, deployment, definitionDO, form);
-        });
-    }
-
-    default BpmProcessDefinitionPageItemRespVO convert(ProcessDefinition bean, Deployment deployment,
-                                                       BpmProcessDefinitionExtDO processDefinitionExtDO, BpmFormDO form) {
-        BpmProcessDefinitionPageItemRespVO respVO = convert(bean);
-        respVO.setSuspensionState(bean.isSuspended() ? SuspensionState.SUSPENDED.getStateCode() : SuspensionState.ACTIVE.getStateCode());
-        if (deployment != null) {
-            respVO.setDeploymentTime(deployment.getDeploymentTime());
-        }
-        if (form != null) {
-            respVO.setFormName(form.getName());
-        }
-        // 复制通用属性
-        copyTo(processDefinitionExtDO, respVO);
-        return respVO;
-    }
-
-    BpmProcessDefinitionPageItemRespVO convert(ProcessDefinition bean);
-
-    BpmProcessDefinitionExtDO convert2(BpmProcessDefinitionCreateReqDTO bean);
-
-    default List<BpmProcessDefinitionRespVO> convertList3(List<ProcessDefinition> list,
-                                                          Map<String, BpmProcessDefinitionExtDO> processDefinitionDOMap) {
-        return CollectionUtils.convertList(list, processDefinition -> {
-            BpmProcessDefinitionRespVO respVO = convert3(processDefinition);
-            BpmProcessDefinitionExtDO processDefinitionExtDO = processDefinitionDOMap.get(processDefinition.getId());
-            // 复制通用属性
-            copyTo(processDefinitionExtDO, respVO);
-            return respVO;
-        });
-    }
-
-    @Mapping(source = "suspended", target = "suspensionState", qualifiedByName = "convertSuspendedToSuspensionState")
-    BpmProcessDefinitionRespVO convert3(ProcessDefinition bean);
-
-    @Named("convertSuspendedToSuspensionState")
-    default Integer convertSuspendedToSuspensionState(boolean suspended) {
-        return suspended ? SuspensionState.SUSPENDED.getStateCode() :
-                SuspensionState.ACTIVE.getStateCode();
-    }
-
-    @Mapping(source = "from.id", target = "to.id", ignore = true)
-    void copyTo(BpmProcessDefinitionExtDO from, @MappingTarget BpmProcessDefinitionRespVO to);
-
-}

+ 0 - 44
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/definition/BpmTaskAssignRuleConvert.java

@@ -1,44 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.convert.definition;
-
-import cn.hutool.core.collection.CollUtil;
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleCreateReqVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleRespVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.rule.BpmTaskAssignRuleUpdateReqVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO;
-import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
-import org.activiti.bpmn.model.UserTask;
-import org.mapstruct.Mapper;
-import org.mapstruct.factory.Mappers;
-
-import java.util.List;
-import java.util.Map;
-import java.util.function.Function;
-
-@Mapper
-public interface BpmTaskAssignRuleConvert {
-
-    BpmTaskAssignRuleConvert INSTANCE = Mappers.getMapper(BpmTaskAssignRuleConvert.class);
-
-    default List<BpmTaskAssignRuleRespVO> convertList(List<UserTask> tasks, List<BpmTaskAssignRuleDO> rules) {
-        Map<String, BpmTaskAssignRuleDO> ruleMap = CollectionUtils.convertMap(rules, BpmTaskAssignRuleDO::getTaskDefinitionKey);
-        // 以 UserTask 为主维度,原因是:流程图编辑后,一些规则实际就没用了。
-        return CollectionUtils.convertList(tasks, task -> {
-            BpmTaskAssignRuleRespVO respVO = convert(ruleMap.get(task.getId()));
-            if (respVO == null) {
-                respVO = new BpmTaskAssignRuleRespVO();
-                respVO.setTaskDefinitionKey(task.getId());
-            }
-            respVO.setTaskDefinitionName(task.getName());
-            return respVO;
-        });
-    }
-
-    BpmTaskAssignRuleRespVO convert(BpmTaskAssignRuleDO bean);
-
-    BpmTaskAssignRuleDO convert(BpmTaskAssignRuleCreateReqVO bean);
-
-    BpmTaskAssignRuleDO convert(BpmTaskAssignRuleUpdateReqVO bean);
-
-    List<BpmTaskAssignRuleDO> convertList2(List<BpmTaskAssignRuleRespVO> list);
-
-}

+ 0 - 37
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/definition/BpmUserGroupConvert.java

@@ -1,37 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.convert.definition;
-
-import java.util.*;
-
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.group.BpmUserGroupCreateReqVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.group.BpmUserGroupRespVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.group.BpmUserGroupUpdateReqVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition.BpmUserGroupDO;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-
-import org.mapstruct.Mapper;
-import org.mapstruct.Named;
-import org.mapstruct.factory.Mappers;
-
-/**
- * 用户组 Convert
- *
- * @author 芋道源码
- */
-@Mapper
-public interface BpmUserGroupConvert {
-
-    BpmUserGroupConvert INSTANCE = Mappers.getMapper(BpmUserGroupConvert.class);
-
-    BpmUserGroupDO convert(BpmUserGroupCreateReqVO bean);
-
-    BpmUserGroupDO convert(BpmUserGroupUpdateReqVO bean);
-
-    BpmUserGroupRespVO convert(BpmUserGroupDO bean);
-
-    List<BpmUserGroupRespVO> convertList(List<BpmUserGroupDO> list);
-
-    PageResult<BpmUserGroupRespVO> convertPage(PageResult<BpmUserGroupDO> page);
-
-    @Named("convertList2")
-    List<BpmUserGroupRespVO> convertList2(List<BpmUserGroupDO> list);
-}

+ 0 - 57
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/message/BpmMessageConvert.java

@@ -1,57 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.convert.message;
-
-import cn.iocoder.yudao.adminserver.modules.bpm.service.message.dto.BpmMessageSendWhenProcessInstanceApproveReqDTO;
-import cn.iocoder.yudao.adminserver.modules.bpm.service.message.dto.BpmMessageSendWhenProcessInstanceRejectReqDTO;
-import cn.iocoder.yudao.adminserver.modules.bpm.service.message.dto.BpmMessageSendWhenTaskCreatedReqDTO;
-import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO;
-import org.activiti.api.task.model.Task;
-import org.activiti.engine.runtime.ProcessInstance;
-import org.mapstruct.Mapper;
-import org.mapstruct.Mapping;
-import org.mapstruct.MappingTarget;
-import org.mapstruct.Mappings;
-import org.mapstruct.factory.Mappers;
-
-@Mapper
-public interface BpmMessageConvert {
-
-    BpmMessageConvert INSTANCE = Mappers.getMapper(BpmMessageConvert.class);
-
-    default BpmMessageSendWhenTaskCreatedReqDTO convert(ProcessInstance processInstance, SysUserDO startUser, Task task) {
-        BpmMessageSendWhenTaskCreatedReqDTO reqDTO = new BpmMessageSendWhenTaskCreatedReqDTO();
-        copyTo(processInstance, reqDTO);
-        copyTo(startUser, reqDTO);
-        copyTo(task, reqDTO);
-        return reqDTO;
-    }
-    @Mapping(source = "name", target = "processInstanceName")
-    void copyTo(ProcessInstance from, @MappingTarget BpmMessageSendWhenTaskCreatedReqDTO to);
-    @Mappings({
-            @Mapping(source = "id", target = "startUserId"),
-            @Mapping(source = "nickname", target = "startUserNickname")
-    })
-    void copyTo(SysUserDO from, @MappingTarget BpmMessageSendWhenTaskCreatedReqDTO to);
-    @Mappings({
-            @Mapping(source = "id", target = "taskId"),
-            @Mapping(source = "name", target = "taskName"),
-            @Mapping(source = "assignee", target = "assigneeUserId")
-    })
-    void copyTo(Task task, @MappingTarget BpmMessageSendWhenTaskCreatedReqDTO to);
-
-    default BpmMessageSendWhenProcessInstanceRejectReqDTO convert(ProcessInstance processInstance, String comment) {
-        BpmMessageSendWhenProcessInstanceRejectReqDTO reqDTO = new BpmMessageSendWhenProcessInstanceRejectReqDTO();
-        copyTo(processInstance, reqDTO);
-        reqDTO.setComment(comment);
-        return reqDTO;
-    }
-    @Mapping(source = "name", target = "processInstanceName")
-    void copyTo(ProcessInstance from, @MappingTarget BpmMessageSendWhenProcessInstanceRejectReqDTO to);
-
-    @Mappings({
-            @Mapping(source = "id", target = "processInstanceId"),
-            @Mapping(source = "name", target = "processInstanceName"),
-            @Mapping(source = "initiator", target = "startUserId")
-    })
-    BpmMessageSendWhenProcessInstanceApproveReqDTO convert(org.activiti.api.process.model.ProcessInstance processInstance);
-
-}

+ 0 - 30
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/oa/BpmOALeaveConvert.java

@@ -1,30 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.convert.oa;
-
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeaveCreateReqVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeaveRespVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.BpmOALeaveDO;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import org.mapstruct.Mapper;
-import org.mapstruct.factory.Mappers;
-
-import java.util.List;
-
-/**
- * 请假申请 Convert
- *
- * @author 芋艿
- */
-@Mapper
-public interface BpmOALeaveConvert {
-
-    BpmOALeaveConvert INSTANCE = Mappers.getMapper(BpmOALeaveConvert.class);
-
-    BpmOALeaveDO convert(BpmOALeaveCreateReqVO bean);
-
-    BpmOALeaveRespVO convert(BpmOALeaveDO bean);
-
-    List<BpmOALeaveRespVO> convertList(List<BpmOALeaveDO> list);
-
-    PageResult<BpmOALeaveRespVO> convertPage(PageResult<BpmOALeaveDO> page);
-
-}

+ 0 - 6
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/package-info.java

@@ -1,6 +0,0 @@
-/**
- * 提供 POJO 类的实体转换
- *
- * 目前使用 MapStruct 框架
- */
-package cn.iocoder.yudao.adminserver.modules.bpm.convert;

+ 0 - 33
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/task/BpmActivityConvert.java

@@ -1,33 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.convert.task;
-
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.activity.BpmActivityRespVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.task.BpmTaskExtDO;
-import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
-import org.activiti.engine.history.HistoricActivityInstance;
-import org.mapstruct.Mapper;
-import org.mapstruct.Mapping;
-import org.mapstruct.Mappings;
-import org.mapstruct.factory.Mappers;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * BPM 活动 Convert
- *
- * @author 芋道源码
- */
-@Mapper
-public interface BpmActivityConvert {
-
-    BpmActivityConvert INSTANCE = Mappers.getMapper(BpmActivityConvert.class);
-
-    List<BpmActivityRespVO> convertList(List<HistoricActivityInstance> list);
-
-    @Mappings({
-            @Mapping(source = "activityId", target = "key"),
-            @Mapping(source = "activityType", target = "type")
-    })
-    BpmActivityRespVO convert(HistoricActivityInstance bean);
-
-}

+ 0 - 120
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/task/BpmProcessInstanceConvert.java

@@ -1,120 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.convert.task;
-
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance.BpmProcessInstancePageItemRespVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance.BpmProcessInstanceRespVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task.BpmTaskRespVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO;
-import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.task.BpmProcessInstanceExtDO;
-import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.event.BpmProcessInstanceResultEvent;
-import cn.iocoder.yudao.adminserver.modules.system.dal.dataobject.dept.SysDeptDO;
-import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import org.activiti.engine.history.HistoricProcessInstance;
-import org.activiti.engine.repository.ProcessDefinition;
-import org.activiti.engine.runtime.ProcessInstance;
-import org.activiti.engine.task.Task;
-import org.mapstruct.Mapper;
-import org.mapstruct.Mapping;
-import org.mapstruct.MappingTarget;
-import org.mapstruct.Mappings;
-import org.mapstruct.factory.Mappers;
-
-import java.sql.SQLXML;
-import java.util.List;
-import java.util.Map;
-import java.util.function.Consumer;
-
-/**
- * 流程实例 Convert
- *
- * @author 芋道源码
- */
-@Mapper
-public interface BpmProcessInstanceConvert {
-
-    BpmProcessInstanceConvert INSTANCE = Mappers.getMapper(BpmProcessInstanceConvert.class);
-
-    default BpmProcessInstanceExtDO convert3(ProcessInstance instance, ProcessDefinition definition) {
-        BpmProcessInstanceExtDO ext = new BpmProcessInstanceExtDO();
-        copyTo(instance, ext);
-        copyTo(definition, ext);
-        return ext;
-    }
-
-    @Mappings({
-            @Mapping(source = "from.id", target = "id", ignore = true),
-            @Mapping(source = "from.startTime", target = "createTime"),
-    })
-    void copyTo(ProcessInstance from, @MappingTarget BpmProcessInstanceExtDO to);
-    @Mapping(source = "from.id", target = "id", ignore = true)
-    void copyTo(ProcessDefinition from, @MappingTarget BpmProcessInstanceExtDO to);
-
-    default PageResult<BpmProcessInstancePageItemRespVO> convertPage(PageResult<BpmProcessInstanceExtDO> page,
-                                                                     Map<String, List<Task>> taskMap) {
-        List<BpmProcessInstancePageItemRespVO> list = convertList(page.getList());
-        list.forEach(respVO -> respVO.setTasks(convertList2(taskMap.get(respVO.getId()))));
-        return new PageResult<>(list, page.getTotal());
-    }
-
-    List<BpmProcessInstancePageItemRespVO> convertList(List<BpmProcessInstanceExtDO> list);
-
-    List<BpmProcessInstancePageItemRespVO.Task> convertList2(List<Task> tasks);
-
-    @Mapping(source = "processInstanceId", target = "id")
-    BpmProcessInstancePageItemRespVO convert(BpmProcessInstanceExtDO bean);
-
-    @Mappings({
-            @Mapping(source = "id", target = "processInstanceId"),
-            @Mapping(source = "id", target = "id", ignore = true),
-            @Mapping(source = "startDate", target = "createTime"),
-            @Mapping(source = "initiator", target = "startUserId"),
-            @Mapping(source = "status", target = "status", ignore = true)
-    })
-    BpmProcessInstanceExtDO convert(org.activiti.api.process.model.ProcessInstance bean);
-
-    default BpmProcessInstanceRespVO convert2(HistoricProcessInstance processInstance, BpmProcessInstanceExtDO processInstanceExt,
-                                              ProcessDefinition processDefinition, BpmProcessDefinitionExtDO processDefinitionExt,
-                                              String bpmnXml, SysUserDO startUser, SysDeptDO dept) {
-        BpmProcessInstanceRespVO respVO = convert2(processInstance);
-        copyTo(processInstanceExt, respVO);
-        // definition
-        respVO.setProcessDefinition(convert2(processDefinition));
-        copyTo(processDefinitionExt, respVO.getProcessDefinition());
-        respVO.getProcessDefinition().setBpmnXml(bpmnXml);
-        // user
-        if (startUser != null) {
-            respVO.setStartUser(convert2(startUser));
-            if (dept != null) {
-                respVO.getStartUser().setDeptName(dept.getName());
-            }
-        }
-        return respVO;
-    }
-
-    BpmProcessInstanceRespVO convert2(HistoricProcessInstance bean);
-    @Mapping(source = "from.id", target = "to.id", ignore = true)
-    void copyTo(BpmProcessInstanceExtDO from, @MappingTarget BpmProcessInstanceRespVO to);
-    BpmProcessInstanceRespVO.ProcessDefinition convert2(ProcessDefinition bean);
-    @Mapping(source = "from.id", target = "to.id", ignore = true)
-    void copyTo(BpmProcessDefinitionExtDO from, @MappingTarget BpmProcessInstanceRespVO.ProcessDefinition to);
-    BpmProcessInstanceRespVO.User convert2(SysUserDO bean);
-
-    default BpmProcessInstanceResultEvent convert(Object source, ProcessInstance instance, Integer result) {
-        BpmProcessInstanceResultEvent event = new BpmProcessInstanceResultEvent(source);
-        event.setId(instance.getId());
-        event.setProcessDefinitionKey(instance.getProcessDefinitionKey());
-        event.setBusinessKey(instance.getBusinessKey());
-        event.setResult(result);
-        return event;
-    }
-
-    default BpmProcessInstanceResultEvent convert(Object source, HistoricProcessInstance instance, Integer result) {
-        BpmProcessInstanceResultEvent event = new BpmProcessInstanceResultEvent(source);
-        event.setId(instance.getId());
-        event.setProcessDefinitionKey(instance.getProcessDefinitionKey());
-        event.setBusinessKey(instance.getBusinessKey());
-        event.setResult(result);
-        return event;
-    }
-
-}

+ 0 - 126
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/task/BpmTaskConvert.java

@@ -1,126 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.convert.task;
-
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task.BpmTaskDonePageItemRespVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task.BpmTaskRespVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task.BpmTaskTodoPageItemRespVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.task.BpmTaskExtDO;
-import cn.iocoder.yudao.adminserver.modules.system.dal.dataobject.dept.SysDeptDO;
-import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO;
-import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
-import cn.iocoder.yudao.framework.common.util.number.NumberUtils;
-import org.activiti.engine.history.HistoricProcessInstance;
-import org.activiti.engine.history.HistoricTaskInstance;
-import org.activiti.engine.impl.persistence.entity.SuspensionState;
-import org.activiti.engine.runtime.ProcessInstance;
-import org.activiti.engine.task.Task;
-import org.mapstruct.*;
-import org.mapstruct.factory.Mappers;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * Bpm 任务 Convert
- *
- * @author 芋道源码
- */
-@Mapper
-public interface BpmTaskConvert {
-
-    BpmTaskConvert INSTANCE = Mappers.getMapper(BpmTaskConvert.class);
-
-    default List<BpmTaskTodoPageItemRespVO> convertList1(List<Task> tasks, Map<String, ProcessInstance> processInstanceMap,
-                                                         Map<Long, SysUserDO> userMap) {
-        return CollectionUtils.convertList(tasks, task -> {
-            BpmTaskTodoPageItemRespVO respVO = convert1(task);
-            ProcessInstance processInstance = processInstanceMap.get(task.getProcessInstanceId());
-            if (processInstance != null) {
-                SysUserDO startUser = userMap.get(NumberUtils.parseLong(processInstance.getStartUserId()));
-                respVO.setProcessInstance(convert(processInstance, startUser));
-            }
-            return respVO;
-        });
-    }
-
-    @Mapping(source = "suspended", target = "suspensionState", qualifiedByName = "convertSuspendedToSuspensionState")
-    BpmTaskTodoPageItemRespVO convert1(Task bean);
-
-    @Named("convertSuspendedToSuspensionState")
-    default Integer convertSuspendedToSuspensionState(boolean suspended) {
-        return suspended ? SuspensionState.SUSPENDED.getStateCode() :
-                SuspensionState.ACTIVE.getStateCode();
-    }
-
-    default List<BpmTaskDonePageItemRespVO> convertList2(List<HistoricTaskInstance> tasks, Map<String, BpmTaskExtDO> bpmTaskExtDOMap,
-                                                         Map<String, HistoricProcessInstance> historicProcessInstanceMap,
-                                                         Map<Long, SysUserDO> userMap) {
-        return CollectionUtils.convertList(tasks, task -> {
-            BpmTaskDonePageItemRespVO respVO = convert2(task);
-            BpmTaskExtDO taskExtDO = bpmTaskExtDOMap.get(task.getId());
-            copyTo(taskExtDO, respVO);
-            HistoricProcessInstance processInstance = historicProcessInstanceMap.get(task.getProcessInstanceId());
-            if (processInstance != null) {
-                SysUserDO startUser = userMap.get(NumberUtils.parseLong(processInstance.getStartUserId()));
-                respVO.setProcessInstance(convert(processInstance, startUser));
-            }
-            return respVO;
-        });
-    }
-
-    BpmTaskDonePageItemRespVO convert2(HistoricTaskInstance bean);
-
-    @Mappings({
-            @Mapping(source = "id", target = "taskId"),
-            @Mapping(source = "assignee", target = "assigneeUserId"),
-            @Mapping(source = "createdDate", target = "createTime")
-    })
-    BpmTaskExtDO convert(org.activiti.api.task.model.Task bean);
-
-    default List<BpmTaskRespVO> convertList3(List<HistoricTaskInstance> tasks, Map<String, BpmTaskExtDO> bpmTaskExtDOMap,
-                                             HistoricProcessInstance processInstance, Map<Long, SysUserDO> userMap,
-                                             Map<Long, SysDeptDO> deptMap) {
-        return CollectionUtils.convertList(tasks, task -> {
-            BpmTaskRespVO respVO = convert3(task);
-            BpmTaskExtDO taskExtDO = bpmTaskExtDOMap.get(task.getId());
-            copyTo(taskExtDO, respVO);
-            if (processInstance != null) {
-                SysUserDO startUser = userMap.get(NumberUtils.parseLong(processInstance.getStartUserId()));
-                respVO.setProcessInstance(convert(processInstance, startUser));
-            }
-            SysUserDO assignUser = userMap.get(NumberUtils.parseLong(task.getAssignee()));
-            if (assignUser != null) {
-                respVO.setAssigneeUser(convert3(assignUser));
-                SysDeptDO dept = deptMap.get(assignUser.getDeptId());
-                if (dept != null) {
-                    respVO.getAssigneeUser().setDeptName(dept.getName());
-                }
-            }
-            return respVO;
-        });
-    }
-
-    @Mapping(source = "taskDefinitionKey", target = "definitionKey")
-    BpmTaskRespVO convert3(HistoricTaskInstance bean);
-    BpmTaskRespVO.User convert3(SysUserDO bean);
-
-    void copyTo(BpmTaskExtDO from, @MappingTarget BpmTaskDonePageItemRespVO to);
-
-    @Mappings({
-            @Mapping(source = "processInstance.id", target = "id"),
-            @Mapping(source = "processInstance.name", target = "name"),
-            @Mapping(source = "processInstance.startUserId", target = "startUserId"),
-            @Mapping(source = "processInstance.processDefinitionId", target = "processDefinitionId"),
-            @Mapping(source = "startUser.nickname", target = "startUserNickname")
-    })
-    BpmTaskTodoPageItemRespVO.ProcessInstance convert(ProcessInstance processInstance, SysUserDO startUser);
-
-    @Mappings({
-            @Mapping(source = "processInstance.id", target = "id"),
-            @Mapping(source = "processInstance.name", target = "name"),
-            @Mapping(source = "processInstance.startUserId", target = "startUserId"),
-            @Mapping(source = "processInstance.processDefinitionId", target = "processDefinitionId"),
-            @Mapping(source = "startUser.nickname", target = "startUserNickname")
-    })
-    BpmTaskTodoPageItemRespVO.ProcessInstance convert(HistoricProcessInstance processInstance, SysUserDO startUser);
-
-}

+ 0 - 57
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/dataobject/definition/BpmFormDO.java

@@ -1,57 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition;
-
-import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
-import lombok.*;
-
-import java.util.List;
-
-/**
- * 工作流的表单定义
- * 用于工作流的申请表单,需要动态配置的场景
- *
- * @author 芋道源码
- */
-@TableName(value = "bpm_form", autoResultMap = true)
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-@Builder
-@NoArgsConstructor
-@AllArgsConstructor
-public class BpmFormDO extends BaseDO {
-
-    /**
-     * 编号
-     */
-    @TableId
-    private Long id;
-    /**
-     * 表单名
-     */
-    private String name;
-    /**
-     * 状态
-     */
-    private Integer status;
-    /**
-     * 表单的配置
-     */
-    private String conf;
-    /**
-     * 表单项的数组
-     *
-     * 目前直接将 https://github.com/JakHuang/form-generator 生成的 JSON 串,直接保存
-     * 定义:https://github.com/JakHuang/form-generator/issues/46
-     */
-    @TableField(typeHandler = JacksonTypeHandler.class)
-    private List<String> fields;
-    /**
-     * 备注
-     */
-    private String remark;
-
-}

+ 0 - 92
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/dataobject/definition/BpmProcessDefinitionExtDO.java

@@ -1,92 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition;
-
-import cn.iocoder.yudao.adminserver.modules.bpm.enums.definition.BpmModelFormTypeEnum;
-import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
-import lombok.*;
-import org.activiti.engine.repository.Model;
-import org.activiti.engine.repository.ProcessDefinition;
-
-import java.util.List;
-
-/**
- * Bpm 流程定义的拓展表
- * 主要解决 Activiti {@link ProcessDefinition} 不支持拓展字段,所以新建拓展表
- *
- * @author 芋道源码
- */
-@TableName(value = "bpm_process_definition_ext", autoResultMap = true)
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-@Builder
-@NoArgsConstructor
-@AllArgsConstructor
-public class BpmProcessDefinitionExtDO extends BaseDO {
-
-    /**
-     * 编号
-     */
-    @TableId
-    private Long id;
-    /**
-     * 流程定义的编号
-     *
-     * 关联 {@link ProcessDefinition#getId()}
-     */
-    private String processDefinitionId;
-    /**
-     * 流程模型的编号
-     *
-     * 关联 {@link Model#getId()}
-     */
-    private String modelId;
-    /**
-     * 描述
-     */
-    private String description;
-
-    /**
-     * 表单类型
-     *
-     * 关联 {@link BpmModelFormTypeEnum}
-     */
-    private Integer formType;
-    /**
-     * 动态表单编号
-     * 在表单类型为 {@link BpmModelFormTypeEnum#NORMAL} 时
-     *
-     * 关联 {@link BpmFormDO#getId()}
-     */
-    private Long formId;
-    /**
-     * 表单的配置
-     * 在表单类型为 {@link BpmModelFormTypeEnum#NORMAL} 时
-     *
-     * 冗余 {@link BpmFormDO#getConf()}
-     */
-    private String formConf;
-    /**
-     * 表单项的数组
-     * 在表单类型为 {@link BpmModelFormTypeEnum#NORMAL} 时
-     *
-     * 冗余 {@link BpmFormDO#getFields()} ()}
-     */
-    @TableField(typeHandler = JacksonTypeHandler.class)
-    private List<String> formFields;
-    /**
-     * 自定义表单的提交路径,使用 Vue 的路由地址
-     * 在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时
-     */
-    private String formCustomCreatePath;
-    /**
-     * 自定义表单的查看路径,使用 Vue 的路由地址
-     * 在表单类型为 {@link BpmModelFormTypeEnum#CUSTOM} 时
-     */
-    private String formCustomViewPath;
-
-
-}

+ 0 - 86
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/dataobject/definition/BpmTaskAssignRuleDO.java

@@ -1,86 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition;
-
-import cn.iocoder.yudao.adminserver.modules.bpm.enums.definition.BpmTaskRuleScriptEnum;
-import cn.iocoder.yudao.adminserver.modules.bpm.enums.definition.BpmTaskAssignRuleTypeEnum;
-import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
-import cn.iocoder.yudao.framework.mybatis.core.type.JsonLongSetTypeHandler;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.*;
-import org.activiti.engine.repository.Model;
-import org.activiti.engine.repository.ProcessDefinition;
-import org.activiti.engine.task.Task;
-
-import java.util.Set;
-
-/**
- * Bpm 任务分配的规则表,用于自定义配置每个任务的负责人、候选人的分配规则。
- * 也就是说,废弃 BPMN 原本的 UserTask 设置的 assignee、candidateUsers 等配置,而是通过使用该规则进行计算对应的负责人。
- *
- * 1. 默认情况下,{@link #processDefinitionId} 为 {@link #PROCESS_DEFINITION_ID_NULL} 值,表示贵改则与流程模型关联
- * 2. 在流程模型部署后,会将他的所有规则记录,复制出一份新部署出来的流程定义,通过设置 {@link #processDefinitionId} 为新的流程定义的编号进行关联
- *
- * @author 芋道源码
- */
-@TableName(value = "bpm_task_assign_rule", autoResultMap = true)
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-@Builder
-@NoArgsConstructor
-@AllArgsConstructor
-public class BpmTaskAssignRuleDO extends BaseDO {
-
-    /**
-     * {@link #processDefinitionId} 空串,用于标识属于流程模型,而不属于流程定义
-     */
-    public static final String PROCESS_DEFINITION_ID_NULL = "";
-
-    /**
-     * 编号
-     */
-    @TableId
-    private Long id;
-
-    /**
-     * 流程模型编号
-     *
-     * 关联 {@link Model#getId()}
-     */
-    private String modelId;
-    /**
-     * 流程定义编号
-     *
-     * 关联 {@link ProcessDefinition#getId()}
-     */
-    private String processDefinitionId;
-    /**
-     * 流程任务的定义 Key
-     *
-     * 关联 {@link Task#getTaskDefinitionKey()}
-     */
-    private String taskDefinitionKey;
-
-    /**
-     * 规则类型
-     *
-     * 枚举 {@link BpmTaskAssignRuleTypeEnum}
-     */
-    @TableField("`type`")
-    private Integer type;
-    /**
-     * 规则值数组,一般关联指定表的编号
-     * 根据 type 不同,对应的值是不同的:
-     *
-     * 1. {@link BpmTaskAssignRuleTypeEnum#ROLE} 时:角色编号
-     * 2. {@link BpmTaskAssignRuleTypeEnum#DEPT_MEMBER} 时:部门编号
-     * 3. {@link BpmTaskAssignRuleTypeEnum#DEPT_LEADER} 时:部门编号
-     * 4. {@link BpmTaskAssignRuleTypeEnum#USER} 时:用户编号
-     * 5. {@link BpmTaskAssignRuleTypeEnum#USER_GROUP} 时:用户组编号
-     * 6. {@link BpmTaskAssignRuleTypeEnum#SCRIPT} 时:脚本编号,目前通过 {@link BpmTaskRuleScriptEnum#getId()} 标识
-     */
-    @TableField(typeHandler = JsonLongSetTypeHandler.class)
-    private Set<Long> options;
-
-}

+ 0 - 5
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/dataobject/definition/BpmTaskMessageRuleDO.java

@@ -1,5 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition;
-
-// TODO 芋艿:先埋个坑。任务消息的配置规则。说白了,就是不同的
-public class BpmTaskMessageRuleDO {
-}

+ 0 - 52
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/dataobject/definition/BpmUserGroupDO.java

@@ -1,52 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition;
-
-import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
-import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
-import cn.iocoder.yudao.framework.mybatis.core.type.JsonLongSetTypeHandler;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.*;
-
-import java.util.Set;
-
-/**
- * Bpm 用户组
- *
- * @author 芋道源码
- */
-@TableName(value = "bpm_user_group", autoResultMap = true)
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-@Builder
-@NoArgsConstructor
-@AllArgsConstructor
-public class BpmUserGroupDO extends BaseDO {
-
-    /**
-     * 编号,自增
-     */
-    @TableId
-    private Long id;
-    /**
-     * 组名
-     */
-    private String name;
-    /**
-     * 描述
-     */
-    private String description;
-    /**
-     * 状态
-     *
-     * 枚举 {@link CommonStatusEnum}
-     */
-    private Integer status;
-    /**
-     * 成员用户编号数组
-     */
-    @TableField(typeHandler = JsonLongSetTypeHandler.class)
-    private Set<Long> memberUserIds;
-
-}

+ 0 - 74
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/dataobject/leave/BpmOALeaveDO.java

@@ -1,74 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave;
-
-import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO;
-import lombok.*;
-import java.util.*;
-import com.baomidou.mybatisplus.annotation.*;
-import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
-import org.activiti.engine.runtime.ProcessInstance;
-
-/**
- * OA 请假申请 DO
- *
- * {@link #day} 请假天数,目前先简单做。一般是分成请假上午和下午,可以是 1 整天,可以是 0.5 半天
- *
- * @author jason
- * @author 芋道源码
- */
-@TableName("bpm_oa_leave")
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-@Builder
-@NoArgsConstructor
-@AllArgsConstructor
-public class BpmOALeaveDO extends BaseDO {
-
-    /**
-     * 请假表单主键
-     */
-    @TableId
-    private Long id;
-    /**
-     * 申请人的用户编号
-     *
-     * 关联 {@link SysUserDO#getId()}
-     */
-    private Long userId;
-    /**
-     * 请假类型
-     */
-    @TableField("`type`")
-    private String type;
-    /**
-     * 原因
-     */
-    private String reason;
-    /**
-     * 开始时间
-     */
-    private Date startTime;
-    /**
-     * 结束时间
-     */
-    private Date endTime;
-    /**
-     * 请假天数
-     */
-    private Long day;
-    /**
-     * 请假的结果
-     *
-     * 枚举 {@link cn.iocoder.yudao.adminserver.modules.bpm.enums.task.BpmProcessInstanceResultEnum}
-     * 考虑到简单,所以直接复用了 BpmProcessInstanceResultEnum 枚举,也可以自己定义一个枚举哈
-     */
-    private Integer result;
-
-    /**
-     * 对应的流程编号
-     *
-     * 关联 {@link ProcessInstance#getId()}
-     */
-    private String processInstanceId;
-
-}

+ 0 - 96
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/dataobject/task/BpmProcessInstanceExtDO.java

@@ -1,96 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.task;
-
-import cn.iocoder.yudao.adminserver.modules.bpm.enums.task.BpmProcessInstanceResultEnum;
-import cn.iocoder.yudao.adminserver.modules.bpm.enums.task.BpmProcessInstanceStatusEnum;
-import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-import org.activiti.engine.history.HistoricProcessInstance;
-import org.activiti.engine.repository.ProcessDefinition;
-import org.activiti.engine.runtime.ProcessInstance;
-
-import java.util.Date;
-import java.util.Map;
-
-/**
- * Bpm 流程实例的拓展表
- * 主要解决 Activiti {@link ProcessInstance} 和 {@link HistoricProcessInstance} 不支持拓展字段,所以新建拓展表
- *
- * @author 芋道源码
- */
-@TableName(value = "bpm_process_instance_ext", autoResultMap = true)
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-//@Builder
-//@NoArgsConstructor
-//@AllArgsConstructor
-public class BpmProcessInstanceExtDO extends BaseDO {
-
-    /**
-     * 编号,自增
-     */
-    @TableId
-    private Long id;
-    /**
-     * 发起流程的用户编号
-     *
-     * 冗余 {@link HistoricProcessInstance#getStartUserId()}
-     */
-    private Long startUserId;
-    /**
-     * 流程实例的名字
-     *
-     * 冗余 {@link ProcessInstance#getName()} 为了筛选
-     */
-    private String name;
-    /**
-     * 流程实例的编号
-     *
-     * 关联 {@link ProcessInstance#getId()}
-     */
-    private String processInstanceId;
-    /**
-     * 流程定义的编号
-     *
-     * 关联 {@link ProcessDefinition#getId()}
-     */
-    private String processDefinitionId;
-    /**
-     * 流程分类
-     *
-     * 冗余 {@link ProcessDefinition#getCategory()}
-     * 数据字典 bpm_model_category
-     */
-    private String category;
-    /**
-     * 流程实例的状态
-     *
-     * 枚举 {@link BpmProcessInstanceStatusEnum}
-     */
-    private Integer status;
-    /**
-     * 流程实例的结果
-     *
-     * 枚举 {@link BpmProcessInstanceResultEnum}
-     */
-    private Integer result;
-    /**
-     * 结束时间
-     *
-     * 冗余 {@link HistoricProcessInstance#getEndTime()}
-     */
-    private Date endTime;
-
-    /**
-     * 提交的表单值
-     */
-    @TableField(typeHandler = JacksonTypeHandler.class)
-    private Map<String, Object> formVariables;
-
-}

+ 0 - 85
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/dataobject/task/BpmTaskExtDO.java

@@ -1,85 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.task;
-
-import cn.iocoder.yudao.adminserver.modules.bpm.enums.task.BpmProcessInstanceResultEnum;
-import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.ToString;
-import org.activiti.engine.history.HistoricTaskInstance;
-import org.activiti.engine.repository.ProcessDefinition;
-import org.activiti.engine.runtime.ProcessInstance;
-import org.activiti.engine.task.Task;
-
-import java.util.Date;
-
-/**
- * Bpm 流程任务的拓展表
- * 主要解决 Activiti {@link Task} 和 {@link HistoricTaskInstance} 不支持拓展字段,所以新建拓展表
- *
- * @author 芋道源码
- */
-@TableName(value = "bpm_task_ext", autoResultMap = true)
-@Data
-@EqualsAndHashCode(callSuper = true)
-@ToString(callSuper = true)
-//@Builder
-//@NoArgsConstructor
-//@AllArgsConstructor
-public class BpmTaskExtDO extends BaseDO {
-
-    /**
-     * 任务的审批人
-     *
-     * 冗余 {@link Task#getAssignee()}
-     */
-    private Long assigneeUserId;
-    /**
-     * 任务的名字
-     *
-     * 冗余 {@link Task#getName()} 为了筛选
-     */
-    private String name;
-    /**
-     * 任务的编号
-     *
-     * 关联 {@link Task#getId()}
-     */
-    private String taskId;
-//    /**
-//     * 任务的标识
-//     *
-//     * 关联 {@link Task#getTaskDefinitionKey()}
-//     */
-//    private String definitionKey;
-    /**
-     * 任务的结果
-     *
-     * 枚举 {@link BpmProcessInstanceResultEnum}
-     */
-    private Integer result;
-    /**
-     * 审批建议
-     */
-    private String comment;
-    /**
-     * 任务的结束时间
-     *
-     * 冗余 {@link HistoricTaskInstance#getEndTime()}
-     */
-    private Date endTime;
-
-    /**
-     * 流程实例的编号
-     *
-     * 关联 {@link ProcessInstance#getId()}
-     */
-    private String processInstanceId;
-    /**
-     * 流程定义的编号
-     *
-     * 关联 {@link ProcessDefinition#getId()}
-     */
-    private String processDefinitionId;
-
-}

+ 0 - 25
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/mysql/definition/BpmFormMapper.java

@@ -1,25 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.definition;
-
-
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.form.BpmFormPageReqVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition.BpmFormDO;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
-import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * 动态表单 Mapper
- *
- * @author 风里雾里
- */
-@Mapper
-public interface BpmFormMapper extends BaseMapperX<BpmFormDO> {
-
-    default PageResult<BpmFormDO> selectPage(BpmFormPageReqVO reqVO) {
-        return selectPage(reqVO, new QueryWrapperX<BpmFormDO>()
-                .likeIfPresent("name", reqVO.getName())
-                .orderByDesc("id"));
-    }
-
-}

+ 0 - 23
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/mysql/definition/BpmProcessDefinitionExtMapper.java

@@ -1,23 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.definition;
-
-import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO;
-import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-import java.util.Collection;
-import java.util.List;
-
-@Mapper
-public interface BpmProcessDefinitionExtMapper extends BaseMapperX<BpmProcessDefinitionExtDO> {
-
-    default List<BpmProcessDefinitionExtDO> selectListByProcessDefinitionIds(Collection<String> processDefinitionIds) {
-        return selectList("process_definition_id", processDefinitionIds);
-    }
-
-    default BpmProcessDefinitionExtDO selectByProcessDefinitionId(String processDefinitionId) {
-        return selectOne("process_definition_id", processDefinitionId);
-    }
-
-}

+ 0 - 35
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/mysql/definition/BpmTaskAssignRuleMapper.java

@@ -1,35 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.definition;
-
-import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO;
-import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
-import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX;
-import org.apache.ibatis.annotations.Mapper;
-import org.springframework.lang.Nullable;
-
-import java.util.List;
-
-@Mapper
-public interface BpmTaskAssignRuleMapper extends BaseMapperX<BpmTaskAssignRuleDO> {
-
-    default List<BpmTaskAssignRuleDO> selectListByProcessDefinitionId(String processDefinitionId,
-                                                                      @Nullable String taskDefinitionKey) {
-        return selectList(new QueryWrapperX<BpmTaskAssignRuleDO>()
-                .eq("process_definition_id", processDefinitionId)
-                .eqIfPresent("task_definition_key", taskDefinitionKey));
-    }
-
-    default List<BpmTaskAssignRuleDO> selectListByModelId(String modelId) {
-        return selectList(new QueryWrapperX<BpmTaskAssignRuleDO>()
-                .eq("model_id", modelId)
-                .eq("process_definition_id", BpmTaskAssignRuleDO.PROCESS_DEFINITION_ID_NULL));
-    }
-
-    default BpmTaskAssignRuleDO selectListByModelIdAndTaskDefinitionKey(String modelId,
-                                                                        String taskDefinitionKey) {
-        return selectOne(new QueryWrapperX<BpmTaskAssignRuleDO>()
-                .eq("model_id", modelId)
-                .eq("process_definition_id", BpmTaskAssignRuleDO.PROCESS_DEFINITION_ID_NULL)
-                .eq("task_definition_key", taskDefinitionKey));
-    }
-
-}

+ 0 - 32
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/mysql/definition/BpmUserGroupMapper.java

@@ -1,32 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.definition;
-
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.group.BpmUserGroupPageReqVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition.BpmUserGroupDO;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
-import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
-import org.apache.ibatis.annotations.Mapper;
-
-import java.util.List;
-
-/**
- * 用户组 Mapper
- *
- * @author 芋道源码
- */
-@Mapper
-public interface BpmUserGroupMapper extends BaseMapperX<BpmUserGroupDO> {
-
-    default PageResult<BpmUserGroupDO> selectPage(BpmUserGroupPageReqVO reqVO) {
-        return selectPage(reqVO, new LambdaQueryWrapperX<BpmUserGroupDO>()
-                .likeIfPresent(BpmUserGroupDO::getName, reqVO.getName())
-                .eqIfPresent(BpmUserGroupDO::getStatus, reqVO.getStatus())
-                .betweenIfPresent(BpmUserGroupDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime())
-                .orderByDesc(BpmUserGroupDO::getId));
-    }
-
-    default List<BpmUserGroupDO> selectListByStatus(Integer status) {
-        return selectList(BpmUserGroupDO::getStatus, status);
-    }
-
-}

+ 0 - 29
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/mysql/oa/BpmOALeaveMapper.java

@@ -1,29 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.oa;
-
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeavePageReqVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.BpmOALeaveDO;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
-import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * 请假申请 Mapper
- *
- * @author jason
- * @author 芋道源码
- */
-@Mapper
-public interface BpmOALeaveMapper extends BaseMapperX<BpmOALeaveDO> {
-
-    default PageResult<BpmOALeaveDO> selectPage(Long userId, BpmOALeavePageReqVO reqVO) {
-        return selectPage(reqVO, new LambdaQueryWrapperX<BpmOALeaveDO>()
-                .eqIfPresent(BpmOALeaveDO::getUserId, userId)
-                .eqIfPresent(BpmOALeaveDO::getResult, reqVO.getResult())
-                .eqIfPresent(BpmOALeaveDO::getType, reqVO.getType())
-                .likeIfPresent(BpmOALeaveDO::getReason, reqVO.getReason())
-                .betweenIfPresent(BpmOALeaveDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime())
-                .orderByDesc(BpmOALeaveDO::getId));
-    }
-
-}

+ 0 - 35
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/mysql/task/BpmProcessInstanceExtMapper.java

@@ -1,35 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.task;
-
-import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance.BpmProcessInstanceMyPageReqVO;
-import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.task.BpmProcessInstanceExtDO;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
-import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import org.apache.ibatis.annotations.Mapper;
-
-@Mapper
-public interface BpmProcessInstanceExtMapper extends BaseMapperX<BpmProcessInstanceExtDO> {
-
-    default PageResult<BpmProcessInstanceExtDO> selectPage(Long userId, BpmProcessInstanceMyPageReqVO reqVO) {
-        return selectPage(reqVO, new QueryWrapperX<BpmProcessInstanceExtDO>()
-                .eqIfPresent("start_user_id", userId)
-                .likeIfPresent("name", reqVO.getName())
-                .eqIfPresent("process_definition_id", reqVO.getProcessDefinitionId())
-                .eqIfPresent("category", reqVO.getCategory())
-                .eqIfPresent("status", reqVO.getStatus())
-                .eqIfPresent("result", reqVO.getResult())
-                .betweenIfPresent("create_time", reqVO.getBeginCreateTime(), reqVO.getEndCreateTime())
-                .orderByDesc("id"));
-    }
-
-    default BpmProcessInstanceExtDO selectByProcessInstanceId(String processDefinitionId) {
-        return selectOne("process_instance_id", processDefinitionId);
-    }
-
-    default void updateByProcessInstanceId(BpmProcessInstanceExtDO updateObj) {
-        update(updateObj, new QueryWrapper<BpmProcessInstanceExtDO>()
-                .eq("process_instance_id", updateObj.getProcessInstanceId()));
-    }
-
-}

+ 0 - 25
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/mysql/task/BpmTaskExtMapper.java

@@ -1,25 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.task;
-
-import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.task.BpmTaskExtDO;
-import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import org.apache.ibatis.annotations.Mapper;
-
-import java.util.Collection;
-import java.util.List;
-
-@Mapper
-public interface BpmTaskExtMapper extends BaseMapperX<BpmTaskExtDO> {
-
-    default void updateByTaskId(BpmTaskExtDO entity) {
-        update(entity, new LambdaQueryWrapper<BpmTaskExtDO>().eq(BpmTaskExtDO::getTaskId, entity.getTaskId()));
-    }
-
-    default List<BpmTaskExtDO> selectListByTaskIds(Collection<String> taskIds) {
-        return selectList(BpmTaskExtDO::getTaskId, taskIds);
-    }
-
-    default List<BpmTaskExtDO> selectListByProcessInstanceId(String processInstanceId) {
-        return selectList("process_instance_id", processInstanceId);
-    }
-}

+ 0 - 64
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/enums/BpmErrorCodeConstants.java

@@ -1,64 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.enums;
-
-import cn.iocoder.yudao.framework.common.exception.ErrorCode;
-
-/**
- * 工作流 错误码枚举类
- *
- * 工作流系统,使用 1-009-000-000 段
- */
-public interface BpmErrorCodeConstants {
-
-    // ==========  通用流程处理 模块 1-009-000-000 ==========
-    ErrorCode HIGHLIGHT_IMG_ERROR = new ErrorCode(1009000002, "获取高亮流程图异常");
-
-    // ========== OA 流程模块 1-009-001-000 ==========
-    ErrorCode OA_LEAVE_NOT_EXISTS = new ErrorCode(1009001001, "请假申请不存在");
-    ErrorCode OA_PM_POST_NOT_EXISTS = new ErrorCode(1009001002, "项目经理岗位未设置");
-    ErrorCode OA_DEPART_PM_POST_NOT_EXISTS = new ErrorCode(1009001009, "部门的项目经理不存在");
-    ErrorCode OA_BM_POST_NOT_EXISTS = new ErrorCode(1009001004, "部门经理岗位未设置");
-    ErrorCode OA_DEPART_BM_POST_NOT_EXISTS = new ErrorCode(1009001005, "部门的部门经理不存在");
-    ErrorCode OA_HR_POST_NOT_EXISTS = new ErrorCode(1009001006, "HR岗位未设置");
-    ErrorCode OA_DAY_LEAVE_ERROR = new ErrorCode(1009001007, "请假天数必须>=1");
-
-    // ========== 流程模型 1-009-002-000 ==========
-    ErrorCode MODEL_KEY_EXISTS = new ErrorCode(1009002000, "已经存在流程标识为【{}】的流程");
-    ErrorCode MODEL_NOT_EXISTS = new ErrorCode(1009002001, "流程模型不存在");
-    ErrorCode MODEL_KEY_VALID = new ErrorCode(1009002002, "流程标识格式不正确,需要以字母或下划线开头,后接任意字母、数字、中划线、下划线、句点!");
-    ErrorCode MODEL_DEPLOY_FAIL_FORM_NOT_CONFIG = new ErrorCode(1009002003, "部署流程失败,原因:流程表单未配置,请点击【修改流程】按钮进行配置");
-    ErrorCode MODEL_DEPLOY_FAIL_TASK_ASSIGN_RULE_NOT_CONFIG = new ErrorCode(1009002004, "部署流程失败," +
-            "原因:用户任务({})未配置分配规则,请点击【修改流程】按钮进行配置");
-    ErrorCode MODEL_DEPLOY_FAIL_TASK_INFO_EQUALS = new ErrorCode(1009003005, "流程定义部署失败,原因:信息未发生变化");
-
-    // ========== 流程定义 1-009-003-000 ==========
-    ErrorCode PROCESS_DEFINITION_KEY_NOT_MATCH = new ErrorCode(1009003000, "流程定义的标识期望是({}),当前是({}),请修改 BPMN 流程图");
-    ErrorCode PROCESS_DEFINITION_NAME_NOT_MATCH = new ErrorCode(1009003001, "流程定义的名字期望是({}),当前是({}),请修改 BPMN 流程图");
-    ErrorCode PROCESS_DEFINITION_NOT_EXISTS = new ErrorCode(1009003002, "流程定义不存在");
-    ErrorCode PROCESS_DEFINITION_IS_SUSPENDED = new ErrorCode(1009003003, "流程定义处于挂起状态");
-    ErrorCode PROCESS_DEFINITION_BPMN_MODEL_NOT_EXISTS = new ErrorCode(1009003004, "流程定义的模型不存在");
-
-    // ========== 流程实例 1-009-004-000 ==========
-    ErrorCode PROCESS_INSTANCE_NOT_EXISTS = new ErrorCode(1009004000, "流程实例不存在");
-    ErrorCode PROCESS_INSTANCE_CANCEL_FAIL_NOT_EXISTS = new ErrorCode(1009004001, "流程取消失败,流程不处于运行中");
-    ErrorCode PROCESS_INSTANCE_CANCEL_FAIL_NOT_SELF = new ErrorCode(1009004002, "流程取消失败,该流程不是你发起的");
-
-    // ========== 流程任务 1-009-005-000 ==========
-    ErrorCode TASK_COMPLETE_FAIL_NOT_EXISTS = new ErrorCode(1009004000, "审批任务失败,原因:该任务不处于未审批");
-    ErrorCode TASK_COMPLETE_FAIL_ASSIGN_NOT_SELF = new ErrorCode(1009004001, "审批任务失败,原因:该任务的审批人不是你");
-
-    // ========== 流程任务分配规则 1-009-006-000 ==========
-    ErrorCode TASK_ASSIGN_RULE_EXISTS = new ErrorCode(1009006000, "流程({}) 的任务({}) 已经存在分配规则");
-    ErrorCode TASK_ASSIGN_RULE_NOT_EXISTS = new ErrorCode(1009006001, "流程任务分配规则不存在");
-    ErrorCode TASK_UPDATE_FAIL_NOT_MODEL = new ErrorCode(1009006002, "只有流程模型的任务分配规则,才允许被修改");
-    ErrorCode TASK_CREATE_FAIL_NO_CANDIDATE_USER = new ErrorCode(1009006003, "操作失败,原因:找不到任务的审批人!");
-    ErrorCode TASK_ASSIGN_SCRIPT_NOT_EXISTS = new ErrorCode(1009006004, "操作失败,原因:任务分配脚本({}) 不存在");
-
-    // ========== 动态表单模块 1-009-010-000 ==========
-    ErrorCode FORM_NOT_EXISTS = new ErrorCode(1009010000, "动态表单不存在");
-    ErrorCode FORM_FIELD_REPEAT = new ErrorCode(1009010000, "表单项({}) 和 ({}) 使用了相同的字段名({})");
-
-    // ========== 用户组模块 1-009-011-000 ==========
-    ErrorCode USER_GROUP_NOT_EXISTS = new ErrorCode(1009011000, "用户组不存在");
-    ErrorCode USER_GROUP_IS_DISABLE = new ErrorCode(1009011001, "名字为【{}】的用户组已被禁用");
-
-}

+ 0 - 21
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/enums/definition/BpmModelFormTypeEnum.java

@@ -1,21 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.enums.definition;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * BPM 模型的表单类型的枚举
- *
- * @author 芋道源码
- */
-@Getter
-@AllArgsConstructor
-public enum BpmModelFormTypeEnum {
-
-    NORMAL(10, "流程表单"), // 对应 BpmFormDO
-    CUSTOM(20, "业务表单") // 业务自己定义的表单,自己进行数据的存储
-    ;
-
-    private final Integer type;
-    private final String desc;
-}

+ 0 - 37
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/enums/definition/BpmTaskAssignRuleTypeEnum.java

@@ -1,37 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.enums.definition;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * BPM 任务分配规则的类型枚举
- *
- * @author 芋道源码
- */
-@Getter
-@AllArgsConstructor
-public enum BpmTaskAssignRuleTypeEnum {
-
-    ROLE(10, "角色"),
-
-    DEPT_MEMBER(20, "部门的成员"), // 包括负责人
-    DEPT_LEADER(21, "部门的负责人"),
-    POST(22, "岗位"),
-
-    USER(30, "用户"),
-
-    USER_GROUP(40, "用户组"),
-
-    SCRIPT(50, "自定义脚本"), // 例如说,发起人所在部门的领导、发起人所在部门的领导的领导
-    ;
-
-    /**
-     * 类型
-     */
-    private final Integer type;
-    /**
-     * 描述
-     */
-    private final String desc;
-
-}

+ 0 - 30
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/enums/definition/BpmTaskRuleScriptEnum.java

@@ -1,30 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.enums.definition;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * BPM 任务规则的脚本枚举
- * 目前暂时通过 TODO 芋艿:硬编码,未来可以考虑 Groovy 动态脚本的方式
- *
- * @author 芋道源码
- */
-@Getter
-@AllArgsConstructor
-public enum BpmTaskRuleScriptEnum {
-
-    START_USER(10L, "流程发起人"),
-
-    LEADER_X1(20L, "流程发起人的一级领导"),
-    LEADER_X2(21L, "流程发起人的二级领导");
-
-    /**
-     * 脚本编号
-     */
-    private final Long id;
-    /**
-     * 脚本描述
-     */
-    private final String desc;
-
-}

+ 0 - 28
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/enums/message/BpmMessageEnum.java

@@ -1,28 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.enums.message;
-
-import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.sms.SysSmsTemplateDO;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * Bpm 消息的枚举
- *
- * @author 芋道源码
- */
-@AllArgsConstructor
-@Getter
-public enum BpmMessageEnum {
-
-    PROCESS_INSTANCE_APPROVE("bpm_process_instance_approve"), // 流程任务被审批通过时,发送给申请人
-    PROCESS_INSTANCE_REJECT("bpm_process_instance_reject"), // 流程任务被审批不通过时,发送给申请人
-    TASK_ASSIGNED("bpm_task_assigned"); // 任务被分配时,发送给审批人
-
-    /**
-     * 短信模板的标识
-     *
-     * 关联 {@link SysSmsTemplateDO#getCode()}
-     */
-    private final String smsCode;
-
-
-}

+ 0 - 37
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/enums/task/BpmProcessInstanceDeleteReasonEnum.java

@@ -1,37 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.enums.task;
-
-import cn.hutool.core.util.StrUtil;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * 流程实例的删除原因
- *
- * @author 芋道源码
- */
-@Getter
-@AllArgsConstructor
-public enum BpmProcessInstanceDeleteReasonEnum {
-
-    REJECT_TASK("不通过任务,原因:{}"), // 修改文案时,需要注意 isRejectReason 方法
-    CANCEL_TASK("主动取消任务,原因:{}");
-
-    private final String reason;
-
-    /**
-     * 格式化理由
-     *
-     * @param args 参数
-     * @return 理由
-     */
-    public String format(Object... args) {
-        return StrUtil.format(reason, args);
-    }
-
-    // ========== 逻辑 ==========
-
-    public static boolean isRejectReason(String reason) {
-        return StrUtil.startWith(reason, "不通过任务,原因:");
-    }
-
-}

+ 0 - 29
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/enums/task/BpmProcessInstanceResultEnum.java

@@ -1,29 +0,0 @@
-package cn.iocoder.yudao.adminserver.modules.bpm.enums.task;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * 流程实例的结果
- *
- * @author jason
- */
-@Getter
-@AllArgsConstructor
-public enum BpmProcessInstanceResultEnum {
-
-    PROCESS(1, "处理中"),
-    APPROVE(2, "通过"),
-    REJECT(3, "不通过"),
-    CANCEL(4, "已取消");
-
-    /**
-     * 结果
-     */
-    private final Integer result;
-    /**
-     * 描述
-     */
-    private final String desc;
-
-}

+ 0 - 0
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/enums/task/BpmProcessInstanceStatusEnum.java


Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio