Просмотр исходного кода

fix: 修改bonus的小数位数

181250114 4 лет назад
Родитель
Сommit
229673afa5

+ 1 - 1
src/main/java/com/seecoder/dataanalysis/analysis/impl/DevcloudScoreServiceImpl.java

@@ -289,7 +289,7 @@ public class DevcloudScoreServiceImpl implements DevcloudScoreService {
         }else {
             formatScoreMain.setTotalScore(Double.valueOf(df.format(ori[targetIndex])));
         }
-        formatScoreMain.setBonus(bonusScore.get(user_id));
+        formatScoreMain.setBonus(Double.valueOf(df.format(bonusScore.get(user_id))));
 
         return formatScoreMain;
     }

+ 239 - 0
src/test/java/com/seecoder/dataanalysis/devcloud/impl/DevcloudDataAnalysisServiceImplTest.java

@@ -3,6 +3,7 @@ package com.seecoder.dataanalysis.devcloud.impl;
 import com.alibaba.fastjson.JSONObject;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.seecoder.dataanalysis.analysis.DevcloudDataAnalysisService;
+import com.seecoder.dataanalysis.analysis.DevcloudScoreService;
 import com.seecoder.dataanalysis.analysis.DisplayService;
 import com.seecoder.dataanalysis.controller.DevcloudController;
 import com.seecoder.dataanalysis.data.dao.devcloud.DevcloudInfoDao;
