Commit f39bfdab896f1ce0803c8ddc9e6782a9e843c183

Authored by YunaiV
1 parent fe1271a6

多模块重构 8:bom 模块,尝试公用部分逻辑

Showing 102 changed files with 945 additions and 424 deletions
yudao-admin-server/pom.xml
@@ -42,28 +42,13 @@ @@ -42,28 +42,13 @@
42 <artifactId>yudao-module-pay-impl</artifactId> 42 <artifactId>yudao-module-pay-impl</artifactId>
43 <version>${revision}</version> 43 <version>${revision}</version>
44 </dependency> 44 </dependency>
45 -  
46 -<!-- 默认引入bpm-activiti. 可以替换为bpm-flowable --> 45 + <!-- 默认引入 bpm-activiti 实现,可以替换为 bpm-flowable 实现-->
47 <dependency> 46 <dependency>
48 <groupId>cn.iocoder.boot</groupId> 47 <groupId>cn.iocoder.boot</groupId>
49 - <artifactId>yudao-module-bpm-activiti</artifactId> 48 + <artifactId>yudao-module-bpm-impl-activiti</artifactId>
50 <version>${revision}</version> 49 <version>${revision}</version>
51 </dependency> 50 </dependency>
52 51
53 - <!-- 业务组件 -->  
54 -  
55 - <dependency>  
56 - <groupId>cn.iocoder.boot</groupId>  
57 - <artifactId>yudao-spring-boot-starter-biz-dict</artifactId>  
58 - </dependency>  
59 -  
60 - <dependency>  
61 - <groupId>cn.iocoder.boot</groupId>  
62 - <artifactId>yudao-spring-boot-starter-biz-tenant</artifactId>  
63 - </dependency>  
64 -  
65 -  
66 -  
67 <!-- spring boot 配置所需依赖 --> 52 <!-- spring boot 配置所需依赖 -->
68 <dependency> 53 <dependency>
69 <groupId>org.springframework.boot</groupId> 54 <groupId>org.springframework.boot</groupId>
@@ -88,12 +73,6 @@ @@ -88,12 +73,6 @@
88 <artifactId>spring-boot-admin-starter-server</artifactId> <!-- 实现 Spring Boot Admin Server 服务端 --> 73 <artifactId>spring-boot-admin-starter-server</artifactId> <!-- 实现 Spring Boot Admin Server 服务端 -->
89 </dependency> 74 </dependency>
90 75
91 - <!-- 三方云服务相关 -->  
92 -  
93 - <dependency>  
94 - <groupId>com.xkcoding.justauth</groupId>  
95 - <artifactId>justauth-spring-boot-starter</artifactId>  
96 - </dependency>  
97 </dependencies> 76 </dependencies>
98 77
99 <build> 78 <build>
yudao-admin-server/src/main/resources/application.yaml
@@ -58,7 +58,8 @@ yudao: @@ -58,7 +58,8 @@ yudao:
58 app-api: 58 app-api:
59 prefix: /app-api 59 prefix: /app-api
60 controller: '**.controller.app.**' 60 controller: '**.controller.app.**'
61 - 61 + admin-ui:
  62 + url: http://dashboard.yudao.iocoder.cn # Admin 管理后台 UI 的地址
