DisplayServiceImpl.java 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. package com.seecoder.dataanalysis.analysis.impl;
  2. import cn.seecoder.bok.common.vo.QuestionVO;
  3. import com.seecoder.dataanalysis.analysis.DevcloudDataAnalysisService;
  4. import com.seecoder.dataanalysis.analysis.DisplayService;
  5. import com.seecoder.dataanalysis.analysis.EvalDataAnalysisService;
  6. import com.seecoder.dataanalysis.analysis.RecommendService;
  7. import com.seecoder.dataanalysis.data.dao.devcloud.DevcloudInfoDao;
  8. import com.seecoder.dataanalysis.data.dao.devcloud.DevcloudUserDao;
  9. import com.seecoder.dataanalysis.data.dao.devcloud.ProjectRelateDao;
  10. import com.seecoder.dataanalysis.data.dao.eval.UserDao;
  11. import com.seecoder.dataanalysis.data.entity.devcloud.DevcloudInfo;
  12. import com.seecoder.dataanalysis.data.entity.devcloud.DevcloudUser;
  13. import com.seecoder.dataanalysis.data.entity.devcloud.ProjectRelate;
  14. import com.seecoder.dataanalysis.data.entity.devcloud.display.FormatGroup;
  15. import com.seecoder.dataanalysis.data.entity.eval.User;
  16. import com.seecoder.dataanalysis.data.entity.eval.display.FormatQuestion;
  17. import com.seecoder.dataanalysis.logic.question.QuestionService;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.stereotype.Service;
  20. import java.util.ArrayList;
  21. import java.util.List;
  22. import java.util.Optional;
  23. @Service
  24. public class DisplayServiceImpl implements DisplayService {
  25. @Autowired
  26. private UserDao userDao;
  27. // @Autowired
  28. // private ProjectRelateDao projectRelateDao;
  29. @Autowired
  30. private DevcloudUserDao devcloudUserDao;
  31. @Autowired
  32. private DevcloudInfoDao devcloudInfoDao;
  33. @Autowired
  34. private DevcloudDataAnalysisService devcloudDataAnalysisService;
  35. @Autowired
  36. private RecommendService recommendService;
  37. @Autowired
  38. private QuestionService questionService;
  39. @Override
  40. public List<User> getAllUsers(){
  41. List<User> users = userDao.findAll();
  42. return users;
  43. }
  44. @Override
  45. public List<User> getAllDevcloudUsers(){
  46. List<DevcloudUser> devcloudUsers = devcloudUserDao.findAll();
  47. List<User> users = new ArrayList<>();
  48. for(DevcloudUser devcloudUser:devcloudUsers){
  49. Optional<User> result = userDao.findById(devcloudUser.getUserId());
  50. if(!result.isPresent()){
  51. continue;
  52. }
  53. User user = userDao.findByUserId(devcloudUser.getUserId());
  54. users.add(user);
  55. }
  56. return users;
  57. }
  58. @Override
  59. public FormatGroup getGroupAnalysisById(Integer user_id){
  60. Optional<DevcloudUser> result = devcloudUserDao.findById(user_id);
  61. if(!result.isPresent()){
  62. System.out.println("找不到用户的项目");
  63. return null;
  64. }
  65. DevcloudUser devcloudUser = devcloudUserDao.findById(user_id).get();
  66. List<Integer> projectIds = devcloudUser.getProjectIds();
  67. // //如果用户只有一个项目
  68. // if(projectIds.size()==1){
  69. // devcloudDataAnalysisService.getGroupAnalysis(projectIds.get(0));
  70. // }
  71. Integer project_id = projectIds.get(0);
  72. // for(int projectId : projectIds){
  73. // Optional<ProjectRelate> result1 = projectRelateDao.findById(projectId);
  74. // if(!result1.isPresent()){
  75. // continue;
  76. // }else {
  77. // project_id = projectId;
  78. // break;
  79. // }
  80. // }
  81. return devcloudDataAnalysisService.getGroupAnalysis(project_id);
  82. }
  83. @Override
  84. public List<QuestionVO> getRecommendQuestions(int user_id){
  85. List<String> questionIds = recommendService.getRecommendById(user_id);
  86. List<QuestionVO> res = new ArrayList<>();
  87. for(String id : questionIds){
  88. QuestionVO question = questionService.getQuestionById(id);
  89. res.add(question);
  90. }
  91. return res;
  92. }
  93. @Override
  94. public List<DevcloudInfo> getAllDevcloudInfo(){
  95. List<DevcloudInfo> devcloudInfos = devcloudInfoDao.findAll();
  96. return devcloudInfos;
  97. }
  98. }