Commit f39bfdab896f1ce0803c8ddc9e6782a9e843c183
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 | 42 | <artifactId>yudao-module-pay-impl</artifactId> |
| 43 | 43 | <version>${revision}</version> |
| 44 | 44 | </dependency> |
| 45 | - | |
| 46 | -<!-- 默认引入bpm-activiti. 可以替换为bpm-flowable --> | |
| 45 | + <!-- 默认引入 bpm-activiti 实现,可以替换为 bpm-flowable 实现--> | |
| 47 | 46 | <dependency> |
| 48 | 47 | <groupId>cn.iocoder.boot</groupId> |
| 49 | - <artifactId>yudao-module-bpm-activiti</artifactId> | |
| 48 | + <artifactId>yudao-module-bpm-impl-activiti</artifactId> | |
| 50 | 49 | <version>${revision}</version> |
| 51 | 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 | 52 | <!-- spring boot 配置所需依赖 --> |
| 68 | 53 | <dependency> |
| 69 | 54 | <groupId>org.springframework.boot</groupId> |
| ... | ... | @@ -88,12 +73,6 @@ |
| 88 | 73 | <artifactId>spring-boot-admin-starter-server</artifactId> <!-- 实现 Spring Boot Admin Server 服务端 --> |
| 89 | 74 | </dependency> |
| 90 | 75 | |
| 91 | - <!-- 三方云服务相关 --> | |
| 92 | - | |
| 93 | - <dependency> | |
| 94 | - <groupId>com.xkcoding.justauth</groupId> | |
| 95 | - <artifactId>justauth-spring-boot-starter</artifactId> | |
| 96 | - </dependency> | |
| 97 | 76 | </dependencies> |
| 98 | 77 | |
| 99 | 78 | <build> | ... | ... |
yudao-admin-server/src/main/resources/application.yaml
| ... | ... | @@ -58,7 +58,8 @@ yudao: |
| 58 | 58 | app-api: |
| 59 | 59 | prefix: /app-api |
| 60 | 60 | controller: '**.controller.app.**' |
| 61 | - | |
| 61 | + admin-ui: | |
| 62 | + url: http://dashboard.yudao.iocoder.cn # Admin 管理后台 UI 的地址 | |
| 62 | 63 | swagger: |
| 63 | 64 | title: 管理后台 |
| 64 | 65 | description: 提供管理员管理的所有功能 |
| ... | ... | @@ -78,8 +79,6 @@ yudao: |
| 78 | 79 | - cn.iocoder.yudao.adminserver.modules.bpm.enums.BpmErrorCodeConstants |
| 79 | 80 | tenant: # 多租户相关配置项 |
| 80 | 81 | tables: # 配置需要开启多租户的表;如果实体已经继承 TenantBaseDO 类,则无需重复配置 |
| 81 | - url: ## TODO 芋艿:迁移到 web 配置项下, | |
| 82 | - admin-ui: http://dashboard.yudao.iocoder.cn # Admin 管理后台 UI 的地址 | |
| 83 | 82 | sms-code: # 短信验证码相关的配置项 |
| 84 | 83 | expire-times: 10m |
| 85 | 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 | 19 | @NotNull(message = "Admin API 不能为空") |
| 20 | 20 | private Api adminApi; |
| 21 | 21 | |
| 22 | + @NotNull(message = "Admin UI 不能为空") | |
| 23 | + private Ui adminUi; | |
| 24 | + | |
| 22 | 25 | @Data |
| 23 | 26 | @Valid |
| 24 | 27 | public static class Api { |
| ... | ... | @@ -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 | 1. 类名可以去掉 Bpm 前缀哈 |
| 2 | + | |
| 2 | 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 | 6 | * 定义一些可被继承的类,例如说 ModelAbstractService; |
| 6 | 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 | 55 | |
| 56 | 56 | // ========== 动态表单模块 1-009-010-000 ========== |
| 57 | 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 | 21 | <artifactId>yudao-module-bpm-api</artifactId> |
| 22 | 22 | <version>${revision}</version> |
| 23 | 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 | 36 | <!-- Web 相关 --> |
| 26 | 37 | <dependency> | ... | ... |
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/controller/definition/vo/form/BpmFormBaseVO.java
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 | 3 | import io.swagger.annotations.ApiModel; |
| 4 | 4 | import io.swagger.annotations.ApiModelProperty; |
| ... | ... | @@ -6,8 +6,6 @@ import lombok.Data; |
| 6 | 6 | import lombok.EqualsAndHashCode; |
| 7 | 7 | import lombok.ToString; |
| 8 | 8 | |
| 9 | -import java.util.List; | |
| 10 | - | |
| 11 | 9 | @ApiModel("流程任务的 Response VO") |
| 12 | 10 | @Data |
| 13 | 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
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
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
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 | 5 | import cn.iocoder.yudao.module.bpm.controller.definition.vo.form.BpmFormSimpleRespVO; |
| 6 | 6 | import cn.iocoder.yudao.module.bpm.controller.definition.vo.form.BpmFormUpdateReqVO; |
| 7 | 7 | import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO; |
| 8 | -import cn.iocoder.yudao.module.bpm.api.form.dto.BpmFormDTO; | |
| 9 | 8 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 10 | 9 | import org.mapstruct.Mapper; |
| 11 | 10 | import org.mapstruct.factory.Mappers; |
| ... | ... | @@ -28,10 +27,6 @@ public interface BpmFormConvert { |
| 28 | 27 | |
| 29 | 28 | BpmFormRespVO convert(BpmFormDO bean); |
| 30 | 29 | |
| 31 | - BpmFormDTO convert1(BpmFormDO bean); | |
| 32 | - | |
| 33 | - List<BpmFormDTO> convertList(List<BpmFormDO> list); | |
| 34 | - | |
| 35 | 30 | List<BpmFormSimpleRespVO> convertList2(List<BpmFormDO> list); |
| 36 | 31 | |
| 37 | 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 | 6 | import cn.iocoder.yudao.module.bpm.controller.definition.vo.group.BpmUserGroupRespVO; |
| 7 | 7 | import cn.iocoder.yudao.module.bpm.controller.definition.vo.group.BpmUserGroupUpdateReqVO; |
| 8 | 8 | import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmUserGroupDO; |
| 9 | -import cn.iocoder.yudao.module.bpm.api.group.dto.BpmUserGroupDTO; | |
| 10 | 9 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 11 | 10 | |
| 12 | 11 | import org.mapstruct.Mapper; |
| ... | ... | @@ -36,5 +35,4 @@ public interface BpmUserGroupConvert { |
| 36 | 35 | @Named("convertList2") |
| 37 | 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 | 1 | package cn.iocoder.yudao.module.bpm.dal.dataobject.definition; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.adminserver.modules.bpm.enums.definition.BpmModelFormTypeEnum; | |
| 4 | 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 | 5 | import com.baomidou.mybatisplus.annotation.TableField; |
| 7 | 6 | import com.baomidou.mybatisplus.annotation.TableId; |
| 8 | 7 | import com.baomidou.mybatisplus.annotation.TableName; |
| 9 | 8 | import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; |
| 10 | 9 | import lombok.*; |
| 11 | -import org.activiti.engine.repository.Model; | |
| 12 | -import org.activiti.engine.repository.ProcessDefinition; | |
| 13 | 10 | |
| 14 | 11 | import java.util.List; |
| 15 | 12 | |
| ... | ... | @@ -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 | 38 | private String processDefinitionId; |
| 42 | 39 | /** |
| 43 | 40 | * 流程模型的编号 |
| 44 | 41 | * |
| 45 | - * 关联 {@link Model#getId()} | |
| 42 | + * 关联 Model 的 id 属性 | |
| 46 | 43 | */ |
| 47 | 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 | 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 | 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 6 | 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 | 7 | import com.baomidou.mybatisplus.annotation.TableField; |
| 8 | 8 | import com.baomidou.mybatisplus.annotation.TableId; |
| 9 | 9 | import com.baomidou.mybatisplus.annotation.TableName; |
| 10 | 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 | 12 | import java.util.Set; |
| 16 | 13 | |
| ... | ... | @@ -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 | 48 | private String modelId; |
| 52 | 49 | /** |
| 53 | 50 | * 流程定义编号 |
| 54 | 51 | * |
| 55 | - * 关联 {@link ProcessDefinition#getId()} | |
| 52 | + * 关联 ProcessDefinition 的 id 属性 | |
| 56 | 53 | */ |
| 57 | 54 | private String processDefinitionId; |
| 58 | 55 | /** |
| 59 | 56 | * 流程任务的定义 Key |
| 60 | 57 | * |
| 61 | - * 关联 {@link Task#getTaskDefinitionKey()} | |
| 58 | + * 关联 Task 的 taskDefinitionKey 属性 | |
| 62 | 59 | */ |
| 63 | 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 | 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 | 4 | import lombok.*; |
| 5 | 5 | import java.util.*; |
| 6 | 6 | import com.baomidou.mybatisplus.annotation.*; |
| 7 | 7 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 8 | -import org.activiti.engine.runtime.ProcessInstance; | |
| 9 | 8 | |
| 10 | 9 | /** |
| 11 | 10 | * OA 请假申请 DO |
| ... | ... | @@ -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 | 36 | private Long userId; |
| 38 | 37 | /** |
| ... | ... | @@ -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 | 62 | * 考虑到简单,所以直接复用了 BpmProcessInstanceResultEnum 枚举,也可以自己定义一个枚举哈 |
| 64 | 63 | */ |
| 65 | 64 | private Integer result; |
| ... | ... | @@ -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 | 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 | 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 | 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 | 6 | import com.baomidou.mybatisplus.annotation.TableField; |
| 7 | 7 | import com.baomidou.mybatisplus.annotation.TableId; |
| 8 | 8 | import com.baomidou.mybatisplus.annotation.TableName; |
| ... | ... | @@ -10,16 +10,13 @@ import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; |
| 10 | 10 | import lombok.Data; |
| 11 | 11 | import lombok.EqualsAndHashCode; |
| 12 | 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 | 14 | import java.util.Date; |
| 18 | 15 | import java.util.Map; |
| 19 | 16 | |
| 20 | 17 | /** |
| 21 | 18 | * Bpm 流程实例的拓展表 |
| 22 | - * 主要解决 Activiti {@link ProcessInstance} 和 {@link HistoricProcessInstance} 不支持拓展字段,所以新建拓展表 | |
| 19 | + * 主要解决 Activiti ProcessInstance 和 HistoricProcessInstance 不支持拓展字段,所以新建拓展表 | |
| 23 | 20 | * |
| 24 | 21 | * @author 芋道源码 |
| 25 | 22 | */ |
| ... | ... | @@ -27,9 +24,6 @@ import java.util.Map; |
| 27 | 24 | @Data |
| 28 | 25 | @EqualsAndHashCode(callSuper = true) |
| 29 | 26 | @ToString(callSuper = true) |
| 30 | -//@Builder | |
| 31 | -//@NoArgsConstructor | |
| 32 | -//@AllArgsConstructor | |
| 33 | 27 | public class BpmProcessInstanceExtDO extends BaseDO { |
| 34 | 28 | |
| 35 | 29 | /** |
| ... | ... | @@ -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 | 39 | private Long startUserId; |
| 46 | 40 | /** |
| 47 | 41 | * 流程实例的名字 |
| 48 | 42 | * |
| 49 | - * 冗余 {@link ProcessInstance#getName()} 为了筛选 | |
| 43 | + * 冗余 ProcessInstance 的 name 属性,用于筛选 | |
| 50 | 44 | */ |
| 51 | 45 | private String name; |
| 52 | 46 | /** |
| 53 | 47 | * 流程实例的编号 |
| 54 | 48 | * |
| 55 | - * 关联 {@link ProcessInstance#getId()} | |
| 49 | + * 关联 ProcessInstance 的 id 属性 | |
| 56 | 50 | */ |
| 57 | 51 | private String processInstanceId; |
| 58 | 52 | /** |
| 59 | 53 | * 流程定义的编号 |
| 60 | 54 | * |
| 61 | - * 关联 {@link ProcessDefinition#getId()} | |
| 55 | + * 关联 ProcessDefinition 的 id 属性 | |
| 62 | 56 | */ |
| 63 | 57 | private String processDefinitionId; |
| 64 | 58 | /** |
| 65 | 59 | * 流程分类 |
| 66 | 60 | * |
| 67 | - * 冗余 {@link ProcessDefinition#getCategory()} | |
| 61 | + * 冗余 ProcessDefinition 的 category 属性 | |
| 68 | 62 | * 数据字典 bpm_model_category |
| 69 | 63 | */ |
| 70 | 64 | private String category; |
| ... | ... | @@ -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 | 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 | 1 | package cn.iocoder.yudao.module.bpm.dal.dataobject.task; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.adminserver.modules.bpm.enums.task.BpmProcessInstanceResultEnum; | |
| 4 | 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | +import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum; | |
| 5 | 5 | import com.baomidou.mybatisplus.annotation.TableName; |
| 6 | 6 | import lombok.Data; |
| 7 | 7 | import lombok.EqualsAndHashCode; |
| 8 | 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 | 10 | import java.util.Date; |
| 15 | 11 | |
| 16 | 12 | /** |
| 17 | 13 | * Bpm 流程任务的拓展表 |
| 18 | - * 主要解决 Activiti {@link Task} 和 {@link HistoricTaskInstance} 不支持拓展字段,所以新建拓展表 | |
| 14 | + * 主要解决 Activiti Task 和 HistoricTaskInstance 不支持拓展字段,所以新建拓展表 | |
| 19 | 15 | * |
| 20 | 16 | * @author 芋道源码 |
| 21 | 17 | */ |
| ... | ... | @@ -23,27 +19,24 @@ import java.util.Date; |
| 23 | 19 | @Data |
| 24 | 20 | @EqualsAndHashCode(callSuper = true) |
| 25 | 21 | @ToString(callSuper = true) |
| 26 | -//@Builder | |
| 27 | -//@NoArgsConstructor | |
| 28 | -//@AllArgsConstructor | |
| 29 | 22 | public class BpmTaskExtDO extends BaseDO { |
| 30 | 23 | |
| 31 | 24 | /** |
| 32 | 25 | * 任务的审批人 |
| 33 | 26 | * |
| 34 | - * 冗余 {@link Task#getAssignee()} | |
| 27 | + * 冗余 Task 的 assignee 属性 | |
| 35 | 28 | */ |
| 36 | 29 | private Long assigneeUserId; |
| 37 | 30 | /** |
| 38 | 31 | * 任务的名字 |
| 39 | 32 | * |
| 40 | - * 冗余 {@link Task#getName()} 为了筛选 | |
| 33 | + * 冗余 Task 的 name 属性,为了筛选 | |
| 41 | 34 | */ |
| 42 | 35 | private String name; |
| 43 | 36 | /** |
| 44 | 37 | * 任务的编号 |
| 45 | 38 | * |
| 46 | - * 关联 {@link Task#getId()} | |
| 39 | + * 关联 Task 的 id 属性 | |
| 47 | 40 | */ |
| 48 | 41 | private String taskId; |
| 49 | 42 | // /** |
| ... | ... | @@ -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 | 63 | private Date endTime; |
| 71 | 64 | |
| 72 | 65 | /** |
| 73 | 66 | * 流程实例的编号 |
| 74 | 67 | * |
| 75 | - * 关联 {@link ProcessInstance#getId()} | |
| 68 | + * 关联 ProcessInstance 的 id 属性 | |
| 76 | 69 | */ |
| 77 | 70 | private String processInstanceId; |
| 78 | 71 | /** |
| 79 | 72 | * 流程定义的编号 |
| 80 | 73 | * |
| 81 | - * 关联 {@link ProcessDefinition#getId()} | |
| 74 | + * 关联 ProcessDefinition 的 id 属性 | |
| 82 | 75 | */ |
| 83 | 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 | 3 | import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO; |
| 4 | 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 | 3 | import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO; |
| 4 | 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 | 4 | import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOALeaveDO; |
| 5 | 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 6 | 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 | 4 | import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmProcessInstanceExtDO; |
| 5 | 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 6 | 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
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/enums/message/BpmMessageEnum.java
| 1 | 1 | package cn.iocoder.yudao.module.bpm.enums.message; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.module.system.dal.dataobject.sms.SysSmsTemplateDO; | |
| 4 | 3 | import lombok.AllArgsConstructor; |
| 5 | 4 | import lombok.Getter; |
| 6 | 5 | |
| ... | ... | @@ -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 | 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 | 60 | * @param status 状态 |
| ... | ... | @@ -70,4 +78,5 @@ public interface BpmUserGroupService { |
| 70 | 78 | * @param ids 用户组编号数组 |
| 71 | 79 | */ |
| 72 | 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 | 15 | import org.springframework.validation.annotation.Validated; |
| 16 | 16 | |
| 17 | 17 | import javax.annotation.Resource; |
| 18 | +import java.util.Collection; | |
| 18 | 19 | import java.util.List; |
| 19 | 20 | import java.util.Map; |
| 20 | 21 | import java.util.Set; |
| 21 | 22 | |
| 22 | -import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.USER_GROUP_NOT_EXISTS; | |
| 23 | 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 | 27 | * 用户组 Service 实现类 |
| ... | ... | @@ -71,6 +72,11 @@ public class BpmUserGroupServiceImpl implements BpmUserGroupService { |
| 71 | 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 | 81 | @Override |
| 76 | 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 | 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 | 6 | import cn.iocoder.yudao.module.bpm.service.message.dto.BpmMessageSendWhenProcessInstanceApproveReqDTO; |
| 6 | 7 | import cn.iocoder.yudao.module.bpm.service.message.dto.BpmMessageSendWhenProcessInstanceRejectReqDTO; |
| 7 | 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 | 10 | import lombok.extern.slf4j.Slf4j; |
| 10 | -import org.springframework.beans.factory.annotation.Value; | |
| 11 | 11 | import org.springframework.stereotype.Service; |
| 12 | 12 | import org.springframework.validation.annotation.Validated; |
| 13 | 13 | |
| ... | ... | @@ -26,18 +26,18 @@ import java.util.Map; |
| 26 | 26 | public class BpmMessageServiceImpl implements BpmMessageService { |
| 27 | 27 | |
| 28 | 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 | 34 | @Override |
| 35 | 35 | public void sendMessageWhenProcessInstanceApprove(BpmMessageSendWhenProcessInstanceApproveReqDTO reqDTO) { |
| 36 | 36 | Map<String, Object> templateParams = new HashMap<>(); |
| 37 | 37 | templateParams.put("processInstanceName", reqDTO.getProcessInstanceName()); |
| 38 | 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 | 43 | @Override |
| ... | ... | @@ -46,8 +46,8 @@ public class BpmMessageServiceImpl implements BpmMessageService { |
| 46 | 46 | templateParams.put("processInstanceName", reqDTO.getProcessInstanceName()); |
| 47 | 47 | templateParams.put("comment", reqDTO.getComment()); |
| 48 | 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 | 53 | @Override |
| ... | ... | @@ -57,12 +57,12 @@ public class BpmMessageServiceImpl implements BpmMessageService { |
| 57 | 57 | templateParams.put("taskName", reqDTO.getTaskName()); |
| 58 | 58 | templateParams.put("startUserNickname", reqDTO.getStartUserNickname()); |
| 59 | 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 | 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 | 22 | @NotEmpty(message = "流程实例的名字不能为空") |
| 23 | 23 | private String processInstanceName; |
| 24 | 24 | @NotEmpty(message = "发起人的用户编号") |
| 25 | - private String startUserId; | |
| 25 | + private Long startUserId; | |
| 26 | 26 | @NotEmpty(message = "发起人的昵称") |
| 27 | 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 | 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 | 3 | import cn.iocoder.yudao.adminserver.modules.bpm.convert.definition.BpmModelConvert; |
| 5 | 4 | import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmModelService; |
| 6 | 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 | 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 | 6 | import cn.iocoder.yudao.adminserver.modules.bpm.convert.oa.BpmOALeaveConvert; |
| 7 | 7 | import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOALeaveDO; |
| 8 | 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 | 1 | package cn.iocoder.yudao.adminserver.modules.bpm.controller.task; |
| 2 | 2 | |
| 3 | 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 | 5 | import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmActivityService; |
| 6 | 6 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 7 | 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 | 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 | 3 | import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmProcessInstanceService; |
| 5 | 4 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 6 | 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 6 | +import cn.iocoder.yudao.module.bpm.controller.task.vo.instance.*; | |
| 7 | 7 | import io.swagger.annotations.Api; |
| 8 | 8 | import io.swagger.annotations.ApiImplicitParam; |
| 9 | 9 | import io.swagger.annotations.ApiOperation; |
| ... | ... | @@ -25,7 +25,7 @@ public class BpmProcessInstanceController { |
| 25 | 25 | |
| 26 | 26 | @Resource |
| 27 | 27 | private BpmProcessInstanceService processInstanceService; |
| 28 | - | |
| 28 | + | |
| 29 | 29 | @PostMapping("/create") |
| 30 | 30 | @ApiOperation("新建流程实例") |
| 31 | 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 | 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 | 3 | import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmTaskService; |
| 5 | 4 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 6 | 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 | 7 | import io.swagger.annotations.Api; |
| 9 | 8 | import io.swagger.annotations.ApiImplicitParam; |
| 10 | 9 | import io.swagger.annotations.ApiOperation; |
| ... | ... | @@ -13,9 +12,7 @@ import org.springframework.validation.annotation.Validated; |
| 13 | 12 | import org.springframework.web.bind.annotation.*; |
| 14 | 13 | |
| 15 | 14 | import javax.annotation.Resource; |
| 16 | -import javax.servlet.http.HttpServletResponse; | |
| 17 | 15 | import javax.validation.Valid; |
| 18 | -import java.io.IOException; | |
| 19 | 16 | import java.util.List; |
| 20 | 17 | |
| 21 | 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 | 1 | package cn.iocoder.yudao.adminserver.modules.bpm.convert.definition; |
| 2 | 2 | |
| 3 | 3 | import cn.hutool.core.util.StrUtil; |
| 4 | -import cn.iocoder.yudao.adminserver.modules.bpm.controller.definition.vo.model.*; | |
| 5 | 4 | import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.dto.BpmModelMetaInfoRespDTO; |
| 6 | 5 | import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.dto.BpmProcessDefinitionCreateReqDTO; |
| 7 | -import cn.iocoder.yudao.module.bpm.api.form.dto.BpmFormDTO; | |
| 8 | 6 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| 9 | 7 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| 10 | 8 | import cn.iocoder.yudao.module.bpm.controller.definition.vo.model.*; |
| 9 | +import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO; | |
| 11 | 10 | import org.activiti.engine.impl.persistence.entity.SuspensionState; |
| 12 | 11 | import org.activiti.engine.repository.Deployment; |
| 13 | 12 | import org.activiti.engine.repository.Model; |
| ... | ... | @@ -31,19 +30,19 @@ public interface BpmModelConvert { |
| 31 | 30 | |
| 32 | 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 | 34 | Map<String, Deployment> deploymentMap, |
| 36 | 35 | Map<String, ProcessDefinition> processDefinitionMap) { |
| 37 | 36 | return CollectionUtils.convertList(list, model -> { |
| 38 | 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 | 39 | Deployment deployment = model.getDeploymentId() != null ? deploymentMap.get(model.getDeploymentId()) : null; |
| 41 | 40 | ProcessDefinition processDefinition = model.getDeploymentId() != null ? processDefinitionMap.get(model.getDeploymentId()) : null; |
| 42 | 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 | 46 | BpmModelPageItemRespVO modelRespVO = new BpmModelPageItemRespVO(); |
| 48 | 47 | modelRespVO.setId(model.getId()); |
| 49 | 48 | modelRespVO.setCreateTime(model.getCreateTime()); |
| ... | ... | @@ -84,7 +83,7 @@ public interface BpmModelConvert { |
| 84 | 83 | |
| 85 | 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 | 87 | BpmProcessDefinitionCreateReqDTO createReqDTO = new BpmProcessDefinitionCreateReqDTO(); |
| 89 | 88 | createReqDTO.setModelId(model.getId()); |
| 90 | 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 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.module.bpm.controller.definition.vo.process.BpmProcessDefinitionPageItemRespVO; |
| 4 | 4 | import cn.iocoder.yudao.module.bpm.controller.definition.vo.process.BpmProcessDefinitionRespVO; |
| 5 | +import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO; | |
| 5 | 6 | import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO; |
| 6 | 7 | import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.dto.BpmProcessDefinitionCreateReqDTO; |
| 7 | -import cn.iocoder.yudao.module.bpm.api.form.dto.BpmFormDTO; | |
| 8 | 8 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| 9 | 9 | import org.activiti.engine.impl.persistence.entity.SuspensionState; |
| 10 | 10 | import org.activiti.engine.repository.Deployment; |
| ... | ... | @@ -29,17 +29,17 @@ public interface BpmProcessDefinitionConvert { |
| 29 | 29 | BpmProcessDefinitionConvert INSTANCE = Mappers.getMapper(BpmProcessDefinitionConvert.class); |
| 30 | 30 | |
| 31 | 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 | 33 | return CollectionUtils.convertList(list, definition -> { |
| 34 | 34 | Deployment deployment = definition.getDeploymentId() != null ? deploymentMap.get(definition.getDeploymentId()) : null; |
| 35 | 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 | 37 | return convert(definition, deployment, definitionDO, form); |
| 38 | 38 | }); |
| 39 | 39 | } |
| 40 | 40 | |
| 41 | 41 | default BpmProcessDefinitionPageItemRespVO convert(ProcessDefinition bean, Deployment deployment, |
| 42 | - BpmProcessDefinitionExtDO processDefinitionExtDO, BpmFormDTO form) { | |
| 42 | + BpmProcessDefinitionExtDO processDefinitionExtDO, BpmFormDO form) { | |
| 43 | 43 | BpmProcessDefinitionPageItemRespVO respVO = convert(bean); |
| 44 | 44 | respVO.setSuspensionState(bean.isSuspended() ? SuspensionState.SUSPENDED.getStateCode() : SuspensionState.ACTIVE.getStateCode()); |
| 45 | 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 | 3 | import cn.iocoder.yudao.module.bpm.service.message.dto.BpmMessageSendWhenProcessInstanceApproveReqDTO; |
| 4 | 4 | import cn.iocoder.yudao.module.bpm.service.message.dto.BpmMessageSendWhenProcessInstanceRejectReqDTO; |
| 5 | 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 | 7 | import org.activiti.api.task.model.Task; |
| 8 | 8 | import org.activiti.engine.runtime.ProcessInstance; |
| 9 | 9 | import org.mapstruct.Mapper; |
| ... | ... | @@ -17,7 +17,7 @@ public interface BpmMessageConvert { |
| 17 | 17 | |
| 18 | 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 | 21 | BpmMessageSendWhenTaskCreatedReqDTO reqDTO = new BpmMessageSendWhenTaskCreatedReqDTO(); |
| 22 | 22 | copyTo(processInstance, reqDTO); |
| 23 | 23 | copyTo(startUser, reqDTO); |
| ... | ... | @@ -30,7 +30,7 @@ public interface BpmMessageConvert { |
| 30 | 30 | @Mapping(source = "id", target = "startUserId"), |
| 31 | 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 | 34 | @Mappings({ |
| 35 | 35 | @Mapping(source = "id", target = "taskId"), |
| 36 | 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 | 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 | 5 | import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOALeaveDO; |
| 6 | 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 7 | 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 | 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 | 4 | import org.activiti.engine.history.HistoricActivityInstance; |
| 5 | 5 | import org.mapstruct.Mapper; |
| 6 | 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 | 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 | 5 | import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO; |
| 6 | 6 | import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmProcessInstanceExtDO; |
| 7 | 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 | 10 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 11 | 11 | import org.activiti.engine.history.HistoricProcessInstance; |
| 12 | 12 | import org.activiti.engine.repository.ProcessDefinition; |
| ... | ... | @@ -71,7 +71,7 @@ public interface BpmProcessInstanceConvert { |
| 71 | 71 | |
| 72 | 72 | default BpmProcessInstanceRespVO convert2(HistoricProcessInstance processInstance, BpmProcessInstanceExtDO processInstanceExt, |
| 73 | 73 | ProcessDefinition processDefinition, BpmProcessDefinitionExtDO processDefinitionExt, |
| 74 | - String bpmnXml, SysUserDO startUser, SysDeptDO dept) { | |
| 74 | + String bpmnXml, AdminUserRespDTO startUser, DeptRespDTO dept) { | |
| 75 | 75 | BpmProcessInstanceRespVO respVO = convert2(processInstance); |
| 76 | 76 | copyTo(processInstanceExt, respVO); |
| 77 | 77 | // definition |
| ... | ... | @@ -94,7 +94,7 @@ public interface BpmProcessInstanceConvert { |
| 94 | 94 | BpmProcessInstanceRespVO.ProcessDefinition convert2(ProcessDefinition bean); |
| 95 | 95 | @Mapping(source = "from.id", target = "to.id", ignore = true) |
| 96 | 96 | void copyTo(BpmProcessDefinitionExtDO from, @MappingTarget BpmProcessInstanceRespVO.ProcessDefinition to); |
| 97 | - BpmProcessInstanceRespVO.User convert2(SysUserDO bean); | |
| 97 | + BpmProcessInstanceRespVO.User convert2(AdminUserRespDTO bean); | |
| 98 | 98 | |
| 99 | 99 | default BpmProcessInstanceResultEvent convert(Object source, ProcessInstance instance, Integer result) { |
| 100 | 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 | 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 | 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 | 9 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| 10 | 10 | import cn.iocoder.yudao.framework.common.util.number.NumberUtils; |
| 11 | 11 | import org.activiti.engine.history.HistoricProcessInstance; |
| ... | ... | @@ -30,12 +30,12 @@ public interface BpmTaskConvert { |
| 30 | 30 | BpmTaskConvert INSTANCE = Mappers.getMapper(BpmTaskConvert.class); |
| 31 | 31 | |
| 32 | 32 | default List<BpmTaskTodoPageItemRespVO> convertList1(List<Task> tasks, Map<String, ProcessInstance> processInstanceMap, |
| 33 | - Map<Long, SysUserDO> userMap) { | |
| 33 | + Map<Long, AdminUserRespDTO> userMap) { | |
| 34 | 34 | return CollectionUtils.convertList(tasks, task -> { |
| 35 | 35 | BpmTaskTodoPageItemRespVO respVO = convert1(task); |
| 36 | 36 | ProcessInstance processInstance = processInstanceMap.get(task.getProcessInstanceId()); |
| 37 | 37 | if (processInstance != null) { |
| 38 | - SysUserDO startUser = userMap.get(NumberUtils.parseLong(processInstance.getStartUserId())); | |
| 38 | + AdminUserRespDTO startUser = userMap.get(NumberUtils.parseLong(processInstance.getStartUserId())); | |
| 39 | 39 | respVO.setProcessInstance(convert(processInstance, startUser)); |
| 40 | 40 | } |
| 41 | 41 | return respVO; |
| ... | ... | @@ -53,14 +53,14 @@ public interface BpmTaskConvert { |
| 53 | 53 | |
| 54 | 54 | default List<BpmTaskDonePageItemRespVO> convertList2(List<HistoricTaskInstance> tasks, Map<String, BpmTaskExtDO> bpmTaskExtDOMap, |
| 55 | 55 | Map<String, HistoricProcessInstance> historicProcessInstanceMap, |
| 56 | - Map<Long, SysUserDO> userMap) { | |
| 56 | + Map<Long, AdminUserRespDTO> userMap) { | |
| 57 | 57 | return CollectionUtils.convertList(tasks, task -> { |
| 58 | 58 | BpmTaskDonePageItemRespVO respVO = convert2(task); |
| 59 | 59 | BpmTaskExtDO taskExtDO = bpmTaskExtDOMap.get(task.getId()); |
| 60 | 60 | copyTo(taskExtDO, respVO); |
| 61 | 61 | HistoricProcessInstance processInstance = historicProcessInstanceMap.get(task.getProcessInstanceId()); |
| 62 | 62 | if (processInstance != null) { |
| 63 | - SysUserDO startUser = userMap.get(NumberUtils.parseLong(processInstance.getStartUserId())); | |
| 63 | + AdminUserRespDTO startUser = userMap.get(NumberUtils.parseLong(processInstance.getStartUserId())); | |
| 64 | 64 | respVO.setProcessInstance(convert(processInstance, startUser)); |
| 65 | 65 | } |
| 66 | 66 | return respVO; |
| ... | ... | @@ -77,20 +77,20 @@ public interface BpmTaskConvert { |
| 77 | 77 | BpmTaskExtDO convert(org.activiti.api.task.model.Task bean); |
| 78 | 78 | |
| 79 | 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 | 82 | return CollectionUtils.convertList(tasks, task -> { |
| 83 | 83 | BpmTaskRespVO respVO = convert3(task); |
| 84 | 84 | BpmTaskExtDO taskExtDO = bpmTaskExtDOMap.get(task.getId()); |
| 85 | 85 | copyTo(taskExtDO, respVO); |
| 86 | 86 | if (processInstance != null) { |
| 87 | - SysUserDO startUser = userMap.get(NumberUtils.parseLong(processInstance.getStartUserId())); | |
| 87 | + AdminUserRespDTO startUser = userMap.get(NumberUtils.parseLong(processInstance.getStartUserId())); | |
| 88 | 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 | 91 | if (assignUser != null) { |
| 92 | 92 | respVO.setAssigneeUser(convert3(assignUser)); |
| 93 | - SysDeptDO dept = deptMap.get(assignUser.getDeptId()); | |
| 93 | + DeptRespDTO dept = deptMap.get(assignUser.getDeptId()); | |
| 94 | 94 | if (dept != null) { |
| 95 | 95 | respVO.getAssigneeUser().setDeptName(dept.getName()); |
| 96 | 96 | } |
| ... | ... | @@ -101,7 +101,7 @@ public interface BpmTaskConvert { |
| 101 | 101 | |
| 102 | 102 | @Mapping(source = "taskDefinitionKey", target = "definitionKey") |
| 103 | 103 | BpmTaskRespVO convert3(HistoricTaskInstance bean); |
| 104 | - BpmTaskRespVO.User convert3(SysUserDO bean); | |
| 104 | + BpmTaskRespVO.User convert3(AdminUserRespDTO bean); | |
| 105 | 105 | |
| 106 | 106 | void copyTo(BpmTaskExtDO from, @MappingTarget BpmTaskDonePageItemRespVO to); |
| 107 | 107 | |
| ... | ... | @@ -112,7 +112,7 @@ public interface BpmTaskConvert { |
| 112 | 112 | @Mapping(source = "processInstance.processDefinitionId", target = "processDefinitionId"), |
| 113 | 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 | 117 | @Mappings({ |
| 118 | 118 | @Mapping(source = "processInstance.id", target = "id"), |
| ... | ... | @@ -121,6 +121,6 @@ public interface BpmTaskConvert { |
| 121 | 121 | @Mapping(source = "processInstance.processDefinitionId", target = "processDefinitionId"), |
| 122 | 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 | 6 | import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.identity.EmptyUserGroupManager; |
| 7 | 7 | import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.listener.BpmTackActivitiEventListener; |
| 8 | 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 | 13 | import org.activiti.api.runtime.shared.identity.UserGroupManager; |
| 17 | 14 | import org.activiti.spring.boot.ProcessEngineConfigurationConfigurer; |
| 18 | 15 | import org.springframework.context.ApplicationEventPublisher; |
| ... | ... | @@ -67,17 +64,17 @@ public class BpmActivitiConfiguration { |
| 67 | 64 | |
| 68 | 65 | @Bean |
| 69 | 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 | 71 | List<BpmTaskAssignScript> scripts) { |
| 75 | 72 | BpmActivityBehaviorFactory bpmActivityBehaviorFactory = new BpmActivityBehaviorFactory(); |
| 76 | 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 | 78 | bpmActivityBehaviorFactory.setScripts(scripts); |
| 82 | 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 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavior.script.BpmTaskAssignScript; |
| 4 | 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 | 9 | import lombok.Data; |
| 10 | 10 | import lombok.EqualsAndHashCode; |
| 11 | 11 | import lombok.Setter; |
| ... | ... | @@ -30,13 +30,15 @@ public class BpmActivityBehaviorFactory extends DefaultActivityBehaviorFactory { |
| 30 | 30 | @Setter |
| 31 | 31 | private BpmTaskAssignRuleService bpmTaskRuleService; |
| 32 | 32 | @Setter |
| 33 | - private SysPermissionCoreService permissionCoreService; | |
| 33 | + private BpmUserGroupService userGroupService; | |
| 34 | + | |
| 34 | 35 | @Setter |
| 35 | - private SysDeptCoreService deptCoreService; | |
| 36 | + private PermissionApi permissionApi; | |
| 36 | 37 | @Setter |
| 37 | - private BpmUserGroupServiceApi userGroupServiceApi; | |
| 38 | + private DeptApi deptApi; | |
| 38 | 39 | @Setter |
| 39 | - private SysUserCoreService userCoreService; | |
| 40 | + private AdminUserApi adminUserApi; | |
| 41 | + | |
| 40 | 42 | @Setter |
| 41 | 43 | private List<BpmTaskAssignScript> scripts; |
| 42 | 44 | |
| ... | ... | @@ -44,10 +46,10 @@ public class BpmActivityBehaviorFactory extends DefaultActivityBehaviorFactory { |
| 44 | 46 | public UserTaskActivityBehavior createUserTaskActivityBehavior(UserTask userTask) { |
| 45 | 47 | BpmUserTaskActivitiBehavior userTaskActivityBehavior = new BpmUserTaskActivitiBehavior(userTask); |
| 46 | 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 | 53 | userTaskActivityBehavior.setScripts(scripts); |
| 52 | 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 | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | 4 | import cn.hutool.core.util.RandomUtil; |
| 5 | 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 | 6 | import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavior.script.BpmTaskAssignScript; |
| 9 | 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 | 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 | 18 | import com.google.common.annotations.VisibleForTesting; |
| 19 | 19 | import lombok.Setter; |
| 20 | 20 | import lombok.extern.slf4j.Slf4j; |
| ... | ... | @@ -28,12 +28,12 @@ import org.activiti.engine.impl.persistence.entity.TaskEntityManager; |
| 28 | 28 | |
| 29 | 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 | 31 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 34 | 32 | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; |
| 35 | 33 | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; |
| 36 | 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 | 39 | * 自定义的流程任务的 assignee 负责人的分配 |
| ... | ... | @@ -48,14 +48,17 @@ public class BpmUserTaskActivitiBehavior extends UserTaskActivityBehavior { |
| 48 | 48 | |
| 49 | 49 | @Setter |
| 50 | 50 | private BpmTaskAssignRuleService bpmTaskRuleService; |
| 51 | + | |
| 51 | 52 | @Setter |
| 52 | - private SysPermissionCoreService permissionCoreService; | |
| 53 | + private BpmUserGroupService userGroupService; | |
| 54 | + | |
| 53 | 55 | @Setter |
| 54 | - private SysDeptCoreService deptCoreService; | |
| 56 | + private DeptApi deptApi; | |
| 55 | 57 | @Setter |
| 56 | - private BpmUserGroupServiceApi userGroupServiceApi; | |
| 58 | + private AdminUserApi adminUserApi; | |
| 57 | 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 | 136 | } |
| 134 | 137 | |
| 135 | 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 | 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 | 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 | 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 | 157 | private Set<Long> calculateTaskCandidateUsersByUser(TaskEntity task, BpmTaskAssignRuleDO rule) { |
| ... | ... | @@ -156,9 +159,9 @@ public class BpmUserTaskActivitiBehavior extends UserTaskActivityBehavior { |
| 156 | 159 | } |
| 157 | 160 | |
| 158 | 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 | 163 | Set<Long> userIds = new HashSet<>(); |
| 161 | - userGroups.forEach(bpmUserGroupDO -> userIds.addAll(bpmUserGroupDO.getMemberUserIds())); | |
| 164 | + userGroups.forEach(group -> userIds.addAll(group.getMemberUserIds())); | |
| 162 | 165 | return userIds; |
| 163 | 166 | } |
| 164 | 167 | |
| ... | ... | @@ -183,9 +186,9 @@ public class BpmUserTaskActivitiBehavior extends UserTaskActivityBehavior { |
| 183 | 186 | if (CollUtil.isEmpty(assigneeUserIds)) { |
| 184 | 187 | return; |
| 185 | 188 | } |
| 186 | - Map<Long, SysUserDO> userMap = sysUserCoreService.getUserMap(assigneeUserIds); | |
| 189 | + Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(assigneeUserIds); | |
| 187 | 190 | assigneeUserIds.removeIf(id -> { |
| 188 | - SysUserDO user = userMap.get(id); | |
| 191 | + AdminUserRespDTO user = userMap.get(id); | |
| 189 | 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 | 2 | |
| 3 | 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 | 9 | import org.activiti.engine.impl.persistence.entity.TaskEntity; |
| 10 | 10 | import org.springframework.util.Assert; |
| 11 | 11 | |
| 12 | 12 | import javax.annotation.Resource; |
| 13 | 13 | import java.util.Set; |
| 14 | 14 | |
| 15 | +import static cn.iocoder.yudao.framework.common.util.collection.SetUtils.asSet; | |
| 15 | 16 | import static java.util.Collections.emptySet; |
| 16 | 17 | |
| 17 | 18 | /** |
| ... | ... | @@ -23,16 +24,16 @@ import static java.util.Collections.emptySet; |
| 23 | 24 | public abstract class BpmTaskAssignLeaderAbstractScript implements BpmTaskAssignScript { |
| 24 | 25 | |
| 25 | 26 | @Resource |
| 26 | - private SysUserCoreService userCoreService; | |
| 27 | + private AdminUserApi adminUserApi; | |
| 27 | 28 | @Resource |
| 28 | - private SysDeptCoreService deptCoreService; | |
| 29 | + private DeptApi deptApi; | |
| 29 | 30 | |
| 30 | 31 | protected Set<Long> calculateTaskCandidateUsers(TaskEntity task, int level) { |
| 31 | 32 | Assert.isTrue(level > 0, "level 必须大于 0"); |
| 32 | 33 | // 获得发起人 |
| 33 | 34 | Long startUserId = Long.parseLong(task.getProcessInstance().getStartUserId()); |
| 34 | 35 | // 获得对应 leve 的部门 |
| 35 | - SysDeptDO dept = null; | |
| 36 | + DeptRespDTO dept = null; | |
| 36 | 37 | for (int i = 0; i < level; i++) { |
| 37 | 38 | // 获得 level 对应的部门 |
| 38 | 39 | if (dept == null) { |
| ... | ... | @@ -41,7 +42,7 @@ public abstract class BpmTaskAssignLeaderAbstractScript implements BpmTaskAssign |
| 41 | 42 | return emptySet(); |
| 42 | 43 | } |
| 43 | 44 | } else { |
| 44 | - SysDeptDO parentDept = deptCoreService.getDept(dept.getParentId()); | |
| 45 | + DeptRespDTO parentDept = deptApi.getDept(dept.getParentId()); | |
| 45 | 46 | if (parentDept == null) { // 找不到父级部门,所以只好结束寻找。原因是:例如说,级别比较高的人,所在部门层级比较少 |
| 46 | 47 | break; |
| 47 | 48 | } |
| ... | ... | @@ -51,12 +52,12 @@ public abstract class BpmTaskAssignLeaderAbstractScript implements BpmTaskAssign |
| 51 | 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 | 57 | if (startUser.getDeptId() == null) { // 找不到部门,所以无法使用该规则 |
| 57 | 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 | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | 4 | import cn.hutool.core.util.ArrayUtil; |
| 5 | 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 | 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 | 7 | import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.dto.BpmModelMetaInfoRespDTO; |
| 15 | 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 | 9 | import cn.iocoder.yudao.framework.activiti.core.util.ActivitiUtils; |
| 19 | 10 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 20 | 11 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| 21 | 12 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| 22 | 13 | import cn.iocoder.yudao.framework.common.util.object.PageUtils; |
| 23 | 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 | 20 | import lombok.extern.slf4j.Slf4j; |
| 25 | 21 | import org.activiti.bpmn.model.BpmnModel; |
| 26 | 22 | import org.activiti.engine.RepositoryService; |
| ... | ... | @@ -38,9 +34,9 @@ import org.springframework.validation.annotation.Validated; |
| 38 | 34 | import javax.annotation.Resource; |
| 39 | 35 | import java.util.*; |
| 40 | 36 | |
| 41 | -import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.*; | |
| 42 | 37 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 43 | 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 | 53 | @Resource |
| 58 | 54 | private RepositoryService repositoryService; |
| 59 | 55 | @Resource |
| 60 | - private BpmFormServiceApi formServiceApi; | |
| 56 | + private BpmFormService bpmFormService; | |
| 61 | 57 | @Resource |
| 62 | 58 | private BpmProcessDefinitionService processDefinitionService; |
| 63 | 59 | @Resource |
| ... | ... | @@ -85,7 +81,7 @@ public class BpmModelServiceImpl implements BpmModelService { |
| 85 | 81 | BpmModelMetaInfoRespDTO metaInfo = JsonUtils.parseObject(model.getMetaInfo(), BpmModelMetaInfoRespDTO.class); |
| 86 | 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 | 86 | // 获得 Deployment Map |
| 91 | 87 | Set<String> deploymentIds = new HashSet<>(); |
| ... | ... | @@ -172,7 +168,7 @@ public class BpmModelServiceImpl implements BpmModelService { |
| 172 | 168 | } |
| 173 | 169 | // TODO 芋艿:校验流程图的有效性;例如说,是否有开始的元素,是否有结束的元素; |
| 174 | 170 | // 校验表单已配 |
| 175 | - BpmFormDTO form = checkFormConfig(model); | |
| 171 | + BpmFormDO form = checkFormConfig(model); | |
| 176 | 172 | // 校验任务分配规则已配置 |
| 177 | 173 | checkTaskAssignRuleAllConfig(id); |
| 178 | 174 | |
| ... | ... | @@ -225,14 +221,14 @@ public class BpmModelServiceImpl implements BpmModelService { |
| 225 | 221 | * @param model 流程模型 |
| 226 | 222 | * @return 流程表单 |
| 227 | 223 | */ |
| 228 | - private BpmFormDTO checkFormConfig(Model model) { | |
| 224 | + private BpmFormDO checkFormConfig(Model model) { | |
| 229 | 225 | BpmModelMetaInfoRespDTO metaInfo = JsonUtils.parseObject(model.getMetaInfo(), BpmModelMetaInfoRespDTO.class); |
| 230 | 226 | if (metaInfo == null || metaInfo.getFormType() == null) { |
| 231 | 227 | throw exception(MODEL_DEPLOY_FAIL_FORM_NOT_CONFIG); |
| 232 | 228 | } |
| 233 | 229 | // 校验表单存在 |
| 234 | 230 | if (Objects.equals(metaInfo.getFormType(), BpmModelFormTypeEnum.NORMAL.getType())) { |
| 235 | - BpmFormDTO form = formServiceApi.getForm(metaInfo.getFormId()); | |
| 231 | + BpmFormDO form = bpmFormService.getForm(metaInfo.getFormId()); | |
| 236 | 232 | if (form == null) { |
| 237 | 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 | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | 4 | import cn.hutool.core.util.ObjectUtil; |
| 5 | 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 | 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 | 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 | 8 | import cn.iocoder.yudao.framework.activiti.core.util.ActivitiUtils; |
| 18 | 9 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 19 | 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 | 19 | import lombok.extern.slf4j.Slf4j; |
| 21 | 20 | import org.activiti.bpmn.model.BpmnModel; |
| 22 | 21 | import org.activiti.engine.RepositoryService; |
| ... | ... | @@ -31,10 +30,10 @@ import org.springframework.validation.annotation.Validated; |
| 31 | 30 | import javax.annotation.Resource; |
| 32 | 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 | 33 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 37 | 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 | 37 | import static java.util.Collections.emptyList; |
| 39 | 38 | |
| 40 | 39 | /** |
| ... | ... | @@ -55,7 +54,7 @@ public class BpmProcessDefinitionServiceImpl implements BpmProcessDefinitionServ |
| 55 | 54 | @Resource |
| 56 | 55 | private RepositoryService repositoryService; |
| 57 | 56 | @Resource |
| 58 | - private BpmFormServiceApi bpmFormServiceApi; | |
| 57 | + private BpmFormService formService; | |
| 59 | 58 | |
| 60 | 59 | @Resource |
| 61 | 60 | private BpmProcessDefinitionExtMapper processDefinitionMapper; |
| ... | ... | @@ -86,7 +85,7 @@ public class BpmProcessDefinitionServiceImpl implements BpmProcessDefinitionServ |
| 86 | 85 | |
| 87 | 86 | // 获得 Form Map |
| 88 | 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 | 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 | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | 4 | import cn.hutool.core.util.ObjectUtil; |
| ... | ... | @@ -8,21 +8,18 @@ import cn.iocoder.yudao.module.bpm.controller.definition.vo.rule.BpmTaskAssignRu |
| 8 | 8 | import cn.iocoder.yudao.module.bpm.controller.definition.vo.rule.BpmTaskAssignRuleUpdateReqVO; |
| 9 | 9 | import cn.iocoder.yudao.adminserver.modules.bpm.convert.definition.BpmTaskAssignRuleConvert; |
| 10 | 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 | 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 | 13 | import cn.iocoder.yudao.framework.activiti.core.util.ActivitiUtils; |
| 24 | 14 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| 25 | 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 | 23 | import lombok.extern.slf4j.Slf4j; |
| 27 | 24 | import org.activiti.bpmn.model.BpmnModel; |
| 28 | 25 | import org.activiti.bpmn.model.UserTask; |
| ... | ... | @@ -34,6 +31,7 @@ import javax.annotation.Resource; |
| 34 | 31 | import java.util.*; |
| 35 | 32 | |
| 36 | 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 | 37 | * BPM 任务分配规则 Service 实现类 |
| ... | ... | @@ -53,17 +51,17 @@ public class BpmTaskAssignRuleServiceImpl implements BpmTaskAssignRuleService { |
| 53 | 51 | @Lazy // 解决循环依赖 |
| 54 | 52 | private BpmProcessDefinitionService processDefinitionService; |
| 55 | 53 | @Resource |
| 56 | - private SysRoleCoreService roleCoreService; | |
| 54 | + private BpmUserGroupService userGroupService; | |
| 57 | 55 | @Resource |
| 58 | - private SysDeptCoreService deptCoreService; | |
| 56 | + private RoleApi roleApi; | |
| 59 | 57 | @Resource |
| 60 | - private SysPostCoreService postService; | |
| 58 | + private DeptApi deptApi; | |
| 61 | 59 | @Resource |
| 62 | - private SysUserCoreService userCoreService; | |
| 60 | + private PostApi postApi; | |
| 63 | 61 | @Resource |
| 64 | - private BpmUserGroupServiceApi userGroupServiceApi; | |
| 62 | + private AdminUserApi adminUserApi; | |
| 65 | 63 | @Resource |
| 66 | - private DictDataCoreService dictDataCoreService; | |
| 64 | + private DictDataApi dictDataApi; | |
| 67 | 65 | |
| 68 | 66 | @Override |
| 69 | 67 | public List<BpmTaskAssignRuleDO> getTaskAssignRuleListByProcessDefinitionId(String processDefinitionId, |
| ... | ... | @@ -178,18 +176,18 @@ public class BpmTaskAssignRuleServiceImpl implements BpmTaskAssignRuleService { |
| 178 | 176 | |
| 179 | 177 | private void validTaskAssignRuleOptions(Integer type, Set<Long> options) { |
| 180 | 178 | if (Objects.equals(type, BpmTaskAssignRuleTypeEnum.ROLE.getType())) { |
| 181 | - roleCoreService.validRoles(options); | |
| 179 | + roleApi.validRoles(options); | |
| 182 | 180 | } else if (ObjectUtils.equalsAny(type, BpmTaskAssignRuleTypeEnum.DEPT_MEMBER.getType(), |
| 183 | 181 | BpmTaskAssignRuleTypeEnum.DEPT_LEADER.getType())) { |
| 184 | - deptCoreService.validDepts(options); | |
| 182 | + deptApi.validDepts(options); | |
| 185 | 183 | } else if (Objects.equals(type, BpmTaskAssignRuleTypeEnum.POST.getType())) { |
| 186 | - postService.validPosts(options); | |
| 184 | + postApi.validPosts(options); | |
| 187 | 185 | } else if (Objects.equals(type, BpmTaskAssignRuleTypeEnum.USER.getType())) { |
| 188 | - userCoreService.validUsers(options); | |
| 186 | + adminUserApi.validUsers(options); | |
| 189 | 187 | } else if (Objects.equals(type, BpmTaskAssignRuleTypeEnum.USER_GROUP.getType())) { |
| 190 | - userGroupServiceApi.validUserGroups(options); | |
| 188 | + userGroupService.validUserGroups(options); | |
| 191 | 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 | 191 | CollectionUtils.convertSet(options, String::valueOf)); |
| 194 | 192 | } else { |
| 195 | 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 | 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 | 6 | import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOALeaveDO; |
| 6 | 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 | 3 | import cn.hutool.core.date.DateUtil; |
| 4 | -import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.*; | |
| 5 | 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 | 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 | 9 | import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum; |
| 9 | -import cn.iocoder.yudao.adminserver.modules.bpm.service.oa.BpmOALeaveService; | |
| 10 | 10 | import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmProcessInstanceService; |
| 11 | 11 | import cn.iocoder.yudao.adminserver.modules.bpm.service.task.dto.BpmProcessInstanceCreateReqDTO; |
| 12 | 12 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| ... | ... | @@ -18,6 +18,7 @@ import javax.annotation.Resource; |
| 18 | 18 | import java.util.*; |
| 19 | 19 | |
| 20 | 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 | 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 | 3 | import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.event.BpmProcessInstanceResultEvent; |
| 4 | 4 | import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.event.BpmProcessInstanceResultEventListener; |
| 5 | 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 | 7 | import org.springframework.stereotype.Component; |
| 8 | 8 | |
| 9 | 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
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 | 3 | import cn.hutool.core.io.IoUtil; |
| 4 | -import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.activity.BpmActivityRespVO; | |
| 5 | 4 | import cn.iocoder.yudao.adminserver.modules.bpm.convert.task.BpmActivityConvert; |
| 6 | 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 | 6 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| 7 | +import cn.iocoder.yudao.module.bpm.controller.task.vo.activity.BpmActivityRespVO; | |
| 11 | 8 | import lombok.extern.slf4j.Slf4j; |
| 12 | 9 | import org.activiti.bpmn.model.BpmnModel; |
| 13 | 10 | import org.activiti.engine.HistoryService; |
| ... | ... | @@ -24,7 +21,7 @@ import java.util.Collections; |
| 24 | 21 | import java.util.List; |
| 25 | 22 | |
| 26 | 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 | 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 | 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 | 4 | import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceDeleteReasonEnum; |
| 5 | 5 | import cn.iocoder.yudao.adminserver.modules.bpm.service.task.dto.BpmProcessInstanceCreateReqDTO; |
| 6 | 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 | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | 4 | import cn.hutool.core.lang.Assert; |
| 5 | 5 | import cn.hutool.core.util.StrUtil; |
| 6 | -import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance.*; | |
| 7 | 6 | import cn.iocoder.yudao.adminserver.modules.bpm.convert.message.BpmMessageConvert; |
| 8 | 7 | import cn.iocoder.yudao.adminserver.modules.bpm.convert.task.BpmProcessInstanceConvert; |
| 8 | +import cn.iocoder.yudao.module.bpm.controller.task.vo.instance.*; | |
| 9 | 9 | import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO; |
| 10 | 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 | 12 | import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceDeleteReasonEnum; |
| 13 | 13 | import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum; |
| 14 | 14 | import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceStatusEnum; |
| 15 | 15 | import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.event.BpmProcessInstanceResultEventPublisher; |
| 16 | 16 | import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmProcessDefinitionService; |
| 17 | 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 | 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 | 19 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 26 | 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 | 25 | import lombok.extern.slf4j.Slf4j; |
| 28 | 26 | import org.activiti.engine.HistoryService; |
| 29 | 27 | import org.activiti.engine.RuntimeService; |
| ... | ... | @@ -41,6 +39,7 @@ import java.util.*; |
| 41 | 39 | |
| 42 | 40 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 43 | 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 | 45 | * 流程实例 Service 实现类 |
| ... | ... | @@ -65,9 +64,9 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService |
| 65 | 64 | private HistoryService historyService; |
| 66 | 65 | |
| 67 | 66 | @Resource |
| 68 | - private SysUserCoreService userCoreService; | |
| 67 | + private AdminUserApi adminUserApi; | |
| 69 | 68 | @Resource |
| 70 | - private SysDeptCoreService deptCoreService; | |
| 69 | + private DeptApi deptApi; | |
| 71 | 70 | @Resource |
| 72 | 71 | @Lazy // 解决循环依赖 |
| 73 | 72 | private BpmTaskService taskService; |
| ... | ... | @@ -189,10 +188,10 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService |
| 189 | 188 | String bpmnXml = processDefinitionService.getProcessDefinitionBpmnXML(processInstance.getProcessDefinitionId()); |
| 190 | 189 | |
| 191 | 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 | 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 | 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 | 4 | import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmTaskExtDO; |
| 5 | 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 6 | 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 | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | 4 | import cn.hutool.core.util.StrUtil; |
| 5 | -import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task.*; | |
| 6 | 5 | import cn.iocoder.yudao.adminserver.modules.bpm.convert.message.BpmMessageConvert; |
| 7 | 6 | import cn.iocoder.yudao.adminserver.modules.bpm.convert.task.BpmTaskConvert; |
| 7 | +import cn.iocoder.yudao.module.bpm.controller.task.vo.task.*; | |
| 8 | 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 | 10 | import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum; |
| 11 | 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 | 13 | import cn.iocoder.yudao.framework.activiti.core.util.ActivitiUtils; |
| 20 | 14 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 21 | 15 | import cn.iocoder.yudao.framework.common.util.number.NumberUtils; |
| 22 | 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 | 21 | import lombok.extern.slf4j.Slf4j; |
| 24 | 22 | import org.activiti.engine.HistoryService; |
| 25 | 23 | import org.activiti.engine.TaskService; |
| ... | ... | @@ -42,6 +40,7 @@ import java.util.*; |
| 42 | 40 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 43 | 41 | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; |
| 44 | 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 | 46 | * 流程任务实例 Service 实现类 |
| ... | ... | @@ -59,9 +58,9 @@ public class BpmTaskServiceImpl implements BpmTaskService { |
| 59 | 58 | private HistoryService historyService; |
| 60 | 59 | |
| 61 | 60 | @Resource |
| 62 | - private SysUserCoreService userCoreService; | |
| 61 | + private AdminUserApi adminUserApi; | |
| 63 | 62 | @Resource |
| 64 | - private SysDeptCoreService deptCoreService; | |
| 63 | + private DeptApi deptApi; | |
| 65 | 64 | @Resource |
| 66 | 65 | @Lazy // 解决循环依赖 |
| 67 | 66 | private BpmProcessInstanceService processInstanceService; |
| ... | ... | @@ -95,9 +94,9 @@ public class BpmTaskServiceImpl implements BpmTaskService { |
| 95 | 94 | // 获得 User Map |
| 96 | 95 | Set<Long> userIds = convertSet(tasks, task -> NumberUtils.parseLong(task.getAssignee())); |
| 97 | 96 | userIds.add(NumberUtils.parseLong(processInstance.getStartUserId())); |
| 98 | - Map<Long, SysUserDO> userMap = userCoreService.getUserMap(userIds); | |
| 97 | + Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userIds); | |
| 99 | 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 | 102 | return BpmTaskConvert.INSTANCE.convertList3(tasks, bpmTaskExtDOMap, processInstance, userMap, deptMap); |
| ... | ... | @@ -144,7 +143,7 @@ public class BpmTaskServiceImpl implements BpmTaskService { |
| 144 | 143 | Map<String, ProcessInstance> processInstanceMap = processInstanceService.getProcessInstanceMap( |
| 145 | 144 | convertSet(tasks, Task::getProcessInstanceId)); |
| 146 | 145 | // 获得 User Map |
| 147 | - Map<Long, SysUserDO> userMap = userCoreService.getUserMap( | |
| 146 | + Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap( | |
| 148 | 147 | convertSet(processInstanceMap.values(), instance -> Long.valueOf(instance.getStartUserId()))); |
| 149 | 148 | // 拼接结果 |
| 150 | 149 | return new PageResult<>(BpmTaskConvert.INSTANCE.convertList1(tasks, processInstanceMap, userMap), |
| ... | ... | @@ -180,7 +179,7 @@ public class BpmTaskServiceImpl implements BpmTaskService { |
| 180 | 179 | Map<String, HistoricProcessInstance> historicProcessInstanceMap = processInstanceService.getHistoricProcessInstanceMap( |
| 181 | 180 | convertSet(tasks, HistoricTaskInstance::getProcessInstanceId)); |
| 182 | 181 | // 获得 User Map |
| 183 | - Map<Long, SysUserDO> userMap = userCoreService.getUserMap( | |
| 182 | + Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap( | |
| 184 | 183 | convertSet(historicProcessInstanceMap.values(), instance -> Long.valueOf(instance.getStartUserId()))); |
| 185 | 184 | // 拼接结果 |
| 186 | 185 | return new PageResult<>(BpmTaskConvert.INSTANCE.convertList2(tasks, bpmTaskExtDOMap, historicProcessInstanceMap, userMap), |
| ... | ... | @@ -291,7 +290,7 @@ public class BpmTaskServiceImpl implements BpmTaskService { |
| 291 | 290 | @Override |
| 292 | 291 | public void afterCommit() { |
| 293 | 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 | 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 | 1 | package cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavior; |
| 2 | 2 | |
| 3 | 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 | 4 | import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavior.script.BpmTaskAssignScript; |
| 8 | 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 | 6 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 17 | 7 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| 18 | 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 | 19 | import org.activiti.engine.impl.persistence.entity.TaskEntity; |
| 20 | 20 | import org.junit.jupiter.api.Test; |
| 21 | 21 | import org.mockito.InjectMocks; |
| ... | ... | @@ -40,13 +40,14 @@ public class BpmUserTaskActivitiBehaviorTest extends BaseMockitoUnitTest { |
| 40 | 40 | @Mock |
| 41 | 41 | private BpmTaskAssignRuleService bpmTaskRuleService; |
| 42 | 42 | @Mock |
| 43 | - private SysPermissionCoreService permissionCoreService; | |
| 43 | + private BpmUserGroupService userGroupService; | |
| 44 | + | |
| 44 | 45 | @Mock |
| 45 | - private SysDeptCoreService deptCoreService; | |
| 46 | + private DeptApi deptApi; | |
| 46 | 47 | @Mock |
| 47 | - private BpmUserGroupServiceApi userGroupServiceApi; | |
| 48 | + private AdminUserApi adminUserApi; | |
| 48 | 49 | @Mock |
| 49 | - private SysUserCoreService userCoreService; | |
| 50 | + private PermissionApi permissionApi; | |
| 50 | 51 | |
| 51 | 52 | @Test |
| 52 | 53 | public void testCalculateTaskCandidateUsers_Role() { |
| ... | ... | @@ -54,7 +55,7 @@ public class BpmUserTaskActivitiBehaviorTest extends BaseMockitoUnitTest { |
| 54 | 55 | BpmTaskAssignRuleDO rule = new BpmTaskAssignRuleDO().setOptions(asSet(1L, 2L)) |
| 55 | 56 | .setType(BpmTaskAssignRuleTypeEnum.ROLE.getType()); |
| 56 | 57 | // mock 方法 |
| 57 | - when(permissionCoreService.getUserRoleIdListByRoleIds(eq(rule.getOptions()))) | |
| 58 | + when(permissionApi.getUserRoleIdListByRoleIds(eq(rule.getOptions()))) | |
| 58 | 59 | .thenReturn(asSet(11L, 22L)); |
| 59 | 60 | mockGetUserMap(asSet(11L, 22L)); |
| 60 | 61 | |
| ... | ... | @@ -70,9 +71,9 @@ public class BpmUserTaskActivitiBehaviorTest extends BaseMockitoUnitTest { |
| 70 | 71 | BpmTaskAssignRuleDO rule = new BpmTaskAssignRuleDO().setOptions(asSet(1L, 2L)) |
| 71 | 72 | .setType(BpmTaskAssignRuleTypeEnum.DEPT_MEMBER.getType()); |
| 72 | 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 | 77 | mockGetUserMap(asSet(11L, 22L)); |
| 77 | 78 | |
| 78 | 79 | // 调用 |
| ... | ... | @@ -87,9 +88,9 @@ public class BpmUserTaskActivitiBehaviorTest extends BaseMockitoUnitTest { |
| 87 | 88 | BpmTaskAssignRuleDO rule = new BpmTaskAssignRuleDO().setOptions(asSet(1L, 2L)) |
| 88 | 89 | .setType(BpmTaskAssignRuleTypeEnum.DEPT_LEADER.getType()); |
| 89 | 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 | 94 | mockGetUserMap(asSet(11L, 22L)); |
| 94 | 95 | |
| 95 | 96 | // 调用 |
| ... | ... | @@ -104,9 +105,9 @@ public class BpmUserTaskActivitiBehaviorTest extends BaseMockitoUnitTest { |
| 104 | 105 | BpmTaskAssignRuleDO rule = new BpmTaskAssignRuleDO().setOptions(asSet(1L, 2L)) |
| 105 | 106 | .setType(BpmTaskAssignRuleTypeEnum.POST.getType()); |
| 106 | 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 | 111 | mockGetUserMap(asSet(11L, 22L)); |
| 111 | 112 | |
| 112 | 113 | // 调用 |
| ... | ... | @@ -135,9 +136,9 @@ public class BpmUserTaskActivitiBehaviorTest extends BaseMockitoUnitTest { |
| 135 | 136 | BpmTaskAssignRuleDO rule = new BpmTaskAssignRuleDO().setOptions(asSet(1L, 2L)) |
| 136 | 137 | .setType(BpmTaskAssignRuleTypeEnum.USER_GROUP.getType()); |
| 137 | 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 | 142 | mockGetUserMap(asSet(11L, 12L, 21L, 22L)); |
| 142 | 143 | |
| 143 | 144 | // 调用 |
| ... | ... | @@ -190,13 +191,13 @@ public class BpmUserTaskActivitiBehaviorTest extends BaseMockitoUnitTest { |
| 190 | 191 | // 准备参数. 1L 可以找到;2L 是禁用的;3L 找不到 |
| 191 | 192 | Set<Long> assigneeUserIds = asSet(1L, 2L, 3L); |
| 192 | 193 | // mock 方法 |
| 193 | - SysUserDO user1 = randomPojo(SysUserDO.class, o -> o.setId(1L) | |
| 194 | + AdminUserRespDTO user1 = randomPojo(AdminUserRespDTO.class, o -> o.setId(1L) | |
| 194 | 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 | 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 | 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 | 203 | behavior.removeDisableUsers(assigneeUserIds); |
| ... | ... | @@ -205,9 +206,9 @@ public class BpmUserTaskActivitiBehaviorTest extends BaseMockitoUnitTest { |
| 205 | 206 | } |
| 206 | 207 | |
| 207 | 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 | 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 | 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 | 8 | import org.activiti.engine.impl.persistence.entity.ExecutionEntityImpl; |
| 9 | 9 | import org.activiti.engine.impl.persistence.entity.TaskEntity; |
| 10 | 10 | import org.activiti.engine.impl.persistence.entity.TaskEntityImpl; |
| 11 | 11 | import org.junit.jupiter.api.Test; |
| 12 | 12 | import org.mockito.InjectMocks; |
| 13 | -import org.mockito.Mock; | |
| 13 | +import org.springframework.boot.test.mock.mockito.MockBean; | |
| 14 | 14 | |
| 15 | 15 | import java.util.Set; |
| 16 | 16 | |
| ... | ... | @@ -25,18 +25,18 @@ class BpmTaskAssignLeaderX2ScriptTest extends BaseMockitoUnitTest { |
| 25 | 25 | @InjectMocks |
| 26 | 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 | 33 | @Test |
| 34 | 34 | public void testCalculateTaskCandidateUsers_noDept() { |
| 35 | 35 | // 准备参数 |
| 36 | 36 | TaskEntity task = buildTaskEntity(1L); |
| 37 | 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 | 42 | Set<Long> result = script.calculateTaskCandidateUsers(task); |
| ... | ... | @@ -49,11 +49,11 @@ class BpmTaskAssignLeaderX2ScriptTest extends BaseMockitoUnitTest { |
| 49 | 49 | // 准备参数 |
| 50 | 50 | TaskEntity task = buildTaskEntity(1L); |
| 51 | 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 | 55 | .setLeaderUserId(20L)); |
| 56 | - when(deptCoreService.getDept(eq(10L))).thenReturn(startUserDept); | |
| 56 | + when(deptApi.getDept(eq(10L))).thenReturn(startUserDept); | |
| 57 | 57 | |
| 58 | 58 | // 调用 |
| 59 | 59 | Set<Long> result = script.calculateTaskCandidateUsers(task); |
| ... | ... | @@ -66,15 +66,15 @@ class BpmTaskAssignLeaderX2ScriptTest extends BaseMockitoUnitTest { |
| 66 | 66 | // 准备参数 |
| 67 | 67 | TaskEntity task = buildTaskEntity(1L); |
| 68 | 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 | 72 | .setLeaderUserId(20L)); |
| 73 | - when(deptCoreService.getDept(eq(10L))).thenReturn(startUserDept); | |
| 73 | + when(deptApi.getDept(eq(10L))).thenReturn(startUserDept); | |
| 74 | 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 | 76 | .setLeaderUserId(200L)); |
| 77 | - when(deptCoreService.getDept(eq(100L))).thenReturn(parentDept); | |
| 77 | + when(deptApi.getDept(eq(100L))).thenReturn(parentDept); | |
| 78 | 78 | |
| 79 | 79 | // 调用 |
| 80 | 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 | 4 | import cn.iocoder.yudao.framework.security.core.LoginUser; |
| 5 | 5 | import cn.iocoder.yudao.module.member.controller.app.auth.vo.*; |
| 6 | 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 | 9 | import cn.iocoder.yudao.module.system.api.social.dto.SocialUserBindReqDTO; |
| 10 | 10 | import cn.iocoder.yudao.module.system.api.social.dto.SocialUserUnbindReqDTO; |
| 11 | 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 | 8 | import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; |
| 9 | 9 | import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper; |
| 10 | 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 | 12 | import cn.iocoder.yudao.module.system.enums.sms.SmsSceneEnum; |
| 13 | 13 | import com.google.common.annotations.VisibleForTesting; |
| 14 | 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 | 1 | package cn.iocoder.yudao.module.system.api.sms; |
| 2 | 2 | |
| 3 | 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 | 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
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
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
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 | 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 | 6 | import cn.iocoder.yudao.module.system.service.sms.SmsCodeService; |
| 7 | 7 | import org.springframework.stereotype.Service; |
| 8 | 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 | 1 | package cn.iocoder.yudao.module.system.convert.dept; |
| 2 | 2 | |
| 3 | +import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; | |
| 3 | 4 | import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptCreateReqVO; |
| 4 | 5 | import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptRespVO; |
| 5 | 6 | import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptSimpleRespVO; |
| ... | ... | @@ -9,6 +10,7 @@ import org.mapstruct.Mapper; |
| 9 | 10 | import org.mapstruct.factory.Mappers; |
| 10 | 11 | |
| 11 | 12 | import java.util.List; |
| 13 | +import java.util.Map; | |
| 12 | 14 | |
| 13 | 15 | @Mapper |
| 14 | 16 | public interface DeptConvert { |
| ... | ... | @@ -25,4 +27,10 @@ public interface DeptConvert { |
| 25 | 27 | |
| 26 | 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 | 1 | package cn.iocoder.yudao.module.system.convert.user; |
| 2 | 2 | |
| 3 | +import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; | |
| 3 | 4 | import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileRespVO; |
| 4 | 5 | import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO; |
| 5 | 6 | import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO; |
| ... | ... | @@ -13,6 +14,7 @@ import org.mapstruct.Mapper; |
| 13 | 14 | import org.mapstruct.factory.Mappers; |
| 14 | 15 | |
| 15 | 16 | import java.util.List; |
| 17 | +import java.util.Map; | |
| 16 | 18 | |
| 17 | 19 | @Mapper |
| 18 | 20 | public interface UserConvert { |
| ... | ... | @@ -46,4 +48,11 @@ public interface UserConvert { |
| 46 | 48 | List<UserProfileRespVO.SocialUser> convertList03(List<SocialUserDO> list); |
| 47 | 49 | |
| 48 | 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
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsCodeService.java
| 1 | 1 | package cn.iocoder.yudao.module.system.service.sms; |
| 2 | 2 | |
| 3 | 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 | 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 | 4 | import cn.hutool.core.map.MapUtil; |
| 5 | 5 | import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil; |
| 6 | 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 | 10 | import cn.iocoder.yudao.module.system.dal.dataobject.sms.SmsCodeDO; |
| 11 | 11 | import cn.iocoder.yudao.module.system.dal.mysql.sms.SmsCodeMapper; |
| 12 | 12 | import cn.iocoder.yudao.module.system.enums.sms.SmsSceneEnum; |
| ... | ... | @@ -37,11 +37,6 @@ public class SmsCodeServiceImpl implements SmsCodeService { |
| 37 | 37 | private SmsCodeMapper smsCodeMapper; |
| 38 | 38 | |
| 39 | 39 | @Resource |
| 40 | - private AdminUserService adminUserService; | |
| 41 | - @Resource | |
| 42 | - private MemberUserApi memberUserApi; | |
| 43 | - | |
| 44 | - @Resource | |
| 45 | 40 | private SmsSendService smsSendService; |
| 46 | 41 | |
| 47 | 42 | @Override | ... | ... |