From 5d15287b2a06f978485ac6af71e33e1a82b43a65 Mon Sep 17 00:00:00 2001 From: kimi <kimi42345@gmail.com> Date: 星期三, 15 四月 2020 16:29:55 +0800 Subject: [PATCH] fix 上传后生成版本连接池用完不释放问题 --- src/main/java/com/highdatas/mdm/service/impl/FlowsServiceImpl.java | 25 ++++++++++++++++--------- 1 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/highdatas/mdm/service/impl/FlowsServiceImpl.java b/src/main/java/com/highdatas/mdm/service/impl/FlowsServiceImpl.java index 87fb86e..525dcf4 100644 --- a/src/main/java/com/highdatas/mdm/service/impl/FlowsServiceImpl.java +++ b/src/main/java/com/highdatas/mdm/service/impl/FlowsServiceImpl.java @@ -1,16 +1,16 @@ package com.highdatas.mdm.service.impl; import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.highdatas.mdm.entity.Flows; import com.highdatas.mdm.entity.MaintainField; -import com.highdatas.mdm.entity.TUserRole; import com.highdatas.mdm.mapper.FlowsMapper; import com.highdatas.mdm.mapper.SysFieldMapper; import com.highdatas.mdm.pojo.ActivitiBusinessType; import com.highdatas.mdm.pojo.ActivitiStatus; import com.highdatas.mdm.pojo.NextTaskUserInfo; import com.highdatas.mdm.service.*; -import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.highdatas.mdm.service.act.IdentityService; import com.highdatas.mdm.service.act.TaskService; import com.highdatas.mdm.util.DbUtils; import org.apache.commons.lang3.StringUtils; @@ -41,6 +41,8 @@ IMasterModifiedService masterModifiedService; @Autowired IMaintainService maintainService; + @Autowired + IdentityService identityService; @Override public MaintainField createNowVerion(String tableName, String maintainId, String userId) { @@ -76,16 +78,21 @@ if (nestTaskAssignee == null){ return false; } - String taskAssigneeUserId = nestTaskAssignee.getUserId(); - if (!StringUtils.isEmpty(taskAssigneeUserId)){ - return taskAssigneeUserId.equalsIgnoreCase(userId); + List<String> userIdList = nestTaskAssignee.getUserIdList(); + if (userIdList.contains(userId)) { + return true; } - String roleId = nestTaskAssignee.getRoleId(); - if (StringUtils.isEmpty(roleId)) { + + List<String> roleIdList = nestTaskAssignee.getRoleIdList(); + if (roleIdList == null || roleIdList.isEmpty()) { return false; } - List<TUserRole> userRoles = userRoleService.selectList(new EntityWrapper<TUserRole>().eq("role_id", roleId)); - long count = userRoles.stream().map(tUserRole -> tUserRole.getUserId()).filter(s -> s.equalsIgnoreCase(userId)).count(); + + List<String> roleByUser = identityService.getRoleByUser(userId); + if (roleByUser == null || roleByUser.isEmpty()) { + return false; + } + long count = roleByUser.stream().filter(roleId -> roleIdList.contains(roleId)).count(); if (count == 0) { return false; }else { -- Gitblit v1.8.0