添加sys api调用

This commit is contained in:
fengcheng
2025-01-03 18:11:57 +08:00
parent 92a7300a87
commit e4471b39c8
30 changed files with 491 additions and 201 deletions

20
pom.xml
View File

@@ -39,6 +39,11 @@
<!-- flowable version -->
<flowable.version>6.8.0</flowable.version>
<aviator.version>5.3.1</aviator.version>
<!-- 工具 version -->
<lombok.version>1.18.34</lombok.version>
<hutool.version>5.8.15</hutool.version>
<guava.version>30.0-jre</guava.version>
</properties>
<!-- 依赖声明 -->
@@ -228,12 +233,21 @@
<version>${ruoyi.version}</version>
</dependency>
<!-- system系统api模块-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-system-api</artifactId>
<version>${ruoyi.version}</version>
</dependency>
<!-- flowable流程api模块-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-flowable-api</artifactId>
<version>${ruoyi.version}</version>
</dependency>
<!-- work工作api模块-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-work-api</artifactId>
@@ -272,14 +286,14 @@
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.34</version>
<version>${lombok.version}</version>
</dependency>
<!-- hutool工具包-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.15</version>
<version>${hutool.version}</version>
</dependency>
<!-- flowable -->
@@ -310,7 +324,7 @@
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.0-jre</version>
<version>${guava.version}</version>
</dependency>
</dependencies>
</dependencyManagement>

View File

@@ -13,7 +13,7 @@ import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.web.service.SysPermissionService;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.api.domain.SysUserRole;
import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.ISysRoleService;
import com.ruoyi.system.service.ISysUserService;

View File

@@ -19,5 +19,6 @@
<modules>
<module>ruoyi-flowable-api</module>
<module>ruoyi-work-api</module>
<module>ruoyi-system-api</module>
</modules>
</project>

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>ruoyi-api</artifactId>
<groupId>com.ruoyi</groupId>
<version>3.8.8</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-system-api</artifactId>
<description>
系统api模块
</description>
<dependencies>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common</artifactId>
</dependency>
</dependencies>
</project>

View File

