فهرست منبع

feat: 修改关联逻辑并测试

181250114 3 سال پیش
والد
کامیت
321fe81b68

+ 35 - 15
src/main/java/com/seecoder/dataanalysis/analysis/impl/DevcloudDataAnalysisServiceImpl.java

@@ -401,6 +401,7 @@ public class DevcloudDataAnalysisServiceImpl implements DevcloudDataAnalysisServ
 
         //处理完项目-用户关系,现在处理用户-项目关系
         //所有的devcloudUser都在此处创建
+
         DevcloudUser devcloudUser;
 
         Optional<DevcloudUser> result1 = devcloudUserDao.findById(userId);
@@ -737,22 +738,25 @@ public class DevcloudDataAnalysisServiceImpl implements DevcloudDataAnalysisServ
     public FormatGroup getGroupAnalysis(Integer project_id){
         //暂时不存在GroupId,先使用ProjectId代替
         FormatGroup formatGroup = new FormatGroup();
+        //记录该小组拥有的所有项目的id
         List<Integer> projectList = new ArrayList<>();
+        //记录所有项目的信息,用于小组项目信息展示
         List<Project> projects = new ArrayList<>();
-        Integer projectAId = project_id;
-        Integer projectBId;
-        Optional<ProjectRelate> result1 = projectRelateDao.findById(project_id);
-        if(!result1.isPresent()){
-            System.out.println("没有找到关联项目");
-        }else {
-            projectBId = projectRelateDao.findById(project_id).get().getRelateId();
-            projectList.add(projectBId);
-            projects.add(projectDao.findById(projectBId).get());
-        }
 
-        projectList.add(projectAId);
+//        Integer projectAId = project_id;
+//        Integer projectBId;
+//        Optional<ProjectRelate> result1 = projectRelateDao.findById(project_id);
+//        if(!result1.isPresent()){
+//            System.out.println("没有找到关联项目");
+//        }else {
+//            projectBId = projectRelateDao.findById(project_id).get().getRelateId();
+//            projectList.add(projectBId);
+//            projects.add(projectDao.findById(projectBId).get());
+//        }
 
-        projects.add(projectDao.findById(projectAId).get());
+        //先将传入的project加入List
+        projectList.add(project_id);
+        projects.add(projectDao.findById(project_id).get());
 
         Optional<DevcloudProject> result2 = devcloudProjectDao.findById(project_id);
         if(!result2.isPresent()){
@@ -762,13 +766,29 @@ public class DevcloudDataAnalysisServiceImpl implements DevcloudDataAnalysisServ
 
         List<Integer> userIds = devcloudProjectDao.findById(project_id).get().getUserIds();
 
+        //遍历加入项目中所有成员下拥有的项目,得到该小组所有的项目
+        for(Integer userId : userIds){
+            Optional<DevcloudUser> result = devcloudUserDao.findById(userId);
+            if(!result.isPresent()){
+                continue;
+            }else {
+                List<Integer> proIds = devcloudUserDao.findById(userId).get().getProjectIds();
+                for(Integer proId : proIds){
+                    if(!projectList.contains(proId)){
+                        projectList.add(proId);
+                        projects.add(projectDao.findById(proId).get());
+                    }
+                }
+            }
+        }
+
+        //将所有的成员信息加入
         List<User> users = new ArrayList<>();
         for(int i=0;i<userIds.size();i++){
             Integer userId = userIds.get(i);
             users.add(userDao.findByUserId(userId));
         }
         int n = userIds.size();
-//        System.out.println("n: "+n);
 
         formatGroup.setProjects(projects);
         formatGroup.setStudents(users);
@@ -799,8 +819,8 @@ public class DevcloudDataAnalysisServiceImpl implements DevcloudDataAnalysisServ
         //记录小组不同成员的treeNode贡献
         int[] treeNodeTimes = new int[n];
 
-        //
-        for(int i=0;i<projects.size();i++){
+        //遍历所有的项目,将整体信息作为小组的分析情况
+        for(int i=0;i<projectList.size();i++){
             Integer projectId = projectList.get(i);
             DevcloudInfo devcloudInfo;
             Optional<DevcloudInfo> result3 = devcloudInfoDao.findById(projectId);

+ 15 - 15
src/main/java/com/seecoder/dataanalysis/analysis/impl/DisplayServiceImpl.java

@@ -27,8 +27,8 @@ import java.util.Optional;
 public class DisplayServiceImpl implements DisplayService {
     @Autowired
     private UserDao userDao;
-    @Autowired
-    private ProjectRelateDao projectRelateDao;
+//    @Autowired
+//    private ProjectRelateDao projectRelateDao;
     @Autowired
     private DevcloudUserDao devcloudUserDao;
     @Autowired
@@ -72,22 +72,22 @@ public class DisplayServiceImpl implements DisplayService {
         DevcloudUser devcloudUser = devcloudUserDao.findById(user_id).get();
         List<Integer> projectIds = devcloudUser.getProjectIds();
 
-        //如果用户只有一个项目
-        if(projectIds.size()==1){
-            devcloudDataAnalysisService.getGroupAnalysis(projectIds.get(0));
-        }
+//        //如果用户只有一个项目
+//        if(projectIds.size()==1){
+//            devcloudDataAnalysisService.getGroupAnalysis(projectIds.get(0));
+//        }
 
         Integer project_id = projectIds.get(0);
 
-        for(int projectId : projectIds){
-            Optional<ProjectRelate> result1 = projectRelateDao.findById(projectId);
-            if(!result1.isPresent()){
-                continue;
-            }else {
-                project_id = projectId;
-                break;
-            }
-        }
+//        for(int projectId : projectIds){
+//            Optional<ProjectRelate> result1 = projectRelateDao.findById(projectId);
+//            if(!result1.isPresent()){
+//                continue;
+//            }else {
+//                project_id = projectId;
+//                break;
+//            }
+//        }
 
         return devcloudDataAnalysisService.getGroupAnalysis(project_id);
     }

+ 78 - 41
src/test/java/com/seecoder/dataanalysis/devcloud/impl/DevcloudDataAnalysisServiceImplTest.java

@@ -58,8 +58,8 @@ public class DevcloudDataAnalysisServiceImplTest {
     private DevcloudUserDao devcloudUserDao;
     @Autowired
     private DevcloudProjectDao devcloudProjectDao;
-    @Autowired
-    private ProjectRelateDao projectRelateDao;
+//    @Autowired
+//    private ProjectRelateDao projectRelateDao;
     @Autowired
     private DevcloudController devcloudController;
 
@@ -333,11 +333,11 @@ public class DevcloudDataAnalysisServiceImplTest {
         devcloudProjectDao.save(devcloudProject1);
         devcloudProjectDao.save(devcloudProject2);
 
-        ProjectRelate projectRelate1 = new ProjectRelate();
-        projectRelate1.setProjectId(2959);
-        projectRelate1.setRelateId(2958);
-
-        projectRelateDao.save(projectRelate1);
+//        ProjectRelate projectRelate1 = new ProjectRelate();
+//        projectRelate1.setProjectId(2959);
+//        projectRelate1.setRelateId(2958);
+//
+//        projectRelateDao.save(projectRelate1);
 
         System.out.println(displayService.getGroupAnalysisById(1566));
     }
@@ -380,11 +380,11 @@ public class DevcloudDataAnalysisServiceImplTest {
         devcloudProjectDao.save(devcloudProject1);
         devcloudProjectDao.save(devcloudProject2);
 
-        ProjectRelate projectRelate1 = new ProjectRelate();
-        projectRelate1.setProjectId(3048);
-        projectRelate1.setRelateId(3049);
-
-        projectRelateDao.save(projectRelate1);
+//        ProjectRelate projectRelate1 = new ProjectRelate();
+//        projectRelate1.setProjectId(3048);
+//        projectRelate1.setRelateId(3049);
+//
+//        projectRelateDao.save(projectRelate1);
 
         System.out.println(displayService.getGroupAnalysisById(1709));
     }
@@ -427,11 +427,11 @@ public class DevcloudDataAnalysisServiceImplTest {
         devcloudProjectDao.save(devcloudProject1);
         devcloudProjectDao.save(devcloudProject2);
 
-        ProjectRelate projectRelate1 = new ProjectRelate();
-        projectRelate1.setProjectId(3071);
-        projectRelate1.setRelateId(3072);
-
-        projectRelateDao.save(projectRelate1);
+//        ProjectRelate projectRelate1 = new ProjectRelate();
+//        projectRelate1.setProjectId(3071);
+//        projectRelate1.setRelateId(3072);
+//
+//        projectRelateDao.save(projectRelate1);
 
         System.out.println(displayService.getGroupAnalysisById(1594 ));
     }
@@ -474,11 +474,11 @@ public class DevcloudDataAnalysisServiceImplTest {
         devcloudProjectDao.save(devcloudProject1);
         devcloudProjectDao.save(devcloudProject2);
 
-        ProjectRelate projectRelate1 = new ProjectRelate();
-        projectRelate1.setProjectId(3056);
-        projectRelate1.setRelateId(3058);
-
-        projectRelateDao.save(projectRelate1);
+//        ProjectRelate projectRelate1 = new ProjectRelate();
+//        projectRelate1.setProjectId(3056);
+//        projectRelate1.setRelateId(3058);
+//
+//        projectRelateDao.save(projectRelate1);
 
         System.out.println(displayService.getGroupAnalysisById(1609 ));
     }
@@ -521,11 +521,11 @@ public class DevcloudDataAnalysisServiceImplTest {
         devcloudProjectDao.save(devcloudProject1);
         devcloudProjectDao.save(devcloudProject2);
 
-        ProjectRelate projectRelate1 = new ProjectRelate();
-        projectRelate1.setProjectId(3004);
-        projectRelate1.setRelateId(3003);
-
-        projectRelateDao.save(projectRelate1);
+//        ProjectRelate projectRelate1 = new ProjectRelate();
+//        projectRelate1.setProjectId(3004);
+//        projectRelate1.setRelateId(3003);
+//
+//        projectRelateDao.save(projectRelate1);
 
         System.out.println(displayService.getGroupAnalysisById(1712 ));
     }
@@ -568,15 +568,15 @@ public class DevcloudDataAnalysisServiceImplTest {
         devcloudProjectDao.save(devcloudProject1);
         devcloudProjectDao.save(devcloudProject2);
 
-        ProjectRelate projectRelate1 = new ProjectRelate();
-        projectRelate1.setProjectId(2976);
-        projectRelate1.setRelateId(2975);
-
-//        ProjectRelate projectRelate2 = new ProjectRelate();
-//        projectRelate2.setProjectId(2975);
-//        projectRelate2.setRelateId(2976);
-
-        projectRelateDao.save(projectRelate1);
+//        ProjectRelate projectRelate1 = new ProjectRelate();
+//        projectRelate1.setProjectId(2976);
+//        projectRelate1.setRelateId(2975);
+//
+////        ProjectRelate projectRelate2 = new ProjectRelate();
+////        projectRelate2.setProjectId(2975);
+////        projectRelate2.setRelateId(2976);
+//
+//        projectRelateDao.save(projectRelate1);
 
         System.out.println(displayService.getGroupAnalysisById(1583));
 //        System.out.println(devcloudDataAnalysisService.getStudentAnalysis(1583));
@@ -620,11 +620,11 @@ public class DevcloudDataAnalysisServiceImplTest {
         devcloudProjectDao.save(devcloudProject1);
         devcloudProjectDao.save(devcloudProject2);
 
-        ProjectRelate projectRelate1 = new ProjectRelate();
-        projectRelate1.setProjectId(2980);
-        projectRelate1.setRelateId(2982);
-
-        projectRelateDao.save(projectRelate1);
+//        ProjectRelate projectRelate1 = new ProjectRelate();
+//        projectRelate1.setProjectId(2980);
+//        projectRelate1.setRelateId(2982);
+//
+//        projectRelateDao.save(projectRelate1);
 
         System.out.println(displayService.getGroupAnalysisById(1622 ));
     }
@@ -671,4 +671,41 @@ public class DevcloudDataAnalysisServiceImplTest {
         return Math.sqrt(dVar/(m-1));
 //        return Math.sqrt(dVar/m);
     }
+
+    @Test
+    void testNewRelate(){
+
+        RelateProjectDTO relateProjectDTO1 = new RelateProjectDTO();
+        relateProjectDTO1.setProjectAId(10001);
+        relateProjectDTO1.setProjectBId(10002);
+
+        RelateProjectDTO relateProjectDTO2 = new RelateProjectDTO();
+        relateProjectDTO2.setProjectAId(10002);
+        relateProjectDTO2.setProjectBId(10003);
+
+        AddProjectDTO addProjectDTO1 = new AddProjectDTO();
+        addProjectDTO1.setProjectId(10001);
+        addProjectDTO1.setUserId(123);
+
+        AddProjectDTO addProjectDTO2 = new AddProjectDTO();
+        addProjectDTO2.setProjectId(10001);
+        addProjectDTO2.setUserId(1234);
+
+        AddProjectDTO addProjectDTO3 = new AddProjectDTO();
+        addProjectDTO3.setProjectId(10002);
+        addProjectDTO3.setUserId(12345);
+
+        AddProjectDTO addProjectDTO4 = new AddProjectDTO();
+        addProjectDTO4.setProjectId(10003);
+        addProjectDTO4.setUserId(123456);
+
+        devcloudDataAnalysisService.updateDevInfoType109(relateProjectDTO1);
+//        devcloudDataAnalysisService.updateDevInfoType109(relateProjectDTO2);
+        devcloudDataAnalysisService.updateDevInfoType108(addProjectDTO1);
+        devcloudDataAnalysisService.updateDevInfoType108(addProjectDTO2);
+        devcloudDataAnalysisService.updateDevInfoType108(addProjectDTO3);
+        devcloudDataAnalysisService.updateDevInfoType108(addProjectDTO4);
+        devcloudDataAnalysisService.updateDevInfoType109(relateProjectDTO2);
+
+    }
 }