package com.seecoder.dataanalysis.analysis.impl; import cn.seecoder.bok.common.vo.QuestionVO; import com.seecoder.dataanalysis.analysis.DevcloudDataAnalysisService; import com.seecoder.dataanalysis.analysis.DisplayService; import com.seecoder.dataanalysis.analysis.EvalDataAnalysisService; import com.seecoder.dataanalysis.analysis.RecommendService; import com.seecoder.dataanalysis.data.dao.devcloud.DevcloudInfoDao; 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.DevcloudInfo; 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 com.seecoder.dataanalysis.data.entity.eval.display.FormatQuestion; import com.seecoder.dataanalysis.logic.question.QuestionService; 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 DevcloudInfoDao devcloudInfoDao; @Autowired private DevcloudDataAnalysisService devcloudDataAnalysisService; @Autowired private RecommendService recommendService; @Autowired private QuestionService questionService; @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); } @Override public List getRecommendQuestions(int user_id){ List questionIds = recommendService.getRecommendById(user_id); List res = new ArrayList<>(); for(String id : questionIds){ QuestionVO question = questionService.getQuestionById(id); res.add(question); } return res; } @Override public List getAllDevcloudInfo(){ List devcloudInfos = devcloudInfoDao.findAll(); return devcloudInfos; } }