🐛 修复自选审批节点在我的发起里面查看的 NPE 问题
(cherry picked from commit 4105af1c013af5bea824e3ac485b6b6482e06d46)
This commit is contained in:
1 parent
946dcdaf99
commit
a78682d49f
1 file changed
+219
-221
+219
-221
@@ -32,272 +32,270 @@ import java.util.stream.Collectors;
|
|||||||
*/
|
*/
|
||||||
public class NodeFormatUtil {
|
public class NodeFormatUtil {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 格式化流程节点显示
|
* 格式化流程节点显示
|
||||||
* @param node
|
*
|
||||||
* @param completeNodeSet
|
* @param node
|
||||||
* @param continueNodeSet
|
* @param completeNodeSet
|
||||||
* @param processInstanceId
|
* @param continueNodeSet
|
||||||
* @param paramMap
|
* @param processInstanceId
|
||||||
*/
|
* @param paramMap
|
||||||
@SneakyThrows
|
*/
|
||||||
public static List<NodeVo> formatProcessNodeShow(Node node, Set<String> completeNodeSet,
|
@SneakyThrows
|
||||||
Set<String> continueNodeSet, String processInstanceId, Map<String, Object> paramMap) {
|
public static List<NodeVo> formatProcessNodeShow(Node node, Set<String> completeNodeSet,
|
||||||
List<NodeVo> list = new ArrayList<>();
|
Set<String> continueNodeSet, String processInstanceId, Map<String, Object> paramMap) {
|
||||||
|
List<NodeVo> list = new ArrayList<>();
|
||||||
|
|
||||||
if (!NodeUtil.isNode(node)) {
|
if (!NodeUtil.isNode(node)) {
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
String name = node.getName();
|
String name = node.getName();
|
||||||
Integer type = node.getType();
|
Integer type = node.getType();
|
||||||
|
|
||||||
// SELF_SELECT
|
// SELF_SELECT
|
||||||
|
|
||||||
NodeVo nodeVo = new NodeVo();
|
NodeVo nodeVo = new NodeVo();
|
||||||
nodeVo.setId(node.getId());
|
nodeVo.setId(node.getId());
|
||||||
nodeVo.setName(name);
|
nodeVo.setName(name);
|
||||||
nodeVo.setType(type);
|
nodeVo.setType(type);
|
||||||
nodeVo.setStatus(NodeStatusEnum.WKS.getCode());
|
nodeVo.setStatus(NodeStatusEnum.WKS.getCode());
|
||||||
if (completeNodeSet.contains(node.getId())) {
|
if (completeNodeSet.contains(node.getId())) {
|
||||||
nodeVo.setStatus(NodeStatusEnum.YJS.getCode());
|
nodeVo.setStatus(NodeStatusEnum.YJS.getCode());
|
||||||
|
|
||||||
}
|
}
|
||||||
if (continueNodeSet.contains(node.getId())) {
|
if (continueNodeSet.contains(node.getId())) {
|
||||||
nodeVo.setStatus(NodeStatusEnum.JXZ.getCode());
|
nodeVo.setStatus(NodeStatusEnum.JXZ.getCode());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
nodeVo.setPlaceholder(node.getPlaceHolder());
|
||||||
|
}
|
||||||
|
|
||||||
nodeVo.setPlaceholder(node.getPlaceHolder());
|
List<UserVo> userVoList = new ArrayList<>();
|
||||||
|
if (type == NodeTypeEnum.APPROVAL.getValue().intValue()) {
|
||||||
|
|
||||||
}
|
Integer assignedType = node.getAssignedType();
|
||||||
|
|
||||||
List<UserVo> userVoList = new ArrayList<>();
|
boolean selfSelect = assignedType == ProcessInstanceConstant.AssignedTypeClass.SELF_SELECT;
|
||||||
if (type == NodeTypeEnum.APPROVAL.getValue().intValue()) {
|
nodeVo.setSelectUser(selfSelect);
|
||||||
|
if (selfSelect) {
|
||||||
|
nodeVo.setMultiple(node.getMultiple());
|
||||||
|
}
|
||||||
|
|
||||||
Integer assignedType = node.getAssignedType();
|
// 用户列表
|
||||||
|
if (StrUtil.isNotBlank(processInstanceId)) {
|
||||||
|
IProcessNodeRecordAssignUserService processNodeRecordAssignUserService = SpringUtil
|
||||||
|
.getBean(IProcessNodeRecordAssignUserService.class);
|
||||||
|
List<ProcessNodeRecordAssignUser> processNodeRecordAssignUserList = processNodeRecordAssignUserService
|
||||||
|
.lambdaQuery()
|
||||||
|
.eq(ProcessNodeRecordAssignUser::getNodeId, node.getId())
|
||||||
|
.eq(ProcessNodeRecordAssignUser::getProcessInstanceId, processInstanceId)
|
||||||
|
.orderByAsc(ProcessNodeRecordAssignUser::getCreateTime)
|
||||||
|
.list();
|
||||||
|
Map<String, List<ProcessNodeRecordAssignUser>> map = processNodeRecordAssignUserList.stream()
|
||||||
|
.collect(Collectors.groupingBy(ProcessNodeRecordAssignUser::getTaskId));
|
||||||
|
|
||||||
boolean selfSelect = assignedType == ProcessInstanceConstant.AssignedTypeClass.SELF_SELECT;
|
for (Map.Entry<String, List<ProcessNodeRecordAssignUser>> entry : map.entrySet()) {
|
||||||
nodeVo.setSelectUser(selfSelect);
|
List<ProcessNodeRecordAssignUser> value = entry.getValue();
|
||||||
if (selfSelect) {
|
List<UserVo> collect = value.stream().map(w -> {
|
||||||
nodeVo.setMultiple(node.getMultiple());
|
UserVo userVo = buildUser(Long.parseLong(w.getUserId()));
|
||||||
}
|
userVo.setShowTime(w.getEndTime());
|
||||||
|
userVo.setApproveDesc(w.getApproveDesc());
|
||||||
|
userVo.setStatus(w.getStatus());
|
||||||
|
userVo.setOperType(w.getTaskType());
|
||||||
|
return userVo;
|
||||||
|
}).toList();
|
||||||
|
userVoList.addAll(collect);
|
||||||
|
}
|
||||||
|
|
||||||
// 用户列表
|
if (processNodeRecordAssignUserList.isEmpty()) {
|
||||||
if (StrUtil.isNotBlank(processInstanceId)) {
|
if (assignedType == ProcessInstanceConstant.AssignedTypeClass.SELF) {
|
||||||
IProcessNodeRecordAssignUserService processNodeRecordAssignUserService = SpringUtil
|
// 发起人自己
|
||||||
.getBean(IProcessNodeRecordAssignUserService.class);
|
userVoList.addAll(CollUtil.newArrayList(buildRootUser(processInstanceId)));
|
||||||
List<ProcessNodeRecordAssignUser> processNodeRecordAssignUserList = processNodeRecordAssignUserService
|
}
|
||||||
.lambdaQuery()
|
if (assignedType == ProcessInstanceConstant.AssignedTypeClass.SELF_SELECT) {
|
||||||
.eq(ProcessNodeRecordAssignUser::getNodeId, node.getId())
|
// 发起人自选
|
||||||
.eq(ProcessNodeRecordAssignUser::getProcessInstanceId, processInstanceId)
|
Object variable = paramMap.get(StrUtil.format("{}_assignee_select", node.getId()));
|
||||||
.orderByAsc(ProcessNodeRecordAssignUser::getCreateTime)
|
|
||||||
.list();
|
|
||||||
Map<String, List<ProcessNodeRecordAssignUser>> map = processNodeRecordAssignUserList.stream()
|
|
||||||
.collect(Collectors.groupingBy(ProcessNodeRecordAssignUser::getTaskId));
|
|
||||||
|
|
||||||
for (Map.Entry<String, List<ProcessNodeRecordAssignUser>> entry : map.entrySet()) {
|
ObjectMapper objectMapper = SpringUtil.getBean(ObjectMapper.class);
|
||||||
List<ProcessNodeRecordAssignUser> value = entry.getValue();
|
List<NodeUser> nodeUserDtos = objectMapper.readValue(objectMapper.writeValueAsString(variable),
|
||||||
List<UserVo> collect = value.stream().map(w -> {
|
new TypeReference<>() {
|
||||||
UserVo userVo = buildUser(Long.parseLong(w.getUserId()));
|
});
|
||||||
userVo.setShowTime(w.getEndTime());
|
|
||||||
userVo.setApproveDesc(w.getApproveDesc());
|
|
||||||
userVo.setStatus(w.getStatus());
|
|
||||||
userVo.setOperType(w.getTaskType());
|
|
||||||
return userVo;
|
|
||||||
}).toList();
|
|
||||||
userVoList.addAll(collect);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (processNodeRecordAssignUserList.isEmpty()) {
|
if (CollUtil.isNotEmpty(nodeUserDtos)) {
|
||||||
if (assignedType == ProcessInstanceConstant.AssignedTypeClass.SELF) {
|
List<Long> collect = nodeUserDtos.stream().map(w -> Long.valueOf(w.getId())).toList();
|
||||||
// 发起人自己
|
for (Long aLong : collect) {
|
||||||
userVoList.addAll(CollUtil.newArrayList(buildRootUser(processInstanceId)));
|
UserVo userVo = buildUser(aLong);
|
||||||
}
|
userVoList.addAll(CollUtil.newArrayList(userVo));
|
||||||
if (assignedType == ProcessInstanceConstant.AssignedTypeClass.SELF_SELECT) {
|
}
|
||||||
// 发起人自选
|
}
|
||||||
Object variable = paramMap.get(StrUtil.format("{}_assignee_select", node.getId()));
|
|
||||||
|
|
||||||
ObjectMapper objectMapper = SpringUtil.getBean(ObjectMapper.class);
|
}
|
||||||
List<NodeUser> nodeUserDtos = objectMapper.readValue(objectMapper.writeValueAsString(variable),
|
}
|
||||||
new TypeReference<>() {
|
|
||||||
});
|
|
||||||
|
|
||||||
List<Long> collect = nodeUserDtos.stream().map(w -> Long.valueOf(w.getId())).toList();
|
} else if (assignedType == ProcessInstanceConstant.AssignedTypeClass.USER) {
|
||||||
for (Long aLong : collect) {
|
// 指定用户
|
||||||
UserVo userVo = buildUser(aLong);
|
|
||||||
userVoList.addAll(CollUtil.newArrayList(userVo));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
List<NodeUser> nodeUserList = node.getNodeUserList();
|
||||||
else if (assignedType == ProcessInstanceConstant.AssignedTypeClass.USER) {
|
List<UserVo> tempList = buildUser(nodeUserList);
|
||||||
// 指定用户
|
userVoList.addAll(tempList);
|
||||||
|
|
||||||
List<NodeUser> nodeUserList = node.getNodeUserList();
|
} else if (assignedType == ProcessInstanceConstant.AssignedTypeClass.FORM_USER) {
|
||||||
List<UserVo> tempList = buildUser(nodeUserList);
|
// 表单人员
|
||||||
userVoList.addAll(tempList);
|
String formUser = node.getFormUserId();
|
||||||
|
|
||||||
}
|
Object o = paramMap.get(formUser);
|
||||||
else if (assignedType == ProcessInstanceConstant.AssignedTypeClass.FORM_USER) {
|
if (o != null) {
|
||||||
// 表单人员
|
ObjectMapper objectMapper = SpringUtil.getBean(ObjectMapper.class);
|
||||||
String formUser = node.getFormUserId();
|
String jsonString = objectMapper.writeValueAsString(o);
|
||||||
|
if (StrUtil.isNotBlank(jsonString)) {
|
||||||
|
List<NodeUser> nodeUserDtoList = objectMapper.readValue(jsonString, new TypeReference<>() {
|
||||||
|
});
|
||||||
|
List<Long> userIdList = nodeUserDtoList.stream().map(NodeUser::getId).toList();
|
||||||
|
for (Long aLong : userIdList) {
|
||||||
|
userVoList.addAll(CollUtil.newArrayList(buildUser(aLong)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Object o = paramMap.get(formUser);
|
} else if (assignedType == ProcessInstanceConstant.AssignedTypeClass.SELF) {
|
||||||
if (o != null) {
|
// 发起人自己
|
||||||
ObjectMapper objectMapper = SpringUtil.getBean(ObjectMapper.class);
|
userVoList.addAll(CollUtil.newArrayList(buildUser(SecurityUtils.getUser().getId())));
|
||||||
String jsonString = objectMapper.writeValueAsString(o);
|
}
|
||||||
if (StrUtil.isNotBlank(jsonString)) {
|
|
||||||
List<NodeUser> nodeUserDtoList = objectMapper.readValue(jsonString, new TypeReference<>() {
|
|
||||||
});
|
|
||||||
List<Long> userIdList = nodeUserDtoList.stream().map(NodeUser::getId).toList();
|
|
||||||
for (Long aLong : userIdList) {
|
|
||||||
userVoList.addAll(CollUtil.newArrayList(buildUser(aLong)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
} else if (Objects.equals(node.getType(), NodeTypeEnum.ROOT.getValue())) {
|
||||||
else if (assignedType == ProcessInstanceConstant.AssignedTypeClass.SELF) {
|
// 发起节点
|
||||||
// 发起人自己
|
if (StrUtil.isBlank(processInstanceId)) {
|
||||||
userVoList.addAll(CollUtil.newArrayList(buildUser(SecurityUtils.getUser().getId())));
|
UserVo userVo = buildUser(SecurityUtils.getUser().getId());
|
||||||
}
|
userVoList.addAll(CollUtil.newArrayList(userVo));
|
||||||
|
} else {
|
||||||
|
|
||||||
}
|
IProcessInstanceRecordService processInstanceRecordService = SpringUtil
|
||||||
else if (Objects.equals(node.getType(), NodeTypeEnum.ROOT.getValue())) {
|
.getBean(IProcessInstanceRecordService.class);
|
||||||
// 发起节点
|
ProcessInstanceRecord processInstanceRecord = processInstanceRecordService.lambdaQuery()
|
||||||
if (StrUtil.isBlank(processInstanceId)) {
|
.eq(ProcessInstanceRecord::getProcessInstanceId, processInstanceId)
|
||||||
UserVo userVo = buildUser(SecurityUtils.getUser().getId());
|
.one();
|
||||||
userVoList.addAll(CollUtil.newArrayList(userVo));
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
|
|
||||||
IProcessInstanceRecordService processInstanceRecordService = SpringUtil
|
UserVo userVo = buildRootUser(processInstanceId);
|
||||||
.getBean(IProcessInstanceRecordService.class);
|
userVo.setShowTime(processInstanceRecord.getCreateTime());
|
||||||
ProcessInstanceRecord processInstanceRecord = processInstanceRecordService.lambdaQuery()
|
userVo.setStatus(NodeStatusEnum.YJS.getCode());
|
||||||
.eq(ProcessInstanceRecord::getProcessInstanceId, processInstanceId)
|
userVoList.addAll(CollUtil.newArrayList(userVo));
|
||||||
.one();
|
|
||||||
|
|
||||||
UserVo userVo = buildRootUser(processInstanceId);
|
}
|
||||||
userVo.setShowTime(processInstanceRecord.getCreateTime());
|
} else if (node.getType() == NodeTypeEnum.CC.getValue()) {
|
||||||
userVo.setStatus(NodeStatusEnum.YJS.getCode());
|
// 抄送节点
|
||||||
userVoList.addAll(CollUtil.newArrayList(userVo));
|
|
||||||
|
|
||||||
}
|
List<NodeUser> nodeUserList = node.getNodeUserList();
|
||||||
}
|
|
||||||
else if (node.getType() == NodeTypeEnum.CC.getValue()) {
|
|
||||||
// 抄送节点
|
|
||||||
|
|
||||||
List<NodeUser> nodeUserList = node.getNodeUserList();
|
List<UserVo> tempList = buildUser(nodeUserList);
|
||||||
|
userVoList.addAll(tempList);
|
||||||
|
|
||||||
List<UserVo> tempList = buildUser(nodeUserList);
|
}
|
||||||
userVoList.addAll(tempList);
|
nodeVo.setUserVoList(userVoList);
|
||||||
|
|
||||||
}
|
List<NodeVo> branchList = new ArrayList<>();
|
||||||
nodeVo.setUserVoList(userVoList);
|
|
||||||
|
|
||||||
List<NodeVo> branchList = new ArrayList<>();
|
if (type == NodeTypeEnum.EXCLUSIVE_GATEWAY.getValue().intValue()
|
||||||
|
|| type == NodeTypeEnum.PARALLEL_GATEWAY.getValue().intValue()) {
|
||||||
|
// 条件分支
|
||||||
|
List<Node> branchs = node.getConditionNodes();
|
||||||
|
|
||||||
if (type == NodeTypeEnum.EXCLUSIVE_GATEWAY.getValue().intValue()
|
for (Node branch : branchs) {
|
||||||
|| type == NodeTypeEnum.PARALLEL_GATEWAY.getValue().intValue()) {
|
Node children = branch.getChildren();
|
||||||
// 条件分支
|
List<NodeVo> processNodeShowDtos = formatProcessNodeShow(children, completeNodeSet, continueNodeSet,
|
||||||
List<Node> branchs = node.getConditionNodes();
|
processInstanceId, paramMap);
|
||||||
|
|
||||||
for (Node branch : branchs) {
|
NodeVo p = new NodeVo();
|
||||||
Node children = branch.getChildren();
|
p.setChildren(processNodeShowDtos);
|
||||||
List<NodeVo> processNodeShowDtos = formatProcessNodeShow(children, completeNodeSet, continueNodeSet,
|
|
||||||
processInstanceId, paramMap);
|
|
||||||
|
|
||||||
NodeVo p = new NodeVo();
|
p.setPlaceholder(branch.getPlaceHolder());
|
||||||
p.setChildren(processNodeShowDtos);
|
branchList.add(p);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
nodeVo.setBranch(branchList);
|
||||||
|
|
||||||
p.setPlaceholder(branch.getPlaceHolder());
|
list.add(nodeVo);
|
||||||
branchList.add(p);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
nodeVo.setBranch(branchList);
|
|
||||||
|
|
||||||
list.add(nodeVo);
|
List<NodeVo> next = formatProcessNodeShow(node.getChildren(), completeNodeSet, continueNodeSet,
|
||||||
|
processInstanceId, paramMap);
|
||||||
|
list.addAll(next);
|
||||||
|
|
||||||
List<NodeVo> next = formatProcessNodeShow(node.getChildren(), completeNodeSet, continueNodeSet,
|
return list;
|
||||||
processInstanceId, paramMap);
|
}
|
||||||
list.addAll(next);
|
|
||||||
|
|
||||||
return list;
|
/**
|
||||||
}
|
* 根据实例id
|
||||||
|
*
|
||||||
|
* @param processInstanceId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private static UserVo buildRootUser(String processInstanceId) {
|
||||||
|
|
||||||
/**
|
IProcessInstanceRecordService processInstanceRecordService = SpringUtil
|
||||||
* 根据实例id
|
.getBean(IProcessInstanceRecordService.class);
|
||||||
* @param processInstanceId
|
ProcessInstanceRecord processInstanceRecord = processInstanceRecordService.lambdaQuery()
|
||||||
* @return
|
.eq(ProcessInstanceRecord::getProcessInstanceId, processInstanceId)
|
||||||
*/
|
.one();
|
||||||
private static UserVo buildRootUser(String processInstanceId) {
|
Long userId = processInstanceRecord.getUserId();
|
||||||
|
UserVo userVo = buildUser(userId);
|
||||||
|
return userVo;
|
||||||
|
}
|
||||||
|
|
||||||
IProcessInstanceRecordService processInstanceRecordService = SpringUtil
|
/**
|
||||||
.getBean(IProcessInstanceRecordService.class);
|
* 根据用户id
|
||||||
ProcessInstanceRecord processInstanceRecord = processInstanceRecordService.lambdaQuery()
|
*
|
||||||
.eq(ProcessInstanceRecord::getProcessInstanceId, processInstanceId)
|
* @param userId
|
||||||
.one();
|
* @return
|
||||||
Long userId = processInstanceRecord.getUserId();
|
*/
|
||||||
UserVo userVo = buildUser(userId);
|
private static UserVo buildUser(long userId) {
|
||||||
return userVo;
|
if (ProcessInstanceConstant.DEFAULT_EMPTY_ASSIGN == userId) {
|
||||||
}
|
return UserVo.builder().id(userId).build();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
RemoteUserService userService = SpringUtil.getBean(RemoteUserService.class);
|
||||||
* 根据用户id
|
SysUser user = userService.getUserById(userId).getData();
|
||||||
* @param userId
|
if (user == null) {
|
||||||
* @return
|
return null;
|
||||||
*/
|
}
|
||||||
private static UserVo buildUser(long userId) {
|
|
||||||
if (ProcessInstanceConstant.DEFAULT_EMPTY_ASSIGN == userId){
|
|
||||||
return UserVo.builder().id(userId).build();
|
|
||||||
}
|
|
||||||
|
|
||||||
RemoteUserService userService = SpringUtil.getBean(RemoteUserService.class);
|
return UserVo.builder().id(userId).name(user.getName()).avatar(user.getAvatar()).build();
|
||||||
SysUser user = userService.getUserById(userId).getData();
|
}
|
||||||
if (user == null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return UserVo.builder().id(userId).name(user.getName()).avatar(user.getAvatar()).build();
|
private static List<UserVo> buildUser(List<NodeUser> nodeUserList) {
|
||||||
}
|
List<UserVo> userVoList = new ArrayList<>();
|
||||||
|
// 用户id
|
||||||
|
List<Long> userIdList = nodeUserList.stream()
|
||||||
|
.filter(w -> StrUtil.equals(w.getType(), NodeUserTypeEnum.USER.getKey()))
|
||||||
|
.map(w -> Convert.toLong(w.getId()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
// 部门id
|
||||||
|
List<Long> deptIdList = nodeUserList.stream()
|
||||||
|
.filter(w -> StrUtil.equals(w.getType(), NodeUserTypeEnum.DEPT.getKey()))
|
||||||
|
.map(w -> Convert.toLong(w.getId()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
private static List<UserVo> buildUser(List<NodeUser> nodeUserList) {
|
if (CollUtil.isNotEmpty(deptIdList)) {
|
||||||
List<UserVo> userVoList = new ArrayList<>();
|
|
||||||
// 用户id
|
|
||||||
List<Long> userIdList = nodeUserList.stream()
|
|
||||||
.filter(w -> StrUtil.equals(w.getType(), NodeUserTypeEnum.USER.getKey()))
|
|
||||||
.map(w -> Convert.toLong(w.getId()))
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
// 部门id
|
|
||||||
List<Long> deptIdList = nodeUserList.stream()
|
|
||||||
.filter(w -> StrUtil.equals(w.getType(), NodeUserTypeEnum.DEPT.getKey()))
|
|
||||||
.map(w -> Convert.toLong(w.getId()))
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
|
|
||||||
if (CollUtil.isNotEmpty(deptIdList)) {
|
IRemoteService iRemoteService = SpringUtil.getBean(IRemoteService.class);
|
||||||
|
|
||||||
IRemoteService iRemoteService = SpringUtil.getBean(IRemoteService.class);
|
List<Long> data = iRemoteService.queryUserIdListByDepIdList(deptIdList).getData();
|
||||||
|
|
||||||
List<Long> data = iRemoteService.queryUserIdListByDepIdList(deptIdList).getData();
|
if (CollUtil.isNotEmpty(data)) {
|
||||||
|
for (long datum : data) {
|
||||||
if (CollUtil.isNotEmpty(data)) {
|
if (!userIdList.contains(datum)) {
|
||||||
for (long datum : data) {
|
userIdList.add(datum);
|
||||||
if (!userIdList.contains(datum)) {
|
}
|
||||||
userIdList.add(datum);
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
{
|
||||||
}
|
for (Long aLong : userIdList) {
|
||||||
{
|
userVoList.addAll(CollUtil.newArrayList(buildUser(aLong)));
|
||||||
for (Long aLong : userIdList) {
|
}
|
||||||
userVoList.addAll(CollUtil.newArrayList(buildUser(aLong)));
|
}
|
||||||
}
|
return userVoList;
|
||||||
}
|
}
|
||||||
return userVoList;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user