@@ -48,6 +49,8 @@ public class DevcloudDataAnalysisServiceImplTest {
     @Autowired
     private DisplayService displayService;
     @Autowired
+    private DevcloudScoreService devcloudScoreService;
+    @Autowired
     private DevcloudInfoDao devcloudInfoDao;
     @Autowired
     private UserDao userDao;
@@ -432,4 +435,240 @@ public class DevcloudDataAnalysisServiceImplTest {
 
         System.out.println(displayService.getGroupAnalysisById(1594 ));
     }
+
+    @Test
+    void analyzeGroup3(){
+        List<Integer> projectIds = new ArrayList<>();
+        projectIds.add(3056);
+        projectIds.add(3058);
+        DevcloudUser devcloudUser1 = new DevcloudUser();
+        devcloudUser1.setUserId(1609);
+        devcloudUser1.setProjectIds(projectIds);
+        DevcloudUser devcloudUser2 = new DevcloudUser();
+        devcloudUser2.setUserId(1728);
+        devcloudUser2.setProjectIds(projectIds);
+        DevcloudUser devcloudUser3 = new DevcloudUser();
+        devcloudUser3.setUserId(1859);
+        devcloudUser3.setProjectIds(projectIds);
+        DevcloudUser devcloudUser4 = new DevcloudUser();
+        devcloudUser4.setUserId(1676);
+        devcloudUser4.setProjectIds(projectIds);
+
+        devcloudUserDao.save(devcloudUser1);
+        devcloudUserDao.save(devcloudUser2);
+        devcloudUserDao.save(devcloudUser3);
+        devcloudUserDao.save(devcloudUser4);
+
+        List<Integer> members = new ArrayList<>();
+        members.add(1609);
+        members.add(1728);
+        members.add(1859);
+        members.add(1676);
+        DevcloudProject devcloudProject1 = new DevcloudProject();
+        devcloudProject1.setProjectId(3056);
+        devcloudProject1.setUserIds(members);
+        DevcloudProject devcloudProject2 = new DevcloudProject();
+        devcloudProject2.setProjectId(3058);
+        devcloudProject2.setUserIds(members);
+
+        devcloudProjectDao.save(devcloudProject1);
+        devcloudProjectDao.save(devcloudProject2);
+
+        ProjectRelate projectRelate1 = new ProjectRelate();
+        projectRelate1.setProjectId(3056);
+        projectRelate1.setRelateId(3058);
+
+        projectRelateDao.save(projectRelate1);
+
+        System.out.println(displayService.getGroupAnalysisById(1609 ));
+    }
+
+    @Test
+    void analyzeGroup4(){
+        List<Integer> projectIds = new ArrayList<>();
+        projectIds.add(3004);
+        projectIds.add(3003);
+        DevcloudUser devcloudUser1 = new DevcloudUser();
+        devcloudUser1.setUserId(1712);
+        devcloudUser1.setProjectIds(projectIds);
+        DevcloudUser devcloudUser2 = new DevcloudUser();
+        devcloudUser2.setUserId(1742);
+        devcloudUser2.setProjectIds(projectIds);
+        DevcloudUser devcloudUser3 = new DevcloudUser();
+        devcloudUser3.setUserId(1689);
+        devcloudUser3.setProjectIds(projectIds);
+        DevcloudUser devcloudUser4 = new DevcloudUser();
+        devcloudUser4.setUserId(1677);
+        devcloudUser4.setProjectIds(projectIds);
+
+        devcloudUserDao.save(devcloudUser1);
+        devcloudUserDao.save(devcloudUser2);
+        devcloudUserDao.save(devcloudUser3);
+        devcloudUserDao.save(devcloudUser4);
+
+        List<Integer> members = new ArrayList<>();
+        members.add(1712);
+        members.add(1742);
+        members.add(1689);
+        members.add(1677);
+        DevcloudProject devcloudProject1 = new DevcloudProject();
+        devcloudProject1.setProjectId(3004);
+        devcloudProject1.setUserIds(members);
+        DevcloudProject devcloudProject2 = new DevcloudProject();
+        devcloudProject2.setProjectId(3003);
+        devcloudProject2.setUserIds(members);
+
+        devcloudProjectDao.save(devcloudProject1);
+        devcloudProjectDao.save(devcloudProject2);
+
+        ProjectRelate projectRelate1 = new ProjectRelate();
+        projectRelate1.setProjectId(3004);
+        projectRelate1.setRelateId(3003);
+
+        projectRelateDao.save(projectRelate1);
+
+        System.out.println(displayService.getGroupAnalysisById(1712 ));
+    }
+
+    @Test
+    void analyzeGroup13(){
+        List<Integer> projectIds = new ArrayList<>();
+        projectIds.add(2976);
+        projectIds.add(2975);
+        DevcloudUser devcloudUser1 = new DevcloudUser();
+        devcloudUser1.setUserId(1627);
+        devcloudUser1.setProjectIds(projectIds);
+        DevcloudUser devcloudUser2 = new DevcloudUser();
+        devcloudUser2.setUserId(1575);
+        devcloudUser2.setProjectIds(projectIds);
+        DevcloudUser devcloudUser3 = new DevcloudUser();
+        devcloudUser3.setUserId(1630);
+        devcloudUser3.setProjectIds(projectIds);
+        DevcloudUser devcloudUser4 = new DevcloudUser();
+        devcloudUser4.setUserId(1583);
+        devcloudUser4.setProjectIds(projectIds);
+
+        devcloudUserDao.save(devcloudUser1);
+        devcloudUserDao.save(devcloudUser2);
+        devcloudUserDao.save(devcloudUser3);
+        devcloudUserDao.save(devcloudUser4);
+
+        List<Integer> members = new ArrayList<>();
+        members.add(1627);
+        members.add(1575);
+        members.add(1630);
+        members.add(1583);
+        DevcloudProject devcloudProject1 = new DevcloudProject();
+        devcloudProject1.setProjectId(2976);
+        devcloudProject1.setUserIds(members);
+        DevcloudProject devcloudProject2 = new DevcloudProject();
+        devcloudProject2.setProjectId(2975);
+        devcloudProject2.setUserIds(members);
+
+        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);
+
+        System.out.println(displayService.getGroupAnalysisById(1583));
+//        System.out.println(devcloudDataAnalysisService.getStudentAnalysis(1583));
+    }
+
+    @Test
+    void analyzeGroup12(){
+        List<Integer> projectIds = new ArrayList<>();
+        projectIds.add(2980);
+        projectIds.add(2982);
+        DevcloudUser devcloudUser1 = new DevcloudUser();
+        devcloudUser1.setUserId(1622);
+        devcloudUser1.setProjectIds(projectIds);
+        DevcloudUser devcloudUser2 = new DevcloudUser();
+        devcloudUser2.setUserId(3059);
+        devcloudUser2.setProjectIds(projectIds);
+        DevcloudUser devcloudUser3 = new DevcloudUser();
+        devcloudUser3.setUserId(1612);
+        devcloudUser3.setProjectIds(projectIds);
+        DevcloudUser devcloudUser4 = new DevcloudUser();
+        devcloudUser4.setUserId(1651);
+        devcloudUser4.setProjectIds(projectIds);
+
+        devcloudUserDao.save(devcloudUser1);
+        devcloudUserDao.save(devcloudUser2);
+        devcloudUserDao.save(devcloudUser3);
+        devcloudUserDao.save(devcloudUser4);
+
+        List<Integer> members = new ArrayList<>();
+        members.add(1622);
+        members.add(3059);
+        members.add(1612);
+        members.add(1651);
+        DevcloudProject devcloudProject1 = new DevcloudProject();
+        devcloudProject1.setProjectId(2980);
+        devcloudProject1.setUserIds(members);
+        DevcloudProject devcloudProject2 = new DevcloudProject();
+        devcloudProject2.setProjectId(2982);
+        devcloudProject2.setUserIds(members);
+
+        devcloudProjectDao.save(devcloudProject1);
+        devcloudProjectDao.save(devcloudProject2);
+
+        ProjectRelate projectRelate1 = new ProjectRelate();
+        projectRelate1.setProjectId(2980);
+        projectRelate1.setRelateId(2982);
+
+        projectRelateDao.save(projectRelate1);
+
+        System.out.println(displayService.getGroupAnalysisById(1622 ));
+    }
+
+    @Test
+    void testStd(){
+        double[] x = new double[]{0.42,0.21,0.16,0.21};
+        System.out.println(StandardDiviation(x));
+    }
+
+    @Test
+    void testDouble(){
+//        int a = 1;
+//        int b = 6;
+//        System.out.println((double)a/b);
+        double c = 0.25;
+        double d = 0.2500000000001;
+        System.out.println(c<d);
+    }
+
+    @Test
+    void testGetGroupScore(){
+        System.out.println(devcloudScoreService.getGroupScore(1594));
+    }
+
+    @Test
+    void testGetStudentScore(){
+        System.out.println(devcloudScoreService.getStudentScore(1630));
+//        System.out.println(devcloudDataAnalysisService.getStudentAnalysis(1630));
+    }
+
+    //标准差σ=sqrt(s^2)
+    public static double StandardDiviation(double[] x) {
+        int m=x.length;
+        double sum=0;
+        for(int i=0;i<m;i++){//求和
+            sum+=x[i];
+        }
+        double dAve=sum/m;//求平均值
+        double dVar=0;
+        for(int i=0;i<m;i++){//求方差
+            dVar+=(x[i]-dAve)*(x[i]-dAve);
+        }
+        return Math.sqrt(dVar/(m-1));
+//        return Math.sqrt(dVar/m);
+    }
 }