getRelyMoudleName()方法把得到的id字符串分割开来,分别查询到id对应的依赖模块名称,再把所有查询到的名称连成字符串输出
public ListgetMgProjectBoList(Page mgProjects){ //new一个list对象 List MgProjectBoList = null; //如果页面查到的项目总条数不为空,则创建新的项目list if(!mgProjects.getContent().isEmpty()){ MgProjectBoList = new ArrayList<>(); //遍历查询到的项目数据,得到操作人的id,根据id查询操作人信息 for(MgProject m:mgProjects.getContent()){ Integer id = m.getOperator().intValue(); ActUser user = userDAO.findById(id).orElse(null); //todo 6,3,2 处理成 张三,李四,王五 , String stakeholder= getStakeholderName(m.getStakeholder()); String relyModule = getRelyModuleName(m.getRelyModule()); //如果操作人存在,不为空,new一个输出类, if(!user.getAccount().isEmpty()){ MgProjectBo projectBo = new MgProjectBo(); projectBo.setId(m.getId()); projectBo.setProjectName(m.getProjectName()); projectBo.setProjectCode(m.getProjectCode()); projectBo.setRelyModule(relyModule); //projectBo.setStakeholder(s.getName()); projectBo.setStakeholder(stakeholder); projectBo.setTemplateNum(m.getTemplateNum()); projectBo.setIsDel(m.getIsDel()); projectBo.setOperator(user.getUsername()); projectBo.setCreateDate(m.getCreateDate()); MgProjectBoList.add(projectBo); } } } return MgProjectBoList; }
private String getRelyModuleName(String relyModule) {
//StringBuilder构造方法构造一个字符串生成器
StringBuilder stringBuilder = new StringBuilder();
//StringUtils工具包 如果得到的依赖模块不为空
if(StringUtils.isNotBlank(relyModule)){
//String类中split()方法,给定一个正则,根据该正则切割字符串
String[] str = relyModule.split(",");
//对于所有查询到的项目id值,查询项目名
for (String s:str) {
MgProject mgProject = projectRepository.findById(Long.valueOf(s)).orElse(null);
//如果项目名不为空
if (Objects.nonNull(mgProject)){
//使用stringBuilder.append方法,将字符串追加到当前StringBuilder实例的结尾
stringBuilder.append(mgProject.getProjectName()+"、");
}
}
//从结果StringBuilder对象中优雅删除最后一个“、 ”
stringBuilder.setLength(stringBuilder.length() - 1);
}
//将当前StringBuilder对象转换为String对象
return stringBuilder.toString();
}