62 swagger: 63 swagger:
63 title: 管理后台 64 title: 管理后台
64 description: 提供管理员管理的所有功能 65 description: 提供管理员管理的所有功能
@@ -78,8 +79,6 @@ yudao: @@ -78,8 +79,6 @@ yudao:
78 - cn.iocoder.yudao.adminserver.modules.bpm.enums.BpmErrorCodeConstants 79 - cn.iocoder.yudao.adminserver.modules.bpm.enums.BpmErrorCodeConstants
79 tenant: # 多租户相关配置项 80 tenant: # 多租户相关配置项
80 tables: # 配置需要开启多租户的表;如果实体已经继承 TenantBaseDO 类,则无需重复配置 81 tables: # 配置需要开启多租户的表;如果实体已经继承 TenantBaseDO 类,则无需重复配置
81 - url: ## TODO 芋艿:迁移到 web 配置项下,  
82 - admin-ui: http://dashboard.yudao.iocoder.cn # Admin 管理后台 UI 的地址  
83 sms-code: # 短信验证码相关的配置项 82 sms-code: # 短信验证码相关的配置项
84 expire-times: 10m 83 expire-times: 10m
85 send-frequency: 1m 84 send-frequency: 1m
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/config/WebProperties.java
@@ -19,6 +19,9 @@ public class WebProperties { @@ -19,6 +19,9 @@ public class WebProperties {
19 @NotNull(message = "Admin API 不能为空") 19 @NotNull(message = "Admin API 不能为空")
20 private Api adminApi; 20 private Api adminApi;
21 21
  22 + @NotNull(message = "Admin UI 不能为空")
  23 + private Ui adminUi;
  24 +
22 @Data 25 @Data
23 @Valid 26 @Valid
24 public static class Api { 27 public static class Api {
@@ -45,4 +48,15 @@ public class WebProperties { @@ -45,4 +48,15 @@ public class WebProperties {
45 48
46 } 49 }
47 50
  51 + @Data
  52 + @Valid
  53 + public static class Ui {
  54 +
  55 + /**
  56 + * 访问地址
  57 + */
  58 + private String url;
  59 +
  60 + }
  61 +
48 } 62 }
yudao-module-bpm/TODO.md
1 1. 类名可以去掉 Bpm 前缀哈 1 1. 类名可以去掉 Bpm 前缀哈
  2 +
2 2. 后续接口我们分成 admin 管理后天,app 用户前端;所以 controller 包下,需要有 admin 和 app 两个子包。可见 https://gitee.com/zhijiantianya/ruoyi-vue-pro/tree/feature/multi-module/yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/controller 3 2. 后续接口我们分成 admin 管理后天,app 用户前端;所以 controller 包下,需要有 admin 和 app 两个子包。可见 https://gitee.com/zhijiantianya/ruoyi-vue-pro/tree/feature/multi-module/yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/controller
3 -3. yudao-module-xxx-api 是暴露接口给外部模块,所以可以把 yudao-module-bpm-core-service-api 改成 yudao-module-bpm-api。大概率用不了暴露 BpmUserGroupServiceApi 哈。  
4 -4. yudao-module-bpm-core-service-impl 模块,要不改成 yudao-module-bpm-base,本质上是提供给 yudao-module-bpm-flowable-impl 和 yudao-module-bpm-activiti-impl 继承的。这样的话,我们在 yudao-module-bpm-base: 4 +
  5 +3. yudao-module-bpm-core-service-impl 模块,要不改成 yudao-module-bpm-base,本质上是提供给 yudao-module-bpm-flowable-impl 和 yudao-module-bpm-activiti-impl 继承的。这样的话,我们在 yudao-module-bpm-base:
5 * 定义一些可被继承的类,例如说 ModelAbstractService; 6 * 定义一些可被继承的类,例如说 ModelAbstractService;
6 * 定义一些无需被继承的类,例如说 UserGroupService、UserGroupController 等等; 7 * 定义一些无需被继承的类,例如说 UserGroupService、UserGroupController 等等;
yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/ErrorCodeConstants.java
@@ -55,5 +55,10 @@ public interface ErrorCodeConstants { @@ -55,5 +55,10 @@ public interface ErrorCodeConstants {
55 55
56 // ========== 动态表单模块 1-009-010-000 ========== 56 // ========== 动态表单模块 1-009-010-000 ==========
57 ErrorCode FORM_NOT_EXISTS = new ErrorCode(1009010000, "动态表单不存在"); 57 ErrorCode FORM_NOT_EXISTS = new ErrorCode(1009010000, "动态表单不存在");
  58 + ErrorCode FORM_FIELD_REPEAT = new ErrorCode(1009010000, "表单项({}) 和 ({}) 使用了相同的字段名({})");
  59 +
  60 + // ========== 用户组模块 1-009-011-000 ==========
  61 + ErrorCode USER_GROUP_NOT_EXISTS = new ErrorCode(1009011000, "用户组不存在");
  62 + ErrorCode USER_GROUP_IS_DISABLE = new ErrorCode(1009011001, "名字为【{}】的用户组已被禁用");
58 63
59 } 64 }
yudao-module-bpm/yudao-module-bpm-base/pom.xml
@@ -21,6 +21,17 @@ @@ -21,6 +21,17 @@
21 <artifactId>yudao-module-bpm-api</artifactId> 21 <artifactId>yudao-module-bpm-api</artifactId>
22 <version>${revision}</version> 22 <version>${revision}</version>
23 </dependency> 23 </dependency>
  24 + <dependency>
  25 + <groupId>cn.iocoder.boot</groupId>
  26 + <artifactId>yudao-module-system-api</artifactId>
  27 + <version>${revision}</version>
  28 + </dependency>
  29 +
  30 + <!-- 业务组件 -->
  31 + <dependency>
  32 + <groupId>cn.iocoder.boot</groupId>
  33 + <artifactId>yudao-spring-boot-starter-biz-operatelog</artifactId>
  34 + </dependency>
24 35
25 <!-- Web 相关 --> 36 <!-- Web 相关 -->
26 <dependency> 37 <dependency>
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/controller/definition/vo/form/BpmFormBaseVO.java
1 package cn.iocoder.yudao.module.bpm.controller.definition.vo.form; 1 package cn.iocoder.yudao.module.bpm.controller.definition.vo.form;
2 2
3 -import com.sun.istack.internal.NotNull;  
4 import lombok.*; 3 import lombok.*;
5 import io.swagger.annotations.*; 4 import io.swagger.annotations.*;
6 import javax.validation.constraints.*; 5 import javax.validation.constraints.*;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/oa/vo/BpmOALeaveBaseVO.java renamed to yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/controller/oa/vo/BpmOALeaveBaseVO.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo; 1 +package cn.iocoder.yudao.module.bpm.controller.oa.vo;
2 2
3 import lombok.*; 3 import lombok.*;
4 import java.util.*; 4 import java.util.*;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/oa/vo/BpmOALeaveCreateReqVO.java renamed to yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/controller/oa/vo/BpmOALeaveCreateReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo; 1 +package cn.iocoder.yudao.module.bpm.controller.oa.vo;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import lombok.Data; 4 import lombok.Data;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/oa/vo/BpmOALeavePageReqVO.java renamed to yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/controller/oa/vo/BpmOALeavePageReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo; 1 +package cn.iocoder.yudao.module.bpm.controller.oa.vo;
2 2
3 import lombok.*; 3 import lombok.*;
4 import java.util.*; 4 import java.util.*;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/oa/vo/BpmOALeaveRespVO.java renamed to yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/controller/oa/vo/BpmOALeaveRespVO.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo; 1 +package cn.iocoder.yudao.module.bpm.controller.oa.vo;
2 2
3 import lombok.*; 3 import lombok.*;
4 import io.swagger.annotations.*; 4 import io.swagger.annotations.*;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/activity/BpmActivityRespVO.java renamed to yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/controller/task/vo/activity/BpmActivityRespVO.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.activity; 1 +package cn.iocoder.yudao.module.bpm.controller.task.vo.activity;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/instance/BpmProcessInstanceCancelReqVO.java renamed to yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/controller/task/vo/instance/BpmProcessInstanceCancelReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance; 1 +package cn.iocoder.yudao.module.bpm.controller.task.vo.instance;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/instance/BpmProcessInstanceCreateReqVO.java renamed to yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/controller/task/vo/instance/BpmProcessInstanceCreateReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance; 1 +package cn.iocoder.yudao.module.bpm.controller.task.vo.instance;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/instance/BpmProcessInstanceMyPageReqVO.java renamed to yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/controller/task/vo/instance/BpmProcessInstanceMyPageReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance; 1 +package cn.iocoder.yudao.module.bpm.controller.task.vo.instance;
2 2
3 import cn.iocoder.yudao.framework.common.pojo.PageParam; 3 import cn.iocoder.yudao.framework.common.pojo.PageParam;
4 import io.swagger.annotations.ApiModel; 4 import io.swagger.annotations.ApiModel;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/instance/BpmProcessInstancePageItemRespVO.java renamed to yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/controller/task/vo/instance/BpmProcessInstancePageItemRespVO.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance; 1 +package cn.iocoder.yudao.module.bpm.controller.task.vo.instance;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/instance/BpmProcessInstanceRespVO.java renamed to yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/controller/task/vo/instance/BpmProcessInstanceRespVO.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance; 1 +package cn.iocoder.yudao.module.bpm.controller.task.vo.instance;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskApproveReqVO.java renamed to yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/controller/task/vo/task/BpmTaskApproveReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task; 1 +package cn.iocoder.yudao.module.bpm.controller.task.vo.task;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskDonePageItemRespVO.java renamed to yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/controller/task/vo/task/BpmTaskDonePageItemRespVO.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task; 1 +package cn.iocoder.yudao.module.bpm.controller.task.vo.task;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskDonePageReqVO.java renamed to yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/controller/task/vo/task/BpmTaskDonePageReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task; 1 +package cn.iocoder.yudao.module.bpm.controller.task.vo.task;
2 2
3 import cn.iocoder.yudao.framework.common.pojo.PageParam; 3 import cn.iocoder.yudao.framework.common.pojo.PageParam;
4 import io.swagger.annotations.ApiModel; 4 import io.swagger.annotations.ApiModel;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskRejectReqVO.java renamed to yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/controller/task/vo/task/BpmTaskRejectReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task; 1 +package cn.iocoder.yudao.module.bpm.controller.task.vo.task;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskRespVO.java renamed to yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/controller/task/vo/task/BpmTaskRespVO.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task; 1 +package cn.iocoder.yudao.module.bpm.controller.task.vo.task;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
@@ -6,8 +6,6 @@ import lombok.Data; @@ -6,8 +6,6 @@ import lombok.Data;
6 import lombok.EqualsAndHashCode; 6 import lombok.EqualsAndHashCode;
7 import lombok.ToString; 7 import lombok.ToString;
8 8
9 -import java.util.List;  
10 -  
11 @ApiModel("流程任务的 Response VO") 9 @ApiModel("流程任务的 Response VO")
12 @Data 10 @Data
13 @EqualsAndHashCode(callSuper = true) 11 @EqualsAndHashCode(callSuper = true)
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskTodoPageItemRespVO.java renamed to yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/controller/task/vo/task/BpmTaskTodoPageItemRespVO.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task; 1 +package cn.iocoder.yudao.module.bpm.controller.task.vo.task;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskTodoPageReqVO.java renamed to yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/controller/task/vo/task/BpmTaskTodoPageReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task; 1 +package cn.iocoder.yudao.module.bpm.controller.task.vo.task;
2 2
3 import cn.iocoder.yudao.framework.common.pojo.PageParam; 3 import cn.iocoder.yudao.framework.common.pojo.PageParam;
4 import io.swagger.annotations.ApiModel; 4 import io.swagger.annotations.ApiModel;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskUpdateAssigneeReqVO.java renamed to yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/controller/task/vo/task/BpmTaskUpdateAssigneeReqVO.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task; 1 +package cn.iocoder.yudao.module.bpm.controller.task.vo.task;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import io.swagger.annotations.ApiModelProperty; 4 import io.swagger.annotations.ApiModelProperty;
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/convert/definition/BpmFormConvert.java
@@ -5,7 +5,6 @@ import cn.iocoder.yudao.module.bpm.controller.definition.vo.form.BpmFormRespVO; @@ -5,7 +5,6 @@ import cn.iocoder.yudao.module.bpm.controller.definition.vo.form.BpmFormRespVO;
5 import cn.iocoder.yudao.module.bpm.controller.definition.vo.form.BpmFormSimpleRespVO; 5 import cn.iocoder.yudao.module.bpm.controller.definition.vo.form.BpmFormSimpleRespVO;
6 import cn.iocoder.yudao.module.bpm.controller.definition.vo.form.BpmFormUpdateReqVO; 6 import cn.iocoder.yudao.module.bpm.controller.definition.vo.form.BpmFormUpdateReqVO;
7 import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO; 7 import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO;
8 -import cn.iocoder.yudao.module.bpm.api.form.dto.BpmFormDTO;  
9 import cn.iocoder.yudao.framework.common.pojo.PageResult; 8 import cn.iocoder.yudao.framework.common.pojo.PageResult;
10 import org.mapstruct.Mapper; 9 import org.mapstruct.Mapper;
11 import org.mapstruct.factory.Mappers; 10 import org.mapstruct.factory.Mappers;
@@ -28,10 +27,6 @@ public interface BpmFormConvert { @@ -28,10 +27,6 @@ public interface BpmFormConvert {
28 27
29 BpmFormRespVO convert(BpmFormDO bean); 28 BpmFormRespVO convert(BpmFormDO bean);
30 29
31 - BpmFormDTO convert1(BpmFormDO bean);  
32 -  
33 - List<BpmFormDTO> convertList(List<BpmFormDO> list);  
34 -  
35 List<BpmFormSimpleRespVO> convertList2(List<BpmFormDO> list); 30 List<BpmFormSimpleRespVO> convertList2(List<BpmFormDO> list);
36 31
37 PageResult<BpmFormRespVO> convertPage(PageResult<BpmFormDO> page); 32 PageResult<BpmFormRespVO> convertPage(PageResult<BpmFormDO> page);
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/convert/definition/BpmUserGroupConvert.java
@@ -6,7 +6,6 @@ import cn.iocoder.yudao.module.bpm.controller.definition.vo.group.BpmUserGroupCr @@ -6,7 +6,6 @@ import cn.iocoder.yudao.module.bpm.controller.definition.vo.group.BpmUserGroupCr
6 import cn.iocoder.yudao.module.bpm.controller.definition.vo.group.BpmUserGroupRespVO; 6 import cn.iocoder.yudao.module.bpm.controller.definition.vo.group.BpmUserGroupRespVO;
7 import cn.iocoder.yudao.module.bpm.controller.definition.vo.group.BpmUserGroupUpdateReqVO; 7 import cn.iocoder.yudao.module.bpm.controller.definition.vo.group.BpmUserGroupUpdateReqVO;
8 import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmUserGroupDO; 8 import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmUserGroupDO;
9 -import cn.iocoder.yudao.module.bpm.api.group.dto.BpmUserGroupDTO;  
10 import cn.iocoder.yudao.framework.common.pojo.PageResult; 9 import cn.iocoder.yudao.framework.common.pojo.PageResult;
11 10
12 import org.mapstruct.Mapper; 11 import org.mapstruct.Mapper;
@@ -36,5 +35,4 @@ public interface BpmUserGroupConvert { @@ -36,5 +35,4 @@ public interface BpmUserGroupConvert {
36 @Named("convertList2") 35 @Named("convertList2")
37 List<BpmUserGroupRespVO> convertList2(List<BpmUserGroupDO> list); 36 List<BpmUserGroupRespVO> convertList2(List<BpmUserGroupDO> list);
38 37
39 - List<BpmUserGroupDTO> convertList3(List<BpmUserGroupDO> list);  
40 } 38 }
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/convert/message/BpmMessageConvert.java 0 → 100644
  1 +package cn.iocoder.yudao.module.bpm.convert.message;
  2 +
  3 +import cn.iocoder.yudao.module.system.api.sms.dto.send.SmsSendSingleToUserReqDTO;
  4 +import org.mapstruct.Mapper;
  5 +import org.mapstruct.factory.Mappers;
  6 +
  7 +import java.util.Map;
  8 +
  9 +@Mapper
  10 +public interface BpmMessageConvert {
  11 +
  12 + BpmMessageConvert INSTANCE = Mappers.getMapper(BpmMessageConvert.class);
  13 +
  14 + SmsSendSingleToUserReqDTO convert(Long userId, String templateCode, Map<String, Object> templateParams);
  15 +
  16 +}
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/convert/oa/package-info.java 0 → 100644
  1 +package cn.iocoder.yudao.module.bpm.convert.oa;
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/convert/task/package-info.java 0 → 100644
  1 +package cn.iocoder.yudao.module.bpm.convert.task;
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/definition/BpmProcessDefinitionExtDO.java
1 package cn.iocoder.yudao.module.bpm.dal.dataobject.definition; 1 package cn.iocoder.yudao.module.bpm.dal.dataobject.definition;
2 2
3 -import cn.iocoder.yudao.adminserver.modules.bpm.enums.definition.BpmModelFormTypeEnum;  
4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
5 -import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO; 4 +import cn.iocoder.yudao.module.bpm.enums.definition.BpmModelFormTypeEnum;
6 import com.baomidou.mybatisplus.annotation.TableField; 5 import com.baomidou.mybatisplus.annotation.TableField;
7 import com.baomidou.mybatisplus.annotation.TableId; 6 import com.baomidou.mybatisplus.annotation.TableId;
8 import com.baomidou.mybatisplus.annotation.TableName; 7 import com.baomidou.mybatisplus.annotation.TableName;
9 import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; 8 import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
10 import lombok.*; 9 import lombok.*;
11 -import org.activiti.engine.repository.Model;  
12 -import org.activiti.engine.repository.ProcessDefinition;  
13 10
14 import java.util.List; 11 import java.util.List;
15 12
@@ -36,13 +33,13 @@ public class BpmProcessDefinitionExtDO extends BaseDO { @@ -36,13 +33,13 @@ public class BpmProcessDefinitionExtDO extends BaseDO {
36 /** 33 /**
37 * 流程定义的编号 34 * 流程定义的编号
38 * 35 *
39 - * 关联 {@link ProcessDefinition#getId()} 36 + * 关联 ProcessDefinition 的 id 属性
40 */ 37 */
41 private String processDefinitionId; 38 private String processDefinitionId;
42 /** 39 /**
43 * 流程模型的编号 40 * 流程模型的编号
44 * 41 *
45 - * 关联 {@link Model#getId()} 42 + * 关联 Model 的 id 属性
46 */ 43 */
47 private String modelId; 44 private String modelId;
48 /** 45 /**
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/definition/BpmTaskAssignRuleDO.java
1 package cn.iocoder.yudao.module.bpm.dal.dataobject.definition; 1 package cn.iocoder.yudao.module.bpm.dal.dataobject.definition;
2 2
3 -import cn.iocoder.yudao.adminserver.modules.bpm.enums.definition.BpmTaskRuleScriptEnum;  
4 -import cn.iocoder.yudao.adminserver.modules.bpm.enums.definition.BpmTaskAssignRuleTypeEnum;  
5 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
6 import cn.iocoder.yudao.framework.mybatis.core.type.JsonLongSetTypeHandler; 4 import cn.iocoder.yudao.framework.mybatis.core.type.JsonLongSetTypeHandler;
  5 +import cn.iocoder.yudao.module.bpm.enums.definition.BpmTaskAssignRuleTypeEnum;
  6 +import cn.iocoder.yudao.module.bpm.enums.definition.BpmTaskRuleScriptEnum;
7 import com.baomidou.mybatisplus.annotation.TableField; 7 import com.baomidou.mybatisplus.annotation.TableField;
8 import com.baomidou.mybatisplus.annotation.TableId; 8 import com.baomidou.mybatisplus.annotation.TableId;
9 import com.baomidou.mybatisplus.annotation.TableName; 9 import com.baomidou.mybatisplus.annotation.TableName;
10 import lombok.*; 10 import lombok.*;
11 -import org.activiti.engine.repository.Model;  
12 -import org.activiti.engine.repository.ProcessDefinition;  
13 -import org.activiti.engine.task.Task;  
14 11
15 import java.util.Set; 12 import java.util.Set;
16 13
@@ -46,19 +43,19 @@ public class BpmTaskAssignRuleDO extends BaseDO { @@ -46,19 +43,19 @@ public class BpmTaskAssignRuleDO extends BaseDO {
46 /** 43 /**
47 * 流程模型编号 44 * 流程模型编号
48 * 45 *
49 - * 关联 {@link Model#getId()} 46 + * 关联 Model 的 id 属性
50 */ 47 */
51 private String modelId; 48 private String modelId;
52 /** 49 /**
53 * 流程定义编号 50 * 流程定义编号
54 * 51 *
55 - * 关联 {@link ProcessDefinition#getId()} 52 + * 关联 ProcessDefinition 的 id 属性
56 */ 53 */
57 private String processDefinitionId; 54 private String processDefinitionId;
58 /** 55 /**
59 * 流程任务的定义 Key 56 * 流程任务的定义 Key
60 * 57 *
61 - * 关联 {@link Task#getTaskDefinitionKey()} 58 + * 关联 Task 的 taskDefinitionKey 属性
62 */ 59 */
63 private String taskDefinitionKey; 60 private String taskDefinitionKey;
64 61
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOALeaveDO.java
1 package cn.iocoder.yudao.module.bpm.dal.dataobject.oa; 1 package cn.iocoder.yudao.module.bpm.dal.dataobject.oa;
2 2
3 -import cn.iocoder.yudao.module.system.dal.dataobject.user.SysUserDO; 3 +import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
4 import lombok.*; 4 import lombok.*;
5 import java.util.*; 5 import java.util.*;
6 import com.baomidou.mybatisplus.annotation.*; 6 import com.baomidou.mybatisplus.annotation.*;
7 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 7 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
8 -import org.activiti.engine.runtime.ProcessInstance;  
9 8
10 /** 9 /**
11 * OA 请假申请 DO 10 * OA 请假申请 DO
@@ -32,7 +31,7 @@ public class BpmOALeaveDO extends BaseDO { @@ -32,7 +31,7 @@ public class BpmOALeaveDO extends BaseDO {
32 /** 31 /**
33 * 申请人的用户编号 32 * 申请人的用户编号
34 * 33 *
35 - * 关联 {@link SysUserDO#getId()} 34 + * 关联 AdminUserDO 的 id 属性
36 */ 35 */
37 private Long userId; 36 private Long userId;
38 /** 37 /**
@@ -59,7 +58,7 @@ public class BpmOALeaveDO extends BaseDO { @@ -59,7 +58,7 @@ public class BpmOALeaveDO extends BaseDO {
59 /** 58 /**
60 * 请假的结果 59 * 请假的结果
61 * 60 *
62 - * 枚举 {@link cn.iocoder.yudao.adminserver.modules.bpm.enums.task.BpmProcessInstanceResultEnum} 61 + * 枚举 {@link BpmProcessInstanceResultEnum}
63 * 考虑到简单,所以直接复用了 BpmProcessInstanceResultEnum 枚举,也可以自己定义一个枚举哈 62 * 考虑到简单,所以直接复用了 BpmProcessInstanceResultEnum 枚举,也可以自己定义一个枚举哈
64 */ 63 */
65 private Integer result; 64 private Integer result;
@@ -67,7 +66,7 @@ public class BpmOALeaveDO extends BaseDO { @@ -67,7 +66,7 @@ public class BpmOALeaveDO extends BaseDO {
67 /** 66 /**
68 * 对应的流程编号 67 * 对应的流程编号
69 * 68 *
70 - * 关联 {@link ProcessInstance#getId()} 69 + * 关联 ProcessInstance 的 id 属性
71 */ 70 */
72 private String processInstanceId; 71 private String processInstanceId;
73 72
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/task/BpmProcessInstanceExtDO.java
1 package cn.iocoder.yudao.module.bpm.dal.dataobject.task; 1 package cn.iocoder.yudao.module.bpm.dal.dataobject.task;
2 2
3 -import cn.iocoder.yudao.adminserver.modules.bpm.enums.task.BpmProcessInstanceResultEnum;  
4 -import cn.iocoder.yudao.adminserver.modules.bpm.enums.task.BpmProcessInstanceStatusEnum;  
5 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  4 +import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
  5 +import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceStatusEnum;
6 import com.baomidou.mybatisplus.annotation.TableField; 6 import com.baomidou.mybatisplus.annotation.TableField;
7 import com.baomidou.mybatisplus.annotation.TableId; 7 import com.baomidou.mybatisplus.annotation.TableId;
8 import com.baomidou.mybatisplus.annotation.TableName; 8 import com.baomidou.mybatisplus.annotation.TableName;
@@ -10,16 +10,13 @@ import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; @@ -10,16 +10,13 @@ import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
10 import lombok.Data; 10 import lombok.Data;
11 import lombok.EqualsAndHashCode; 11 import lombok.EqualsAndHashCode;
12 import lombok.ToString; 12 import lombok.ToString;
13 -import org.activiti.engine.history.HistoricProcessInstance;  
14 -import org.activiti.engine.repository.ProcessDefinition;  
15 -import org.activiti.engine.runtime.ProcessInstance;  
16 13
17 import java.util.Date; 14 import java.util.Date;
18 import java.util.Map; 15 import java.util.Map;
19 16
20 /** 17 /**
21 * Bpm 流程实例的拓展表 18 * Bpm 流程实例的拓展表
22 - * 主要解决 Activiti {@link ProcessInstance} 和 {@link HistoricProcessInstance} 不支持拓展字段,所以新建拓展表 19 + * 主要解决 Activiti ProcessInstance 和 HistoricProcessInstance 不支持拓展字段,所以新建拓展表
23 * 20 *
24 * @author 芋道源码 21 * @author 芋道源码
25 */ 22 */
@@ -27,9 +24,6 @@ import java.util.Map; @@ -27,9 +24,6 @@ import java.util.Map;
27 @Data 24 @Data
28 @EqualsAndHashCode(callSuper = true) 25 @EqualsAndHashCode(callSuper = true)
29 @ToString(callSuper = true) 26 @ToString(callSuper = true)
30 -//@Builder  
31 -//@NoArgsConstructor  
32 -//@AllArgsConstructor  
33 public class BpmProcessInstanceExtDO extends BaseDO { 27 public class BpmProcessInstanceExtDO extends BaseDO {
34 28
35 /** 29 /**
@@ -40,31 +34,31 @@ public class BpmProcessInstanceExtDO extends BaseDO { @@ -40,31 +34,31 @@ public class BpmProcessInstanceExtDO extends BaseDO {
40 /** 34 /**
41 * 发起流程的用户编号 35 * 发起流程的用户编号
42 * 36 *
43 - * 冗余 {@link HistoricProcessInstance#getStartUserId()} 37 + * 冗余 HistoricProcessInstance 的 startUserId 属性
44 */ 38 */
45 private Long startUserId; 39 private Long startUserId;
46 /** 40 /**
47 * 流程实例的名字 41 * 流程实例的名字
48 * 42 *
49 - * 冗余 {@link ProcessInstance#getName()} 为了筛选 43 + * 冗余 ProcessInstance 的 name 属性,用于筛选
50 */ 44 */
51 private String name; 45 private String name;
52 /** 46 /**
53 * 流程实例的编号 47 * 流程实例的编号
54 * 48 *
55 - * 关联 {@link ProcessInstance#getId()} 49 + * 关联 ProcessInstance 的 id 属性
56 */ 50 */
57 private String processInstanceId; 51 private String processInstanceId;
58 /** 52 /**
59 * 流程定义的编号 53 * 流程定义的编号
60 * 54 *
61 - * 关联 {@link ProcessDefinition#getId()} 55 + * 关联 ProcessDefinition 的 id 属性
62 */ 56 */
63 private String processDefinitionId; 57 private String processDefinitionId;
64 /** 58 /**
65 * 流程分类 59 * 流程分类
66 * 60 *
67 - * 冗余 {@link ProcessDefinition#getCategory()} 61 + * 冗余 ProcessDefinition 的 category 属性
68 * 数据字典 bpm_model_category 62 * 数据字典 bpm_model_category
69 */ 63 */
70 private String category; 64 private String category;
@@ -83,7 +77,7 @@ public class BpmProcessInstanceExtDO extends BaseDO { @@ -83,7 +77,7 @@ public class BpmProcessInstanceExtDO extends BaseDO {
83 /** 77 /**
84 * 结束时间 78 * 结束时间
85 * 79 *
86 - * 冗余 {@link HistoricProcessInstance#getEndTime()} 80 + * 冗余 HistoricProcessInstance 的 endTime 属性
87 */ 81 */
88 private Date endTime; 82 private Date endTime;
89 83
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/task/BpmTaskExtDO.java
1 package cn.iocoder.yudao.module.bpm.dal.dataobject.task; 1 package cn.iocoder.yudao.module.bpm.dal.dataobject.task;
2 2
3 -import cn.iocoder.yudao.adminserver.modules.bpm.enums.task.BpmProcessInstanceResultEnum;  
4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  4 +import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
5 import com.baomidou.mybatisplus.annotation.TableName; 5 import com.baomidou.mybatisplus.annotation.TableName;
6 import lombok.Data; 6 import lombok.Data;
7 import lombok.EqualsAndHashCode; 7 import lombok.EqualsAndHashCode;
8 import lombok.ToString; 8 import lombok.ToString;
9 -import org.activiti.engine.history.HistoricTaskInstance;  
10 -import org.activiti.engine.repository.ProcessDefinition;  
11 -import org.activiti.engine.runtime.ProcessInstance;  
12 -import org.activiti.engine.task.Task;  
13 9
14 import java.util.Date; 10 import java.util.Date;
15 11
16 /** 12 /**
17 * Bpm 流程任务的拓展表 13 * Bpm 流程任务的拓展表
18 - * 主要解决 Activiti {@link Task} 和 {@link HistoricTaskInstance} 不支持拓展字段,所以新建拓展表 14 + * 主要解决 Activiti Task 和 HistoricTaskInstance 不支持拓展字段,所以新建拓展表
19 * 15 *
20 * @author 芋道源码 16 * @author 芋道源码
21 */ 17 */
@@ -23,27 +19,24 @@ import java.util.Date; @@ -23,27 +19,24 @@ import java.util.Date;
23 @Data 19 @Data
24 @EqualsAndHashCode(callSuper = true) 20 @EqualsAndHashCode(callSuper = true)
25 @ToString(callSuper = true) 21 @ToString(callSuper = true)
26 -//@Builder  
27 -//@NoArgsConstructor  
28 -//@AllArgsConstructor  
29 public class BpmTaskExtDO extends BaseDO { 22 public class BpmTaskExtDO extends BaseDO {
30 23
31 /** 24 /**
32 * 任务的审批人 25 * 任务的审批人
33 * 26 *
34 - * 冗余 {@link Task#getAssignee()} 27 + * 冗余 Task 的 assignee 属性
35 */ 28 */
36 private Long assigneeUserId; 29 private Long assigneeUserId;
37 /** 30 /**
38 * 任务的名字 31 * 任务的名字
39 * 32 *
40 - * 冗余 {@link Task#getName()} 为了筛选 33 + * 冗余 Task 的 name 属性,为了筛选
41 */ 34 */
42 private String name; 35 private String name;
43 /** 36 /**
44 * 任务的编号 37 * 任务的编号
45 * 38 *
46 - * 关联 {@link Task#getId()} 39 + * 关联 Task 的 id 属性
47 */ 40 */
48 private String taskId; 41 private String taskId;
49 // /** 42 // /**
@@ -65,20 +58,20 @@ public class BpmTaskExtDO extends BaseDO { @@ -65,20 +58,20 @@ public class BpmTaskExtDO extends BaseDO {
65 /** 58 /**
66 * 任务的结束时间 59 * 任务的结束时间
67 * 60 *
68 - * 冗余 {@link HistoricTaskInstance#getEndTime()} 61 + * 冗余 HistoricTaskInstance 的 endTime 属性
69 */ 62 */
70 private Date endTime; 63 private Date endTime;
71 64
72 /** 65 /**
73 * 流程实例的编号 66 * 流程实例的编号
74 * 67 *
75 - * 关联 {@link ProcessInstance#getId()} 68 + * 关联 ProcessInstance 的 id 属性
76 */ 69 */
77 private String processInstanceId; 70 private String processInstanceId;
78 /** 71 /**
79 * 流程定义的编号 72 * 流程定义的编号
80 * 73 *
81 - * 关联 {@link ProcessDefinition#getId()} 74 + * 关联 ProcessDefinition 的 id 属性
82 */ 75 */
83 private String processDefinitionId; 76 private String processDefinitionId;
84 77
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/mysql/definition/BpmProcessDefinitionExtMapper.java renamed to yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/definition/BpmProcessDefinitionExtMapper.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.definition; 1 +package cn.iocoder.yudao.module.bpm.dal.mysql.definition;
2 2
3 import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO; 3 import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO;
4 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; 4 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/mysql/definition/BpmTaskAssignRuleMapper.java renamed to yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/definition/BpmTaskAssignRuleMapper.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.definition; 1 +package cn.iocoder.yudao.module.bpm.dal.mysql.definition;
2 2
3 import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO; 3 import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO;
4 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; 4 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/mysql/oa/BpmOALeaveMapper.java renamed to yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOALeaveMapper.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.oa; 1 +package cn.iocoder.yudao.module.bpm.dal.mysql.oa;
2 2
3 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeavePageReqVO; 3 +import cn.iocoder.yudao.module.bpm.controller.oa.vo.BpmOALeavePageReqVO;
4 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOALeaveDO; 4 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOALeaveDO;
5 import cn.iocoder.yudao.framework.common.pojo.PageResult; 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
6 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; 6 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/mysql/task/BpmProcessInstanceExtMapper.java renamed to yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/task/BpmProcessInstanceExtMapper.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.task; 1 +package cn.iocoder.yudao.module.bpm.dal.mysql.task;
2 2
3 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance.BpmProcessInstanceMyPageReqVO; 3 +import cn.iocoder.yudao.module.bpm.controller.task.vo.instance.BpmProcessInstanceMyPageReqVO;
4 import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmProcessInstanceExtDO; 4 import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmProcessInstanceExtDO;
5 import cn.iocoder.yudao.framework.common.pojo.PageResult; 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
6 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; 6 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/mysql/task/BpmTaskExtMapper.java renamed to yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/task/BpmTaskExtMapper.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.task; 1 +package cn.iocoder.yudao.module.bpm.dal.mysql.task;
2 2
3 import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmTaskExtDO; 3 import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmTaskExtDO;
4 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; 4 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/enums/message/BpmMessageEnum.java
1 package cn.iocoder.yudao.module.bpm.enums.message; 1 package cn.iocoder.yudao.module.bpm.enums.message;
2 2
3 -import cn.iocoder.yudao.module.system.dal.dataobject.sms.SysSmsTemplateDO;  
4 import lombok.AllArgsConstructor; 3 import lombok.AllArgsConstructor;
5 import lombok.Getter; 4 import lombok.Getter;
6 5
@@ -20,9 +19,8 @@ public enum BpmMessageEnum { @@ -20,9 +19,8 @@ public enum BpmMessageEnum {
20 /** 19 /**
21 * 短信模板的标识 20 * 短信模板的标识
22 * 21 *
23 - * 关联 {@link SysSmsTemplateDO#getCode()} 22 + * 关联 SmsTemplateDO 的 code 属性
24 */ 23 */
25 - private final String smsCode;  
26 - 24 + private final String smsTemplateCode;
27 25
28 } 26 }
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmUserGroupService.java
@@ -47,6 +47,14 @@ public interface BpmUserGroupService { @@ -47,6 +47,14 @@ public interface BpmUserGroupService {
47 BpmUserGroupDO getUserGroup(Long id); 47 BpmUserGroupDO getUserGroup(Long id);
48 48
49 /** 49 /**
  50 + * 获得用户组列表
  51 + *
  52 + * @param ids 编号
  53 + * @return 用户组列表
  54 + */
  55 + List<BpmUserGroupDO> getUserGroupList(Collection<Long> ids);
  56 +
  57 + /**
50 * 获得指定状态的用户组列表 58 * 获得指定状态的用户组列表
51 * 59 *
52 * @param status 状态 60 * @param status 状态
@@ -70,4 +78,5 @@ public interface BpmUserGroupService { @@ -70,4 +78,5 @@ public interface BpmUserGroupService {
70 * @param ids 用户组编号数组 78 * @param ids 用户组编号数组
71 */ 79 */
72 void validUserGroups(Set<Long> ids); 80 void validUserGroups(Set<Long> ids);
  81 +
73 } 82 }
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmUserGroupServiceImpl.java
@@ -15,12 +15,13 @@ import org.springframework.stereotype.Service; @@ -15,12 +15,13 @@ import org.springframework.stereotype.Service;
15 import org.springframework.validation.annotation.Validated; 15 import org.springframework.validation.annotation.Validated;
16 16
17 import javax.annotation.Resource; 17 import javax.annotation.Resource;
  18 +import java.util.Collection;
18 import java.util.List; 19 import java.util.List;
19 import java.util.Map; 20 import java.util.Map;
20 import java.util.Set; 21 import java.util.Set;
21 22
22 -import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.USER_GROUP_NOT_EXISTS;  
23 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 23 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
  24 +import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.*;
24 25
25 /** 26 /**
26 * 用户组 Service 实现类 27 * 用户组 Service 实现类
@@ -71,6 +72,11 @@ public class BpmUserGroupServiceImpl implements BpmUserGroupService { @@ -71,6 +72,11 @@ public class BpmUserGroupServiceImpl implements BpmUserGroupService {
71 return userGroupMapper.selectById(id); 72 return userGroupMapper.selectById(id);
72 } 73 }
73 74
  75 + @Override
  76 + public List<BpmUserGroupDO> getUserGroupList(Collection<Long> ids) {
  77 + return userGroupMapper.selectBatchIds(ids);
  78 + }
  79 +
74 80
75 @Override 81 @Override
76 public List<BpmUserGroupDO> getUserGroupListByStatus(Integer status) { 82 public List<BpmUserGroupDO> getUserGroupListByStatus(Integer status) {
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/service/message/BpmMessageServiceImpl.java
1 package cn.iocoder.yudao.module.bpm.service.message; 1 package cn.iocoder.yudao.module.bpm.service.message;
2 2
3 -import cn.iocoder.yudao.adminserver.modules.bpm.enums.message.BpmMessageEnum;  
4 -import cn.iocoder.yudao.module.bpm.service.message.BpmMessageService; 3 +import cn.iocoder.yudao.framework.web.config.WebProperties;
  4 +import cn.iocoder.yudao.module.bpm.convert.message.BpmMessageConvert;
  5 +import cn.iocoder.yudao.module.bpm.enums.message.BpmMessageEnum;
5 import cn.iocoder.yudao.module.bpm.service.message.dto.BpmMessageSendWhenProcessInstanceApproveReqDTO; 6 import cn.iocoder.yudao.module.bpm.service.message.dto.BpmMessageSendWhenProcessInstanceApproveReqDTO;
6 import cn.iocoder.yudao.module.bpm.service.message.dto.BpmMessageSendWhenProcessInstanceRejectReqDTO; 7 import cn.iocoder.yudao.module.bpm.service.message.dto.BpmMessageSendWhenProcessInstanceRejectReqDTO;
7 import cn.iocoder.yudao.module.bpm.service.message.dto.BpmMessageSendWhenTaskCreatedReqDTO; 8 import cn.iocoder.yudao.module.bpm.service.message.dto.BpmMessageSendWhenTaskCreatedReqDTO;
8 -import cn.iocoder.yudao.module.system.service.sms.SysSmsCoreService; 9 +import cn.iocoder.yudao.module.system.api.sms.SmsSendApi;
9 import lombok.extern.slf4j.Slf4j; 10 import lombok.extern.slf4j.Slf4j;
10 -import org.springframework.beans.factory.annotation.Value;  
11 import org.springframework.stereotype.Service; 11 import org.springframework.stereotype.Service;
12 import org.springframework.validation.annotation.Validated; 12 import org.springframework.validation.annotation.Validated;
13 13
@@ -26,18 +26,18 @@ import java.util.Map; @@ -26,18 +26,18 @@ import java.util.Map;
26 public class BpmMessageServiceImpl implements BpmMessageService { 26 public class BpmMessageServiceImpl implements BpmMessageService {
27 27
28 @Resource 28 @Resource
29 - private SysSmsCoreService smsCoreService; 29 + private SmsSendApi smsSendApi;
30 30
31 - @Value("${yudao.url.admin-ui}")  
32 - private String adminUiUrl; 31 + @Resource
  32 + private WebProperties webProperties;
33 33
34 @Override 34 @Override
35 public void sendMessageWhenProcessInstanceApprove(BpmMessageSendWhenProcessInstanceApproveReqDTO reqDTO) { 35 public void sendMessageWhenProcessInstanceApprove(BpmMessageSendWhenProcessInstanceApproveReqDTO reqDTO) {
36 Map<String, Object> templateParams = new HashMap<>(); 36 Map<String, Object> templateParams = new HashMap<>();
37 templateParams.put("processInstanceName", reqDTO.getProcessInstanceName()); 37 templateParams.put("processInstanceName", reqDTO.getProcessInstanceName());
38 templateParams.put("detailUrl", getProcessInstanceDetailUrl(reqDTO.getProcessInstanceId())); 38 templateParams.put("detailUrl", getProcessInstanceDetailUrl(reqDTO.getProcessInstanceId()));
39 - smsCoreService.sendSingleSmsToAdmin(null, reqDTO.getStartUserId(),  
40 - BpmMessageEnum.PROCESS_INSTANCE_APPROVE.getSmsCode(), templateParams); 39 + smsSendApi.sendSingleSmsToAdmin(BpmMessageConvert.INSTANCE.convert(reqDTO.getStartUserId(),
  40 + BpmMessageEnum.PROCESS_INSTANCE_APPROVE.getSmsTemplateCode(), templateParams));
41 } 41 }
42 42
43 @Override 43 @Override
@@ -46,8 +46,8 @@ public class BpmMessageServiceImpl implements BpmMessageService { @@ -46,8 +46,8 @@ public class BpmMessageServiceImpl implements BpmMessageService {
46 templateParams.put("processInstanceName", reqDTO.getProcessInstanceName()); 46 templateParams.put("processInstanceName", reqDTO.getProcessInstanceName());
47 templateParams.put("comment", reqDTO.getComment()); 47 templateParams.put("comment", reqDTO.getComment());
48 templateParams.put("detailUrl", getProcessInstanceDetailUrl(reqDTO.getProcessInstanceId())); 48 templateParams.put("detailUrl", getProcessInstanceDetailUrl(reqDTO.getProcessInstanceId()));
49 - smsCoreService.sendSingleSmsToAdmin(null, reqDTO.getStartUserId(),  
50 - BpmMessageEnum.PROCESS_INSTANCE_REJECT.getSmsCode(), templateParams); 49 + smsSendApi.sendSingleSmsToAdmin(BpmMessageConvert.INSTANCE.convert(reqDTO.getStartUserId(),
  50 + BpmMessageEnum.PROCESS_INSTANCE_REJECT.getSmsTemplateCode(), templateParams));
51 } 51 }
52 52
53 @Override 53 @Override
@@ -57,12 +57,12 @@ public class BpmMessageServiceImpl implements BpmMessageService { @@ -57,12 +57,12 @@ public class BpmMessageServiceImpl implements BpmMessageService {
57 templateParams.put("taskName", reqDTO.getTaskName()); 57 templateParams.put("taskName", reqDTO.getTaskName());
58 templateParams.put("startUserNickname", reqDTO.getStartUserNickname()); 58 templateParams.put("startUserNickname", reqDTO.getStartUserNickname());
59 templateParams.put("detailUrl", getProcessInstanceDetailUrl(reqDTO.getProcessInstanceId())); 59 templateParams.put("detailUrl", getProcessInstanceDetailUrl(reqDTO.getProcessInstanceId()));
60 - smsCoreService.sendSingleSmsToAdmin(null, reqDTO.getAssigneeUserId(),  
61 - BpmMessageEnum.TASK_ASSIGNED.getSmsCode(), templateParams); 60 + smsSendApi.sendSingleSmsToAdmin(BpmMessageConvert.INSTANCE.convert(reqDTO.getStartUserId(),
  61 + BpmMessageEnum.TASK_ASSIGNED.getSmsTemplateCode(), templateParams));
62 } 62 }
63 63
64 private String getProcessInstanceDetailUrl(String taskId) { 64 private String getProcessInstanceDetailUrl(String taskId) {
65 - return adminUiUrl + "bpm/process-instance/detail?id=" + taskId; 65 + return webProperties.getAdminUi().getUrl() + "/bpm/process-instance/detail?id=" + taskId;
66 } 66 }
67 67
68 } 68 }
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/service/message/dto/BpmMessageSendWhenTaskCreatedReqDTO.java
@@ -22,7 +22,7 @@ public class BpmMessageSendWhenTaskCreatedReqDTO { @@ -22,7 +22,7 @@ public class BpmMessageSendWhenTaskCreatedReqDTO {
22 @NotEmpty(message = "流程实例的名字不能为空") 22 @NotEmpty(message = "流程实例的名字不能为空")
23 private String processInstanceName; 23 private String processInstanceName;
24 @NotEmpty(message = "发起人的用户编号") 24 @NotEmpty(message = "发起人的用户编号")
25 - private String startUserId; 25 + private Long startUserId;
26 @NotEmpty(message = "发起人的昵称") 26 @NotEmpty(message = "发起人的昵称")
27 private String startUserNickname; 27 private String startUserNickname;
28 28
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/service/task/package-info.java 0 → 100644
  1 +package cn.iocoder.yudao.module.bpm.service.task;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/definition/BpmModelController.java
1 package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition; 1 package cn.iocoder.yudao.adminserver.modules.bpm.controller.definition;
2 2
3 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.model.*;  
4 import cn.iocoder.yudao.adminserver.modules.bpm.convert.definition.BpmModelConvert; 3 import cn.iocoder.yudao.adminserver.modules.bpm.convert.definition.BpmModelConvert;
5 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmModelService; 4 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmModelService;
6 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 5 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/oa/BpmOALeaveController.java
1 package cn.iocoder.yudao.adminserver.modules.bpm.controller.oa; 1 package cn.iocoder.yudao.adminserver.modules.bpm.controller.oa;
2 2
3 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeaveCreateReqVO;  
4 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeavePageReqVO;  
5 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeaveRespVO; 3 +import cn.iocoder.yudao.module.bpm.controller.oa.vo.BpmOALeaveCreateReqVO;
  4 +import cn.iocoder.yudao.module.bpm.controller.oa.vo.BpmOALeavePageReqVO;
  5 +import cn.iocoder.yudao.module.bpm.controller.oa.vo.BpmOALeaveRespVO;
6 import cn.iocoder.yudao.adminserver.modules.bpm.convert.oa.BpmOALeaveConvert; 6 import cn.iocoder.yudao.adminserver.modules.bpm.convert.oa.BpmOALeaveConvert;
7 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOALeaveDO; 7 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOALeaveDO;
8 import cn.iocoder.yudao.adminserver.modules.bpm.service.oa.BpmOALeaveService; 8 import cn.iocoder.yudao.adminserver.modules.bpm.service.oa.BpmOALeaveService;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/BpmActivityController.java
1 package cn.iocoder.yudao.adminserver.modules.bpm.controller.task; 1 package cn.iocoder.yudao.adminserver.modules.bpm.controller.task;
2 2
3 import cn.hutool.core.util.StrUtil; 3 import cn.hutool.core.util.StrUtil;
4 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.activity.BpmActivityRespVO; 4 +import cn.iocoder.yudao.module.bpm.controller.task.vo.activity.BpmActivityRespVO;
5 import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmActivityService; 5 import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmActivityService;
6 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 6 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
7 import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils; 7 import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/BpmProcessInstanceController.java
1 package cn.iocoder.yudao.adminserver.modules.bpm.controller.task; 1 package cn.iocoder.yudao.adminserver.modules.bpm.controller.task;
2 2
3 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance.*;  
4 import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmProcessInstanceService; 3 import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmProcessInstanceService;
5 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 4 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
6 import cn.iocoder.yudao.framework.common.pojo.PageResult; 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
  6 +import cn.iocoder.yudao.module.bpm.controller.task.vo.instance.*;
7 import io.swagger.annotations.Api; 7 import io.swagger.annotations.Api;
8 import io.swagger.annotations.ApiImplicitParam; 8 import io.swagger.annotations.ApiImplicitParam;
9 import io.swagger.annotations.ApiOperation; 9 import io.swagger.annotations.ApiOperation;
@@ -25,7 +25,7 @@ public class BpmProcessInstanceController { @@ -25,7 +25,7 @@ public class BpmProcessInstanceController {
25 25
26 @Resource 26 @Resource
27 private BpmProcessInstanceService processInstanceService; 27 private BpmProcessInstanceService processInstanceService;
28 - 28 +
29 @PostMapping("/create") 29 @PostMapping("/create")
30 @ApiOperation("新建流程实例") 30 @ApiOperation("新建流程实例")
31 @PreAuthorize("@ss.hasPermission('bpm:process-instance:query')") 31 @PreAuthorize("@ss.hasPermission('bpm:process-instance:query')")
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/BpmTaskController.java
1 package cn.iocoder.yudao.adminserver.modules.bpm.controller.task; 1 package cn.iocoder.yudao.adminserver.modules.bpm.controller.task;
2 2
3 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task.*;  
4 import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmTaskService; 3 import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmTaskService;
5 import cn.iocoder.yudao.framework.common.pojo.CommonResult; 4 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
6 import cn.iocoder.yudao.framework.common.pojo.PageResult; 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
7 -import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils; 6 +import cn.iocoder.yudao.module.bpm.controller.task.vo.task.*;
8 import io.swagger.annotations.Api; 7 import io.swagger.annotations.Api;
9 import io.swagger.annotations.ApiImplicitParam; 8 import io.swagger.annotations.ApiImplicitParam;
10 import io.swagger.annotations.ApiOperation; 9 import io.swagger.annotations.ApiOperation;
@@ -13,9 +12,7 @@ import org.springframework.validation.annotation.Validated; @@ -13,9 +12,7 @@ import org.springframework.validation.annotation.Validated;
13 import org.springframework.web.bind.annotation.*; 12 import org.springframework.web.bind.annotation.*;
14 13
15 import javax.annotation.Resource; 14 import javax.annotation.Resource;
16 -import javax.servlet.http.HttpServletResponse;  
17 import javax.validation.Valid; 15 import javax.validation.Valid;
18 -import java.io.IOException;  
19 import java.util.List; 16 import java.util.List;
20 17
21 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; 18 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/definition/BpmModelConvert.java
1 package cn.iocoder.yudao.adminserver.modules.bpm.convert.definition; 1 package cn.iocoder.yudao.adminserver.modules.bpm.convert.definition;
2 2
3 import cn.hutool.core.util.StrUtil; 3 import cn.hutool.core.util.StrUtil;
4 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.model.*;  
5 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.dto.BpmModelMetaInfoRespDTO; 4 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.dto.BpmModelMetaInfoRespDTO;
6 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.dto.BpmProcessDefinitionCreateReqDTO; 5 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.dto.BpmProcessDefinitionCreateReqDTO;
7 -import cn.iocoder.yudao.module.bpm.api.form.dto.BpmFormDTO;  
8 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; 6 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
9 import cn.iocoder.yudao.framework.common.util.json.JsonUtils; 7 import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
10 import cn.iocoder.yudao.module.bpm.controller.definition.vo.model.*; 8 import cn.iocoder.yudao.module.bpm.controller.definition.vo.model.*;
  9 +import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO;
11 import org.activiti.engine.impl.persistence.entity.SuspensionState; 10 import org.activiti.engine.impl.persistence.entity.SuspensionState;
12 import org.activiti.engine.repository.Deployment; 11 import org.activiti.engine.repository.Deployment;
13 import org.activiti.engine.repository.Model; 12 import org.activiti.engine.repository.Model;
@@ -31,19 +30,19 @@ public interface BpmModelConvert { @@ -31,19 +30,19 @@ public interface BpmModelConvert {
31 30
32 BpmModelConvert INSTANCE = Mappers.getMapper(BpmModelConvert.class); 31 BpmModelConvert INSTANCE = Mappers.getMapper(BpmModelConvert.class);
33 32
34 - default List<BpmModelPageItemRespVO> convertList(List<Model> list, Map<Long, BpmFormDTO> formMap, 33 + default List<BpmModelPageItemRespVO> convertList(List<Model> list, Map<Long, BpmFormDO> formMap,
35 Map<String, Deployment> deploymentMap, 34 Map<String, Deployment> deploymentMap,
36 Map<String, ProcessDefinition> processDefinitionMap) { 35 Map<String, ProcessDefinition> processDefinitionMap) {
37 return CollectionUtils.convertList(list, model -> { 36 return CollectionUtils.convertList(list, model -> {
38 BpmModelMetaInfoRespDTO metaInfo = JsonUtils.parseObject(model.getMetaInfo(), BpmModelMetaInfoRespDTO.class); 37 BpmModelMetaInfoRespDTO metaInfo = JsonUtils.parseObject(model.getMetaInfo(), BpmModelMetaInfoRespDTO.class);
39 - BpmFormDTO form = metaInfo != null ? formMap.get(metaInfo.getFormId()) : null; 38 + BpmFormDO form = metaInfo != null ? formMap.get(metaInfo.getFormId()) : null;
40 Deployment deployment = model.getDeploymentId() != null ? deploymentMap.get(model.getDeploymentId()) : null; 39 Deployment deployment = model.getDeploymentId() != null ? deploymentMap.get(model.getDeploymentId()) : null;
41 ProcessDefinition processDefinition = model.getDeploymentId() != null ? processDefinitionMap.get(model.getDeploymentId()) : null; 40 ProcessDefinition processDefinition = model.getDeploymentId() != null ? processDefinitionMap.get(model.getDeploymentId()) : null;
42 return convert(model, form, deployment, processDefinition); 41 return convert(model, form, deployment, processDefinition);
43 }); 42 });
44 } 43 }
45 44
46 - default BpmModelPageItemRespVO convert(Model model, BpmFormDTO form, Deployment deployment, ProcessDefinition processDefinition) { 45 + default BpmModelPageItemRespVO convert(Model model, BpmFormDO form, Deployment deployment, ProcessDefinition processDefinition) {
47 BpmModelPageItemRespVO modelRespVO = new BpmModelPageItemRespVO(); 46 BpmModelPageItemRespVO modelRespVO = new BpmModelPageItemRespVO();
48 modelRespVO.setId(model.getId()); 47 modelRespVO.setId(model.getId());
49 modelRespVO.setCreateTime(model.getCreateTime()); 48 modelRespVO.setCreateTime(model.getCreateTime());
@@ -84,7 +83,7 @@ public interface BpmModelConvert { @@ -84,7 +83,7 @@ public interface BpmModelConvert {
84 83
85 void copyTo(BpmModelMetaInfoRespDTO from, @MappingTarget BpmModelBaseVO to); 84 void copyTo(BpmModelMetaInfoRespDTO from, @MappingTarget BpmModelBaseVO to);
86 85
87 - default BpmProcessDefinitionCreateReqDTO convert2(Model model, BpmFormDTO form) { 86 + default BpmProcessDefinitionCreateReqDTO convert2(Model model, BpmFormDO form) {
88 BpmProcessDefinitionCreateReqDTO createReqDTO = new BpmProcessDefinitionCreateReqDTO(); 87 BpmProcessDefinitionCreateReqDTO createReqDTO = new BpmProcessDefinitionCreateReqDTO();
89 createReqDTO.setModelId(model.getId()); 88 createReqDTO.setModelId(model.getId());
90 createReqDTO.setName(model.getName()); 89 createReqDTO.setName(model.getName());
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/definition/BpmProcessDefinitionConvert.java
@@ -2,9 +2,9 @@ package cn.iocoder.yudao.adminserver.modules.bpm.convert.definition; @@ -2,9 +2,9 @@ package cn.iocoder.yudao.adminserver.modules.bpm.convert.definition;
2 2
3 import cn.iocoder.yudao.module.bpm.controller.definition.vo.process.BpmProcessDefinitionPageItemRespVO; 3 import cn.iocoder.yudao.module.bpm.controller.definition.vo.process.BpmProcessDefinitionPageItemRespVO;
4 import cn.iocoder.yudao.module.bpm.controller.definition.vo.process.BpmProcessDefinitionRespVO; 4 import cn.iocoder.yudao.module.bpm.controller.definition.vo.process.BpmProcessDefinitionRespVO;
  5 +import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO;
5 import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO; 6 import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO;
6 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.dto.BpmProcessDefinitionCreateReqDTO; 7 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.dto.BpmProcessDefinitionCreateReqDTO;
7 -import cn.iocoder.yudao.module.bpm.api.form.dto.BpmFormDTO;  
8 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; 8 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
9 import org.activiti.engine.impl.persistence.entity.SuspensionState; 9 import org.activiti.engine.impl.persistence.entity.SuspensionState;
10 import org.activiti.engine.repository.Deployment; 10 import org.activiti.engine.repository.Deployment;
@@ -29,17 +29,17 @@ public interface BpmProcessDefinitionConvert { @@ -29,17 +29,17 @@ public interface BpmProcessDefinitionConvert {
29 BpmProcessDefinitionConvert INSTANCE = Mappers.getMapper(BpmProcessDefinitionConvert.class); 29 BpmProcessDefinitionConvert INSTANCE = Mappers.getMapper(BpmProcessDefinitionConvert.class);
30 30
31 default List<BpmProcessDefinitionPageItemRespVO> convertList(List<ProcessDefinition> list, Map<String, Deployment> deploymentMap, 31 default List<BpmProcessDefinitionPageItemRespVO> convertList(List<ProcessDefinition> list, Map<String, Deployment> deploymentMap,
32 - Map<String, BpmProcessDefinitionExtDO> processDefinitionDOMap, Map<Long, BpmFormDTO> formMap) { 32 + Map<String, BpmProcessDefinitionExtDO> processDefinitionDOMap, Map<Long, BpmFormDO> formMap) {
33 return CollectionUtils.convertList(list, definition -> { 33 return CollectionUtils.convertList(list, definition -> {
34 Deployment deployment = definition.getDeploymentId() != null ? deploymentMap.get(definition.getDeploymentId()) : null; 34 Deployment deployment = definition.getDeploymentId() != null ? deploymentMap.get(definition.getDeploymentId()) : null;
35 BpmProcessDefinitionExtDO definitionDO = processDefinitionDOMap.get(definition.getId()); 35 BpmProcessDefinitionExtDO definitionDO = processDefinitionDOMap.get(definition.getId());
36 - BpmFormDTO form = definitionDO != null ? formMap.get(definitionDO.getFormId()) : null; 36 + BpmFormDO form = definitionDO != null ? formMap.get(definitionDO.getFormId()) : null;
37 return convert(definition, deployment, definitionDO, form); 37 return convert(definition, deployment, definitionDO, form);
38 }); 38 });
39 } 39 }
40 40
41 default BpmProcessDefinitionPageItemRespVO convert(ProcessDefinition bean, Deployment deployment, 41 default BpmProcessDefinitionPageItemRespVO convert(ProcessDefinition bean, Deployment deployment,
42 - BpmProcessDefinitionExtDO processDefinitionExtDO, BpmFormDTO form) { 42 + BpmProcessDefinitionExtDO processDefinitionExtDO, BpmFormDO form) {
43 BpmProcessDefinitionPageItemRespVO respVO = convert(bean); 43 BpmProcessDefinitionPageItemRespVO respVO = convert(bean);
44 respVO.setSuspensionState(bean.isSuspended() ? SuspensionState.SUSPENDED.getStateCode() : SuspensionState.ACTIVE.getStateCode()); 44 respVO.setSuspensionState(bean.isSuspended() ? SuspensionState.SUSPENDED.getStateCode() : SuspensionState.ACTIVE.getStateCode());
45 if (deployment != null) { 45 if (deployment != null) {
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/message/BpmMessageConvert.java
@@ -3,7 +3,7 @@ package cn.iocoder.yudao.adminserver.modules.bpm.convert.message; @@ -3,7 +3,7 @@ package cn.iocoder.yudao.adminserver.modules.bpm.convert.message;
3 import cn.iocoder.yudao.module.bpm.service.message.dto.BpmMessageSendWhenProcessInstanceApproveReqDTO; 3 import cn.iocoder.yudao.module.bpm.service.message.dto.BpmMessageSendWhenProcessInstanceApproveReqDTO;
4 import cn.iocoder.yudao.module.bpm.service.message.dto.BpmMessageSendWhenProcessInstanceRejectReqDTO; 4 import cn.iocoder.yudao.module.bpm.service.message.dto.BpmMessageSendWhenProcessInstanceRejectReqDTO;
5 import cn.iocoder.yudao.module.bpm.service.message.dto.BpmMessageSendWhenTaskCreatedReqDTO; 5 import cn.iocoder.yudao.module.bpm.service.message.dto.BpmMessageSendWhenTaskCreatedReqDTO;
6 -import cn.iocoder.yudao.module.system.dal.dataobject.user.SysUserDO; 6 +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
7 import org.activiti.api.task.model.Task; 7 import org.activiti.api.task.model.Task;
8 import org.activiti.engine.runtime.ProcessInstance; 8 import org.activiti.engine.runtime.ProcessInstance;
9 import org.mapstruct.Mapper; 9 import org.mapstruct.Mapper;
@@ -17,7 +17,7 @@ public interface BpmMessageConvert { @@ -17,7 +17,7 @@ public interface BpmMessageConvert {
17 17
18 BpmMessageConvert INSTANCE = Mappers.getMapper(BpmMessageConvert.class); 18 BpmMessageConvert INSTANCE = Mappers.getMapper(BpmMessageConvert.class);
19 19
20 - default BpmMessageSendWhenTaskCreatedReqDTO convert(ProcessInstance processInstance, SysUserDO startUser, Task task) { 20 + default BpmMessageSendWhenTaskCreatedReqDTO convert(ProcessInstance processInstance, AdminUserRespDTO startUser, Task task) {
21 BpmMessageSendWhenTaskCreatedReqDTO reqDTO = new BpmMessageSendWhenTaskCreatedReqDTO(); 21 BpmMessageSendWhenTaskCreatedReqDTO reqDTO = new BpmMessageSendWhenTaskCreatedReqDTO();
22 copyTo(processInstance, reqDTO); 22 copyTo(processInstance, reqDTO);
23 copyTo(startUser, reqDTO); 23 copyTo(startUser, reqDTO);
@@ -30,7 +30,7 @@ public interface BpmMessageConvert { @@ -30,7 +30,7 @@ public interface BpmMessageConvert {
30 @Mapping(source = "id", target = "startUserId"), 30 @Mapping(source = "id", target = "startUserId"),
31 @Mapping(source = "nickname", target = "startUserNickname") 31 @Mapping(source = "nickname", target = "startUserNickname")
32 }) 32 })
33 - void copyTo(SysUserDO from, @MappingTarget BpmMessageSendWhenTaskCreatedReqDTO to); 33 + void copyTo(AdminUserRespDTO from, @MappingTarget BpmMessageSendWhenTaskCreatedReqDTO to);
34 @Mappings({ 34 @Mappings({
35 @Mapping(source = "id", target = "taskId"), 35 @Mapping(source = "id", target = "taskId"),
36 @Mapping(source = "name", target = "taskName"), 36 @Mapping(source = "name", target = "taskName"),
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/oa/BpmOALeaveConvert.java
1 package cn.iocoder.yudao.adminserver.modules.bpm.convert.oa; 1 package cn.iocoder.yudao.adminserver.modules.bpm.convert.oa;
2 2
3 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeaveCreateReqVO;  
4 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeaveRespVO; 3 +import cn.iocoder.yudao.module.bpm.controller.oa.vo.BpmOALeaveCreateReqVO;
  4 +import cn.iocoder.yudao.module.bpm.controller.oa.vo.BpmOALeaveRespVO;
5 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOALeaveDO; 5 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOALeaveDO;
6 import cn.iocoder.yudao.framework.common.pojo.PageResult; 6 import cn.iocoder.yudao.framework.common.pojo.PageResult;
7 import org.mapstruct.Mapper; 7 import org.mapstruct.Mapper;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/task/BpmActivityConvert.java
1 package cn.iocoder.yudao.adminserver.modules.bpm.convert.task; 1 package cn.iocoder.yudao.adminserver.modules.bpm.convert.task;
2 2
3 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.activity.BpmActivityRespVO; 3 +import cn.iocoder.yudao.module.bpm.controller.task.vo.activity.BpmActivityRespVO;
4 import org.activiti.engine.history.HistoricActivityInstance; 4 import org.activiti.engine.history.HistoricActivityInstance;
5 import org.mapstruct.Mapper; 5 import org.mapstruct.Mapper;
6 import org.mapstruct.Mapping; 6 import org.mapstruct.Mapping;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/task/BpmProcessInstanceConvert.java
1 package cn.iocoder.yudao.adminserver.modules.bpm.convert.task; 1 package cn.iocoder.yudao.adminserver.modules.bpm.convert.task;
2 2
3 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance.BpmProcessInstancePageItemRespVO;  
4 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance.BpmProcessInstanceRespVO; 3 +import cn.iocoder.yudao.module.bpm.controller.task.vo.instance.BpmProcessInstancePageItemRespVO;
  4 +import cn.iocoder.yudao.module.bpm.controller.task.vo.instance.BpmProcessInstanceRespVO;
5 import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO; 5 import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO;
6 import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmProcessInstanceExtDO; 6 import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmProcessInstanceExtDO;
7 import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.event.BpmProcessInstanceResultEvent; 7 import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.event.BpmProcessInstanceResultEvent;
8 -import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysDeptDO;  
9 -import cn.iocoder.yudao.module.system.dal.dataobject.user.SysUserDO; 8 +import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
  9 +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
10 import cn.iocoder.yudao.framework.common.pojo.PageResult; 10 import cn.iocoder.yudao.framework.common.pojo.PageResult;
11 import org.activiti.engine.history.HistoricProcessInstance; 11 import org.activiti.engine.history.HistoricProcessInstance;
12 import org.activiti.engine.repository.ProcessDefinition; 12 import org.activiti.engine.repository.ProcessDefinition;
@@ -71,7 +71,7 @@ public interface BpmProcessInstanceConvert { @@ -71,7 +71,7 @@ public interface BpmProcessInstanceConvert {
71 71
72 default BpmProcessInstanceRespVO convert2(HistoricProcessInstance processInstance, BpmProcessInstanceExtDO processInstanceExt, 72 default BpmProcessInstanceRespVO convert2(HistoricProcessInstance processInstance, BpmProcessInstanceExtDO processInstanceExt,
73 ProcessDefinition processDefinition, BpmProcessDefinitionExtDO processDefinitionExt, 73 ProcessDefinition processDefinition, BpmProcessDefinitionExtDO processDefinitionExt,
74 - String bpmnXml, SysUserDO startUser, SysDeptDO dept) { 74 + String bpmnXml, AdminUserRespDTO startUser, DeptRespDTO dept) {
75 BpmProcessInstanceRespVO respVO = convert2(processInstance); 75 BpmProcessInstanceRespVO respVO = convert2(processInstance);
76 copyTo(processInstanceExt, respVO); 76 copyTo(processInstanceExt, respVO);
77 // definition 77 // definition
@@ -94,7 +94,7 @@ public interface BpmProcessInstanceConvert { @@ -94,7 +94,7 @@ public interface BpmProcessInstanceConvert {
94 BpmProcessInstanceRespVO.ProcessDefinition convert2(ProcessDefinition bean); 94 BpmProcessInstanceRespVO.ProcessDefinition convert2(ProcessDefinition bean);
95 @Mapping(source = "from.id", target = "to.id", ignore = true) 95 @Mapping(source = "from.id", target = "to.id", ignore = true)
96 void copyTo(BpmProcessDefinitionExtDO from, @MappingTarget BpmProcessInstanceRespVO.ProcessDefinition to); 96 void copyTo(BpmProcessDefinitionExtDO from, @MappingTarget BpmProcessInstanceRespVO.ProcessDefinition to);
97 - BpmProcessInstanceRespVO.User convert2(SysUserDO bean); 97 + BpmProcessInstanceRespVO.User convert2(AdminUserRespDTO bean);
98 98
99 default BpmProcessInstanceResultEvent convert(Object source, ProcessInstance instance, Integer result) { 99 default BpmProcessInstanceResultEvent convert(Object source, ProcessInstance instance, Integer result) {
100 BpmProcessInstanceResultEvent event = new BpmProcessInstanceResultEvent(source); 100 BpmProcessInstanceResultEvent event = new BpmProcessInstanceResultEvent(source);
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/task/BpmTaskConvert.java
1 package cn.iocoder.yudao.adminserver.modules.bpm.convert.task; 1 package cn.iocoder.yudao.adminserver.modules.bpm.convert.task;
2 2
3 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task.BpmTaskDonePageItemRespVO;  
4 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task.BpmTaskRespVO;  
5 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task.BpmTaskTodoPageItemRespVO; 3 +import cn.iocoder.yudao.module.bpm.controller.task.vo.task.BpmTaskDonePageItemRespVO;
  4 +import cn.iocoder.yudao.module.bpm.controller.task.vo.task.BpmTaskRespVO;
  5 +import cn.iocoder.yudao.module.bpm.controller.task.vo.task.BpmTaskTodoPageItemRespVO;
6 import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmTaskExtDO; 6 import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmTaskExtDO;
7 -import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysDeptDO;  
8 -import cn.iocoder.yudao.module.system.dal.dataobject.user.SysUserDO; 7 +import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
  8 +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
9 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; 9 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
10 import cn.iocoder.yudao.framework.common.util.number.NumberUtils; 10 import cn.iocoder.yudao.framework.common.util.number.NumberUtils;
11 import org.activiti.engine.history.HistoricProcessInstance; 11 import org.activiti.engine.history.HistoricProcessInstance;
@@ -30,12 +30,12 @@ public interface BpmTaskConvert { @@ -30,12 +30,12 @@ public interface BpmTaskConvert {
30 BpmTaskConvert INSTANCE = Mappers.getMapper(BpmTaskConvert.class); 30 BpmTaskConvert INSTANCE = Mappers.getMapper(BpmTaskConvert.class);
31 31
32 default List<BpmTaskTodoPageItemRespVO> convertList1(List<Task> tasks, Map<String, ProcessInstance> processInstanceMap, 32 default List<BpmTaskTodoPageItemRespVO> convertList1(List<Task> tasks, Map<String, ProcessInstance> processInstanceMap,
33 - Map<Long, SysUserDO> userMap) { 33 + Map<Long, AdminUserRespDTO> userMap) {
34 return CollectionUtils.convertList(tasks, task -> { 34 return CollectionUtils.convertList(tasks, task -> {
35 BpmTaskTodoPageItemRespVO respVO = convert1(task); 35 BpmTaskTodoPageItemRespVO respVO = convert1(task);
36 ProcessInstance processInstance = processInstanceMap.get(task.getProcessInstanceId()); 36 ProcessInstance processInstance = processInstanceMap.get(task.getProcessInstanceId());
37 if (processInstance != null) { 37 if (processInstance != null) {
38 - SysUserDO startUser = userMap.get(NumberUtils.parseLong(processInstance.getStartUserId())); 38 + AdminUserRespDTO startUser = userMap.get(NumberUtils.parseLong(processInstance.getStartUserId()));
39 respVO.setProcessInstance(convert(processInstance, startUser)); 39 respVO.setProcessInstance(convert(processInstance, startUser));
40 } 40 }
41 return respVO; 41 return respVO;
@@ -53,14 +53,14 @@ public interface BpmTaskConvert { @@ -53,14 +53,14 @@ public interface BpmTaskConvert {
53 53
54 default List<BpmTaskDonePageItemRespVO> convertList2(List<HistoricTaskInstance> tasks, Map<String, BpmTaskExtDO> bpmTaskExtDOMap, 54 default List<BpmTaskDonePageItemRespVO> convertList2(List<HistoricTaskInstance> tasks, Map<String, BpmTaskExtDO> bpmTaskExtDOMap,
55 Map<String, HistoricProcessInstance> historicProcessInstanceMap, 55 Map<String, HistoricProcessInstance> historicProcessInstanceMap,
56 - Map<Long, SysUserDO> userMap) { 56 + Map<Long, AdminUserRespDTO> userMap) {
57 return CollectionUtils.convertList(tasks, task -> { 57 return CollectionUtils.convertList(tasks, task -> {
58 BpmTaskDonePageItemRespVO respVO = convert2(task); 58 BpmTaskDonePageItemRespVO respVO = convert2(task);
59 BpmTaskExtDO taskExtDO = bpmTaskExtDOMap.get(task.getId()); 59 BpmTaskExtDO taskExtDO = bpmTaskExtDOMap.get(task.getId());
60 copyTo(taskExtDO, respVO); 60 copyTo(taskExtDO, respVO);
61 HistoricProcessInstance processInstance = historicProcessInstanceMap.get(task.getProcessInstanceId()); 61 HistoricProcessInstance processInstance = historicProcessInstanceMap.get(task.getProcessInstanceId());
62 if (processInstance != null) { 62 if (processInstance != null) {
63 - SysUserDO startUser = userMap.get(NumberUtils.parseLong(processInstance.getStartUserId())); 63 + AdminUserRespDTO startUser = userMap.get(NumberUtils.parseLong(processInstance.getStartUserId()));
64 respVO.setProcessInstance(convert(processInstance, startUser)); 64 respVO.setProcessInstance(convert(processInstance, startUser));
65 } 65 }
66 return respVO; 66 return respVO;
@@ -77,20 +77,20 @@ public interface BpmTaskConvert { @@ -77,20 +77,20 @@ public interface BpmTaskConvert {
77 BpmTaskExtDO convert(org.activiti.api.task.model.Task bean); 77 BpmTaskExtDO convert(org.activiti.api.task.model.Task bean);
78 78
79 default List<BpmTaskRespVO> convertList3(List<HistoricTaskInstance> tasks, Map<String, BpmTaskExtDO> bpmTaskExtDOMap, 79 default List<BpmTaskRespVO> convertList3(List<HistoricTaskInstance> tasks, Map<String, BpmTaskExtDO> bpmTaskExtDOMap,
80 - HistoricProcessInstance processInstance, Map<Long, SysUserDO> userMap,  
81 - Map<Long, SysDeptDO> deptMap) { 80 + HistoricProcessInstance processInstance, Map<Long, AdminUserRespDTO> userMap,
  81 + Map<Long, DeptRespDTO> deptMap) {
82 return CollectionUtils.convertList(tasks, task -> { 82 return CollectionUtils.convertList(tasks, task -> {
83 BpmTaskRespVO respVO = convert3(task); 83 BpmTaskRespVO respVO = convert3(task);
84 BpmTaskExtDO taskExtDO = bpmTaskExtDOMap.get(task.getId()); 84 BpmTaskExtDO taskExtDO = bpmTaskExtDOMap.get(task.getId());
85 copyTo(taskExtDO, respVO); 85 copyTo(taskExtDO, respVO);
86 if (processInstance != null) { 86 if (processInstance != null) {
87 - SysUserDO startUser = userMap.get(NumberUtils.parseLong(processInstance.getStartUserId())); 87 + AdminUserRespDTO startUser = userMap.get(NumberUtils.parseLong(processInstance.getStartUserId()));
88 respVO.setProcessInstance(convert(processInstance, startUser)); 88 respVO.setProcessInstance(convert(processInstance, startUser));
89 } 89 }
90 - SysUserDO assignUser = userMap.get(NumberUtils.parseLong(task.getAssignee())); 90 + AdminUserRespDTO assignUser = userMap.get(NumberUtils.parseLong(task.getAssignee()));
91 if (assignUser != null) { 91 if (assignUser != null) {
92 respVO.setAssigneeUser(convert3(assignUser)); 92 respVO.setAssigneeUser(convert3(assignUser));
93 - SysDeptDO dept = deptMap.get(assignUser.getDeptId()); 93 + DeptRespDTO dept = deptMap.get(assignUser.getDeptId());
94 if (dept != null) { 94 if (dept != null) {
95 respVO.getAssigneeUser().setDeptName(dept.getName()); 95 respVO.getAssigneeUser().setDeptName(dept.getName());
96 } 96 }
@@ -101,7 +101,7 @@ public interface BpmTaskConvert { @@ -101,7 +101,7 @@ public interface BpmTaskConvert {
101 101
102 @Mapping(source = "taskDefinitionKey", target = "definitionKey") 102 @Mapping(source = "taskDefinitionKey", target = "definitionKey")
103 BpmTaskRespVO convert3(HistoricTaskInstance bean); 103 BpmTaskRespVO convert3(HistoricTaskInstance bean);
104 - BpmTaskRespVO.User convert3(SysUserDO bean); 104 + BpmTaskRespVO.User convert3(AdminUserRespDTO bean);
105 105
106 void copyTo(BpmTaskExtDO from, @MappingTarget BpmTaskDonePageItemRespVO to); 106 void copyTo(BpmTaskExtDO from, @MappingTarget BpmTaskDonePageItemRespVO to);
107 107
@@ -112,7 +112,7 @@ public interface BpmTaskConvert { @@ -112,7 +112,7 @@ public interface BpmTaskConvert {
112 @Mapping(source = "processInstance.processDefinitionId", target = "processDefinitionId"), 112 @Mapping(source = "processInstance.processDefinitionId", target = "processDefinitionId"),
113 @Mapping(source = "startUser.nickname", target = "startUserNickname") 113 @Mapping(source = "startUser.nickname", target = "startUserNickname")
114 }) 114 })
115 - BpmTaskTodoPageItemRespVO.ProcessInstance convert(ProcessInstance processInstance, SysUserDO startUser); 115 + BpmTaskTodoPageItemRespVO.ProcessInstance convert(ProcessInstance processInstance, AdminUserRespDTO startUser);
116 116
117 @Mappings({ 117 @Mappings({
118 @Mapping(source = "processInstance.id", target = "id"), 118 @Mapping(source = "processInstance.id", target = "id"),
@@ -121,6 +121,6 @@ public interface BpmTaskConvert { @@ -121,6 +121,6 @@ public interface BpmTaskConvert {
121 @Mapping(source = "processInstance.processDefinitionId", target = "processDefinitionId"), 121 @Mapping(source = "processInstance.processDefinitionId", target = "processDefinitionId"),
122 @Mapping(source = "startUser.nickname", target = "startUserNickname") 122 @Mapping(source = "startUser.nickname", target = "startUserNickname")
123 }) 123 })
124 - BpmTaskTodoPageItemRespVO.ProcessInstance convert(HistoricProcessInstance processInstance, SysUserDO startUser); 124 + BpmTaskTodoPageItemRespVO.ProcessInstance convert(HistoricProcessInstance processInstance, AdminUserRespDTO startUser);
125 125
126 } 126 }
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/framework/activiti/config/BpmActivitiConfiguration.java
@@ -6,13 +6,10 @@ import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.event.Bp @@ -6,13 +6,10 @@ import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.event.Bp
6 import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.identity.EmptyUserGroupManager; 6 import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.identity.EmptyUserGroupManager;
7 import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.listener.BpmTackActivitiEventListener; 7 import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.listener.BpmTackActivitiEventListener;
8 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmTaskAssignRuleService; 8 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmTaskAssignRuleService;
9 -import cn.iocoder.yudao.module.bpm.api.group.BpmUserGroupServiceApi;  
10 -import cn.iocoder.yudao.module.system.service.dept.SysDeptCoreService;  
11 -import cn.iocoder.yudao.module.system.service.permission.SysPermissionCoreService;  
12 -import cn.iocoder.yudao.module.system.service.user.SysUserCoreService;  
13 -import cn.iocoder.yudao.coreservice.modules.system.service.dept.SysDeptCoreService;  
14 -import cn.iocoder.yudao.coreservice.modules.system.service.permission.SysPermissionCoreService;  
15 -import cn.iocoder.yudao.coreservice.modules.system.service.user.SysUserCoreService; 9 +import cn.iocoder.yudao.module.bpm.service.definition.BpmUserGroupService;
  10 +import cn.iocoder.yudao.module.system.api.dept.DeptApi;
  11 +import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
  12 +import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
16 import org.activiti.api.runtime.shared.identity.UserGroupManager; 13 import org.activiti.api.runtime.shared.identity.UserGroupManager;
17 import org.activiti.spring.boot.ProcessEngineConfigurationConfigurer; 14 import org.activiti.spring.boot.ProcessEngineConfigurationConfigurer;
18 import org.springframework.context.ApplicationEventPublisher; 15 import org.springframework.context.ApplicationEventPublisher;
@@ -67,17 +64,17 @@ public class BpmActivitiConfiguration { @@ -67,17 +64,17 @@ public class BpmActivitiConfiguration {
67 64
68 @Bean 65 @Bean
69 public BpmActivityBehaviorFactory bpmActivityBehaviorFactory(BpmTaskAssignRuleService taskRuleService, 66 public BpmActivityBehaviorFactory bpmActivityBehaviorFactory(BpmTaskAssignRuleService taskRuleService,
70 - SysPermissionCoreService permissionCoreService,  
71 - SysDeptCoreService deptCoreService,  
72 - BpmUserGroupServiceApi userGroupServiceApi,  
73 - SysUserCoreService userCoreService, 67 + BpmUserGroupService userGroupService,
  68 + PermissionApi permissionApi,
  69 + DeptApi deptApi,
  70 + AdminUserApi adminUserApi,
74 List<BpmTaskAssignScript> scripts) { 71 List<BpmTaskAssignScript> scripts) {
75 BpmActivityBehaviorFactory bpmActivityBehaviorFactory = new BpmActivityBehaviorFactory(); 72 BpmActivityBehaviorFactory bpmActivityBehaviorFactory = new BpmActivityBehaviorFactory();
76 bpmActivityBehaviorFactory.setBpmTaskRuleService(taskRuleService); 73 bpmActivityBehaviorFactory.setBpmTaskRuleService(taskRuleService);
77 - bpmActivityBehaviorFactory.setPermissionCoreService(permissionCoreService);  
78 - bpmActivityBehaviorFactory.setDeptCoreService(deptCoreService);  
79 - bpmActivityBehaviorFactory.setUserGroupServiceApi(userGroupServiceApi);  
80 - bpmActivityBehaviorFactory.setUserCoreService(userCoreService); 74 + bpmActivityBehaviorFactory.setUserGroupService(userGroupService);
  75 + bpmActivityBehaviorFactory.setAdminUserApi(adminUserApi);
  76 + bpmActivityBehaviorFactory.setPermissionApi(permissionApi);
  77 + bpmActivityBehaviorFactory.setDeptApi(deptApi);
81 bpmActivityBehaviorFactory.setScripts(scripts); 78 bpmActivityBehaviorFactory.setScripts(scripts);
82 return bpmActivityBehaviorFactory; 79 return bpmActivityBehaviorFactory;
83 } 80 }
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/framework/activiti/core/behavior/BpmActivityBehaviorFactory.java
@@ -2,10 +2,10 @@ package cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavio @@ -2,10 +2,10 @@ package cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavio
2 2
3 import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavior.script.BpmTaskAssignScript; 3 import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavior.script.BpmTaskAssignScript;
4 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmTaskAssignRuleService; 4 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmTaskAssignRuleService;
5 -import cn.iocoder.yudao.module.bpm.api.group.BpmUserGroupServiceApi;  
6 -import cn.iocoder.yudao.module.system.service.dept.SysDeptCoreService;  
7 -import cn.iocoder.yudao.module.system.service.permission.SysPermissionCoreService;  
8 -import cn.iocoder.yudao.module.system.service.user.SysUserCoreService; 5 +import cn.iocoder.yudao.module.bpm.service.definition.BpmUserGroupService;
  6 +import cn.iocoder.yudao.module.system.api.dept.DeptApi;
  7 +import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
  8 +import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
9 import lombok.Data; 9 import lombok.Data;
10 import lombok.EqualsAndHashCode; 10 import lombok.EqualsAndHashCode;
11 import lombok.Setter; 11 import lombok.Setter;
@@ -30,13 +30,15 @@ public class BpmActivityBehaviorFactory extends DefaultActivityBehaviorFactory { @@ -30,13 +30,15 @@ public class BpmActivityBehaviorFactory extends DefaultActivityBehaviorFactory {
30 @Setter 30 @Setter
31 private BpmTaskAssignRuleService bpmTaskRuleService; 31 private BpmTaskAssignRuleService bpmTaskRuleService;
32 @Setter 32 @Setter
33 - private SysPermissionCoreService permissionCoreService; 33 + private BpmUserGroupService userGroupService;
  34 +
34 @Setter 35 @Setter
35 - private SysDeptCoreService deptCoreService; 36 + private PermissionApi permissionApi;
36 @Setter 37 @Setter
37 - private BpmUserGroupServiceApi userGroupServiceApi; 38 + private DeptApi deptApi;
38 @Setter 39 @Setter
39 - private SysUserCoreService userCoreService; 40 + private AdminUserApi adminUserApi;
  41 +
40 @Setter 42 @Setter
41 private List<BpmTaskAssignScript> scripts; 43 private List<BpmTaskAssignScript> scripts;
42 44
@@ -44,10 +46,10 @@ public class BpmActivityBehaviorFactory extends DefaultActivityBehaviorFactory { @@ -44,10 +46,10 @@ public class BpmActivityBehaviorFactory extends DefaultActivityBehaviorFactory {
44 public UserTaskActivityBehavior createUserTaskActivityBehavior(UserTask userTask) { 46 public UserTaskActivityBehavior createUserTaskActivityBehavior(UserTask userTask) {
45 BpmUserTaskActivitiBehavior userTaskActivityBehavior = new BpmUserTaskActivitiBehavior(userTask); 47 BpmUserTaskActivitiBehavior userTaskActivityBehavior = new BpmUserTaskActivitiBehavior(userTask);
46 userTaskActivityBehavior.setBpmTaskRuleService(bpmTaskRuleService); 48 userTaskActivityBehavior.setBpmTaskRuleService(bpmTaskRuleService);
47 - userTaskActivityBehavior.setPermissionCoreService(permissionCoreService);  
48 - userTaskActivityBehavior.setDeptCoreService(deptCoreService);  
49 - userTaskActivityBehavior.setUserGroupServiceApi(userGroupServiceApi);  
50 - userTaskActivityBehavior.setSysUserCoreService(userCoreService); 49 + userTaskActivityBehavior.setPermissionApi(permissionApi);
  50 + userTaskActivityBehavior.setDeptApi(deptApi);
  51 + userTaskActivityBehavior.setUserGroupService(userGroupService);
  52 + userTaskActivityBehavior.setAdminUserApi(adminUserApi);
51 userTaskActivityBehavior.setScripts(scripts); 53 userTaskActivityBehavior.setScripts(scripts);
52 return userTaskActivityBehavior; 54 return userTaskActivityBehavior;
53 } 55 }
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/framework/activiti/core/behavior/BpmUserTaskActivitiBehavior.java
@@ -3,18 +3,18 @@ package cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavio @@ -3,18 +3,18 @@ package cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavio
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 import cn.hutool.core.util.RandomUtil; 4 import cn.hutool.core.util.RandomUtil;
5 import cn.hutool.core.util.StrUtil; 5 import cn.hutool.core.util.StrUtil;
6 -import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO;  
7 -import cn.iocoder.yudao.module.bpm.enums.definition.BpmTaskAssignRuleTypeEnum;  
8 import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavior.script.BpmTaskAssignScript; 6 import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavior.script.BpmTaskAssignScript;
9 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmTaskAssignRuleService; 7 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmTaskAssignRuleService;
10 -import cn.iocoder.yudao.module.bpm.api.group.BpmUserGroupServiceApi;  
11 -import cn.iocoder.yudao.module.bpm.api.group.dto.BpmUserGroupDTO;  
12 -import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysDeptDO;  
13 -import cn.iocoder.yudao.module.system.dal.dataobject.user.SysUserDO;  
14 -import cn.iocoder.yudao.module.system.service.dept.SysDeptCoreService;  
15 -import cn.iocoder.yudao.module.system.service.permission.SysPermissionCoreService;  
16 -import cn.iocoder.yudao.module.system.service.user.SysUserCoreService;  
17 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; 8 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
  9 +import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO;
  10 +import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmUserGroupDO;
  11 +import cn.iocoder.yudao.module.bpm.enums.definition.BpmTaskAssignRuleTypeEnum;
  12 +import cn.iocoder.yudao.module.bpm.service.definition.BpmUserGroupService;
  13 +import cn.iocoder.yudao.module.system.api.dept.DeptApi;
  14 +import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
  15 +import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
  16 +import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
  17 +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
18 import com.google.common.annotations.VisibleForTesting; 18 import com.google.common.annotations.VisibleForTesting;
19 import lombok.Setter; 19 import lombok.Setter;
20 import lombok.extern.slf4j.Slf4j; 20 import lombok.extern.slf4j.Slf4j;
@@ -28,12 +28,12 @@ import org.activiti.engine.impl.persistence.entity.TaskEntityManager; @@ -28,12 +28,12 @@ import org.activiti.engine.impl.persistence.entity.TaskEntityManager;
28 28
29 import java.util.*; 29 import java.util.*;
30 30
31 -import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.TASK_ASSIGN_SCRIPT_NOT_EXISTS;  
32 -import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.TASK_CREATE_FAIL_NO_CANDIDATE_USER;  
33 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 31 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
34 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; 32 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
35 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; 33 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
36 import static cn.iocoder.yudao.framework.common.util.json.JsonUtils.toJsonString; 34 import static cn.iocoder.yudao.framework.common.util.json.JsonUtils.toJsonString;
  35 +import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.TASK_ASSIGN_SCRIPT_NOT_EXISTS;
  36 +import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.TASK_CREATE_FAIL_NO_CANDIDATE_USER;
37 37
38 /** 38 /**
39 * 自定义的流程任务的 assignee 负责人的分配 39 * 自定义的流程任务的 assignee 负责人的分配
@@ -48,14 +48,17 @@ public class BpmUserTaskActivitiBehavior extends UserTaskActivityBehavior { @@ -48,14 +48,17 @@ public class BpmUserTaskActivitiBehavior extends UserTaskActivityBehavior {
48 48
49 @Setter 49 @Setter
50 private BpmTaskAssignRuleService bpmTaskRuleService; 50 private BpmTaskAssignRuleService bpmTaskRuleService;
  51 +
51 @Setter 52 @Setter
52 - private SysPermissionCoreService permissionCoreService; 53 + private BpmUserGroupService userGroupService;
  54 +
53 @Setter 55 @Setter
54 - private SysDeptCoreService deptCoreService; 56 + private DeptApi deptApi;
55 @Setter 57 @Setter
56 - private BpmUserGroupServiceApi userGroupServiceApi; 58 + private AdminUserApi adminUserApi;
57 @Setter 59 @Setter
58 - private SysUserCoreService sysUserCoreService; 60 + private PermissionApi permissionApi;
  61 +
59 /** 62 /**
60 * 任务分配脚本 63 * 任务分配脚本
61 */ 64 */
@@ -133,22 +136,22 @@ public class BpmUserTaskActivitiBehavior extends UserTaskActivityBehavior { @@ -133,22 +136,22 @@ public class BpmUserTaskActivitiBehavior extends UserTaskActivityBehavior {
133 } 136 }
134 137
135 private Set<Long> calculateTaskCandidateUsersByRole(TaskEntity task, BpmTaskAssignRuleDO rule) { 138 private Set<Long> calculateTaskCandidateUsersByRole(TaskEntity task, BpmTaskAssignRuleDO rule) {
136 - return permissionCoreService.getUserRoleIdListByRoleIds(rule.getOptions()); 139 + return permissionApi.getUserRoleIdListByRoleIds(rule.getOptions());
137 } 140 }
138 141
139 private Set<Long> calculateTaskCandidateUsersByDeptMember(TaskEntity task, BpmTaskAssignRuleDO rule) { 142 private Set<Long> calculateTaskCandidateUsersByDeptMember(TaskEntity task, BpmTaskAssignRuleDO rule) {
140 - List<SysUserDO> users = sysUserCoreService.getUsersByDeptIds(rule.getOptions());  
141 - return convertSet(users, SysUserDO::getId); 143 + List<AdminUserRespDTO> users = adminUserApi.getUsersByDeptIds(rule.getOptions());
  144 + return convertSet(users, AdminUserRespDTO::getId);
142 } 145 }
143 146
144 private Set<Long> calculateTaskCandidateUsersByDeptLeader(TaskEntity task, BpmTaskAssignRuleDO rule) { 147 private Set<Long> calculateTaskCandidateUsersByDeptLeader(TaskEntity task, BpmTaskAssignRuleDO rule) {
145 - List<SysDeptDO> depts = deptCoreService.getDepts(rule.getOptions());  
146 - return convertSet(depts, SysDeptDO::getLeaderUserId); 148 + List<DeptRespDTO> depts = deptApi.getDepts(rule.getOptions());
  149 + return convertSet(depts, DeptRespDTO::getLeaderUserId);
147 } 150 }
148 151
149 private Set<Long> calculateTaskCandidateUsersByPost(TaskEntity task, BpmTaskAssignRuleDO rule) { 152 private Set<Long> calculateTaskCandidateUsersByPost(TaskEntity task, BpmTaskAssignRuleDO rule) {
150 - List<SysUserDO> users = sysUserCoreService.getUsersByPostIds(rule.getOptions());  
151 - return convertSet(users, SysUserDO::getId); 153 + List<AdminUserRespDTO> users = adminUserApi.getUsersByPostIds(rule.getOptions());
  154 + return convertSet(users, AdminUserRespDTO::getId);
152 } 155 }
153 156
154 private Set<Long> calculateTaskCandidateUsersByUser(TaskEntity task, BpmTaskAssignRuleDO rule) { 157 private Set<Long> calculateTaskCandidateUsersByUser(TaskEntity task, BpmTaskAssignRuleDO rule) {
@@ -156,9 +159,9 @@ public class BpmUserTaskActivitiBehavior extends UserTaskActivityBehavior { @@ -156,9 +159,9 @@ public class BpmUserTaskActivitiBehavior extends UserTaskActivityBehavior {
156 } 159 }
157 160
158 private Set<Long> calculateTaskCandidateUsersByUserGroup(TaskEntity task, BpmTaskAssignRuleDO rule) { 161 private Set<Long> calculateTaskCandidateUsersByUserGroup(TaskEntity task, BpmTaskAssignRuleDO rule) {
159 - List<BpmUserGroupDTO> userGroups = userGroupServiceApi.getUserGroupList(rule.getOptions()); 162 + List<BpmUserGroupDO> userGroups = userGroupService.getUserGroupList(rule.getOptions());
160 Set<Long> userIds = new HashSet<>(); 163 Set<Long> userIds = new HashSet<>();
161 - userGroups.forEach(bpmUserGroupDO -> userIds.addAll(bpmUserGroupDO.getMemberUserIds())); 164 + userGroups.forEach(group -> userIds.addAll(group.getMemberUserIds()));
162 return userIds; 165 return userIds;
163 } 166 }
164 167
@@ -183,9 +186,9 @@ public class BpmUserTaskActivitiBehavior extends UserTaskActivityBehavior { @@ -183,9 +186,9 @@ public class BpmUserTaskActivitiBehavior extends UserTaskActivityBehavior {
183 if (CollUtil.isEmpty(assigneeUserIds)) { 186 if (CollUtil.isEmpty(assigneeUserIds)) {
184 return; 187 return;
185 } 188 }
186 - Map<Long, SysUserDO> userMap = sysUserCoreService.getUserMap(assigneeUserIds); 189 + Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(assigneeUserIds);
187 assigneeUserIds.removeIf(id -> { 190 assigneeUserIds.removeIf(id -> {
188 - SysUserDO user = userMap.get(id); 191 + AdminUserRespDTO user = userMap.get(id);
189 return user == null || !CommonStatusEnum.ENABLE.getStatus().equals(user.getStatus()); 192 return user == null || !CommonStatusEnum.ENABLE.getStatus().equals(user.getStatus());
190 }); 193 });
191 } 194 }
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/framework/activiti/core/behavior/script/impl/BpmTaskAssignLeaderAbstractScript.java
@@ -2,16 +2,17 @@ package cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavio @@ -2,16 +2,17 @@ package cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavio
2 2
3 import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavior.script.BpmTaskAssignScript; 3 import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavior.script.BpmTaskAssignScript;
4 4
5 -import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysDeptDO;  
6 -import cn.iocoder.yudao.module.system.dal.dataobject.user.SysUserDO;  
7 -import cn.iocoder.yudao.module.system.service.dept.SysDeptCoreService;  
8 -import cn.iocoder.yudao.module.system.service.user.SysUserCoreService; 5 +import cn.iocoder.yudao.module.system.api.dept.DeptApi;
  6 +import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
  7 +import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
  8 +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
9 import org.activiti.engine.impl.persistence.entity.TaskEntity; 9 import org.activiti.engine.impl.persistence.entity.TaskEntity;
10 import org.springframework.util.Assert; 10 import org.springframework.util.Assert;
11 11
12 import javax.annotation.Resource; 12 import javax.annotation.Resource;
13 import java.util.Set; 13 import java.util.Set;
14 14
  15 +import static cn.iocoder.yudao.framework.common.util.collection.SetUtils.asSet;
15 import static java.util.Collections.emptySet; 16 import static java.util.Collections.emptySet;
16 17
17 /** 18 /**
@@ -23,16 +24,16 @@ import static java.util.Collections.emptySet; @@ -23,16 +24,16 @@ import static java.util.Collections.emptySet;
23 public abstract class BpmTaskAssignLeaderAbstractScript implements BpmTaskAssignScript { 24 public abstract class BpmTaskAssignLeaderAbstractScript implements BpmTaskAssignScript {
24 25
25 @Resource 26 @Resource
26 - private SysUserCoreService userCoreService; 27 + private AdminUserApi adminUserApi;
27 @Resource 28 @Resource
28 - private SysDeptCoreService deptCoreService; 29 + private DeptApi deptApi;
29 30
30 protected Set<Long> calculateTaskCandidateUsers(TaskEntity task, int level) { 31 protected Set<Long> calculateTaskCandidateUsers(TaskEntity task, int level) {
31 Assert.isTrue(level > 0, "level 必须大于 0"); 32 Assert.isTrue(level > 0, "level 必须大于 0");
32 // 获得发起人 33 // 获得发起人
33 Long startUserId = Long.parseLong(task.getProcessInstance().getStartUserId()); 34 Long startUserId = Long.parseLong(task.getProcessInstance().getStartUserId());
34 // 获得对应 leve 的部门 35 // 获得对应 leve 的部门
35 - SysDeptDO dept = null; 36 + DeptRespDTO dept = null;
36 for (int i = 0; i < level; i++) { 37 for (int i = 0; i < level; i++) {
37 // 获得 level 对应的部门 38 // 获得 level 对应的部门
38 if (dept == null) { 39 if (dept == null) {
@@ -41,7 +42,7 @@ public abstract class BpmTaskAssignLeaderAbstractScript implements BpmTaskAssign @@ -41,7 +42,7 @@ public abstract class BpmTaskAssignLeaderAbstractScript implements BpmTaskAssign
41 return emptySet(); 42 return emptySet();
42 } 43 }
43 } else { 44 } else {
44 - SysDeptDO parentDept = deptCoreService.getDept(dept.getParentId()); 45 + DeptRespDTO parentDept = deptApi.getDept(dept.getParentId());
45 if (parentDept == null) { // 找不到父级部门,所以只好结束寻找。原因是:例如说,级别比较高的人,所在部门层级比较少 46 if (parentDept == null) { // 找不到父级部门,所以只好结束寻找。原因是:例如说,级别比较高的人,所在部门层级比较少
46 break; 47 break;
47 } 48 }
@@ -51,12 +52,12 @@ public abstract class BpmTaskAssignLeaderAbstractScript implements BpmTaskAssign @@ -51,12 +52,12 @@ public abstract class BpmTaskAssignLeaderAbstractScript implements BpmTaskAssign
51 return dept.getLeaderUserId() != null ? asSet(dept.getLeaderUserId()) : emptySet(); 52 return dept.getLeaderUserId() != null ? asSet(dept.getLeaderUserId()) : emptySet();
52 } 53 }
53 54
54 - private SysDeptDO getStartUserDept(Long startUserId) {  
55 - SysUserDO startUser = userCoreService.getUser(startUserId); 55 + private DeptRespDTO getStartUserDept(Long startUserId) {
  56 + AdminUserRespDTO startUser = adminUserApi.getUser(startUserId);
56 if (startUser.getDeptId() == null) { // 找不到部门,所以无法使用该规则 57 if (startUser.getDeptId() == null) { // 找不到部门,所以无法使用该规则
57 return null; 58 return null;
58 } 59 }
59 - return deptCoreService.getDept(startUser.getDeptId()); 60 + return deptApi.getDept(startUser.getDeptId());
60 } 61 }
61 62
62 } 63 }
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/definition/impl/BpmModelServiceImpl.java renamed to yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/definition/BpmModelServiceImpl.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.service.definition.impl; 1 +package cn.iocoder.yudao.adminserver.modules.bpm.service.definition;
2 2
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 import cn.hutool.core.util.ArrayUtil; 4 import cn.hutool.core.util.ArrayUtil;
5 import cn.hutool.core.util.StrUtil; 5 import cn.hutool.core.util.StrUtil;
6 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.model.*;  
7 -import cn.iocoder.yudao.module.bpm.controller.definition.vo.model.*;  
8 -import cn.iocoder.yudao.module.bpm.controller.definition.vo.rule.BpmTaskAssignRuleRespVO;  
9 import cn.iocoder.yudao.adminserver.modules.bpm.convert.definition.BpmModelConvert; 6 import cn.iocoder.yudao.adminserver.modules.bpm.convert.definition.BpmModelConvert;
10 -import cn.iocoder.yudao.module.bpm.enums.definition.BpmModelFormTypeEnum;  
11 -import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmModelService;  
12 -import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmProcessDefinitionService;  
13 -import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmTaskAssignRuleService;  
14 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.dto.BpmModelMetaInfoRespDTO; 7 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.dto.BpmModelMetaInfoRespDTO;
15 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.dto.BpmProcessDefinitionCreateReqDTO; 8 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.dto.BpmProcessDefinitionCreateReqDTO;
16 -import cn.iocoder.yudao.module.bpm.api.form.BpmFormServiceApi;  
17 -import cn.iocoder.yudao.module.bpm.api.form.dto.BpmFormDTO;  
18 import cn.iocoder.yudao.framework.activiti.core.util.ActivitiUtils; 9 import cn.iocoder.yudao.framework.activiti.core.util.ActivitiUtils;
19 import cn.iocoder.yudao.framework.common.pojo.PageResult; 10 import cn.iocoder.yudao.framework.common.pojo.PageResult;
20 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; 11 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
21 import cn.iocoder.yudao.framework.common.util.json.JsonUtils; 12 import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
22 import cn.iocoder.yudao.framework.common.util.object.PageUtils; 13 import cn.iocoder.yudao.framework.common.util.object.PageUtils;
23 import cn.iocoder.yudao.framework.common.util.validation.ValidationUtils; 14 import cn.iocoder.yudao.framework.common.util.validation.ValidationUtils;
  15 +import cn.iocoder.yudao.module.bpm.controller.definition.vo.model.*;
  16 +import cn.iocoder.yudao.module.bpm.controller.definition.vo.rule.BpmTaskAssignRuleRespVO;
  17 +import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO;
  18 +import cn.iocoder.yudao.module.bpm.enums.definition.BpmModelFormTypeEnum;
  19 +import cn.iocoder.yudao.module.bpm.service.definition.BpmFormService;
24 import lombok.extern.slf4j.Slf4j; 20 import lombok.extern.slf4j.Slf4j;
25 import org.activiti.bpmn.model.BpmnModel; 21 import org.activiti.bpmn.model.BpmnModel;
26 import org.activiti.engine.RepositoryService; 22 import org.activiti.engine.RepositoryService;
@@ -38,9 +34,9 @@ import org.springframework.validation.annotation.Validated; @@ -38,9 +34,9 @@ import org.springframework.validation.annotation.Validated;
38 import javax.annotation.Resource; 34 import javax.annotation.Resource;
39 import java.util.*; 35 import java.util.*;
40 36
41 -import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.*;  
42 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 37 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
43 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; 38 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
  39 +import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.*;
44 40
45 /** 41 /**
46 * 流程定义实现 42 * 流程定义实现
@@ -57,7 +53,7 @@ public class BpmModelServiceImpl implements BpmModelService { @@ -57,7 +53,7 @@ public class BpmModelServiceImpl implements BpmModelService {
57 @Resource 53 @Resource
58 private RepositoryService repositoryService; 54 private RepositoryService repositoryService;
59 @Resource 55 @Resource
60 - private BpmFormServiceApi formServiceApi; 56 + private BpmFormService bpmFormService;
61 @Resource 57 @Resource
62 private BpmProcessDefinitionService processDefinitionService; 58 private BpmProcessDefinitionService processDefinitionService;
63 @Resource 59 @Resource
@@ -85,7 +81,7 @@ public class BpmModelServiceImpl implements BpmModelService { @@ -85,7 +81,7 @@ public class BpmModelServiceImpl implements BpmModelService {
85 BpmModelMetaInfoRespDTO metaInfo = JsonUtils.parseObject(model.getMetaInfo(), BpmModelMetaInfoRespDTO.class); 81 BpmModelMetaInfoRespDTO metaInfo = JsonUtils.parseObject(model.getMetaInfo(), BpmModelMetaInfoRespDTO.class);
86 return metaInfo != null ? metaInfo.getFormId() : null; 82 return metaInfo != null ? metaInfo.getFormId() : null;
87 }); 83 });
88 - Map<Long, BpmFormDTO> formMap = formServiceApi.getFormMap(formIds); 84 + Map<Long, BpmFormDO> formMap = bpmFormService.getFormMap(formIds);
89 85
90 // 获得 Deployment Map 86 // 获得 Deployment Map
91 Set<String> deploymentIds = new HashSet<>(); 87 Set<String> deploymentIds = new HashSet<>();
@@ -172,7 +168,7 @@ public class BpmModelServiceImpl implements BpmModelService { @@ -172,7 +168,7 @@ public class BpmModelServiceImpl implements BpmModelService {
172 } 168 }
173 // TODO 芋艿:校验流程图的有效性;例如说,是否有开始的元素,是否有结束的元素; 169 // TODO 芋艿:校验流程图的有效性;例如说,是否有开始的元素,是否有结束的元素;
174 // 校验表单已配 170 // 校验表单已配
175 - BpmFormDTO form = checkFormConfig(model); 171 + BpmFormDO form = checkFormConfig(model);
176 // 校验任务分配规则已配置 172 // 校验任务分配规则已配置
177 checkTaskAssignRuleAllConfig(id); 173 checkTaskAssignRuleAllConfig(id);
178 174
@@ -225,14 +221,14 @@ public class BpmModelServiceImpl implements BpmModelService { @@ -225,14 +221,14 @@ public class BpmModelServiceImpl implements BpmModelService {
225 * @param model 流程模型 221 * @param model 流程模型
226 * @return 流程表单 222 * @return 流程表单
227 */ 223 */
228 - private BpmFormDTO checkFormConfig(Model model) { 224 + private BpmFormDO checkFormConfig(Model model) {
229 BpmModelMetaInfoRespDTO metaInfo = JsonUtils.parseObject(model.getMetaInfo(), BpmModelMetaInfoRespDTO.class); 225 BpmModelMetaInfoRespDTO metaInfo = JsonUtils.parseObject(model.getMetaInfo(), BpmModelMetaInfoRespDTO.class);
230 if (metaInfo == null || metaInfo.getFormType() == null) { 226 if (metaInfo == null || metaInfo.getFormType() == null) {
231 throw exception(MODEL_DEPLOY_FAIL_FORM_NOT_CONFIG); 227 throw exception(MODEL_DEPLOY_FAIL_FORM_NOT_CONFIG);
232 } 228 }
233 // 校验表单存在 229 // 校验表单存在
234 if (Objects.equals(metaInfo.getFormType(), BpmModelFormTypeEnum.NORMAL.getType())) { 230 if (Objects.equals(metaInfo.getFormType(), BpmModelFormTypeEnum.NORMAL.getType())) {
235 - BpmFormDTO form = formServiceApi.getForm(metaInfo.getFormId()); 231 + BpmFormDO form = bpmFormService.getForm(metaInfo.getFormId());
236 if (form == null) { 232 if (form == null) {
237 throw exception(FORM_NOT_EXISTS); 233 throw exception(FORM_NOT_EXISTS);
238 } 234 }
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/definition/impl/BpmProcessDefinitionServiceImpl.java renamed to yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/definition/BpmProcessDefinitionServiceImpl.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.service.definition.impl; 1 +package cn.iocoder.yudao.adminserver.modules.bpm.service.definition;
2 2
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 import cn.hutool.core.util.ObjectUtil; 4 import cn.hutool.core.util.ObjectUtil;
5 import cn.hutool.core.util.StrUtil; 5 import cn.hutool.core.util.StrUtil;
6 -import cn.iocoder.yudao.module.bpm.controller.definition.vo.process.BpmProcessDefinitionListReqVO;  
7 -import cn.iocoder.yudao.module.bpm.controller.definition.vo.process.BpmProcessDefinitionPageItemRespVO;  
8 -import cn.iocoder.yudao.module.bpm.controller.definition.vo.process.BpmProcessDefinitionPageReqVO;  
9 -import cn.iocoder.yudao.module.bpm.controller.definition.vo.process.BpmProcessDefinitionRespVO;  
10 import cn.iocoder.yudao.adminserver.modules.bpm.convert.definition.BpmProcessDefinitionConvert; 6 import cn.iocoder.yudao.adminserver.modules.bpm.convert.definition.BpmProcessDefinitionConvert;
11 -import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO;  
12 -import cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.definition.BpmProcessDefinitionExtMapper;  
13 -import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmProcessDefinitionService;  
14 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.dto.BpmProcessDefinitionCreateReqDTO; 7 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.dto.BpmProcessDefinitionCreateReqDTO;
15 -import cn.iocoder.yudao.module.bpm.api.form.BpmFormServiceApi;  
16 -import cn.iocoder.yudao.module.bpm.api.form.dto.BpmFormDTO;  
17 import cn.iocoder.yudao.framework.activiti.core.util.ActivitiUtils; 8 import cn.iocoder.yudao.framework.activiti.core.util.ActivitiUtils;
18 import cn.iocoder.yudao.framework.common.pojo.PageResult; 9 import cn.iocoder.yudao.framework.common.pojo.PageResult;
19 import cn.iocoder.yudao.framework.common.util.object.PageUtils; 10 import cn.iocoder.yudao.framework.common.util.object.PageUtils;
  11 +import cn.iocoder.yudao.module.bpm.controller.definition.vo.process.BpmProcessDefinitionListReqVO;
  12 +import cn.iocoder.yudao.module.bpm.controller.definition.vo.process.BpmProcessDefinitionPageItemRespVO;
  13 +import cn.iocoder.yudao.module.bpm.controller.definition.vo.process.BpmProcessDefinitionPageReqVO;
  14 +import cn.iocoder.yudao.module.bpm.controller.definition.vo.process.BpmProcessDefinitionRespVO;
  15 +import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO;
  16 +import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO;
  17 +import cn.iocoder.yudao.module.bpm.dal.mysql.definition.BpmProcessDefinitionExtMapper;
  18 +import cn.iocoder.yudao.module.bpm.service.definition.BpmFormService;
20 import lombok.extern.slf4j.Slf4j; 19 import lombok.extern.slf4j.Slf4j;
21 import org.activiti.bpmn.model.BpmnModel; 20 import org.activiti.bpmn.model.BpmnModel;
22 import org.activiti.engine.RepositoryService; 21 import org.activiti.engine.RepositoryService;
@@ -31,10 +30,10 @@ import org.springframework.validation.annotation.Validated; @@ -31,10 +30,10 @@ import org.springframework.validation.annotation.Validated;
31 import javax.annotation.Resource; 30 import javax.annotation.Resource;
32 import java.util.*; 31 import java.util.*;
33 32
34 -import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.PROCESS_DEFINITION_KEY_NOT_MATCH;  
35 -import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.PROCESS_DEFINITION_NAME_NOT_MATCH;  
36 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 33 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
37 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*; 34 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*;
  35 +import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.PROCESS_DEFINITION_KEY_NOT_MATCH;
  36 +import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.PROCESS_DEFINITION_NAME_NOT_MATCH;
38 import static java.util.Collections.emptyList; 37 import static java.util.Collections.emptyList;
39 38
40 /** 39 /**
@@ -55,7 +54,7 @@ public class BpmProcessDefinitionServiceImpl implements BpmProcessDefinitionServ @@ -55,7 +54,7 @@ public class BpmProcessDefinitionServiceImpl implements BpmProcessDefinitionServ
55 @Resource 54 @Resource
56 private RepositoryService repositoryService; 55 private RepositoryService repositoryService;
57 @Resource 56 @Resource
58 - private BpmFormServiceApi bpmFormServiceApi; 57 + private BpmFormService formService;
59 58
60 @Resource 59 @Resource
61 private BpmProcessDefinitionExtMapper processDefinitionMapper; 60 private BpmProcessDefinitionExtMapper processDefinitionMapper;
@@ -86,7 +85,7 @@ public class BpmProcessDefinitionServiceImpl implements BpmProcessDefinitionServ @@ -86,7 +85,7 @@ public class BpmProcessDefinitionServiceImpl implements BpmProcessDefinitionServ
86 85
87 // 获得 Form Map 86 // 获得 Form Map
88 Set<Long> formIds = convertSet(processDefinitionDOs, BpmProcessDefinitionExtDO::getFormId); 87 Set<Long> formIds = convertSet(processDefinitionDOs, BpmProcessDefinitionExtDO::getFormId);
89 - Map<Long, BpmFormDTO> formMap = bpmFormServiceApi.getFormMap(formIds); 88 + Map<Long, BpmFormDO> formMap = formService.getFormMap(formIds);
90 89
91 // 拼接结果 90 // 拼接结果
92 long definitionCount = definitionQuery.count(); 91 long definitionCount = definitionQuery.count();
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/definition/impl/BpmTaskAssignRuleServiceImpl.java renamed to yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/definition/BpmTaskAssignRuleServiceImpl.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.service.definition.impl; 1 +package cn.iocoder.yudao.adminserver.modules.bpm.service.definition;
2 2
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 import cn.hutool.core.util.ObjectUtil; 4 import cn.hutool.core.util.ObjectUtil;
@@ -8,21 +8,18 @@ import cn.iocoder.yudao.module.bpm.controller.definition.vo.rule.BpmTaskAssignRu @@ -8,21 +8,18 @@ import cn.iocoder.yudao.module.bpm.controller.definition.vo.rule.BpmTaskAssignRu
8 import cn.iocoder.yudao.module.bpm.controller.definition.vo.rule.BpmTaskAssignRuleUpdateReqVO; 8 import cn.iocoder.yudao.module.bpm.controller.definition.vo.rule.BpmTaskAssignRuleUpdateReqVO;
9 import cn.iocoder.yudao.adminserver.modules.bpm.convert.definition.BpmTaskAssignRuleConvert; 9 import cn.iocoder.yudao.adminserver.modules.bpm.convert.definition.BpmTaskAssignRuleConvert;
10 import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO; 10 import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO;
11 -import cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.definition.BpmTaskAssignRuleMapper; 11 +import cn.iocoder.yudao.module.bpm.dal.mysql.definition.BpmTaskAssignRuleMapper;
12 import cn.iocoder.yudao.module.bpm.enums.definition.BpmTaskAssignRuleTypeEnum; 12 import cn.iocoder.yudao.module.bpm.enums.definition.BpmTaskAssignRuleTypeEnum;
13 -import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmModelService;  
14 -import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmProcessDefinitionService;  
15 -import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmTaskAssignRuleService;  
16 -import cn.iocoder.yudao.module.bpm.api.group.BpmUserGroupServiceApi;  
17 -import cn.iocoder.yudao.module.system.enums.SysDictTypeConstants;  
18 -import cn.iocoder.yudao.module.system.service.dept.SysDeptCoreService;  
19 -import cn.iocoder.yudao.module.system.service.dept.SysPostCoreService;  
20 -import cn.iocoder.yudao.module.system.service.dict.DictDataCoreService;  
21 -import cn.iocoder.yudao.module.system.service.permission.SysRoleCoreService;  
22 -import cn.iocoder.yudao.module.system.service.user.SysUserCoreService;  
23 import cn.iocoder.yudao.framework.activiti.core.util.ActivitiUtils; 13 import cn.iocoder.yudao.framework.activiti.core.util.ActivitiUtils;
24 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; 14 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
25 import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; 15 import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
  16 +import cn.iocoder.yudao.module.bpm.service.definition.BpmUserGroupService;
  17 +import cn.iocoder.yudao.module.system.api.dept.DeptApi;
  18 +import cn.iocoder.yudao.module.system.api.dept.PostApi;
  19 +import cn.iocoder.yudao.module.system.api.dict.DictDataApi;
  20 +import cn.iocoder.yudao.module.system.api.permission.RoleApi;
  21 +import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
  22 +import cn.iocoder.yudao.module.system.enums.DictTypeConstants;
26 import lombok.extern.slf4j.Slf4j; 23 import lombok.extern.slf4j.Slf4j;
27 import org.activiti.bpmn.model.BpmnModel; 24 import org.activiti.bpmn.model.BpmnModel;
28 import org.activiti.bpmn.model.UserTask; 25 import org.activiti.bpmn.model.UserTask;
@@ -34,6 +31,7 @@ import javax.annotation.Resource; @@ -34,6 +31,7 @@ import javax.annotation.Resource;
34 import java.util.*; 31 import java.util.*;
35 32
36 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 33 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
  34 +import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.*;
37 35
38 /** 36 /**
39 * BPM 任务分配规则 Service 实现类 37 * BPM 任务分配规则 Service 实现类
@@ -53,17 +51,17 @@ public class BpmTaskAssignRuleServiceImpl implements BpmTaskAssignRuleService { @@ -53,17 +51,17 @@ public class BpmTaskAssignRuleServiceImpl implements BpmTaskAssignRuleService {
53 @Lazy // 解决循环依赖 51 @Lazy // 解决循环依赖
54 private BpmProcessDefinitionService processDefinitionService; 52 private BpmProcessDefinitionService processDefinitionService;
55 @Resource 53 @Resource
56 - private SysRoleCoreService roleCoreService; 54 + private BpmUserGroupService userGroupService;
57 @Resource 55 @Resource
58 - private SysDeptCoreService deptCoreService; 56 + private RoleApi roleApi;
59 @Resource 57 @Resource
60 - private SysPostCoreService postService; 58 + private DeptApi deptApi;
61 @Resource 59 @Resource
62 - private SysUserCoreService userCoreService; 60 + private PostApi postApi;
63 @Resource 61 @Resource
64 - private BpmUserGroupServiceApi userGroupServiceApi; 62 + private AdminUserApi adminUserApi;
65 @Resource 63 @Resource
66 - private DictDataCoreService dictDataCoreService; 64 + private DictDataApi dictDataApi;
67 65
68 @Override 66 @Override
69 public List<BpmTaskAssignRuleDO> getTaskAssignRuleListByProcessDefinitionId(String processDefinitionId, 67 public List<BpmTaskAssignRuleDO> getTaskAssignRuleListByProcessDefinitionId(String processDefinitionId,
@@ -178,18 +176,18 @@ public class BpmTaskAssignRuleServiceImpl implements BpmTaskAssignRuleService { @@ -178,18 +176,18 @@ public class BpmTaskAssignRuleServiceImpl implements BpmTaskAssignRuleService {
178 176
179 private void validTaskAssignRuleOptions(Integer type, Set<Long> options) { 177 private void validTaskAssignRuleOptions(Integer type, Set<Long> options) {
180 if (Objects.equals(type, BpmTaskAssignRuleTypeEnum.ROLE.getType())) { 178 if (Objects.equals(type, BpmTaskAssignRuleTypeEnum.ROLE.getType())) {
181 - roleCoreService.validRoles(options); 179 + roleApi.validRoles(options);
182 } else if (ObjectUtils.equalsAny(type, BpmTaskAssignRuleTypeEnum.DEPT_MEMBER.getType(), 180 } else if (ObjectUtils.equalsAny(type, BpmTaskAssignRuleTypeEnum.DEPT_MEMBER.getType(),
183 BpmTaskAssignRuleTypeEnum.DEPT_LEADER.getType())) { 181 BpmTaskAssignRuleTypeEnum.DEPT_LEADER.getType())) {
184 - deptCoreService.validDepts(options); 182 + deptApi.validDepts(options);
185 } else if (Objects.equals(type, BpmTaskAssignRuleTypeEnum.POST.getType())) { 183 } else if (Objects.equals(type, BpmTaskAssignRuleTypeEnum.POST.getType())) {
186 - postService.validPosts(options); 184 + postApi.validPosts(options);
187 } else if (Objects.equals(type, BpmTaskAssignRuleTypeEnum.USER.getType())) { 185 } else if (Objects.equals(type, BpmTaskAssignRuleTypeEnum.USER.getType())) {
188 - userCoreService.validUsers(options); 186 + adminUserApi.validUsers(options);
189 } else if (Objects.equals(type, BpmTaskAssignRuleTypeEnum.USER_GROUP.getType())) { 187 } else if (Objects.equals(type, BpmTaskAssignRuleTypeEnum.USER_GROUP.getType())) {
190 - userGroupServiceApi.validUserGroups(options); 188 + userGroupService.validUserGroups(options);
191 } else if (Objects.equals(type, BpmTaskAssignRuleTypeEnum.SCRIPT.getType())) { 189 } else if (Objects.equals(type, BpmTaskAssignRuleTypeEnum.SCRIPT.getType())) {
192 - dictDataCoreService.validDictDatas(SysDictTypeConstants.BPM_TASK_ASSIGN_SCRIPT, 190 + dictDataApi.validDictDatas(DictTypeConstants.BPM_TASK_ASSIGN_SCRIPT,
193 CollectionUtils.convertSet(options, String::valueOf)); 191 CollectionUtils.convertSet(options, String::valueOf));
194 } else { 192 } else {
195 throw new IllegalArgumentException(StrUtil.format("未知的规则类型({})", type)); 193 throw new IllegalArgumentException(StrUtil.format("未知的规则类型({})", type));
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/oa/BpmOALeaveService.java
1 package cn.iocoder.yudao.adminserver.modules.bpm.service.oa; 1 package cn.iocoder.yudao.adminserver.modules.bpm.service.oa;
2 2
3 3
4 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.*; 4 +import cn.iocoder.yudao.module.bpm.controller.oa.vo.BpmOALeaveCreateReqVO;
  5 +import cn.iocoder.yudao.module.bpm.controller.oa.vo.BpmOALeavePageReqVO;
5 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOALeaveDO; 6 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOALeaveDO;
6 import cn.iocoder.yudao.framework.common.pojo.PageResult; 7 import cn.iocoder.yudao.framework.common.pojo.PageResult;
7 8
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/oa/impl/BpmOALeaveServiceImpl.java renamed to yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/oa/BpmOALeaveServiceImpl.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.service.oa.impl; 1 +package cn.iocoder.yudao.adminserver.modules.bpm.service.oa;
2 2
3 import cn.hutool.core.date.DateUtil; 3 import cn.hutool.core.date.DateUtil;
4 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.*;  
5 import cn.iocoder.yudao.adminserver.modules.bpm.convert.oa.BpmOALeaveConvert; 4 import cn.iocoder.yudao.adminserver.modules.bpm.convert.oa.BpmOALeaveConvert;
  5 +import cn.iocoder.yudao.module.bpm.controller.oa.vo.BpmOALeaveCreateReqVO;
  6 +import cn.iocoder.yudao.module.bpm.controller.oa.vo.BpmOALeavePageReqVO;
6 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOALeaveDO; 7 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOALeaveDO;
7 -import cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.oa.BpmOALeaveMapper; 8 +import cn.iocoder.yudao.module.bpm.dal.mysql.oa.BpmOALeaveMapper;
8 import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum; 9 import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
9 -import cn.iocoder.yudao.adminserver.modules.bpm.service.oa.BpmOALeaveService;  
10 import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmProcessInstanceService; 10 import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmProcessInstanceService;
11 import cn.iocoder.yudao.adminserver.modules.bpm.service.task.dto.BpmProcessInstanceCreateReqDTO; 11 import cn.iocoder.yudao.adminserver.modules.bpm.service.task.dto.BpmProcessInstanceCreateReqDTO;
12 import cn.iocoder.yudao.framework.common.pojo.PageResult; 12 import cn.iocoder.yudao.framework.common.pojo.PageResult;
@@ -18,6 +18,7 @@ import javax.annotation.Resource; @@ -18,6 +18,7 @@ import javax.annotation.Resource;
18 import java.util.*; 18 import java.util.*;
19 19
20 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 20 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
  21 +import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.*;
21 22
22 /** 23 /**
23 * OA 请假申请 Service 实现类 24 * OA 请假申请 Service 实现类
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/oa/listener/BpmOALeaveResultListener.java
@@ -3,7 +3,7 @@ package cn.iocoder.yudao.adminserver.modules.bpm.service.oa.listener; @@ -3,7 +3,7 @@ package cn.iocoder.yudao.adminserver.modules.bpm.service.oa.listener;
3 import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.event.BpmProcessInstanceResultEvent; 3 import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.event.BpmProcessInstanceResultEvent;
4 import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.event.BpmProcessInstanceResultEventListener; 4 import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.event.BpmProcessInstanceResultEventListener;
5 import cn.iocoder.yudao.adminserver.modules.bpm.service.oa.BpmOALeaveService; 5 import cn.iocoder.yudao.adminserver.modules.bpm.service.oa.BpmOALeaveService;
6 -import cn.iocoder.yudao.adminserver.modules.bpm.service.oa.impl.BpmOALeaveServiceImpl; 6 +import cn.iocoder.yudao.adminserver.modules.bpm.service.oa.BpmOALeaveServiceImpl;
7 import org.springframework.stereotype.Component; 7 import org.springframework.stereotype.Component;
8 8
9 import javax.annotation.Resource; 9 import javax.annotation.Resource;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/task/BpmActivityService.java
1 package cn.iocoder.yudao.adminserver.modules.bpm.service.task; 1 package cn.iocoder.yudao.adminserver.modules.bpm.service.task;
2 2
3 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.activity.BpmActivityRespVO; 3 +import cn.iocoder.yudao.module.bpm.controller.task.vo.activity.BpmActivityRespVO;
4 4
5 import java.util.List; 5 import java.util.List;
6 6
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/task/impl/BpmActivityServiceImpl.java renamed to yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/task/BpmActivityServiceImpl.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.service.task.impl; 1 +package cn.iocoder.yudao.adminserver.modules.bpm.service.task;
2 2
3 import cn.hutool.core.io.IoUtil; 3 import cn.hutool.core.io.IoUtil;
4 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.activity.BpmActivityRespVO;  
5 import cn.iocoder.yudao.adminserver.modules.bpm.convert.task.BpmActivityConvert; 4 import cn.iocoder.yudao.adminserver.modules.bpm.convert.task.BpmActivityConvert;
6 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmProcessDefinitionService; 5 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmProcessDefinitionService;
7 -import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmActivityService;  
8 -import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmProcessInstanceService;  
9 -import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmTaskService;  
10 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; 6 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
  7 +import cn.iocoder.yudao.module.bpm.controller.task.vo.activity.BpmActivityRespVO;
11 import lombok.extern.slf4j.Slf4j; 8 import lombok.extern.slf4j.Slf4j;
12 import org.activiti.bpmn.model.BpmnModel; 9 import org.activiti.bpmn.model.BpmnModel;
13 import org.activiti.engine.HistoryService; 10 import org.activiti.engine.HistoryService;
@@ -24,7 +21,7 @@ import java.util.Collections; @@ -24,7 +21,7 @@ import java.util.Collections;
24 import java.util.List; 21 import java.util.List;
25 22
26 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 23 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
27 -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; 24 +import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.*;
28 25
29 /** 26 /**
30 * BPM 活动实例 Service 实现类 27 * BPM 活动实例 Service 实现类
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/task/BpmProcessInstanceService.java
1 package cn.iocoder.yudao.adminserver.modules.bpm.service.task; 1 package cn.iocoder.yudao.adminserver.modules.bpm.service.task;
2 2
3 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance.*; 3 +import cn.iocoder.yudao.module.bpm.controller.task.vo.instance.*;
4 import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceDeleteReasonEnum; 4 import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceDeleteReasonEnum;
5 import cn.iocoder.yudao.adminserver.modules.bpm.service.task.dto.BpmProcessInstanceCreateReqDTO; 5 import cn.iocoder.yudao.adminserver.modules.bpm.service.task.dto.BpmProcessInstanceCreateReqDTO;
6 import cn.iocoder.yudao.framework.common.pojo.PageResult; 6 import cn.iocoder.yudao.framework.common.pojo.PageResult;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/task/impl/BpmProcessInstanceServiceImpl.java renamed to yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/task/BpmProcessInstanceServiceImpl.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.service.task.impl; 1 +package cn.iocoder.yudao.adminserver.modules.bpm.service.task;
2 2
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 import cn.hutool.core.lang.Assert; 4 import cn.hutool.core.lang.Assert;
5 import cn.hutool.core.util.StrUtil; 5 import cn.hutool.core.util.StrUtil;
6 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance.*;  
7 import cn.iocoder.yudao.adminserver.modules.bpm.convert.message.BpmMessageConvert; 6 import cn.iocoder.yudao.adminserver.modules.bpm.convert.message.BpmMessageConvert;
8 import cn.iocoder.yudao.adminserver.modules.bpm.convert.task.BpmProcessInstanceConvert; 7 import cn.iocoder.yudao.adminserver.modules.bpm.convert.task.BpmProcessInstanceConvert;
  8 +import cn.iocoder.yudao.module.bpm.controller.task.vo.instance.*;
9 import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO; 9 import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO;
10 import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmProcessInstanceExtDO; 10 import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmProcessInstanceExtDO;
11 -import cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.task.BpmProcessInstanceExtMapper; 11 +import cn.iocoder.yudao.module.bpm.dal.mysql.task.BpmProcessInstanceExtMapper;
12 import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceDeleteReasonEnum; 12 import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceDeleteReasonEnum;
13 import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum; 13 import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
14 import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceStatusEnum; 14 import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceStatusEnum;
15 import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.event.BpmProcessInstanceResultEventPublisher; 15 import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.event.BpmProcessInstanceResultEventPublisher;
16 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmProcessDefinitionService; 16 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmProcessDefinitionService;
17 import cn.iocoder.yudao.module.bpm.service.message.BpmMessageService; 17 import cn.iocoder.yudao.module.bpm.service.message.BpmMessageService;
18 -import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmProcessInstanceService;  
19 -import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmTaskService;  
20 import cn.iocoder.yudao.adminserver.modules.bpm.service.task.dto.BpmProcessInstanceCreateReqDTO; 18 import cn.iocoder.yudao.adminserver.modules.bpm.service.task.dto.BpmProcessInstanceCreateReqDTO;
21 -import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysDeptDO;  
22 -import cn.iocoder.yudao.module.system.dal.dataobject.user.SysUserDO;  
23 -import cn.iocoder.yudao.module.system.service.dept.SysDeptCoreService;  
24 -import cn.iocoder.yudao.module.system.service.user.SysUserCoreService;  
25 import cn.iocoder.yudao.framework.common.pojo.PageResult; 19 import cn.iocoder.yudao.framework.common.pojo.PageResult;
26 import cn.iocoder.yudao.framework.common.util.number.NumberUtils; 20 import cn.iocoder.yudao.framework.common.util.number.NumberUtils;
  21 +import cn.iocoder.yudao.module.system.api.dept.DeptApi;
  22 +import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
  23 +import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
  24 +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
27 import lombok.extern.slf4j.Slf4j; 25 import lombok.extern.slf4j.Slf4j;
28 import org.activiti.engine.HistoryService; 26 import org.activiti.engine.HistoryService;
29 import org.activiti.engine.RuntimeService; 27 import org.activiti.engine.RuntimeService;
@@ -41,6 +39,7 @@ import java.util.*; @@ -41,6 +39,7 @@ import java.util.*;
41 39
42 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 40 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
43 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; 41 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
  42 +import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.*;
44 43
45 /** 44 /**
46 * 流程实例 Service 实现类 45 * 流程实例 Service 实现类
@@ -65,9 +64,9 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService @@ -65,9 +64,9 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService
65 private HistoryService historyService; 64 private HistoryService historyService;
66 65
67 @Resource 66 @Resource
68 - private SysUserCoreService userCoreService; 67 + private AdminUserApi adminUserApi;
69 @Resource 68 @Resource
70 - private SysDeptCoreService deptCoreService; 69 + private DeptApi deptApi;
71 @Resource 70 @Resource
72 @Lazy // 解决循环依赖 71 @Lazy // 解决循环依赖
73 private BpmTaskService taskService; 72 private BpmTaskService taskService;
@@ -189,10 +188,10 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService @@ -189,10 +188,10 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService
189 String bpmnXml = processDefinitionService.getProcessDefinitionBpmnXML(processInstance.getProcessDefinitionId()); 188 String bpmnXml = processDefinitionService.getProcessDefinitionBpmnXML(processInstance.getProcessDefinitionId());
190 189
191 // 获得 User 190 // 获得 User
192 - SysUserDO startUser = userCoreService.getUser(NumberUtils.parseLong(processInstance.getStartUserId()));  
193 - SysDeptDO dept = null; 191 + AdminUserRespDTO startUser = adminUserApi.getUser(NumberUtils.parseLong(processInstance.getStartUserId()));
  192 + DeptRespDTO dept = null;
194 if (startUser != null) { 193 if (startUser != null) {
195 - dept = deptCoreService.getDept(startUser.getDeptId()); 194 + dept = deptApi.getDept(startUser.getDeptId());
196 } 195 }
197 196
198 // 拼接结果 197 // 拼接结果
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/task/BpmTaskService.java
1 package cn.iocoder.yudao.adminserver.modules.bpm.service.task; 1 package cn.iocoder.yudao.adminserver.modules.bpm.service.task;
2 2
3 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task.*; 3 +import cn.iocoder.yudao.module.bpm.controller.task.vo.task.*;
4 import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmTaskExtDO; 4 import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmTaskExtDO;
5 import cn.iocoder.yudao.framework.common.pojo.PageResult; 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
6 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; 6 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/task/impl/BpmTaskServiceImpl.java renamed to yudao-module-bpm/yudao-module-bpm-impl-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/task/BpmTaskServiceImpl.java
1 -package cn.iocoder.yudao.adminserver.modules.bpm.service.task.impl; 1 +package cn.iocoder.yudao.adminserver.modules.bpm.service.task;
2 2
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 import cn.hutool.core.util.StrUtil; 4 import cn.hutool.core.util.StrUtil;
5 -import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task.*;  
6 import cn.iocoder.yudao.adminserver.modules.bpm.convert.message.BpmMessageConvert; 5 import cn.iocoder.yudao.adminserver.modules.bpm.convert.message.BpmMessageConvert;
7 import cn.iocoder.yudao.adminserver.modules.bpm.convert.task.BpmTaskConvert; 6 import cn.iocoder.yudao.adminserver.modules.bpm.convert.task.BpmTaskConvert;
  7 +import cn.iocoder.yudao.module.bpm.controller.task.vo.task.*;
8 import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmTaskExtDO; 8 import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmTaskExtDO;
9 -import cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.task.BpmTaskExtMapper; 9 +import cn.iocoder.yudao.module.bpm.dal.mysql.task.BpmTaskExtMapper;
10 import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum; 10 import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
11 import cn.iocoder.yudao.module.bpm.service.message.BpmMessageService; 11 import cn.iocoder.yudao.module.bpm.service.message.BpmMessageService;
12 -import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmProcessInstanceService;  
13 -import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmTaskService;  
14 12
15 -import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysDeptDO;  
16 -import cn.iocoder.yudao.module.system.dal.dataobject.user.SysUserDO;  
17 -import cn.iocoder.yudao.module.system.service.dept.SysDeptCoreService;  
18 -import cn.iocoder.yudao.module.system.service.user.SysUserCoreService;  
19 import cn.iocoder.yudao.framework.activiti.core.util.ActivitiUtils; 13 import cn.iocoder.yudao.framework.activiti.core.util.ActivitiUtils;
20 import cn.iocoder.yudao.framework.common.pojo.PageResult; 14 import cn.iocoder.yudao.framework.common.pojo.PageResult;
21 import cn.iocoder.yudao.framework.common.util.number.NumberUtils; 15 import cn.iocoder.yudao.framework.common.util.number.NumberUtils;
22 import cn.iocoder.yudao.framework.common.util.object.PageUtils; 16 import cn.iocoder.yudao.framework.common.util.object.PageUtils;
  17 +import cn.iocoder.yudao.module.system.api.dept.DeptApi;
  18 +import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
  19 +import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
  20 +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
23 import lombok.extern.slf4j.Slf4j; 21 import lombok.extern.slf4j.Slf4j;
24 import org.activiti.engine.HistoryService; 22 import org.activiti.engine.HistoryService;
25 import org.activiti.engine.TaskService; 23 import org.activiti.engine.TaskService;
@@ -42,6 +40,7 @@ import java.util.*; @@ -42,6 +40,7 @@ import java.util.*;
42 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 40 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
43 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; 41 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
44 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; 42 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
  43 +import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.*;
45 44
46 /** 45 /**
47 * 流程任务实例 Service 实现类 46 * 流程任务实例 Service 实现类
@@ -59,9 +58,9 @@ public class BpmTaskServiceImpl implements BpmTaskService { @@ -59,9 +58,9 @@ public class BpmTaskServiceImpl implements BpmTaskService {
59 private HistoryService historyService; 58 private HistoryService historyService;
60 59
61 @Resource 60 @Resource
62 - private SysUserCoreService userCoreService; 61 + private AdminUserApi adminUserApi;
63 @Resource 62 @Resource
64 - private SysDeptCoreService deptCoreService; 63 + private DeptApi deptApi;
65 @Resource 64 @Resource
66 @Lazy // 解决循环依赖 65 @Lazy // 解决循环依赖
67 private BpmProcessInstanceService processInstanceService; 66 private BpmProcessInstanceService processInstanceService;
@@ -95,9 +94,9 @@ public class BpmTaskServiceImpl implements BpmTaskService { @@ -95,9 +94,9 @@ public class BpmTaskServiceImpl implements BpmTaskService {
95 // 获得 User Map 94 // 获得 User Map
96 Set<Long> userIds = convertSet(tasks, task -> NumberUtils.parseLong(task.getAssignee())); 95 Set<Long> userIds = convertSet(tasks, task -> NumberUtils.parseLong(task.getAssignee()));
97 userIds.add(NumberUtils.parseLong(processInstance.getStartUserId())); 96 userIds.add(NumberUtils.parseLong(processInstance.getStartUserId()));
98 - Map<Long, SysUserDO> userMap = userCoreService.getUserMap(userIds); 97 + Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userIds);
99 // 获得 Dept Map 98 // 获得 Dept Map
100 - Map<Long, SysDeptDO> deptMap = deptCoreService.getDeptMap(convertSet(userMap.values(), SysUserDO::getDeptId)); 99 + Map<Long, DeptRespDTO> deptMap = deptApi.getDeptMap(convertSet(userMap.values(), AdminUserRespDTO::getDeptId));
101 100
102 // 拼接数据 101 // 拼接数据
103 return BpmTaskConvert.INSTANCE.convertList3(tasks, bpmTaskExtDOMap, processInstance, userMap, deptMap); 102 return BpmTaskConvert.INSTANCE.convertList3(tasks, bpmTaskExtDOMap, processInstance, userMap, deptMap);
@@ -144,7 +143,7 @@ public class BpmTaskServiceImpl implements BpmTaskService { @@ -144,7 +143,7 @@ public class BpmTaskServiceImpl implements BpmTaskService {
144 Map<String, ProcessInstance> processInstanceMap = processInstanceService.getProcessInstanceMap( 143 Map<String, ProcessInstance> processInstanceMap = processInstanceService.getProcessInstanceMap(
145 convertSet(tasks, Task::getProcessInstanceId)); 144 convertSet(tasks, Task::getProcessInstanceId));
146 // 获得 User Map 145 // 获得 User Map
147 - Map<Long, SysUserDO> userMap = userCoreService.getUserMap( 146 + Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(
148 convertSet(processInstanceMap.values(), instance -> Long.valueOf(instance.getStartUserId()))); 147 convertSet(processInstanceMap.values(), instance -> Long.valueOf(instance.getStartUserId())));
149 // 拼接结果 148 // 拼接结果
150 return new PageResult<>(BpmTaskConvert.INSTANCE.convertList1(tasks, processInstanceMap, userMap), 149 return new PageResult<>(BpmTaskConvert.INSTANCE.convertList1(tasks, processInstanceMap, userMap),
@@ -180,7 +179,7 @@ public class BpmTaskServiceImpl implements BpmTaskService { @@ -180,7 +179,7 @@ public class BpmTaskServiceImpl implements BpmTaskService {
180 Map<String, HistoricProcessInstance> historicProcessInstanceMap = processInstanceService.getHistoricProcessInstanceMap( 179 Map<String, HistoricProcessInstance> historicProcessInstanceMap = processInstanceService.getHistoricProcessInstanceMap(
181 convertSet(tasks, HistoricTaskInstance::getProcessInstanceId)); 180 convertSet(tasks, HistoricTaskInstance::getProcessInstanceId));
182 // 获得 User Map 181 // 获得 User Map
183 - Map<Long, SysUserDO> userMap = userCoreService.getUserMap( 182 + Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(
184 convertSet(historicProcessInstanceMap.values(), instance -> Long.valueOf(instance.getStartUserId()))); 183 convertSet(historicProcessInstanceMap.values(), instance -> Long.valueOf(instance.getStartUserId())));
185 // 拼接结果 184 // 拼接结果
186 return new PageResult<>(BpmTaskConvert.INSTANCE.convertList2(tasks, bpmTaskExtDOMap, historicProcessInstanceMap, userMap), 185 return new PageResult<>(BpmTaskConvert.INSTANCE.convertList2(tasks, bpmTaskExtDOMap, historicProcessInstanceMap, userMap),
@@ -291,7 +290,7 @@ public class BpmTaskServiceImpl implements BpmTaskService { @@ -291,7 +290,7 @@ public class BpmTaskServiceImpl implements BpmTaskService {
291 @Override 290 @Override
292 public void afterCommit() { 291 public void afterCommit() {
293 ProcessInstance processInstance = processInstanceService.getProcessInstance(task.getProcessInstanceId()); 292 ProcessInstance processInstance = processInstanceService.getProcessInstance(task.getProcessInstanceId());
294 - SysUserDO startUser = userCoreService.getUser(Long.valueOf(processInstance.getStartUserId())); 293 + AdminUserRespDTO startUser = adminUserApi.getUser(Long.valueOf(processInstance.getStartUserId()));
295 messageService.sendMessageWhenTaskAssigned(BpmMessageConvert.INSTANCE.convert(processInstance, startUser, task)); 294 messageService.sendMessageWhenTaskAssigned(BpmMessageConvert.INSTANCE.convert(processInstance, startUser, task));
296 } 295 }
297 }); 296 });
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/test/java/cn/iocoder/yudao/adminserver/modules/bpm/framework/activiti/core/behavior/BpmUserTaskActivitiBehaviorTest.java
1 package cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavior; 1 package cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavior;
2 2
3 import cn.hutool.core.map.MapUtil; 3 import cn.hutool.core.map.MapUtil;
4 -import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO;  
5 -import cn.iocoder.yudao.module.bpm.enums.definition.BpmTaskAssignRuleTypeEnum;  
6 -import cn.iocoder.yudao.module.bpm.enums.definition.BpmTaskRuleScriptEnum;  
7 import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavior.script.BpmTaskAssignScript; 4 import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavior.script.BpmTaskAssignScript;
8 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmTaskAssignRuleService; 5 import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmTaskAssignRuleService;
9 -import cn.iocoder.yudao.module.bpm.api.group.BpmUserGroupServiceApi;  
10 -import cn.iocoder.yudao.module.bpm.api.group.dto.BpmUserGroupDTO;  
11 -import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysDeptDO;  
12 -import cn.iocoder.yudao.module.system.dal.dataobject.user.SysUserDO;  
13 -import cn.iocoder.yudao.module.system.service.dept.SysDeptCoreService;  
14 -import cn.iocoder.yudao.module.system.service.permission.SysPermissionCoreService;  
15 -import cn.iocoder.yudao.module.system.service.user.SysUserCoreService;  
16 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; 6 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
17 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; 7 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
18 import cn.iocoder.yudao.framework.test.core.ut.BaseMockitoUnitTest; 8 import cn.iocoder.yudao.framework.test.core.ut.BaseMockitoUnitTest;
  9 +import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO;
  10 +import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmUserGroupDO;
  11 +import cn.iocoder.yudao.module.bpm.enums.definition.BpmTaskAssignRuleTypeEnum;
  12 +import cn.iocoder.yudao.module.bpm.enums.definition.BpmTaskRuleScriptEnum;
  13 +import cn.iocoder.yudao.module.bpm.service.definition.BpmUserGroupService;
  14 +import cn.iocoder.yudao.module.system.api.dept.DeptApi;
  15 +import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
  16 +import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
  17 +import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
  18 +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
19 import org.activiti.engine.impl.persistence.entity.TaskEntity; 19 import org.activiti.engine.impl.persistence.entity.TaskEntity;
20 import org.junit.jupiter.api.Test; 20 import org.junit.jupiter.api.Test;
21 import org.mockito.InjectMocks; 21 import org.mockito.InjectMocks;
@@ -40,13 +40,14 @@ public class BpmUserTaskActivitiBehaviorTest extends BaseMockitoUnitTest { @@ -40,13 +40,14 @@ public class BpmUserTaskActivitiBehaviorTest extends BaseMockitoUnitTest {
40 @Mock 40 @Mock
41 private BpmTaskAssignRuleService bpmTaskRuleService; 41 private BpmTaskAssignRuleService bpmTaskRuleService;
42 @Mock 42 @Mock
43 - private SysPermissionCoreService permissionCoreService; 43 + private BpmUserGroupService userGroupService;
  44 +
44 @Mock 45 @Mock
45 - private SysDeptCoreService deptCoreService; 46 + private DeptApi deptApi;
46 @Mock 47 @Mock
47 - private BpmUserGroupServiceApi userGroupServiceApi; 48 + private AdminUserApi adminUserApi;
48 @Mock 49 @Mock
49 - private SysUserCoreService userCoreService; 50 + private PermissionApi permissionApi;
50 51
51 @Test 52 @Test
52 public void testCalculateTaskCandidateUsers_Role() { 53 public void testCalculateTaskCandidateUsers_Role() {
@@ -54,7 +55,7 @@ public class BpmUserTaskActivitiBehaviorTest extends BaseMockitoUnitTest { @@ -54,7 +55,7 @@ public class BpmUserTaskActivitiBehaviorTest extends BaseMockitoUnitTest {
54 BpmTaskAssignRuleDO rule = new BpmTaskAssignRuleDO().setOptions(asSet(1L, 2L)) 55 BpmTaskAssignRuleDO rule = new BpmTaskAssignRuleDO().setOptions(asSet(1L, 2L))
55 .setType(BpmTaskAssignRuleTypeEnum.ROLE.getType()); 56 .setType(BpmTaskAssignRuleTypeEnum.ROLE.getType());
56 // mock 方法 57 // mock 方法
57 - when(permissionCoreService.getUserRoleIdListByRoleIds(eq(rule.getOptions()))) 58 + when(permissionApi.getUserRoleIdListByRoleIds(eq(rule.getOptions())))
58 .thenReturn(asSet(11L, 22L)); 59 .thenReturn(asSet(11L, 22L));
59 mockGetUserMap(asSet(11L, 22L)); 60 mockGetUserMap(asSet(11L, 22L));
60 61
@@ -70,9 +71,9 @@ public class BpmUserTaskActivitiBehaviorTest extends BaseMockitoUnitTest { @@ -70,9 +71,9 @@ public class BpmUserTaskActivitiBehaviorTest extends BaseMockitoUnitTest {
70 BpmTaskAssignRuleDO rule = new BpmTaskAssignRuleDO().setOptions(asSet(1L, 2L)) 71 BpmTaskAssignRuleDO rule = new BpmTaskAssignRuleDO().setOptions(asSet(1L, 2L))
71 .setType(BpmTaskAssignRuleTypeEnum.DEPT_MEMBER.getType()); 72 .setType(BpmTaskAssignRuleTypeEnum.DEPT_MEMBER.getType());
72 // mock 方法 73 // mock 方法
73 - List<SysUserDO> users = CollectionUtils.convertList(asSet(11L, 22L),  
74 - id -> new SysUserDO().setId(id));  
75 - when(userCoreService.getUsersByDeptIds(eq(rule.getOptions()))).thenReturn(users); 74 + List<AdminUserRespDTO> users = CollectionUtils.convertList(asSet(11L, 22L),
  75 + id -> new AdminUserRespDTO().setId(id));
  76 + when(adminUserApi.getUsersByDeptIds(eq(rule.getOptions()))).thenReturn(users);
76 mockGetUserMap(asSet(11L, 22L)); 77 mockGetUserMap(asSet(11L, 22L));
77 78
78 // 调用 79 // 调用
@@ -87,9 +88,9 @@ public class BpmUserTaskActivitiBehaviorTest extends BaseMockitoUnitTest { @@ -87,9 +88,9 @@ public class BpmUserTaskActivitiBehaviorTest extends BaseMockitoUnitTest {
87 BpmTaskAssignRuleDO rule = new BpmTaskAssignRuleDO().setOptions(asSet(1L, 2L)) 88 BpmTaskAssignRuleDO rule = new BpmTaskAssignRuleDO().setOptions(asSet(1L, 2L))
88 .setType(BpmTaskAssignRuleTypeEnum.DEPT_LEADER.getType()); 89 .setType(BpmTaskAssignRuleTypeEnum.DEPT_LEADER.getType());
89 // mock 方法 90 // mock 方法
90 - SysDeptDO dept1 = randomPojo(SysDeptDO.class, o -> o.setLeaderUserId(11L));  
91 - SysDeptDO dept2 = randomPojo(SysDeptDO.class, o -> o.setLeaderUserId(22L));  
92 - when(deptCoreService.getDepts(eq(rule.getOptions()))).thenReturn(Arrays.asList(dept1, dept2)); 91 + DeptRespDTO dept1 = randomPojo(DeptRespDTO.class, o -> o.setLeaderUserId(11L));
  92 + DeptRespDTO dept2 = randomPojo(DeptRespDTO.class, o -> o.setLeaderUserId(22L));
  93 + when(deptApi.getDepts(eq(rule.getOptions()))).thenReturn(Arrays.asList(dept1, dept2));
93 mockGetUserMap(asSet(11L, 22L)); 94 mockGetUserMap(asSet(11L, 22L));
94 95
95 // 调用 96 // 调用
@@ -104,9 +105,9 @@ public class BpmUserTaskActivitiBehaviorTest extends BaseMockitoUnitTest { @@ -104,9 +105,9 @@ public class BpmUserTaskActivitiBehaviorTest extends BaseMockitoUnitTest {
104 BpmTaskAssignRuleDO rule = new BpmTaskAssignRuleDO().setOptions(asSet(1L, 2L)) 105 BpmTaskAssignRuleDO rule = new BpmTaskAssignRuleDO().setOptions(asSet(1L, 2L))
105 .setType(BpmTaskAssignRuleTypeEnum.POST.getType()); 106 .setType(BpmTaskAssignRuleTypeEnum.POST.getType());
106 // mock 方法 107 // mock 方法
107 - List<SysUserDO> users = CollectionUtils.convertList(asSet(11L, 22L),  
108 - id -> new SysUserDO().setId(id));  
109 - when(userCoreService.getUsersByPostIds(eq(rule.getOptions()))).thenReturn(users); 108 + List<AdminUserRespDTO> users = CollectionUtils.convertList(asSet(11L, 22L),
  109 + id -> new AdminUserRespDTO().setId(id));
  110 + when(adminUserApi.getUsersByPostIds(eq(rule.getOptions()))).thenReturn(users);
110 mockGetUserMap(asSet(11L, 22L)); 111 mockGetUserMap(asSet(11L, 22L));
111 112
112 // 调用 113 // 调用
@@ -135,9 +136,9 @@ public class BpmUserTaskActivitiBehaviorTest extends BaseMockitoUnitTest { @@ -135,9 +136,9 @@ public class BpmUserTaskActivitiBehaviorTest extends BaseMockitoUnitTest {
135 BpmTaskAssignRuleDO rule = new BpmTaskAssignRuleDO().setOptions(asSet(1L, 2L)) 136 BpmTaskAssignRuleDO rule = new BpmTaskAssignRuleDO().setOptions(asSet(1L, 2L))
136 .setType(BpmTaskAssignRuleTypeEnum.USER_GROUP.getType()); 137 .setType(BpmTaskAssignRuleTypeEnum.USER_GROUP.getType());
137 // mock 方法 138 // mock 方法
138 - BpmUserGroupDTO userGroup1 = randomPojo(BpmUserGroupDTO.class, o -> o.setMemberUserIds(asSet(11L, 12L)));  
139 - BpmUserGroupDTO userGroup2 = randomPojo(BpmUserGroupDTO.class, o -> o.setMemberUserIds(asSet(21L, 22L)));  
140 - when(userGroupServiceApi.getUserGroupList(eq(rule.getOptions()))).thenReturn(Arrays.asList(userGroup1, userGroup2)); 139 + BpmUserGroupDO userGroup1 = randomPojo(BpmUserGroupDO.class, o -> o.setMemberUserIds(asSet(11L, 12L)));
  140 + BpmUserGroupDO userGroup2 = randomPojo(BpmUserGroupDO.class, o -> o.setMemberUserIds(asSet(21L, 22L)));
  141 + when(userGroupService.getUserGroupList(eq(rule.getOptions()))).thenReturn(Arrays.asList(userGroup1, userGroup2));
141 mockGetUserMap(asSet(11L, 12L, 21L, 22L)); 142 mockGetUserMap(asSet(11L, 12L, 21L, 22L));
142 143
143 // 调用 144 // 调用
@@ -190,13 +191,13 @@ public class BpmUserTaskActivitiBehaviorTest extends BaseMockitoUnitTest { @@ -190,13 +191,13 @@ public class BpmUserTaskActivitiBehaviorTest extends BaseMockitoUnitTest {
190 // 准备参数. 1L 可以找到;2L 是禁用的;3L 找不到 191 // 准备参数. 1L 可以找到;2L 是禁用的;3L 找不到
191 Set<Long> assigneeUserIds = asSet(1L, 2L, 3L); 192 Set<Long> assigneeUserIds = asSet(1L, 2L, 3L);
192 // mock 方法 193 // mock 方法
193 - SysUserDO user1 = randomPojo(SysUserDO.class, o -> o.setId(1L) 194 + AdminUserRespDTO user1 = randomPojo(AdminUserRespDTO.class, o -> o.setId(1L)
194 .setStatus(CommonStatusEnum.ENABLE.getStatus())); 195 .setStatus(CommonStatusEnum.ENABLE.getStatus()));
195 - SysUserDO user2 = randomPojo(SysUserDO.class, o -> o.setId(2L) 196 + AdminUserRespDTO user2 = randomPojo(AdminUserRespDTO.class, o -> o.setId(2L)
196 .setStatus(CommonStatusEnum.DISABLE.getStatus())); 197 .setStatus(CommonStatusEnum.DISABLE.getStatus()));
197 - Map<Long, SysUserDO> userMap = MapUtil.builder(user1.getId(), user1) 198 + Map<Long, AdminUserRespDTO> userMap = MapUtil.builder(user1.getId(), user1)
198 .put(user2.getId(), user2).build(); 199 .put(user2.getId(), user2).build();
199 - when(userCoreService.getUserMap(eq(assigneeUserIds))).thenReturn(userMap); 200 + when(adminUserApi.getUserMap(eq(assigneeUserIds))).thenReturn(userMap);
200 201
201 // 调用 202 // 调用
202 behavior.removeDisableUsers(assigneeUserIds); 203 behavior.removeDisableUsers(assigneeUserIds);
@@ -205,9 +206,9 @@ public class BpmUserTaskActivitiBehaviorTest extends BaseMockitoUnitTest { @@ -205,9 +206,9 @@ public class BpmUserTaskActivitiBehaviorTest extends BaseMockitoUnitTest {
205 } 206 }
206 207
207 private void mockGetUserMap(Set<Long> assigneeUserIds) { 208 private void mockGetUserMap(Set<Long> assigneeUserIds) {
208 - Map<Long, SysUserDO> userMap = CollectionUtils.convertMap(assigneeUserIds, id -> id,  
209 - id -> new SysUserDO().setId(id).setStatus(CommonStatusEnum.ENABLE.getStatus()));  
210 - when(userCoreService.getUserMap(eq(assigneeUserIds))).thenReturn(userMap); 209 + Map<Long, AdminUserRespDTO> userMap = CollectionUtils.convertMap(assigneeUserIds, id -> id,
  210 + id -> new AdminUserRespDTO().setId(id).setStatus(CommonStatusEnum.ENABLE.getStatus()));
  211 + when(adminUserApi.getUserMap(eq(assigneeUserIds))).thenReturn(userMap);
211 } 212 }
212 213
213 } 214 }
yudao-module-bpm/yudao-module-bpm-impl-activiti/src/test/java/cn/iocoder/yudao/adminserver/modules/bpm/framework/activiti/core/behavior/script/impl/BpmTaskAssignLeaderX2ScriptTest.java
1 package cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavior.script.impl; 1 package cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavior.script.impl;
2 2
3 -import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysDeptDO;  
4 -import cn.iocoder.yudao.module.system.dal.dataobject.user.SysUserDO;  
5 -import cn.iocoder.yudao.module.system.service.dept.SysDeptCoreService;  
6 -import cn.iocoder.yudao.module.system.service.user.SysUserCoreService;  
7 import cn.iocoder.yudao.framework.test.core.ut.BaseMockitoUnitTest; 3 import cn.iocoder.yudao.framework.test.core.ut.BaseMockitoUnitTest;
  4 +import cn.iocoder.yudao.module.system.api.dept.DeptApi;
  5 +import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
  6 +import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
  7 +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
8 import org.activiti.engine.impl.persistence.entity.ExecutionEntityImpl; 8 import org.activiti.engine.impl.persistence.entity.ExecutionEntityImpl;
9 import org.activiti.engine.impl.persistence.entity.TaskEntity; 9 import org.activiti.engine.impl.persistence.entity.TaskEntity;
10 import org.activiti.engine.impl.persistence.entity.TaskEntityImpl; 10 import org.activiti.engine.impl.persistence.entity.TaskEntityImpl;
11 import org.junit.jupiter.api.Test; 11 import org.junit.jupiter.api.Test;
12 import org.mockito.InjectMocks; 12 import org.mockito.InjectMocks;
13 -import org.mockito.Mock; 13 +import org.springframework.boot.test.mock.mockito.MockBean;
14 14
15 import java.util.Set; 15 import java.util.Set;
16 16
@@ -25,18 +25,18 @@ class BpmTaskAssignLeaderX2ScriptTest extends BaseMockitoUnitTest { @@ -25,18 +25,18 @@ class BpmTaskAssignLeaderX2ScriptTest extends BaseMockitoUnitTest {
25 @InjectMocks 25 @InjectMocks
26 private BpmTaskAssignLeaderX2Script script; 26 private BpmTaskAssignLeaderX2Script script;
27 27
28 - @Mock  
29 - private SysUserCoreService userCoreService;  
30 - @Mock  
31 - private SysDeptCoreService deptCoreService; 28 + @MockBean
  29 + private AdminUserApi adminUserApi;
  30 + @MockBean
  31 + private DeptApi deptApi;
32 32
33 @Test 33 @Test
34 public void testCalculateTaskCandidateUsers_noDept() { 34 public void testCalculateTaskCandidateUsers_noDept() {
35 // 准备参数 35 // 准备参数
36 TaskEntity task = buildTaskEntity(1L); 36 TaskEntity task = buildTaskEntity(1L);
37 // mock 方法(startUser) 37 // mock 方法(startUser)
38 - SysUserDO startUser = randomPojo(SysUserDO.class, o -> o.setDeptId(10L));  
39 - when(userCoreService.getUser(eq(1L))).thenReturn(startUser); 38 + AdminUserRespDTO startUser = randomPojo(AdminUserRespDTO.class, o -> o.setDeptId(10L));
  39 + when(adminUserApi.getUser(eq(1L))).thenReturn(startUser);
40 40
41 // 调用 41 // 调用
42 Set<Long> result = script.calculateTaskCandidateUsers(task); 42 Set<Long> result = script.calculateTaskCandidateUsers(task);
@@ -49,11 +49,11 @@ class BpmTaskAssignLeaderX2ScriptTest extends BaseMockitoUnitTest { @@ -49,11 +49,11 @@ class BpmTaskAssignLeaderX2ScriptTest extends BaseMockitoUnitTest {
49 // 准备参数 49 // 准备参数
50 TaskEntity task = buildTaskEntity(1L); 50 TaskEntity task = buildTaskEntity(1L);
51 // mock 方法(startUser) 51 // mock 方法(startUser)
52 - SysUserDO startUser = randomPojo(SysUserDO.class, o -> o.setDeptId(10L));  
53 - when(userCoreService.getUser(eq(1L))).thenReturn(startUser);  
54 - SysDeptDO startUserDept = randomPojo(SysDeptDO.class, o -> o.setId(10L).setParentId(100L) 52 + AdminUserRespDTO startUser = randomPojo(AdminUserRespDTO.class, o -> o.setDeptId(10L));
  53 + when(adminUserApi.getUser(eq(1L))).thenReturn(startUser);
  54 + DeptRespDTO startUserDept = randomPojo(DeptRespDTO.class, o -> o.setId(10L).setParentId(100L)
55 .setLeaderUserId(20L)); 55 .setLeaderUserId(20L));
56 - when(deptCoreService.getDept(eq(10L))).thenReturn(startUserDept); 56 + when(deptApi.getDept(eq(10L))).thenReturn(startUserDept);
57 57
58 // 调用 58 // 调用
59 Set<Long> result = script.calculateTaskCandidateUsers(task); 59 Set<Long> result = script.calculateTaskCandidateUsers(task);
@@ -66,15 +66,15 @@ class BpmTaskAssignLeaderX2ScriptTest extends BaseMockitoUnitTest { @@ -66,15 +66,15 @@ class BpmTaskAssignLeaderX2ScriptTest extends BaseMockitoUnitTest {
66 // 准备参数 66 // 准备参数
67 TaskEntity task = buildTaskEntity(1L); 67 TaskEntity task = buildTaskEntity(1L);
68 // mock 方法(startUser) 68 // mock 方法(startUser)
69 - SysUserDO startUser = randomPojo(SysUserDO.class, o -> o.setDeptId(10L));  
70 - when(userCoreService.getUser(eq(1L))).thenReturn(startUser);  
71 - SysDeptDO startUserDept = randomPojo(SysDeptDO.class, o -> o.setId(10L).setParentId(100L) 69 + AdminUserRespDTO startUser = randomPojo(AdminUserRespDTO.class, o -> o.setDeptId(10L));
  70 + when(adminUserApi.getUser(eq(1L))).thenReturn(startUser);
  71 + DeptRespDTO startUserDept = randomPojo(DeptRespDTO.class, o -> o.setId(10L).setParentId(100L)
72 .setLeaderUserId(20L)); 72 .setLeaderUserId(20L));
73 - when(deptCoreService.getDept(eq(10L))).thenReturn(startUserDept); 73 + when(deptApi.getDept(eq(10L))).thenReturn(startUserDept);
74 // mock 方法(父 dept) 74 // mock 方法(父 dept)
75 - SysDeptDO parentDept = randomPojo(SysDeptDO.class, o -> o.setId(100L).setParentId(1000L) 75 + DeptRespDTO parentDept = randomPojo(DeptRespDTO.class, o -> o.setId(100L).setParentId(1000L)
76 .setLeaderUserId(200L)); 76 .setLeaderUserId(200L));
77 - when(deptCoreService.getDept(eq(100L))).thenReturn(parentDept); 77 + when(deptApi.getDept(eq(100L))).thenReturn(parentDept);
78 78
79 // 调用 79 // 调用
80 Set<Long> result = script.calculateTaskCandidateUsers(task); 80 Set<Long> result = script.calculateTaskCandidateUsers(task);
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/convert/auth/AuthConvert.java
@@ -4,8 +4,8 @@ import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; @@ -4,8 +4,8 @@ import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
4 import cn.iocoder.yudao.framework.security.core.LoginUser; 4 import cn.iocoder.yudao.framework.security.core.LoginUser;
5 import cn.iocoder.yudao.module.member.controller.app.auth.vo.*; 5 import cn.iocoder.yudao.module.member.controller.app.auth.vo.*;
6 import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; 6 import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
7 -import cn.iocoder.yudao.module.system.api.sms.dto.SmsCodeSendReqDTO;  
8 -import cn.iocoder.yudao.module.system.api.sms.dto.SmsCodeUseReqDTO; 7 +import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeSendReqDTO;
  8 +import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeUseReqDTO;
9 import cn.iocoder.yudao.module.system.api.social.dto.SocialUserBindReqDTO; 9 import cn.iocoder.yudao.module.system.api.social.dto.SocialUserBindReqDTO;
10 import cn.iocoder.yudao.module.system.api.social.dto.SocialUserUnbindReqDTO; 10 import cn.iocoder.yudao.module.system.api.social.dto.SocialUserUnbindReqDTO;
11 import cn.iocoder.yudao.module.system.enums.sms.SmsSceneEnum; 11 import cn.iocoder.yudao.module.system.enums.sms.SmsSceneEnum;
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java
@@ -8,7 +8,7 @@ import cn.iocoder.yudao.module.member.controller.app.user.vo.AppUserUpdateMobile @@ -8,7 +8,7 @@ import cn.iocoder.yudao.module.member.controller.app.user.vo.AppUserUpdateMobile
8 import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; 8 import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
9 import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper; 9 import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper;
10 import cn.iocoder.yudao.module.system.api.sms.SmsCodeApi; 10 import cn.iocoder.yudao.module.system.api.sms.SmsCodeApi;
11 -import cn.iocoder.yudao.module.system.api.sms.dto.SmsCodeUseReqDTO; 11 +import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeUseReqDTO;
12 import cn.iocoder.yudao.module.system.enums.sms.SmsSceneEnum; 12 import cn.iocoder.yudao.module.system.enums.sms.SmsSceneEnum;
13 import com.google.common.annotations.VisibleForTesting; 13 import com.google.common.annotations.VisibleForTesting;
14 import lombok.extern.slf4j.Slf4j; 14 import lombok.extern.slf4j.Slf4j;
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApi.java 0 → 100644
  1 +package cn.iocoder.yudao.module.system.api.dept;
  2 +
  3 +import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
  4 +
  5 +import java.util.Collection;
  6 +import java.util.List;
  7 +import java.util.Map;
  8 +import java.util.Set;
  9 +
  10 +/**
  11 + * 部门 API 接口
  12 + *
  13 + * @author 芋道源码
  14 + */
  15 +public interface DeptApi {
  16 +
  17 + /**
  18 + * 获得部门信息
  19 + *
  20 + * @param id 部门编号
  21 + * @return 部门信息
  22 + */
  23 + DeptRespDTO getDept(Long id);
  24 +
  25 + /**
  26 + * 获得部门信息数组
  27 + *
  28 + * @param ids 部门编号数组
  29 + * @return 部门信息数组
  30 + */
  31 + List<DeptRespDTO> getDepts(Collection<Long> ids);
  32 +
  33 + /**
  34 + * 校验部门们是否有效。如下情况,视为无效:
  35 + * 1. 部门编号不存在
  36 + * 2. 部门被禁用
  37 + *
  38 + * @param ids 角色编号数组
  39 + */
  40 + void validDepts(Collection<Long> ids);
  41 +
  42 + /**
  43 + * 获得指定编号的部门 Map
  44 + *
  45 + * @param ids 部门编号数组
  46 + * @return 部门 Map
  47 + */
  48 + Map<Long, DeptRespDTO> getDeptMap(Set<Long> ids);
  49 +
  50 +}
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/PostApi.java 0 → 100644
  1 +package cn.iocoder.yudao.module.system.api.dept;
  2 +
  3 +import java.util.Collection;
  4 +
  5 +/**
  6 + * 岗位 API 接口
  7 + *
  8 + * @author 芋道源码
  9 + */
  10 +public interface PostApi {
  11 +
  12 + /**
  13 + * 校验岗位们是否有效。如下情况,视为无效:
  14 + * 1. 岗位编号不存在
  15 + * 2. 岗位被禁用
  16 + *
  17 + * @param ids 岗位编号数组
  18 + */
  19 + void validPosts(Collection<Long> ids);
  20 +
  21 +}
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dept/dto/DeptRespDTO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.system.api.dept.dto;
  2 +
  3 +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
  4 +import lombok.Data;
  5 +
  6 +/**
  7 + * 部门 Response DTO
  8 + *
  9 + * @author 芋道源码
  10 + */
  11 +@Data
  12 +public class DeptRespDTO {
  13 +
  14 + /**
  15 + * 部门编号
  16 + */
  17 + private Long id;
  18 + /**
  19 + * 部门名称
  20 + */
  21 + private String name;
  22 + /**
  23 + * 父部门编号
  24 + */
  25 + private Long parentId;
  26 + /**
  27 + * 负责人的用户编号
  28 + */
  29 + private Long leaderUserId;
  30 + /**
  31 + * 部门状态
  32 + *
  33 + * 枚举 {@link CommonStatusEnum}
  34 + */
  35 + private Integer status;
  36 +
  37 +}
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/dict/DictDataApi.java 0 → 100644
  1 +package cn.iocoder.yudao.module.system.api.dict;
  2 +
  3 +import java.util.Collection;
  4 +
  5 +/**
  6 + * 字典数据 API 接口
  7 + *
  8 + * @author 芋道源码
  9 + */
  10 +public interface DictDataApi {
  11 +
  12 + /**
  13 + * 校验字典数据们是否有效。如下情况,视为无效:
  14 + * 1. 字典数据不存在
  15 + * 2. 字典数据被禁用
  16 + *
  17 + * @param dictType 字典类型
  18 + * @param values 字典数据值的数组
  19 + */
  20 + void validDictDatas(String dictType, Collection<String> values);
  21 +
  22 +}
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/permission/PermissionApi.java 0 → 100644
  1 +package cn.iocoder.yudao.module.system.api.permission;
  2 +
  3 +import java.util.Collection;
  4 +import java.util.Set;
  5 +
  6 +/**
  7 + * 权限 API 接口
  8 + *
  9 + * @author 芋道源码
  10 + */
  11 +public interface PermissionApi {
  12 +
  13 + /**
  14 + * 获得拥有多个角色的用户编号集合
  15 + *
  16 + * @param roleIds 角色编号集合
  17 + * @return 用户编号集合
  18 + */
  19 + Set<Long> getUserRoleIdListByRoleIds(Collection<Long> roleIds);
  20 +
  21 +}
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/permission/RoleApi.java 0 → 100644
  1 +package cn.iocoder.yudao.module.system.api.permission;
  2 +
  3 +import java.util.Collection;
  4 +
  5 +/**
  6 + * 角色 API 接口
  7 + *
  8 + * @author 芋道源码
  9 + */
  10 +public interface RoleApi {
  11 +
  12 + /**
  13 + * 校验角色们是否有效。如下情况,视为无效:
  14 + * 1. 角色编号不存在
  15 + * 2. 角色被禁用
  16 + *
  17 + * @param ids 角色编号数组
  18 + */
  19 + void validRoles(Collection<Long> ids);
  20 +
  21 +}
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsCodeApi.java
1 package cn.iocoder.yudao.module.system.api.sms; 1 package cn.iocoder.yudao.module.system.api.sms;
2 2
3 import cn.iocoder.yudao.framework.common.exception.ServiceException; 3 import cn.iocoder.yudao.framework.common.exception.ServiceException;
4 -import cn.iocoder.yudao.module.system.api.sms.dto.SmsCodeCheckReqDTO;  
5 -import cn.iocoder.yudao.module.system.api.sms.dto.SmsCodeSendReqDTO;  
6 -import cn.iocoder.yudao.module.system.api.sms.dto.SmsCodeUseReqDTO; 4 +import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeCheckReqDTO;
  5 +import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeSendReqDTO;
  6 +import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeUseReqDTO;
7 7
8 import javax.validation.Valid; 8 import javax.validation.Valid;
9 9
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsSendApi.java 0 → 100644
  1 +package cn.iocoder.yudao.module.system.api.sms;
  2 +
  3 +import cn.iocoder.yudao.module.system.api.sms.dto.send.SmsSendSingleToUserReqDTO;
  4 +
  5 +import javax.validation.Valid;
  6 +
  7 +/**
  8 + * 短信发送 API 接口
  9 + *
  10 + * @author 芋道源码
  11 + */
  12 +public interface SmsSendApi {
  13 +
  14 + /**
  15 + * 发送单条短信给 Admin 用户
  16 + *
  17 + * 在 mobile 为空时,使用 userId 加载对应 Admin 的手机号
  18 + *
  19 + * @param reqDTO 发送请求
  20 + * @return 发送日志编号
  21 + */
  22 + Long sendSingleSmsToAdmin(@Valid SmsSendSingleToUserReqDTO reqDTO);
  23 +
  24 + /**
  25 + * 发送单条短信给 Member 用户
  26 + *
  27 + * 在 mobile 为空时,使用 userId 加载对应 Member 的手机号
  28 + *
  29 + * @param reqDTO 发送请求
  30 + * @return 发送日志编号
  31 + */
  32 + Long sendSingleSmsToMember(@Valid SmsSendSingleToUserReqDTO reqDTO);
  33 +
  34 +}
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/SmsCodeCheckReqDTO.java renamed to yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/code/SmsCodeCheckReqDTO.java
1 -package cn.iocoder.yudao.module.system.api.sms.dto; 1 +package cn.iocoder.yudao.module.system.api.sms.dto.code;
2 2
3 import cn.iocoder.yudao.framework.common.validation.InEnum; 3 import cn.iocoder.yudao.framework.common.validation.InEnum;
4 import cn.iocoder.yudao.framework.common.validation.Mobile; 4 import cn.iocoder.yudao.framework.common.validation.Mobile;
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/SmsCodeSendReqDTO.java renamed to yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/code/SmsCodeSendReqDTO.java
1 -package cn.iocoder.yudao.module.system.api.sms.dto; 1 +package cn.iocoder.yudao.module.system.api.sms.dto.code;
2 2
3 import cn.iocoder.yudao.framework.common.validation.InEnum; 3 import cn.iocoder.yudao.framework.common.validation.InEnum;
4 import cn.iocoder.yudao.framework.common.validation.Mobile; 4 import cn.iocoder.yudao.framework.common.validation.Mobile;
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/SmsCodeUseReqDTO.java renamed to yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/code/SmsCodeUseReqDTO.java
1 -package cn.iocoder.yudao.module.system.api.sms.dto; 1 +package cn.iocoder.yudao.module.system.api.sms.dto.code;
2 2
3 import cn.iocoder.yudao.framework.common.validation.InEnum; 3 import cn.iocoder.yudao.framework.common.validation.InEnum;
4 import cn.iocoder.yudao.framework.common.validation.Mobile; 4 import cn.iocoder.yudao.framework.common.validation.Mobile;
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/send/SmsSendSingleToUserReqDTO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.system.api.sms.dto.send;
  2 +
  3 +import cn.iocoder.yudao.framework.common.validation.Mobile;
  4 +import lombok.Data;
  5 +
  6 +import javax.validation.constraints.NotEmpty;
  7 +import javax.validation.constraints.NotNull;
  8 +import java.util.Map;
  9 +
  10 +/**
  11 + * 短信发送给 Admin 或者 Member 用户
  12 + *
  13 + * @author 芋道源码
  14 + */
  15 +@Data
  16 +public class SmsSendSingleToUserReqDTO {
  17 +
  18 + /**
  19 + * 用户编号
  20 + */
  21 + @NotNull(message = "用户编号不能为空")
  22 + private Long userId;
  23 + /**
  24 + * 手机号
  25 + */
  26 + @Mobile
  27 + private String mobile;
  28 + /**
  29 + * 短信模板编号
  30 + */
  31 + @NotEmpty(message = "短信模板编号不能为空")
  32 + private String templateCode;
  33 + /**
  34 + * 短信模板参数
  35 + */
  36 + private Map<String, Object> templateParams;
  37 +
  38 +}
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApi.java 0 → 100644
  1 +package cn.iocoder.yudao.module.system.api.user;
  2 +
  3 +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
  4 +
  5 +import java.util.Collection;
  6 +import java.util.List;
  7 +import java.util.Map;
  8 +import java.util.Set;
  9 +
  10 +/**
  11 + * Admin 用户 API 接口
  12 + *
  13 + * @author 芋道源码
  14 + */
  15 +public interface AdminUserApi {
  16 +
  17 + /**
  18 + * 通过用户 ID 查询用户
  19 + *
  20 + * @param id 用户ID
  21 + * @return 用户对象信息
  22 + */
  23 + AdminUserRespDTO getUser(Long id);
  24 +
  25 + /**
  26 + * 获得指定部门的用户数组
  27 + *
  28 + * @param deptIds 部门数组
  29 + * @return 用户数组
  30 + */
  31 + List<AdminUserRespDTO> getUsersByDeptIds(Collection<Long> deptIds);
  32 +
  33 + /**
  34 + * 获得指定岗位的用户数组
  35 + *
  36 + * @param postIds 岗位数组
  37 + * @return 用户数组
  38 + */
  39 + List<AdminUserRespDTO> getUsersByPostIds(Collection<Long> postIds);
  40 +
  41 + /**
  42 + * 获得用户 Map
  43 + *
  44 + * @param ids 用户编号数组
  45 + * @return 用户 Map
  46 + */
  47 + Map<Long, AdminUserRespDTO> getUserMap(Collection<Long> ids);
  48 +
  49 + /**
  50 + * 校验用户们是否有效。如下情况,视为无效:
  51 + * 1. 用户编号不存在
  52 + * 2. 用户被禁用
  53 + *
  54 + * @param ids 用户编号数组
  55 + */
  56 + void validUsers(Set<Long> ids);
  57 +
  58 +}
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/user/dto/AdminUserRespDTO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.system.api.user.dto;
  2 +
  3 +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
  4 +import lombok.Data;
  5 +
  6 +import java.util.Set;
  7 +
  8 +/**
  9 + * Admin 用户 Response DTO
  10 + *
  11 + * @author 芋道源码
  12 + */
  13 +@Data
  14 +public class AdminUserRespDTO {
  15 +
  16 + /**
  17 + * 用户ID
  18 + */
  19 + private Long id;
  20 + /**
  21 + * 用户昵称
  22 + */
  23 + private String nickname;
  24 + /**
  25 + * 帐号状态
  26 + *
  27 + * 枚举 {@link CommonStatusEnum}
  28 + */
  29 + private Integer status;
  30 +
  31 + /**
  32 + * 部门ID
  33 + */
  34 + private Long deptId;
  35 + /**
  36 + * 岗位编号数组
  37 + */
  38 + private Set<Long> postIds;
  39 + /**
  40 + * 手机号码
  41 + */
  42 + private String mobile;
  43 +
  44 +}
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApiImpl.java 0 → 100644
  1 +package cn.iocoder.yudao.module.system.api.dept;
  2 +
  3 +import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
  4 +import cn.iocoder.yudao.module.system.convert.dept.DeptConvert;
  5 +import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
  6 +import cn.iocoder.yudao.module.system.service.dept.DeptService;
  7 +import org.springframework.stereotype.Service;
  8 +
  9 +import javax.annotation.Resource;
  10 +import java.util.Collection;
  11 +import java.util.List;
  12 +import java.util.Map;
  13 +import java.util.Set;
  14 +
  15 +/**
  16 + * 部门 API 实现类
  17 + *
  18 + * @author 芋道源码
  19 + */
  20 +@Service
  21 +public class DeptApiImpl implements DeptApi {
  22 +
  23 + @Resource
  24 + private DeptService deptService;
  25 +
  26 + @Override
  27 + public DeptRespDTO getDept(Long id) {
  28 + DeptDO dept = deptService.getDept(id);
  29 + return DeptConvert.INSTANCE.convert03(dept);
  30 + }
  31 +
  32 + @Override
  33 + public List<DeptRespDTO> getDepts(Collection<Long> ids) {
  34 + List<DeptDO> depts = deptService.getDepts(ids);
  35 + return DeptConvert.INSTANCE.convertList03(depts);
  36 + }
  37 +
  38 + @Override
  39 + public void validDepts(Collection<Long> ids) {
  40 + deptService.validDepts(ids);
  41 + }
  42 +
  43 + @Override
  44 + public Map<Long, DeptRespDTO> getDeptMap(Set<Long> ids) {
  45 + Map<Long, DeptDO> depts = deptService.getDeptMap(ids);
  46 + return DeptConvert.INSTANCE.convertMap(depts);
  47 + }
  48 +
  49 +}
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/api/permission/PermissionApiImpl.java 0 → 100644
  1 +package cn.iocoder.yudao.module.system.api.permission;
  2 +
  3 +import cn.iocoder.yudao.module.system.service.permission.PermissionService;
  4 +import org.springframework.stereotype.Service;
  5 +
  6 +import javax.annotation.Resource;
  7 +import java.util.Collection;
  8 +import java.util.Set;
  9 +
  10 +/**
  11 + * 权限 API 实现类
  12 + *
  13 + * @author 芋道源码
  14 + */
  15 +@Service
  16 +public class PermissionApiImpl implements PermissionApi {
  17 +
  18 + @Resource
  19 + private PermissionService permissionService;
  20 +
  21 + @Override
  22 + public Set<Long> getUserRoleIdListByRoleIds(Collection<Long> roleIds) {
  23 + return permissionService.getUserRoleIdListByRoleIds(roleIds);
  24 + }
  25 +
  26 +}
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsCodeApiImpl.java
1 package cn.iocoder.yudao.module.system.api.sms; 1 package cn.iocoder.yudao.module.system.api.sms;
2 2
3 -import cn.iocoder.yudao.module.system.api.sms.dto.SmsCodeCheckReqDTO;  
4 -import cn.iocoder.yudao.module.system.api.sms.dto.SmsCodeSendReqDTO;  
5 -import cn.iocoder.yudao.module.system.api.sms.dto.SmsCodeUseReqDTO; 3 +import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeCheckReqDTO;
  4 +import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeSendReqDTO;
  5 +import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeUseReqDTO;
6 import cn.iocoder.yudao.module.system.service.sms.SmsCodeService; 6 import cn.iocoder.yudao.module.system.service.sms.SmsCodeService;
7 import org.springframework.stereotype.Service; 7 import org.springframework.stereotype.Service;
8 import org.springframework.validation.annotation.Validated; 8 import org.springframework.validation.annotation.Validated;
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsSendApiImpl.java 0 → 100644
  1 +package cn.iocoder.yudao.module.system.api.sms;
  2 +
  3 +import cn.iocoder.yudao.module.system.api.sms.dto.send.SmsSendSingleToUserReqDTO;
  4 +import cn.iocoder.yudao.module.system.service.sms.SmsSendService;
  5 +import org.springframework.stereotype.Service;
  6 +import org.springframework.validation.annotation.Validated;
  7 +
  8 +import javax.annotation.Resource;
  9 +
  10 +/**
  11 + * 短信发送 API 接口
  12 + *
  13 + * @author 芋道源码
  14 + */
  15 +@Service
  16 +@Validated
  17 +public class SmsSendApiImpl implements SmsSendApi {
  18 +
  19 + @Resource
  20 + private SmsSendService smsSendService;
  21 +
  22 + @Override
  23 + public Long sendSingleSmsToAdmin(SmsSendSingleToUserReqDTO reqDTO) {
  24 + return smsSendService.sendSingleSmsToAdmin(reqDTO.getMobile(), reqDTO.getUserId(),
  25 + reqDTO.getTemplateCode(), reqDTO.getTemplateParams());
  26 + }
  27 +
  28 + @Override
  29 + public Long sendSingleSmsToMember(SmsSendSingleToUserReqDTO reqDTO) {
  30 + return smsSendService.sendSingleSmsToMember(reqDTO.getMobile(), reqDTO.getUserId(),
  31 + reqDTO.getTemplateCode(), reqDTO.getTemplateParams());
  32 + }
  33 +
  34 +}
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApiImpl.java 0 → 100644
  1 +package cn.iocoder.yudao.module.system.api.user;
  2 +
  3 +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
  4 +import cn.iocoder.yudao.module.system.convert.user.UserConvert;
  5 +import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
  6 +import cn.iocoder.yudao.module.system.service.user.AdminUserService;
  7 +import org.springframework.stereotype.Service;
  8 +
  9 +import javax.annotation.Resource;
  10 +import java.util.Collection;
  11 +import java.util.List;
  12 +import java.util.Map;
  13 +import java.util.Set;
  14 +
  15 +/**
  16 + * Admin 用户 API 实现类
  17 + *
  18 + * @author 芋道源码
  19 + */
  20 +@Service
  21 +public class AdminUserApiImpl implements AdminUserApi {
  22 +
  23 + @Resource
  24 + private AdminUserService userService;
  25 +
  26 + @Override
  27 + public AdminUserRespDTO getUser(Long id) {
  28 + AdminUserDO user = userService.getUser(id);
  29 + return UserConvert.INSTANCE.convert4(user);
  30 + }
  31 +
  32 + @Override
  33 + public List<AdminUserRespDTO> getUsersByDeptIds(Collection<Long> deptIds) {
  34 + List<AdminUserDO> users = userService.getUsersByDeptIds(deptIds);
  35 + return UserConvert.INSTANCE.convertList4(users);
  36 + }
  37 +
  38 + @Override
  39 + public List<AdminUserRespDTO> getUsersByPostIds(Collection<Long> postIds) {
  40 + List<AdminUserDO> users = userService.getUsersByPostIds(postIds);
  41 + return UserConvert.INSTANCE.convertList4(users);
  42 + }
  43 +
  44 + @Override
  45 + public Map<Long, AdminUserRespDTO> getUserMap(Collection<Long> ids) {
  46 + Map<Long, AdminUserDO> userMap = userService.getUserMap(ids);
  47 + return UserConvert.INSTANCE.convertMap4(userMap);
  48 + }
  49 +
  50 + @Override
  51 + public void validUsers(Set<Long> ids) {
  52 + userService.validUsers(ids);
  53 + }
  54 +
  55 +}
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/convert/dept/DeptConvert.java
1 package cn.iocoder.yudao.module.system.convert.dept; 1 package cn.iocoder.yudao.module.system.convert.dept;
2 2
  3 +import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
3 import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptCreateReqVO; 4 import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptCreateReqVO;
4 import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptRespVO; 5 import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptRespVO;
5 import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptSimpleRespVO; 6 import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptSimpleRespVO;
@@ -9,6 +10,7 @@ import org.mapstruct.Mapper; @@ -9,6 +10,7 @@ import org.mapstruct.Mapper;
9 import org.mapstruct.factory.Mappers; 10 import org.mapstruct.factory.Mappers;
10 11
11 import java.util.List; 12 import java.util.List;
  13 +import java.util.Map;
12 14
13 @Mapper 15 @Mapper
14 public interface DeptConvert { 16 public interface DeptConvert {
@@ -25,4 +27,10 @@ public interface DeptConvert { @@ -25,4 +27,10 @@ public interface DeptConvert {
25 27
26 DeptDO convert(DeptUpdateReqVO bean); 28 DeptDO convert(DeptUpdateReqVO bean);
27 29
  30 + List<DeptRespDTO> convertList03(List<DeptDO> list);
  31 +
  32 + DeptRespDTO convert03(DeptDO bean);
  33 +
  34 + Map<Long, DeptRespDTO> convertMap(Map<Long, DeptDO> map);
  35 +
28 } 36 }
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/convert/user/UserConvert.java
1 package cn.iocoder.yudao.module.system.convert.user; 1 package cn.iocoder.yudao.module.system.convert.user;
2 2
  3 +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
3 import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileRespVO; 4 import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileRespVO;
4 import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO; 5 import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO;
5 import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO; 6 import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO;
@@ -13,6 +14,7 @@ import org.mapstruct.Mapper; @@ -13,6 +14,7 @@ import org.mapstruct.Mapper;
13 import org.mapstruct.factory.Mappers; 14 import org.mapstruct.factory.Mappers;
14 15
15 import java.util.List; 16 import java.util.List;
  17 +import java.util.Map;
16 18
17 @Mapper 19 @Mapper
18 public interface UserConvert { 20 public interface UserConvert {
@@ -46,4 +48,11 @@ public interface UserConvert { @@ -46,4 +48,11 @@ public interface UserConvert {
46 List<UserProfileRespVO.SocialUser> convertList03(List<SocialUserDO> list); 48 List<UserProfileRespVO.SocialUser> convertList03(List<SocialUserDO> list);
47 49
48 List<UserSimpleRespVO> convertList04(List<AdminUserDO> list); 50 List<UserSimpleRespVO> convertList04(List<AdminUserDO> list);
  51 +
  52 + AdminUserRespDTO convert4(AdminUserDO bean);
  53 +
  54 + List<AdminUserRespDTO> convertList4(List<AdminUserDO> users);
  55 +
  56 + Map<Long, AdminUserRespDTO> convertMap4(Map<Long, AdminUserDO> map);
  57 +
49 } 58 }
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/dept/DeptService.java
@@ -46,7 +46,6 @@ public interface DeptService { @@ -46,7 +46,6 @@ public interface DeptService {
46 */ 46 */
47 void deleteDept(Long id); 47 void deleteDept(Long id);
48 48
49 -  
50 /** 49 /**
51 * 筛选部门列表 50 * 筛选部门列表
52 * 51 *
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsCodeService.java
1 package cn.iocoder.yudao.module.system.service.sms; 1 package cn.iocoder.yudao.module.system.service.sms;
2 2
3 import cn.iocoder.yudao.framework.common.exception.ServiceException; 3 import cn.iocoder.yudao.framework.common.exception.ServiceException;
4 -import cn.iocoder.yudao.module.system.api.sms.dto.SmsCodeCheckReqDTO;  
5 -import cn.iocoder.yudao.module.system.api.sms.dto.SmsCodeSendReqDTO;  
6 -import cn.iocoder.yudao.module.system.api.sms.dto.SmsCodeUseReqDTO; 4 +import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeCheckReqDTO;
  5 +import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeSendReqDTO;
  6 +import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeUseReqDTO;
7 7
8 import javax.validation.Valid; 8 import javax.validation.Valid;
9 9
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsCodeServiceImpl.java
@@ -4,9 +4,9 @@ import cn.hutool.core.lang.Assert; @@ -4,9 +4,9 @@ import cn.hutool.core.lang.Assert;
4 import cn.hutool.core.map.MapUtil; 4 import cn.hutool.core.map.MapUtil;
5 import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil; 5 import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
6 import cn.iocoder.yudao.module.member.api.user.MemberUserApi; 6 import cn.iocoder.yudao.module.member.api.user.MemberUserApi;
7 -import cn.iocoder.yudao.module.system.api.sms.dto.SmsCodeCheckReqDTO;  
8 -import cn.iocoder.yudao.module.system.api.sms.dto.SmsCodeSendReqDTO;  
9 -import cn.iocoder.yudao.module.system.api.sms.dto.SmsCodeUseReqDTO; 7 +import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeCheckReqDTO;
  8 +import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeSendReqDTO;
  9 +import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeUseReqDTO;
10 import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsCodeDO; 10 import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsCodeDO;
11 import cn.iocoder.yudao.module.system.dal.mysql.sms.SmsCodeMapper; 11 import cn.iocoder.yudao.module.system.dal.mysql.sms.SmsCodeMapper;
12 import cn.iocoder.yudao.module.system.enums.sms.SmsSceneEnum; 12 import cn.iocoder.yudao.module.system.enums.sms.SmsSceneEnum;
@@ -37,11 +37,6 @@ public class SmsCodeServiceImpl implements SmsCodeService { @@ -37,11 +37,6 @@ public class SmsCodeServiceImpl implements SmsCodeService {
37 private SmsCodeMapper smsCodeMapper; 37 private SmsCodeMapper smsCodeMapper;
38 38
39 @Resource 39 @Resource
40 - private AdminUserService adminUserService;  
41 - @Resource  
42 - private MemberUserApi memberUserApi;  
43 -  
44 - @Resource  
45 private SmsSendService smsSendService; 40 private SmsSendService smsSendService;
46 41
47 @Override 42 @Override