@@ -1,18 +1,18 @@
package com.ruoyi.system.domain;
package com.ruoyi.system.api.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 用户和角色关联 sys_user_role
*
*
* @author ruoyi
*/
public class SysUserRole
{
/** 用户ID */
private Long userId;
/** 角色ID */
private Long roleId;

View File

@@ -0,0 +1,29 @@
package com.ruoyi.system.api.service;
import com.ruoyi.common.core.domain.entity.SysDept;
import java.util.List;
/**
* 部门管理API 服务层
*
* @author fengcheng
*/
public interface ISysDeptServiceApi {
/**
* 根据部门ID查询信息
*
* @param deptId 部门ID
* @return 部门信息
*/
SysDept selectDeptById(Long deptId);
/**
* 获取下属部门
*
* @param deptId 部门ID
* @return 部门信息id集合
*/
List<Long> selectBranchDeptId(Long deptId);
}

View File

@@ -0,0 +1,19 @@
package com.ruoyi.system.api.service;
import com.ruoyi.common.core.domain.entity.SysRole;
/**
* 角色API 业务层
*
* @author fengcheng
*/
public interface ISysRoleServiceApi {
/**
* 通过角色ID查询角色
*
* @param roleId 角色ID
* @return 角色对象信息
*/
SysRole selectRoleById(Long roleId);
}

View File

@@ -0,0 +1,52 @@
package com.ruoyi.system.api.service;
import com.ruoyi.common.core.domain.entity.SysUser;
import java.util.List;
/**
* 用户API 业务层
*
* @author fengcheng
*/
public interface ISysUserServiceApi {
/**
* 通过用户ID查询用户
*
* @param userId 用户ID
* @return 用户对象信息
*/
SysUser selectUserById(Long userId);
/**
* 根据部门id获取下所有人的userId
*
* @param deptId 部门id
* @return userId集合
*/
List<Long> listUserIdByDeptId(Long deptId);
/**
* 根据部门id获取下所有人的userId
*
* @param userIds 用户id集合
* @return 用户列表
*/
List<SysUser> selectSysUserByUserIdList(long[] userIds);
/**
* 获取所有用户列表
*
* @return 用户列表
*/
List<SysUser> getAllUser();
/**
* 根据角色id获取用户列表
*
* @param roleId 角色id
* @return 用户列表
*/
List<SysUser> getUserListByRoleId(String roleId);
}

View File

@@ -45,11 +45,6 @@
<artifactId>aviator</artifactId>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-system</artifactId>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-flowable-api</artifactId>
@@ -59,6 +54,11 @@
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-work-api</artifactId>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-system-api</artifactId>
</dependency>
</dependencies>
</project>

View File

@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.toolkit.SimpleQuery;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.flowable.constant.ProcessConstants;
import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.api.domain.SysUserRole;
import lombok.AllArgsConstructor;
import org.flowable.bpmn.model.FlowElement;
import org.flowable.bpmn.model.UserTask;
@@ -26,7 +26,7 @@ import java.util.stream.Collectors;
* @author fengcheng
*/
@AllArgsConstructor
@Component("multiInstanceHandler" )
@Component("multiInstanceHandler")
public class MultiInstanceHandler {
/**

View File

@@ -24,9 +24,9 @@ import com.ruoyi.flowable.service.IWfRoamHistoricalService;
import com.ruoyi.flowable.service.IWfTaskService;
import com.ruoyi.flowable.utils.IdWorker;
import com.ruoyi.flowable.utils.StringUtils;
import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.ISysRoleService;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.system.api.service.ISysDeptServiceApi;
import com.ruoyi.system.api.service.ISysRoleServiceApi;
import com.ruoyi.system.api.service.ISysUserServiceApi;
import org.flowable.bpmn.constants.BpmnXMLConstants;
import org.flowable.common.engine.api.delegate.event.FlowableEngineEntityEvent;
import org.flowable.engine.HistoryService;
@@ -80,15 +80,15 @@ public class GlobalEventListener extends AbstractFlowableEngineEventListener {
@Lazy
@Autowired
private ISysUserService userService;
private ISysUserServiceApi userServiceApi;
@Lazy
@Autowired
private ISysRoleService roleService;
private ISysRoleServiceApi roleServiceApi;
@Lazy
@Autowired
private ISysDeptService deptService;
private ISysDeptServiceApi deptServiceApi;
@Autowired
@Lazy
@@ -239,7 +239,7 @@ public class GlobalEventListener extends AbstractFlowableEngineEventListener {
if (BpmnXMLConstants.ELEMENT_EVENT_START.equals(activityInstance.getActivityType())) {
if (ObjectUtil.isNotNull(historicProcIns)) {
Long userId = Long.parseLong(historicProcIns.getStartUserId());
SysUser sysUser = userService.selectUserById(userId);
SysUser sysUser = userServiceApi.selectUserById(userId);
String nickName = sysUser.getNickName();
if (nickName != null) {
elementVo.setAssigneeId(userId);
@@ -249,7 +249,7 @@ public class GlobalEventListener extends AbstractFlowableEngineEventListener {
} else if (BpmnXMLConstants.ELEMENT_TASK_USER.equals(activityInstance.getActivityType())) {
if (StringUtils.isNotBlank(activityInstance.getAssignee())) {
Long userId = Long.parseLong(activityInstance.getAssignee());
SysUser sysUser = userService.selectUserById(userId);
SysUser sysUser = userServiceApi.selectUserById(userId);
String nickName = sysUser.getNickName();
elementVo.setAssigneeId(userId);
elementVo.setAssigneeName(nickName);
@@ -261,18 +261,18 @@ public class GlobalEventListener extends AbstractFlowableEngineEventListener {
if ("candidate".equals(identityLink.getType())) {
if (StringUtils.isNotBlank(identityLink.getUserId())) {
Long userId = Long.parseLong(identityLink.getUserId());
SysUser sysUser = userService.selectUserById(userId);
SysUser sysUser = userServiceApi.selectUserById(userId);
String nickName = sysUser.getNickName();
stringBuilder.append(nickName).append(",");
}
if (StringUtils.isNotBlank(identityLink.getGroupId())) {
if (identityLink.getGroupId().startsWith(TaskConstants.ROLE_GROUP_PREFIX)) {
Long roleId = Long.parseLong(StringUtils.stripStart(identityLink.getGroupId(), TaskConstants.ROLE_GROUP_PREFIX));
SysRole role = roleService.selectRoleById(roleId);
SysRole role = roleServiceApi.selectRoleById(roleId);
stringBuilder.append(role.getRoleName()).append(",");
} else if (identityLink.getGroupId().startsWith(TaskConstants.DEPT_GROUP_PREFIX)) {
Long deptId = Long.parseLong(StringUtils.stripStart(identityLink.getGroupId(), TaskConstants.DEPT_GROUP_PREFIX));
SysDept dept = deptService.selectDeptById(deptId);
SysDept dept = deptServiceApi.selectDeptById(deptId);
stringBuilder.append(dept.getDeptName()).append(",");
}
}

View File

@@ -15,14 +15,12 @@ import com.ruoyi.flowable.domain.vo.WfFormVo;
import com.ruoyi.flowable.mapper.WfFormMapper;
import com.ruoyi.flowable.service.IWfFormService;
import com.ruoyi.flowable.utils.StringUtils;
import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.api.service.ISysDeptServiceApi;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import sun.security.util.SecurityConstants;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
* 流程表单Service业务层处理
@@ -36,7 +34,7 @@ public class WfFormServiceImpl implements IWfFormService {
private final WfFormMapper baseMapper;
private final ISysDeptService sysDeptService;
private final ISysDeptServiceApi deptServiceApi;
/**
* 查询流程表单
@@ -62,11 +60,11 @@ public class WfFormServiceImpl implements IWfFormService {
}
Long deptId = SecurityUtils.getLoginUser().getUser().getDeptId();
List<Long> deptIdList = sysDeptService.selectBranchDeptId(deptId);
List<Long> deptIdList = deptServiceApi.selectBranchDeptId(deptId);
deptIdList.add(deptId);
bo.setDeptId(deptId);
SysDept sysDept = sysDeptService.selectDeptById(deptId);
SysDept sysDept = deptServiceApi.selectDeptById(deptId);
String[] ancestorsArr = sysDept.getAncestors().split(",");
List<Long> ancestorsList = Convert.toList(Long.class, ancestorsArr);

View File

@@ -9,8 +9,8 @@ import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.flowable.constant.TaskConstants;
import com.ruoyi.flowable.api.domain.bo.WfTaskBo;
import com.ruoyi.flowable.constant.TaskConstants;
import com.ruoyi.flowable.domain.vo.WfFormVo;
import com.ruoyi.flowable.domain.vo.WfTaskVo;
import com.ruoyi.flowable.factory.FlowServiceFactory;
@@ -18,9 +18,9 @@ import com.ruoyi.flowable.service.IWfDeployFormService;
import com.ruoyi.flowable.service.IWfInstanceService;
import com.ruoyi.flowable.utils.JsonUtils;
import com.ruoyi.flowable.utils.StringUtils;
import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.ISysRoleService;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.system.api.service.ISysDeptServiceApi;
import com.ruoyi.system.api.service.ISysRoleServiceApi;
import com.ruoyi.system.api.service.ISysUserServiceApi;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.flowable.common.engine.api.FlowableObjectNotFoundException;
@@ -46,11 +46,11 @@ import java.util.*;
public class WfInstanceServiceImpl extends FlowServiceFactory implements IWfInstanceService {
private final IWfDeployFormService deployFormService;
@Autowired
private ISysUserService sysUserService;
private ISysUserServiceApi userServiceApi;
@Autowired
private ISysRoleService sysRoleService;
private ISysRoleServiceApi roleServiceApi;
@Autowired
private ISysDeptService sysDeptService;
private ISysDeptServiceApi deptServiceApi;
/**
* 结束流程实例
@@ -144,7 +144,7 @@ public class WfInstanceServiceImpl extends FlowServiceFactory implements IWfInst
taskVo.setFinishTime(taskInstance.getEndTime());
if (StringUtils.isNotBlank(taskInstance.getAssignee())) {
Long userId = Long.parseLong(taskInstance.getAssignee());
SysUser sysUser = sysUserService.selectUserById(userId);
SysUser sysUser = userServiceApi.selectUserById(userId);
String nickName = sysUser.getNickName();
taskVo.setAssigneeId(userId);
taskVo.setAssigneeName(nickName);
@@ -156,18 +156,18 @@ public class WfInstanceServiceImpl extends FlowServiceFactory implements IWfInst
if ("candidate".equals(identityLink.getType())) {
if (StringUtils.isNotBlank(identityLink.getUserId())) {
Long userId = Long.parseLong(identityLink.getUserId());
SysUser sysUser = sysUserService.selectUserById(userId);
SysUser sysUser = userServiceApi.selectUserById(userId);
String nickName = sysUser.getNickName();
stringBuilder.append(nickName).append(",");
}
if (StringUtils.isNotBlank(identityLink.getGroupId())) {
if (identityLink.getGroupId().startsWith(TaskConstants.ROLE_GROUP_PREFIX)) {
Long roleId = Long.parseLong(StringUtils.stripStart(identityLink.getGroupId(), TaskConstants.ROLE_GROUP_PREFIX));
SysRole role = sysRoleService.selectRoleById(roleId);
SysRole role = roleServiceApi.selectRoleById(roleId);
stringBuilder.append(role.getRoleName()).append(",");
} else if (identityLink.getGroupId().startsWith(TaskConstants.DEPT_GROUP_PREFIX)) {
Long deptId = Long.parseLong(StringUtils.stripStart(identityLink.getGroupId(), TaskConstants.DEPT_GROUP_PREFIX));
SysDept dept = sysDeptService.selectDeptById(deptId);
SysDept dept = deptServiceApi.selectDeptById(deptId);
stringBuilder.append(dept.getDeptName()).append(",");
}
}

View File

@@ -26,8 +26,8 @@ import com.ruoyi.flowable.utils.IdWorker;
import com.ruoyi.flowable.utils.JsonUtils;
import com.ruoyi.flowable.utils.ModelUtils;
import com.ruoyi.flowable.utils.StringUtils;
import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.system.api.service.ISysDeptServiceApi;
import com.ruoyi.system.api.service.ISysUserServiceApi;
import lombok.extern.slf4j.Slf4j;
import org.flowable.bpmn.model.BpmnModel;
import org.flowable.bpmn.model.Process;
@@ -81,11 +81,11 @@ public class WfModelServiceImpl extends FlowServiceFactory implements IWfModelSe
@Lazy
@Autowired
private ISysUserService sysUserService;
private ISysUserServiceApi userServiceApi;
@Lazy
@Autowired
private ISysDeptService sysDeptService;
private ISysDeptServiceApi deptServiceApi;
@Lazy
@Autowired
@@ -111,7 +111,7 @@ public class WfModelServiceImpl extends FlowServiceFactory implements IWfModelSe
modelQuery.modelKey(modelBo.getModelKey());
}
if (StringUtils.isNotBlank(modelBo.getModelName())) {
modelQuery.modelNameLike("%" + modelBo.getModelName() + "%" );
modelQuery.modelNameLike("%" + modelBo.getModelName() + "%");
}
if (StringUtils.isNotBlank(modelBo.getCategory())) {
modelQuery.modelCategory(modelBo.getCategory());
@@ -162,7 +162,7 @@ public class WfModelServiceImpl extends FlowServiceFactory implements IWfModelSe
modelQuery.modelKey(modelBo.getModelKey());
}
if (StringUtils.isNotBlank(modelBo.getModelName())) {
modelQuery.modelNameLike("%" + modelBo.getModelName() + "%" );
modelQuery.modelNameLike("%" + modelBo.getModelName() + "%");
}
if (StringUtils.isNotBlank(modelBo.getCategory())) {
modelQuery.modelCategory(modelBo.getCategory());
@@ -227,7 +227,7 @@ public class WfModelServiceImpl extends FlowServiceFactory implements IWfModelSe
// 获取流程模型
Model model = repositoryService.getModel(modelId);
if (ObjectUtil.isNull(model)) {
throw new RuntimeException("流程模型不存在!" );
throw new RuntimeException("流程模型不存在!");
}
// 获取流程图
String bpmnXml = queryBpmnXmlById(modelId);
@@ -262,19 +262,19 @@ public class WfModelServiceImpl extends FlowServiceFactory implements IWfModelSe
permission.setModelId(modelId);
permission.setType(PermissionEnum.USER_PERMISSION.getCode());
List<Long> permissionIdList = new ArrayList<>();
if (!SecurityUtils.hasRole("admin" )) {
if (!SecurityUtils.hasRole("admin")) {
//获取当前登录用户
SysUser sysUser = SecurityUtils.getLoginUser().getUser();
permissionIdList = sysUserService.listUserIdByDeptId(sysUser.getDeptId());
permissionIdList = userServiceApi.listUserIdByDeptId(sysUser.getDeptId());
}
modelVo.setSelectUserList(wfModelPermissionService.selectWfModelPermissionList(permission, permissionIdList));
permission.setType(PermissionEnum.DEPT_PERMISSION.getCode());
if (!SecurityUtils.hasRole("admin" )) {
if (!SecurityUtils.hasRole("admin")) {
//获取当前登录用户
SysUser sysUser = SecurityUtils.getLoginUser().getUser();
List<Long> deptList = sysDeptService.selectBranchDeptId(sysUser.getDeptId());
List<Long> deptList = deptServiceApi.selectBranchDeptId(sysUser.getDeptId());
deptList.add(sysUser.getDeptId());
permissionIdList = deptList;
}
@@ -383,7 +383,7 @@ public class WfModelServiceImpl extends FlowServiceFactory implements IWfModelSe
// 根据模型Key查询模型信息
Model model = repositoryService.getModel(modelBo.getModelId());
if (ObjectUtil.isNull(model)) {
throw new RuntimeException("流程模型不存在!" );
throw new RuntimeException("流程模型不存在!");
}
model.setCategory(modelBo.getCategory());
WfMetaInfoDto metaInfoDto = JsonUtils.parseObject(model.getMetaInfo(), WfMetaInfoDto.class);
@@ -427,29 +427,29 @@ public class WfModelServiceImpl extends FlowServiceFactory implements IWfModelSe
*/
private void checkModel(WfModelBo modelBo, String modelId) {
if (ObjectUtil.isNull(modelBo.getBpmnXml())) {
throw new RuntimeException("请选设计流程模型!" );
throw new RuntimeException("请选设计流程模型!");
}
BpmnModel bpmnModel = ModelUtils.getBpmnModel(modelBo.getBpmnXml());
if (ObjectUtil.isEmpty(bpmnModel)) {
throw new RuntimeException("获取模型设计失败!" );
throw new RuntimeException("获取模型设计失败!");
}
// 获取开始节点
StartEvent startEvent = ModelUtils.getStartEvent(bpmnModel);
if (ObjectUtil.isNull(startEvent)) {
throw new RuntimeException("开始节点不存在,请检查流程设计是否有误!" );
throw new RuntimeException("开始节点不存在,请检查流程设计是否有误!");
}
if (FormType.PROCESS.getType().equals(modelBo.getFormType())) {
// 获取开始节点配置的表单Key
if (StrUtil.isBlank(startEvent.getFormKey())) {
throw new RuntimeException("请配置流程表单" );
throw new RuntimeException("请配置流程表单");
}
}
//查看开始节点的后一个任务节点出口
List<SequenceFlow> outgoingFlows = startEvent.getOutgoingFlows();
if (Objects.isNull(outgoingFlows)) {
throw new RuntimeException("导入失败,流程配置错误!" );
throw new RuntimeException("导入失败,流程配置错误!");
}
//遍历返回下一个节点信息
@@ -488,26 +488,26 @@ public class WfModelServiceImpl extends FlowServiceFactory implements IWfModelSe
// 查询模型信息
Model model = repositoryService.getModel(modelBo.getModelId());
if (ObjectUtil.isNull(model)) {
throw new RuntimeException("流程模型不存在!" );
throw new RuntimeException("流程模型不存在!");
}
BpmnModel bpmnModel = ModelUtils.getBpmnModel(modelBo.getBpmnXml());
if (ObjectUtil.isEmpty(bpmnModel)) {
throw new RuntimeException("获取模型设计失败!" );
throw new RuntimeException("获取模型设计失败!");
}
// String processName = bpmnModel.getMainProcess().getName();
// 获取开始节点
StartEvent startEvent = ModelUtils.getStartEvent(bpmnModel);
if (ObjectUtil.isNull(startEvent)) {
throw new RuntimeException("开始节点不存在,请检查流程设计是否有误!" );
throw new RuntimeException("开始节点不存在,请检查流程设计是否有误!");
}
// 获取开始节点配置的表单Key
if (StrUtil.isBlank(startEvent.getFormKey())) {
throw new RuntimeException("请配置流程表单" );
throw new RuntimeException("请配置流程表单");
}
//查看开始节点的后一个任务节点出口
List<SequenceFlow> outgoingFlows = startEvent.getOutgoingFlows();
if (Objects.isNull(outgoingFlows)) {
throw new RuntimeException("导入失败,流程配置错误!" );
throw new RuntimeException("导入失败,流程配置错误!");
}
// //遍历返回下一个节点信息
// for (SequenceFlow outgoingFlow : outgoingFlows) {
@@ -548,11 +548,11 @@ public class WfModelServiceImpl extends FlowServiceFactory implements IWfModelSe
// 获取流程模型
Model model = repositoryService.getModel(modelId);
if (ObjectUtil.isNull(model)) {
throw new RuntimeException("流程模型不存在!" );
throw new RuntimeException("流程模型不存在!");
}
Integer latestVersion = repositoryService.createModelQuery().modelKey(model.getKey()).latestVersion().singleResult().getVersion();
if (model.getVersion().equals(latestVersion)) {
throw new RuntimeException("当前版本已是最新版!" );
throw new RuntimeException("当前版本已是最新版!");
}
// 获取 BPMN XML
byte[] bpmnBytes = repositoryService.getModelEditorSource(modelId);
@@ -574,7 +574,7 @@ public class WfModelServiceImpl extends FlowServiceFactory implements IWfModelSe
for (String id : ids) {
Model model = repositoryService.getModel(id);
if (ObjectUtil.isNull(model)) {
throw new RuntimeException("流程模型不存在!" );
throw new RuntimeException("流程模型不存在!");
}
repositoryService.deleteModel(id);
// 禁用流程定义
@@ -633,12 +633,12 @@ public class WfModelServiceImpl extends FlowServiceFactory implements IWfModelSe
// 获取流程模型
Model model = repositoryService.getModel(modelId);
if (ObjectUtil.isNull(model)) {
throw new RuntimeException("流程模型不存在!" );
throw new RuntimeException("流程模型不存在!");
}
// 获取流程图
byte[] bpmnBytes = repositoryService.getModelEditorSource(modelId);
if (ArrayUtil.isEmpty(bpmnBytes)) {
throw new RuntimeException("请先设计流程图!" );
throw new RuntimeException("请先设计流程图!");
}
String bpmnXml = StringUtils.toEncodedString(bpmnBytes, StandardCharsets.UTF_8);
BpmnModel bpmnModel = ModelUtils.getBpmnModel(bpmnXml);
@@ -692,14 +692,14 @@ public class WfModelServiceImpl extends FlowServiceFactory implements IWfModelSe
public List<WfModelVo> selectList(WfModelBo modelBo) {
List<WfModelVo> list = new ArrayList<>();
List<ActReModel> actReModelList;
if (SecurityUtils.hasRole("admin" )) {
if (SecurityUtils.hasRole("admin")) {
actReModelList = wfModelMapper.selectList(modelBo);
} else {
SysUser sysUser = SecurityUtils.getLoginUser().getUser();
List<Long> userIdList = sysUserService.listUserIdByDeptId(sysUser.getDeptId());
List<Long> userIdList = userServiceApi.listUserIdByDeptId(sysUser.getDeptId());
List<Long> deptIdList;
deptIdList = sysDeptService.selectBranchDeptId(sysUser.getDeptId());
deptIdList = deptServiceApi.selectBranchDeptId(sysUser.getDeptId());
deptIdList.add(sysUser.getDeptId());
actReModelList = wfModelMapper.selectListVo(modelBo, userIdList, deptIdList);

View File

@@ -16,7 +16,7 @@ import com.ruoyi.flowable.service.IWfModelService;
import com.ruoyi.flowable.service.IWfModelTemplateService;
import com.ruoyi.flowable.utils.IdWorker;
import com.ruoyi.flowable.utils.ModelUtils;
import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.api.service.ISysDeptServiceApi;
import org.flowable.bpmn.model.BpmnModel;
import org.flowable.bpmn.model.Process;
import org.flowable.bpmn.model.SequenceFlow;
@@ -40,7 +40,7 @@ public class WfModelTemplateServiceImpl implements IWfModelTemplateService {
private WfModelTemplateMapper wfModelTemplateMapper;
@Autowired
private ISysDeptService sysDeptService;
private ISysDeptServiceApi deptServiceApi;
@Autowired
private IWfModelAssociationTemplateService wfModelAssociationTemplateService;
@@ -76,17 +76,17 @@ public class WfModelTemplateServiceImpl implements IWfModelTemplateService {
*/
@Override
public List<WfModelTemplate> selectWfModelTemplateList(WfModelTemplate wfModelTemplate) {
if (SecurityUtils.hasRole("admin" )) {
if (SecurityUtils.hasRole("admin")) {
return wfModelTemplateMapper.selectWfModelTemplateList(wfModelTemplate);
}
Long deptId = SecurityUtils.getLoginUser().getUser().getDeptId();
List<Long> deptIdList = sysDeptService.selectBranchDeptId(deptId);
List<Long> deptIdList = deptServiceApi.selectBranchDeptId(deptId);
deptIdList.add(deptId);
wfModelTemplate.setDeptId(deptId);
SysDept sysDept = sysDeptService.selectDeptById(deptId);
String[] ancestorsArr = sysDept.getAncestors().split("," );
SysDept sysDept = deptServiceApi.selectDeptById(deptId);
String[] ancestorsArr = sysDept.getAncestors().split(",");
List<Long> ancestorsList = Convert.toList(Long.class, ancestorsArr);
return wfModelTemplateMapper.selectWfModelTemplateListVo(wfModelTemplate, deptIdList, ancestorsList);
@@ -129,7 +129,7 @@ public class WfModelTemplateServiceImpl implements IWfModelTemplateService {
WfModelAssociationTemplate wfModelAssociationTemplate = new WfModelAssociationTemplate();
wfModelAssociationTemplate.setModelTemplateId(modelTemplateId);
if (wfModelAssociationTemplateService.selectWfModelAssociationTemplateList(wfModelAssociationTemplate).size() > 0) {
throw new RuntimeException("模型模板已关联流程,请先解除关联!" );
throw new RuntimeException("模型模板已关联流程,请先解除关联!");
}
}
return wfModelTemplateMapper.deleteWfModelTemplateByModelTemplateIds(modelTemplateIds);
@@ -156,24 +156,24 @@ public class WfModelTemplateServiceImpl implements IWfModelTemplateService {
public int editBpmnXml(WfModelTemplate wfModelTemplate) {
BpmnModel bpmnModel = ModelUtils.getBpmnModel(wfModelTemplate.getBpmnXml());
if (ObjectUtil.isEmpty(bpmnModel)) {
throw new RuntimeException("获取模型设计失败!" );
throw new RuntimeException("获取模型设计失败!");
}
// 获取开始节点
StartEvent startEvent = ModelUtils.getStartEvent(bpmnModel);
if (ObjectUtil.isNull(startEvent)) {
throw new RuntimeException("开始节点不存在,请检查流程设计是否有误!" );
throw new RuntimeException("开始节点不存在,请检查流程设计是否有误!");
}
if (FormType.PROCESS.getType().equals(wfModelTemplate.getFormType())) {
// 获取开始节点配置的表单Key
if (StrUtil.isBlank(startEvent.getFormKey())) {
throw new RuntimeException("请配置流程表单" );
throw new RuntimeException("请配置流程表单");
}
}
//查看开始节点的后一个任务节点出口
List<SequenceFlow> outgoingFlows = startEvent.getOutgoingFlows();
if (Objects.isNull(outgoingFlows)) {
throw new RuntimeException("导入失败,流程配置错误!" );
throw new RuntimeException("导入失败,流程配置错误!");
}
// 保存 BPMN XML

View File

@@ -20,6 +20,7 @@ import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.enums.ProcessStatus;
import com.ruoyi.common.exception.DataException;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.SecurityUtils;
@@ -34,7 +35,6 @@ import com.ruoyi.flowable.domain.bo.ResubmitProcess;
import com.ruoyi.flowable.domain.bo.WfModelBo;
import com.ruoyi.flowable.domain.vo.*;
import com.ruoyi.flowable.enums.FormType;
import com.ruoyi.common.enums.ProcessStatus;
import com.ruoyi.flowable.factory.FlowServiceFactory;
import com.ruoyi.flowable.flow.FlowableUtils;
import com.ruoyi.flowable.handler.BusinessProcessDetailsHandler;
@@ -46,9 +46,9 @@ import com.ruoyi.flowable.page.PageQuery;
import com.ruoyi.flowable.page.TableDataInfo;
import com.ruoyi.flowable.service.*;
import com.ruoyi.flowable.utils.*;
import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.ISysRoleService;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.system.api.service.ISysDeptServiceApi;
import com.ruoyi.system.api.service.ISysRoleServiceApi;
import com.ruoyi.system.api.service.ISysUserServiceApi;
import lombok.RequiredArgsConstructor;
import org.apache.commons.collections4.CollectionUtils;
import org.flowable.bpmn.BpmnAutoLayout;
@@ -94,13 +94,13 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
private final IWfTaskService wfTaskService;
@Lazy
private final ISysUserService sysUserService;
private final ISysUserServiceApi userServiceApi;
@Lazy
private final ISysRoleService sysRoleService;
private final ISysRoleServiceApi roleServiceApi;
@Lazy
private final ISysDeptService sysDeptService;
private final ISysDeptServiceApi deptServiceApi;
@Lazy
private final WfDeployFormMapper deployFormMapper;
@@ -360,7 +360,7 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult();
if (ObjectUtil.isNotNull(historicProcessInstance)) {
Long userId = Long.parseLong(historicProcessInstance.getStartUserId());
SysUser sysUser = sysUserService.selectUserById(userId);
SysUser sysUser = userServiceApi.selectUserById(userId);
String nickName = sysUser.getNickName();
flowTask.setStartUserId(userId);
flowTask.setStartUserName(nickName);
@@ -397,7 +397,7 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
// 流程发起人信息
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult();
Long userId = Long.parseLong(historicProcessInstance.getStartUserId());
SysUser sysUser = sysUserService.selectUserById(userId);
SysUser sysUser = userServiceApi.selectUserById(userId);
String nickName = sysUser.getNickName();
taskVo.setStartUserId(userId);
taskVo.setStartUserName(nickName);
@@ -448,7 +448,7 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult();
if (ObjectUtil.isNotNull(historicProcessInstance)) {
Long userId = Long.parseLong(historicProcessInstance.getStartUserId());
SysUser sysUser = sysUserService.selectUserById(userId);
SysUser sysUser = userServiceApi.selectUserById(userId);
String nickName = sysUser.getNickName();
flowTask.setStartUserId(userId);
flowTask.setStartUserName(nickName);
@@ -483,7 +483,7 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
// 流程发起人信息
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult();
Long userId = Long.parseLong(historicProcessInstance.getStartUserId());
SysUser sysUser = sysUserService.selectUserById(userId);
SysUser sysUser = userServiceApi.selectUserById(userId);
String nickName = sysUser.getNickName();
flowTask.setStartUserId(userId);
flowTask.setStartUserName(nickName);
@@ -551,7 +551,7 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery().processInstanceId(histTask.getProcessInstanceId()).singleResult();
if (ObjectUtil.isNotNull(historicProcessInstance)) {
Long userId = Long.parseLong(historicProcessInstance.getStartUserId());
SysUser sysUser = sysUserService.selectUserById(userId);
SysUser sysUser = userServiceApi.selectUserById(userId);
String nickName = sysUser.getNickName();
flowTask.setStartUserId(userId);
flowTask.setStartUserName(nickName);
@@ -596,7 +596,7 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
// 流程发起人信息
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery().processInstanceId(histTask.getProcessInstanceId()).singleResult();
Long userId = Long.parseLong(historicProcessInstance.getStartUserId());
SysUser sysUser = sysUserService.selectUserById(userId);
SysUser sysUser = userServiceApi.selectUserById(userId);
String nickName = sysUser.getNickName();
flowTask.setStartUserId(userId);
flowTask.setStartUserName(nickName);
@@ -1489,7 +1489,7 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
if (BpmnXMLConstants.ELEMENT_EVENT_START.equals(activityInstance.getActivityType())) {
if (ObjectUtil.isNotNull(historicProcIns)) {
Long userId = Long.parseLong(historicProcIns.getStartUserId());
SysUser sysUser = sysUserService.selectUserById(userId);
SysUser sysUser = userServiceApi.selectUserById(userId);
String nickName = sysUser.getNickName();
if (nickName != null) {
elementVo.setAssigneeId(userId);
@@ -1499,7 +1499,7 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
} else if (BpmnXMLConstants.ELEMENT_TASK_USER.equals(activityInstance.getActivityType())) {
if (StringUtils.isNotBlank(activityInstance.getAssignee())) {
Long userId = Long.parseLong(activityInstance.getAssignee());
SysUser sysUser = sysUserService.selectUserById(userId);
SysUser sysUser = userServiceApi.selectUserById(userId);
String nickName = sysUser.getNickName();
elementVo.setAssigneeId(userId);
elementVo.setAssigneeName(nickName);
@@ -1511,18 +1511,18 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
if ("candidate".equals(identityLink.getType())) {
if (StringUtils.isNotBlank(identityLink.getUserId())) {
Long userId = Long.parseLong(identityLink.getUserId());
SysUser sysUser = sysUserService.selectUserById(userId);
SysUser sysUser = userServiceApi.selectUserById(userId);
String nickName = sysUser.getNickName();
stringBuilder.append(nickName).append("," );
}
if (StringUtils.isNotBlank(identityLink.getGroupId())) {
if (identityLink.getGroupId().startsWith(TaskConstants.ROLE_GROUP_PREFIX)) {
Long roleId = Long.parseLong(StringUtils.stripStart(identityLink.getGroupId(), TaskConstants.ROLE_GROUP_PREFIX));
SysRole role = sysRoleService.selectRoleById(roleId);
SysRole role = roleServiceApi.selectRoleById(roleId);
stringBuilder.append(role.getRoleName()).append("," );
} else if (identityLink.getGroupId().startsWith(TaskConstants.DEPT_GROUP_PREFIX)) {
Long deptId = Long.parseLong(StringUtils.stripStart(identityLink.getGroupId(), TaskConstants.DEPT_GROUP_PREFIX));
SysDept dept = sysDeptService.selectDeptById(deptId);
SysDept dept = deptServiceApi.selectDeptById(deptId);
stringBuilder.append(dept.getDeptName()).append("," );
}
}

View File

@@ -9,15 +9,15 @@ import cn.hutool.core.util.StrUtil;
import com.google.common.collect.Lists;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.enums.ProcessStatus;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.flowable.api.domain.bo.WfTaskBo;
import com.ruoyi.flowable.constant.ProcessConstants;
import com.ruoyi.flowable.constant.TaskConstants;
import com.ruoyi.flowable.api.domain.bo.WfTaskBo;
import com.ruoyi.flowable.domain.msg.MessageSendWhenTaskCreatedReq;
import com.ruoyi.flowable.domain.vo.WfUserTaskVo;
import com.ruoyi.flowable.enums.FlowComment;
import com.ruoyi.common.enums.ProcessStatus;
import com.ruoyi.flowable.factory.FlowServiceFactory;
import com.ruoyi.flowable.flow.CustomProcessDiagramGenerator;
import com.ruoyi.flowable.flow.FlowableUtils;
@@ -28,7 +28,7 @@ import com.ruoyi.flowable.utils.ModelUtils;
import com.ruoyi.flowable.utils.NumberUtils;
import com.ruoyi.flowable.utils.StringUtils;
import com.ruoyi.flowable.utils.TaskUtils;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.system.api.service.ISysUserServiceApi;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
@@ -73,7 +73,7 @@ import java.util.stream.Collectors;
@Slf4j
public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskService {
private final ISysUserService sysUserService;
private final ISysUserServiceApi userServiceApi;
private final IWfCopyService copyService;
@@ -355,7 +355,7 @@ public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskServ
//collect_username转换成realname
List<String> newusername = new ArrayList<String>();
for (Long oldUser : collectUserIdList) {
SysUser sysUser = sysUserService.selectUserById(oldUser);
SysUser sysUser = userServiceApi.selectUserById(oldUser);
newusername.add(sysUser.getNickName());
}
@@ -424,7 +424,7 @@ public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskServ
sysUser.setUserId(Long.valueOf(startUserId));
return Lists.newArrayList(sysUser);
} else {
SysUser userByUsername = sysUserService.selectUserById(Long.parseLong(assignee));
SysUser userByUsername = userServiceApi.selectUserById(Long.parseLong(assignee));
return Lists.newArrayList(userByUsername);
}
@@ -432,7 +432,7 @@ public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskServ
List<String> candidateUsers = userTask.getCandidateUsers();
if (CollUtil.isNotEmpty(candidateUsers)) {
// 指定多人
List<SysUser> list = sysUserService.getAllUser();
List<SysUser> list = userServiceApi.getAllUser();
return list.stream().filter(o -> candidateUsers.contains(String.valueOf(o.getUserId()))).collect(Collectors.toList());
}
List<String> candidateGroups = userTask.getCandidateGroups();
@@ -440,7 +440,7 @@ public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskServ
// 指定多组
List<SysUser> userList = Lists.newArrayList();
for (String candidateGroup : candidateGroups) {
List<SysUser> usersByRoleId = sysUserService.getUserListByRoleId(candidateGroup);
List<SysUser> usersByRoleId = userServiceApi.getUserListByRoleId(candidateGroup);
userList.addAll(usersByRoleId);
}
return userList;
@@ -602,7 +602,7 @@ public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskServ
throw new ServiceException("获取任务失败!");
}
StringBuilder commentBuilder = new StringBuilder(SecurityUtils.getLoginUser().getUser().getNickName()).append("->");
SysUser sysUser = sysUserService.selectUserById(Long.parseLong(bo.getUserId()));
SysUser sysUser = userServiceApi.selectUserById(Long.parseLong(bo.getUserId()));
String nickName = sysUser.getNickName();
if (StringUtils.isNotBlank(nickName)) {
commentBuilder.append(nickName);
@@ -646,7 +646,7 @@ public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskServ
throw new ServiceException("获取任务失败!");
}
StringBuilder commentBuilder = new StringBuilder(SecurityUtils.getLoginUser().getUser().getNickName()).append("->");
SysUser sysUser = sysUserService.selectUserById(Long.parseLong(bo.getUserId()));
SysUser sysUser = userServiceApi.selectUserById(Long.parseLong(bo.getUserId()));
String nickName = sysUser.getNickName();
if (StringUtils.isNotBlank(nickName)) {
commentBuilder.append(nickName);
@@ -878,7 +878,7 @@ public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskServ
String userName = String.valueOf(SecurityUtils.getUserId());
String nickName = SecurityUtils.getLoginUser().getUser().getNickName();
String[] userIds = bo.getAddSignUsers().split(",");
List<SysUser> sysUserList = sysUserService.selectSysUserByUserIdList(Arrays.stream(userIds).mapToLong(Long::parseLong).toArray());
List<SysUser> sysUserList = userServiceApi.selectSysUserByUserIdList(Arrays.stream(userIds).mapToLong(Long::parseLong).toArray());
String nick = StrUtil.join(",", sysUserList.stream().map(SysUser::getNickName).collect(Collectors.toList()));
TaskEntityImpl taskEntity = (TaskEntityImpl) taskService.createTaskQuery().taskId(bo.getTaskId()).singleResult();
if (taskEntity != null) {
@@ -923,7 +923,7 @@ public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskServ
//遍历要加签的人
assigneeList.forEach(assignee -> {
//获取加签人名称
String assigneeName = sysUserService.selectUserById(Long.valueOf(assignee)).getNickName();
String assigneeName = userServiceApi.selectUserById(Long.valueOf(assignee)).getNickName();
assigneeNameList.add(assigneeName);
//定义参数
Map<String, Object> assigneeVariables = new HashMap<String, Object>(16);
@@ -946,7 +946,7 @@ public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskServ
String type = FlowComment.DSLJQ.getType();
if (ObjectUtil.isNotNull(bo.getParentTaskId())) {
List<SysUser> sysUserList = sysUserService.selectSysUserByUserIdList(Arrays.stream(userIds).mapToLong(Long::parseLong).toArray());
List<SysUser> sysUserList = userServiceApi.selectSysUserByUserIdList(Arrays.stream(userIds).mapToLong(Long::parseLong).toArray());
String nick = StrUtil.join(",", sysUserList.stream().map(SysUser::getNickName).collect(Collectors.toList()));
taskService.addComment(task.getParentTaskId(), processInstanceId, type, name + "加签原因加签人员【" + nick + "】:" + bo.getComment());
} else {

View File

@@ -23,6 +23,10 @@
<artifactId>ruoyi-common</artifactId>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-system-api</artifactId>
</dependency>
</dependencies>
</project>
</project>

View File

@@ -0,0 +1,43 @@
package com.ruoyi.system.api.impl;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.system.api.service.ISysDeptServiceApi;
import com.ruoyi.system.service.ISysDeptService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 部门管理API 服务实现
*
* @author fengcheng
*/
@Service
public class SysDeptServiceApiImpl implements ISysDeptServiceApi {
@Autowired
private ISysDeptService deptService;
/**
* 根据部门ID查询信息
*
* @param deptId 部门ID
* @return 部门信息
*/
@Override
public SysDept selectDeptById(Long deptId) {
return deptService.selectDeptById(deptId);
}
/**
* 获取下属部门
*
* @param deptId 部门ID
* @return 部门信息id集合
*/
@Override
public List<Long> selectBranchDeptId(Long deptId) {
return deptService.selectBranchDeptId(deptId);
}
}

View File

@@ -0,0 +1,30 @@
package com.ruoyi.system.api.impl;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.system.api.service.ISysRoleServiceApi;
import com.ruoyi.system.service.ISysRoleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* 角色API 服务实现
*
* @author fengcheng
*/
@Service
public class SysRoleServiceApiImpl implements ISysRoleServiceApi {
@Autowired
private ISysRoleService roleService;
/**
* 通过角色ID查询角色
*
* @param roleId 角色ID
* @return 角色对象信息
*/
@Override
public SysRole selectRoleById(Long roleId) {
return roleService.selectRoleById(roleId);
}
}

View File

@@ -0,0 +1,75 @@
package com.ruoyi.system.api.impl;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.system.api.service.ISysUserServiceApi;
import com.ruoyi.system.service.ISysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 用户API 服务实现
*
* @author fengcheng
*/
@Service
public class SysUserServiceApiImpl implements ISysUserServiceApi {
@Autowired
private ISysUserService userService;
/**
* 通过用户ID查询用户
*
* @param userId 用户ID
* @return 用户对象信息
*/
@Override
public SysUser selectUserById(Long userId) {
return userService.selectUserById(userId);
}
/**
* 根据部门id获取下所有人的userId
*
* @param deptId 部门id
* @return userId集合
*/
@Override
public List<Long> listUserIdByDeptId(Long deptId) {
return userService.listUserIdByDeptId(deptId);
}
/**
* 根据部门id获取下所有人的userId
*
* @param userIds 用户id集合
* @return 用户列表
*/
@Override
public List<SysUser> selectSysUserByUserIdList(long[] userIds) {
return userService.selectSysUserByUserIdList(userIds);
}
/**
* 获取所有用户列表
*
* @return 用户列表
*/
@Override
public List<SysUser> getAllUser() {
return userService.getAllUser();
}
/**
* 根据角色id获取用户列表
*
* @param roleId 角色id
* @return 用户列表
*/
@Override
public List<SysUser> getUserListByRoleId(String roleId) {
return userService.getUserListByRoleId(roleId);
}
}

View File

@@ -119,8 +119,8 @@ public interface SysDeptMapper
/**
* 获取下属部门
*
* @param deptId
* @return
* @param deptId 部门ID
* @return 部门信息id集合
*/
List<Long> selectBranchDeptId(Long deptId);
}

View File

@@ -128,23 +128,23 @@ public interface SysUserMapper
/**
* 获取所有用户列表
*
* @return
* @return 用户列表
*/
List<SysUser> getAllUser();
/**
* 根据角色id获取用户列表
*
* @param roleId
* @return
* @param roleId 角色id
* @return 用户列表
*/
List<SysUser> getUserListByRoleId(String roleId);
/**
* 根据部门id获取下所有人的userId
*
* @param userIds
* @return
* @param userIds 用户id集合
* @return 用户列表
*/
List<SysUser> selectSysUserByUserIdList(@Param("userIds") long[] userIds);
}

View File

@@ -2,18 +2,18 @@ package com.ruoyi.system.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.api.domain.SysUserRole;
/**
* 用户与角色关联表 数据层
*
*
* @author ruoyi
*/
public interface SysUserRoleMapper
{
/**
* 通过用户ID删除用户和角色关联
*
*
* @param userId 用户ID
* @return 结果
*/
@@ -21,7 +21,7 @@ public interface SysUserRoleMapper
/**
* 批量删除用户和角色关联
*
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@@ -29,7 +29,7 @@ public interface SysUserRoleMapper
/**
* 通过角色ID查询角色使用数量
*
*
* @param roleId 角色ID
* @return 结果
*/
@@ -37,7 +37,7 @@ public interface SysUserRoleMapper
/**
* 批量新增用户角色信息
*
*
* @param userRoleList 用户角色列表
* @return 结果
*/
@@ -45,7 +45,7 @@ public interface SysUserRoleMapper
/**
* 删除用户和角色关联信息
*
*
* @param userRole 用户和角色关联信息
* @return 结果
*/
@@ -53,7 +53,7 @@ public interface SysUserRoleMapper
/**
* 批量取消授权用户角色
*
*
* @param roleId 角色ID
* @param userIds 需要删除的用户数据ID
* @return 结果

View File

@@ -125,8 +125,8 @@ public interface ISysDeptService
/**
* 获取下属部门
*
* @param deptId
* @return
* @param deptId 部门ID
* @return 部门信息id集合
*/
List<Long> selectBranchDeptId(Long deptId);
}

View File

@@ -3,18 +3,18 @@ package com.ruoyi.system.service;
import java.util.List;
import java.util.Set;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.api.domain.SysUserRole;
/**
* 角色业务层
*
*
* @author ruoyi
*/
public interface ISysRoleService
{
/**
* 根据条件分页查询角色数据
*
*
* @param role 角色信息
* @return 角色数据集合信息
*/
@@ -22,7 +22,7 @@ public interface ISysRoleService
/**
* 根据用户ID查询角色列表
*
*
* @param userId 用户ID
* @return 角色列表
*/
@@ -30,7 +30,7 @@ public interface ISysRoleService
/**
* 根据用户ID查询角色权限
*
*
* @param userId 用户ID
* @return 权限列表
*/
@@ -38,14 +38,14 @@ public interface ISysRoleService
/**
* 查询所有角色
*
*
* @return 角色列表
*/
public List<SysRole> selectRoleAll();
/**
* 根据用户ID获取角色选择框列表
*
*
* @param userId 用户ID
* @return 选中角色ID列表
*/
@@ -53,7 +53,7 @@ public interface ISysRoleService
/**
* 通过角色ID查询角色
*
*
* @param roleId 角色ID
* @return 角色对象信息
*/
@@ -61,7 +61,7 @@ public interface ISysRoleService
/**
* 校验角色名称是否唯一
*
*
* @param role 角色信息
* @return 结果
*/
@@ -69,7 +69,7 @@ public interface ISysRoleService
/**
* 校验角色权限是否唯一
*
*
* @param role 角色信息
* @return 结果
*/
@@ -77,21 +77,21 @@ public interface ISysRoleService
/**
* 校验角色是否允许操作
*
*
* @param role 角色信息
*/
public void checkRoleAllowed(SysRole role);
/**
* 校验角色是否有数据权限
*
*
* @param roleIds 角色id
*/
public void checkRoleDataScope(Long... roleIds);
/**
* 通过角色ID查询角色使用数量
*
*
* @param roleId 角色ID
* @return 结果
*/
@@ -99,7 +99,7 @@ public interface ISysRoleService
/**
* 新增保存角色信息
*
*
* @param role 角色信息
* @return 结果
*/
@@ -107,7 +107,7 @@ public interface ISysRoleService
/**
* 修改保存角色信息
*
*
* @param role 角色信息
* @return 结果
*/
@@ -115,7 +115,7 @@ public interface ISysRoleService
/**
* 修改角色状态
*
*
* @param role 角色信息
* @return 结果
*/
@@ -123,7 +123,7 @@ public interface ISysRoleService
/**
* 修改数据权限信息
*
*
* @param role 角色信息
* @return 结果
*/
@@ -131,7 +131,7 @@ public interface ISysRoleService
/**
* 通过角色ID删除角色
*
*
* @param roleId 角色ID
* @return 结果
*/
@@ -139,7 +139,7 @@ public interface ISysRoleService
/**
* 批量删除角色信息
*
*
* @param roleIds 需要删除的角色ID
* @return 结果
*/
@@ -147,7 +147,7 @@ public interface ISysRoleService
/**
* 取消授权用户角色
*
*
* @param userRole 用户和角色关联信息
* @return 结果
*/
@@ -155,7 +155,7 @@ public interface ISysRoleService
/**
* 批量取消授权用户角色
*
*
* @param roleId 角色ID
* @param userIds 需要取消授权的用户数据ID
* @return 结果
@@ -164,7 +164,7 @@ public interface ISysRoleService
/**
* 批量选择授权用户角色
*
*
* @param roleId 角色ID
* @param userIds 需要删除的用户数据ID
* @return 结果

View File

@@ -1,15 +1,15 @@
package com.ruoyi.system.service;
import java.util.List;
import com.ruoyi.common.core.domain.entity.SysUser;
import java.util.List;
/**
* 用户 业务层
*
* @author ruoyi
*/
public interface ISysUserService
{
public interface ISysUserService {
/**
* 根据条件分页查询用户列表
*
@@ -131,7 +131,7 @@ public interface ISysUserService
/**
* 用户授权角色
*
* @param userId 用户ID
* @param userId 用户ID
* @param roleIds 角色组
*/
public void insertUserAuth(Long userId, Long[] roleIds);
@@ -156,7 +156,7 @@ public interface ISysUserService
* 修改用户头像
*
* @param userName 用户名
* @param avatar 头像地址
* @param avatar 头像地址
* @return 结果
*/
public boolean updateUserAvatar(String userName, String avatar);
@@ -197,9 +197,9 @@ public interface ISysUserService
/**
* 导入用户数据
*
* @param userList 用户数据列表
* @param userList 用户数据列表
* @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据
* @param operName 操作用户
* @param operName 操作用户
* @return 结果
*/
public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName);
@@ -207,31 +207,31 @@ public interface ISysUserService
/**
* 根据部门id获取下所有人的userId
*
* @param deptId
* @return
* @param deptId 部门id
* @return userId集合
*/
List<Long> listUserIdByDeptId(Long deptId);
/**
* 获取所有用户列表
*
* @return
* @return 用户列表
*/
List<SysUser> getAllUser();
/**
* 根据角色id获取用户列表
*
* @param roleId
* @return
* @param roleId 角色id
* @return 用户列表
*/
List<SysUser> getUserListByRoleId(String roleId);
/**
* 根据部门id获取下所有人的userId
*
* @param userIds
* @return
* @param userIds 用户id集合
* @return 用户列表
*/
List<SysUser> selectSysUserByUserIdList(long[] userIds);
}

View File

@@ -296,8 +296,8 @@ public class SysDeptServiceImpl implements ISysDeptService
/**
* 获取下属部门
*
* @param deptId
* @return
* @param deptId 部门ID
* @return 部门信息id集合
*/
@Override
public List<Long> selectBranchDeptId(Long deptId) {

View File

@@ -18,7 +18,7 @@ import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.system.domain.SysRoleDept;
import com.ruoyi.system.domain.SysRoleMenu;
import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.api.domain.SysUserRole;
import com.ruoyi.system.mapper.SysRoleDeptMapper;
import com.ruoyi.system.mapper.SysRoleMapper;
import com.ruoyi.system.mapper.SysRoleMenuMapper;
@@ -27,7 +27,7 @@ import com.ruoyi.system.service.ISysRoleService;
/**
* 角色 业务层处理
*
*
* @author ruoyi
*/
@Service
@@ -47,7 +47,7 @@ public class SysRoleServiceImpl implements ISysRoleService
/**
* 根据条件分页查询角色数据
*
*
* @param role 角色信息
* @return 角色数据集合信息
*/
@@ -60,7 +60,7 @@ public class SysRoleServiceImpl implements ISysRoleService
/**
* 根据用户ID查询角色
*
*
* @param userId 用户ID
* @return 角色列表
*/
@@ -85,7 +85,7 @@ public class SysRoleServiceImpl implements ISysRoleService
/**
* 根据用户ID查询权限
*
*
* @param userId 用户ID
* @return 权限列表
*/
@@ -106,7 +106,7 @@ public class SysRoleServiceImpl implements ISysRoleService
/**
* 查询所有角色
*
*
* @return 角色列表
*/
@Override
@@ -117,7 +117,7 @@ public class SysRoleServiceImpl implements ISysRoleService
/**
* 根据用户ID获取角色选择框列表
*
*
* @param userId 用户ID
* @return 选中角色ID列表
*/
@@ -129,7 +129,7 @@ public class SysRoleServiceImpl implements ISysRoleService
/**
* 通过角色ID查询角色
*
*
* @param roleId 角色ID
* @return 角色对象信息
*/
@@ -141,7 +141,7 @@ public class SysRoleServiceImpl implements ISysRoleService
/**
* 校验角色名称是否唯一
*
*
* @param role 角色信息
* @return 结果
*/
@@ -159,7 +159,7 @@ public class SysRoleServiceImpl implements ISysRoleService
/**
* 校验角色权限是否唯一
*
*
* @param role 角色信息
* @return 结果
*/
@@ -177,7 +177,7 @@ public class SysRoleServiceImpl implements ISysRoleService
/**
* 校验角色是否允许操作
*
*
* @param role 角色信息
*/
@Override
@@ -191,7 +191,7 @@ public class SysRoleServiceImpl implements ISysRoleService
/**
* 校验角色是否有数据权限
*
*
* @param roleIds 角色id
*/
@Override
@@ -214,7 +214,7 @@ public class SysRoleServiceImpl implements ISysRoleService
/**
* 通过角色ID查询角色使用数量
*
*
* @param roleId 角色ID
* @return 结果
*/
@@ -226,7 +226,7 @@ public class SysRoleServiceImpl implements ISysRoleService
/**
* 新增保存角色信息
*
*
* @param role 角色信息
* @return 结果
*/
@@ -241,7 +241,7 @@ public class SysRoleServiceImpl implements ISysRoleService
/**
* 修改保存角色信息
*
*
* @param role 角色信息
* @return 结果
*/
@@ -258,7 +258,7 @@ public class SysRoleServiceImpl implements ISysRoleService
/**
* 修改角色状态
*
*
* @param role 角色信息
* @return 结果
*/
@@ -270,7 +270,7 @@ public class SysRoleServiceImpl implements ISysRoleService
/**
* 修改数据权限信息
*
*
* @param role 角色信息
* @return 结果
*/
@@ -288,7 +288,7 @@ public class SysRoleServiceImpl implements ISysRoleService
/**
* 新增角色菜单信息
*
*
* @param role 角色对象
*/
public int insertRoleMenu(SysRole role)
@@ -336,7 +336,7 @@ public class SysRoleServiceImpl implements ISysRoleService
/**
* 通过角色ID删除角色
*
*
* @param roleId 角色ID
* @return 结果
*/
@@ -353,7 +353,7 @@ public class SysRoleServiceImpl implements ISysRoleService
/**
* 批量删除角色信息
*
*
* @param roleIds 需要删除的角色ID
* @return 结果
*/
@@ -380,7 +380,7 @@ public class SysRoleServiceImpl implements ISysRoleService
/**
* 取消授权用户角色
*
*
* @param userRole 用户和角色关联信息
* @return 结果
*/
@@ -392,7 +392,7 @@ public class SysRoleServiceImpl implements ISysRoleService
/**
* 批量取消授权用户角色
*
*
* @param roleId 角色ID
* @param userIds 需要取消授权的用户数据ID
* @return 结果
@@ -405,7 +405,7 @@ public class SysRoleServiceImpl implements ISysRoleService
/**
* 批量选择授权用户角色
*
*
* @param roleId 角色ID
* @param userIds 需要授权的用户数据ID
* @return 结果

View File

@@ -11,7 +11,7 @@ import com.ruoyi.common.utils.bean.BeanValidators;
import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.system.domain.SysPost;
import com.ruoyi.system.domain.SysUserPost;
import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.api.domain.SysUserRole;
import com.ruoyi.system.mapper.*;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.ISysDeptService;
@@ -494,8 +494,8 @@ public class SysUserServiceImpl implements ISysUserService {
/**
* 根据部门id获取下所有人的userId
*
* @param deptId
* @return
* @param deptId 部门id
* @return userId集合
*/
@Override
public List<Long> listUserIdByDeptId(Long deptId) {
@@ -508,7 +508,7 @@ public class SysUserServiceImpl implements ISysUserService {
/**
* 获取所有用户列表
*
* @return
* @return 用户列表
*/
@Override
public List<SysUser> getAllUser() {
@@ -518,8 +518,8 @@ public class SysUserServiceImpl implements ISysUserService {
/**
* 根据角色id获取用户列表
*
* @param roleId
* @return
* @param roleId 角色id
* @return 用户列表
*/
@Override
public List<SysUser> getUserListByRoleId(String roleId) {
@@ -529,8 +529,8 @@ public class SysUserServiceImpl implements ISysUserService {
/**
* 根据部门id获取下所有人的userId
*
* @param userIds
* @return
* @param userIds 用户id集合
* @return 用户列表
*/
@Override
public List<SysUser> selectSysUserByUserIdList(long[] userIds) {