package com.seecoder.dataanalysis.analysis.impl; import com.seecoder.dataanalysis.analysis.DevcloudDataAnalysisService; import com.seecoder.dataanalysis.analysis.DisplayService; import com.seecoder.dataanalysis.data.dao.devcloud.DevcloudUserDao; import com.seecoder.dataanalysis.data.dao.devcloud.ProjectRelateDao; import com.seecoder.dataanalysis.data.dao.eval.UserDao; import com.seecoder.dataanalysis.data.entity.devcloud.DevcloudUser; import com.seecoder.dataanalysis.data.entity.devcloud.ProjectRelate; import com.seecoder.dataanalysis.data.entity.devcloud.display.FormatGroup; import com.seecoder.dataanalysis.data.entity.eval.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import java.util.Optional; @Service public class DisplayServiceImpl implements DisplayService { @Autowired private UserDao userDao; @Autowired private ProjectRelateDao projectRelateDao; @Autowired private DevcloudUserDao devcloudUserDao; @Autowired private DevcloudDataAnalysisService devcloudDataAnalysisService; @Override public List getAllUsers(){ List users = userDao.findAll(); return users; } @Override public List getAllDevcloudUsers(){ List devcloudUsers = devcloudUserDao.findAll(); List users = new ArrayList<>(); for(DevcloudUser devcloudUser:devcloudUsers){ Optional result = userDao.findById(devcloudUser.getUserId()); if(!result.isPresent()){ continue; } User user = userDao.findByUserId(devcloudUser.getUserId()); users.add(user); } return users; } @Override public FormatGroup getGroupAnalysisById(Integer user_id){ Optional result = devcloudUserDao.findById(user_id); if(!result.isPresent()){ System.out.println("找不到用户的项目"); return null; } DevcloudUser devcloudUser = devcloudUserDao.findById(user_id).get(); List projectIds = devcloudUser.getProjectIds(); //如果用户只有一个项目 if(projectIds.size()==1){ devcloudDataAnalysisService.getGroupAnalysis(projectIds.get(0)); } Integer project_id = projectIds.get(0); for(int projectId : projectIds){ Optional result1 = projectRelateDao.findById(projectId); if(!result1.isPresent()){ continue; }else { project_id = projectId; break; } } return devcloudDataAnalysisService.getGroupAnalysis(project_id); } }