DisplayServiceImpl.java 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package com.seecoder.dataanalysis.analysis.impl;
  2. import com.seecoder.dataanalysis.analysis.DevcloudDataAnalysisService;
  3. import com.seecoder.dataanalysis.analysis.DisplayService;
  4. import com.seecoder.dataanalysis.data.dao.devcloud.DevcloudUserDao;
  5. import com.seecoder.dataanalysis.data.dao.devcloud.ProjectRelateDao;
  6. import com.seecoder.dataanalysis.data.dao.eval.UserDao;
  7. import com.seecoder.dataanalysis.data.entity.devcloud.DevcloudUser;
  8. import com.seecoder.dataanalysis.data.entity.devcloud.ProjectRelate;
  9. import com.seecoder.dataanalysis.data.entity.devcloud.display.FormatGroup;
  10. import com.seecoder.dataanalysis.data.entity.eval.User;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.stereotype.Service;
  13. import java.util.ArrayList;
  14. import java.util.List;
  15. import java.util.Optional;
  16. @Service
  17. public class DisplayServiceImpl implements DisplayService {
  18. @Autowired
  19. private UserDao userDao;
  20. @Autowired
  21. private ProjectRelateDao projectRelateDao;
  22. @Autowired
  23. private DevcloudUserDao devcloudUserDao;
  24. @Autowired
  25. private DevcloudDataAnalysisService devcloudDataAnalysisService;
  26. @Override
  27. public List<User> getAllUsers(){
  28. List<User> users = userDao.findAll();
  29. return users;
  30. }
  31. @Override
  32. public List<User> getAllDevcloudUsers(){
  33. List<DevcloudUser> devcloudUsers = devcloudUserDao.findAll();
  34. List<User> users = new ArrayList<>();
  35. for(DevcloudUser devcloudUser:devcloudUsers){
  36. Optional<User> result = userDao.findById(devcloudUser.getUserId());
  37. if(!result.isPresent()){
  38. continue;
  39. }
  40. User user = userDao.findByUserId(devcloudUser.getUserId());
  41. users.add(user);
  42. }
  43. return users;
  44. }
  45. @Override
  46. public FormatGroup getGroupAnalysisById(Integer user_id){
  47. Optional<DevcloudUser> result = devcloudUserDao.findById(user_id);
  48. if(!result.isPresent()){
  49. System.out.println("找不到用户的项目");
  50. return null;
  51. }
  52. DevcloudUser devcloudUser = devcloudUserDao.findById(user_id).get();
  53. List<Integer> projectIds = devcloudUser.getProjectIds();
  54. //如果用户只有一个项目
  55. if(projectIds.size()==1){
  56. devcloudDataAnalysisService.getGroupAnalysis(projectIds.get(0));
  57. }
  58. Integer project_id = projectIds.get(0);
  59. for(int projectId : projectIds){
  60. Optional<ProjectRelate> result1 = projectRelateDao.findById(projectId);
  61. if(!result1.isPresent()){
  62. continue;
  63. }else {
  64. project_id = projectId;
  65. break;
  66. }
  67. }
  68. return devcloudDataAnalysisService.getGroupAnalysis(project_id);
  69. }
  70. }