fix:78420

This commit is contained in:
梁琦涛
2023-11-10 17:30:22 +08:00
parent 5ee0324cdb
commit 6551e8a9ab
2 changed files with 22 additions and 3 deletions
@@ -81,4 +81,10 @@ public class LawsWorkingGroup implements Serializable {
@TableField(exist = false)
private List<LawsWorkingGroup> subset;
/**
* 真实姓名(用户名)
*/
@TableField(exist = false)
private String userName;
}
@@ -5,6 +5,9 @@ import com.jero.common.constant.CommonConstant;
import com.jero.modules.sys.entity.LawsWorkingGroup;
import com.jero.modules.sys.mapper.LawsWorkingGroupMapper;
import com.jero.modules.sys.service.ILawsWorkingGroupService;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -15,6 +18,8 @@ import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import javax.annotation.Resource;
/**
* @Description: 内部工作组
@@ -26,6 +31,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@Transactional(rollbackFor = JeroBootException.class)
public class LawsWorkingGroupServiceImpl extends ServiceImpl<LawsWorkingGroupMapper, LawsWorkingGroup> implements ILawsWorkingGroupService {
@Resource
private ISysUserService sysUserService;
/**
* 列表查询
*/
@@ -149,21 +157,26 @@ public class LawsWorkingGroupServiceImpl extends ServiceImpl<LawsWorkingGroupMap
return new ArrayList<>();
}
List<LawsWorkingGroup> treeList = new ArrayList<>();
List<SysUser> listSysUser = sysUserService.list();
for (LawsWorkingGroup group : list) {
if (StringUtils.isBlank(group.getPid())) {
group.setLevel(1);
addChildGroups(group, list);
addChildGroups(group, list, listSysUser);
treeList.add(group);
}
}
return treeList;
}
private void addChildGroups(LawsWorkingGroup parentGroup, List<LawsWorkingGroup> list) {
private void addChildGroups(LawsWorkingGroup parentGroup, List<LawsWorkingGroup> list, List<SysUser> listSysUser) {
List<LawsWorkingGroup> childGroups = new ArrayList<>();
for (LawsWorkingGroup group : list) {
if (StringUtils.isNotBlank(group.getPid()) && parentGroup.getId().equals(group.getPid())) {
group.setLevel(parentGroup.getLevel() + 1);
addChildGroups(group, list);
if(!CollectionUtils.isEmpty(listSysUser) && !StringUtils.isBlank(group.getUserId())){
Optional<SysUser> op = listSysUser.stream().filter(o->Objects.equals(o.getId(),group.getUserId())).findFirst();
op.ifPresent(sysUser -> group.setUserName(sysUser.getRealname() + "(" + sysUser.getUsername() + ")"));
}
addChildGroups(group, list, listSysUser);
childGroups.add(group);
}
}