Explorar el Código

fix: 修改username和name的关系

181250114 hace 4 años
padre
commit
7dcf790a6d

+ 17 - 8
src/main/java/com/seecoder/dataanalysis/analysis/impl/DevcloudDataAnalysisServiceImpl.java

@@ -352,15 +352,17 @@ public class DevcloudDataAnalysisServiceImpl implements DevcloudDataAnalysisServ
 
         Optional<DevcloudProject> result = devcloudProjectDao.findById(projectId);
 
+        //如果项目-用户信息不存在,则新建项目-用户信息,否则直接查询
         if(!result.isPresent()){
             devcloudProject = new DevcloudProject();
             devcloudProject.setProjectId(projectId);
-            devcloudProjectDao.save(devcloudProject);
+//            devcloudProjectDao.save(devcloudProject);
         }else {
             devcloudProject = devcloudProjectDao.findById(projectId).get();
         }
 
         List<Integer> memberIds = devcloudProject.getUserIds();
+        //如果该添加日志中的成员id还不在项目中,则加入
         if(!memberIds.contains(addProjectDTO.getUserId())){
             memberIds.add(addProjectDTO.getUserId());
         }
@@ -369,6 +371,7 @@ public class DevcloudDataAnalysisServiceImpl implements DevcloudDataAnalysisServ
         devcloudProjectDao.save(devcloudProject);
 
         //处理完项目-用户关系,现在处理用户-项目关系
+        //所有的devcloudUser都在此处创建
         Integer userId = addProjectDTO.getUserId();
         DevcloudUser devcloudUser;
 
@@ -389,6 +392,8 @@ public class DevcloudDataAnalysisServiceImpl implements DevcloudDataAnalysisServ
         devcloudUser.setProjectIds(projectIds);
         devcloudUserDao.save(devcloudUser);
 
+        //查询该项目是否有关联项目,如果有关联项目,需要把
+
         return devcloudProject;
     }
 
@@ -404,11 +409,14 @@ public class DevcloudDataAnalysisServiceImpl implements DevcloudDataAnalysisServ
             projectRelate.setRelateId(relateProjectDTO.getProjectBId());
             projectRelateDao.save(projectRelate);
         }else {
+            //项目的关联项目只能有一个
             projectRelate = projectRelateDao.findById(projectAId).get();
             projectRelate.setRelateId(relateProjectDTO.getProjectBId());
             projectRelateDao.save(projectRelate);
         }
 
+        //增加关联后,A和B中的成员应该相同,每个成员也应该加入
+
         return projectRelate;
     }
 
@@ -456,7 +464,7 @@ public class DevcloudDataAnalysisServiceImpl implements DevcloudDataAnalysisServ
         }
 
         user.setUserId(userId);
-        user.setUsername(userDTO.getUsername());
+        user.setName(userDTO.getName());
         user.setRole(userDTO.getRole());
         user.setEmail(userDTO.getEmail());
         user.setPhone(userDTO.getPhone());
@@ -473,16 +481,17 @@ public class DevcloudDataAnalysisServiceImpl implements DevcloudDataAnalysisServ
         DevcloudUser devcloudUser;
 
         Optional<DevcloudUser> result = devcloudUserDao.findById(user_id);
+        //如果devcloudUser不存在,说明用户还没有加入任何项目
+        //但如果存在对应的User信息,则帮用户新建devcloudUser
         if(!result.isPresent()){
-            System.out.println("没有查找到学生id");
-            return null;
+//            System.out.println("没有查找到学生id");
         }else {
             devcloudUser = devcloudUserDao.findById(user_id).get();
         }
 
         //放入展示数据
         formatStudent.setUserId(user_id);
-        formatStudent.setName(user.getUsername());
+        formatStudent.setName(user.getName());
         formatStudent.setEmail(user.getEmail());
 
         //根据用户id找到和该用户关联的所有项目id
@@ -701,7 +710,7 @@ public class DevcloudDataAnalysisServiceImpl implements DevcloudDataAnalysisServ
         List<Contribution> commitContribution = new ArrayList<>();
         for(int i=0;i<userIds.size();i++){
             Contribution contribution = new Contribution();
-            contribution.setName(users.get(i).getUsername());
+            contribution.setName(users.get(i).getName());
             contribution.setTimes(commitTimes[i]);
             Double value;
             if(commit_times == 0){
@@ -721,7 +730,7 @@ public class DevcloudDataAnalysisServiceImpl implements DevcloudDataAnalysisServ
         List<Contribution> testContribution = new ArrayList<>();
         for(int i=0;i<userIds.size();i++){
             Contribution contribution = new Contribution();
-            contribution.setName(users.get(i).getUsername());
+            contribution.setName(users.get(i).getName());
             contribution.setTimes(testTimes[i]);
             Double value;
             if(test_times == 0){
@@ -740,7 +749,7 @@ public class DevcloudDataAnalysisServiceImpl implements DevcloudDataAnalysisServ
         List<Contribution> deployContribution = new ArrayList<>();
         for(int i=0;i<userIds.size();i++){
             Contribution contribution = new Contribution();
-            contribution.setName(users.get(i).getUsername());
+            contribution.setName(users.get(i).getName());
             contribution.setTimes(pipeTimes[i]);
             Double value;
             if(pipeline_deploy == 0){

+ 24 - 0
src/main/java/com/seecoder/dataanalysis/analysis/impl/RecommendServiceImpl.java

@@ -93,6 +93,30 @@ public class RecommendServiceImpl implements RecommendService {
             }
         }
 
+//        List<KSDScore> ksdScoreList = competencyTree.getSubCompetencyTree();
+//        for(KSDScore ksdScore : ksdScoreList){
+//            if(ksdScore.getCompetency().equals(target)){
+//                if(!knowlegdeAndScores.containsKey(target)){
+//                    knowlegdeAndScores.put(target,ksdScore.getTotalScore());
+//                }
+//                //将分支下所有的子分支都添加
+//                if(ksdScore.getChildren()!=null&&ksdScore.getChildren().size()>0){
+//                    for(KSDScore subKSD1 : ksdScore.getChildren()){
+//                        if(!knowlegdeAndScores.containsKey(subKSD1.getCompetency())){
+//                            knowlegdeAndScores.put(subKSD1.getCompetency(),subKSD1.getTotalScore());
+//                        }
+//                        if(subKSD1.getChildren()!=null&&subKSD1.getChildren().size()>0){
+//                            for(KSDScore subKSD2 : subKSD1.getChildren()){
+//                                if(!knowlegdeAndScores.containsKey(subKSD2.getCompetency())){
+//                                    knowlegdeAndScores.put(subKSD2.getCompetency(),subKSD2.getTotalScore());
+//                                }
+//                            }
+//                        }
+//                    }
+//                }
+//            }
+//        }
+
         List<Map.Entry<String,Double>> list = new ArrayList<>(knowlegdeAndScores.entrySet());
         Collections.sort(list,(a,b)->(int)((double)a.getValue()-(double)b.getValue()));
         //根据得分升序排列,得到学生相对薄弱的部分

+ 1 - 1
src/main/java/com/seecoder/dataanalysis/aspect/auth/AuthAspect.java

@@ -60,7 +60,7 @@ public class AuthAspect {
         User user = getUserByToken(token);
         // 创建或者更新用户
         if (userService.existsById(user.getUserId())) {
-            userService.updateUser(new UpdateUserVO(user.getUserId(), user.getUsername(), user.getEmail()));
+            userService.updateUser(new UpdateUserVO(user.getUserId(), user.getName(), user.getEmail()));
         } else {
             //TODO 这里没有对HR和TEACHER作区分
             userService.createUser(UserConvertor.convertToVO(user));

+ 2 - 1
src/main/java/com/seecoder/dataanalysis/data/entity/devcloud/display/FormatGroup.java

@@ -66,7 +66,8 @@ public class FormatGroup {
         System.out.println("Members: ");
         for(User user : this.students){
             System.out.print("userId: "+user.getUserId()+"  ");
-            System.out.println("userName: "+user.getUsername()+"  ");
+//            System.out.print("studentId: "+user.getUsername()+" ");
+            System.out.println("userName: "+user.getName()+"  ");
         }
 
         System.out.println("Commit: ");

+ 7 - 1
src/main/java/com/seecoder/dataanalysis/data/entity/devcloud/display/FormatStudent.java

@@ -22,6 +22,11 @@ public class FormatStudent {
      **/
     private Integer userId;
 
+//    /**
+//     * 学生学号
+//     */
+//    private String username;
+
     /**
      * 学生姓名
      */
@@ -58,8 +63,9 @@ public class FormatStudent {
     }
 
     public void display(){
-        System.out.println("name: "+this.name);
+//        System.out.println("studentId: "+this.name);
         System.out.println("userId: "+this.userId);
+        System.out.print("username: "+this.name);
         System.out.println("email: "+this.email);
 
         System.out.println("Projects: ");

+ 10 - 4
src/main/java/com/seecoder/dataanalysis/data/entity/eval/User.java

@@ -25,11 +25,17 @@ public class User {
     private Integer userId;
 
 
+//    /**
+//     * 学生姓名,在json中其实是学号
+//     **/
+//    @Field("username")
+//    private String username;
+
     /**
-     * 学生姓名
-     **/
-    @Field("username")
-    private String username;
+     * 学生姓名(实际)
+     */
+    @Field("name")
+    private String name;
 
     /**
      * 用户身份

+ 1 - 1
src/main/java/com/seecoder/dataanalysis/logic/user/convertor/UserConvertor.java

@@ -8,7 +8,7 @@ public class UserConvertor {
     public static User convertToEntity(UserVO userVO) {
         User user = new User()
                 .setUserId(userVO.getId())
-                .setUsername(userVO.getName())
+                .setName(userVO.getName())
                 .setEmail(userVO.getEmail())
                 .setPhone(userVO.getPhone())
                 .setRole(userVO.getRole());

+ 1 - 1
src/main/java/com/seecoder/dataanalysis/logic/user/impl/UserServiceImpl.java

@@ -41,7 +41,7 @@ public class UserServiceImpl implements UserService {
         User user = userDao.findByUserId(updateUserVO.getId());
         if (user != null) {
             user.setEmail(updateUserVO.getEmail());
-            user.setUsername(updateUserVO.getName());
+            user.setName(updateUserVO.getName());
             return UserConvertor.convertToVO(user);
         } else {
             throw new MyServiceException("A0201", "用户账号不存在");

+ 2 - 2
src/main/java/com/seecoder/dataanalysis/vo/devcloud/UserDTO.java

@@ -14,8 +14,8 @@ public class UserDTO {
     @JSONField(name = "user_id")
     private Integer userId;
 
-    @JSONField(name = "username")
-    private String username;
+    @JSONField(name = "name")
+    private String name;
 
     @JSONField(name = "role")
     private UserRole role;

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

@@ -72,14 +72,14 @@ public class DevcloudDataAnalysisServiceImplTest {
     void addUsers(){
         User user1 = new User();
         user1.setUserId(3);
-        user1.setUsername("道士");
+        user1.setName("道士");
         user1.setRole(UserRole.STUDENT);
         user1.setEmail("123456789@qq.com");
         user1.setPhone("18125077095");
 
         User user2 = new User();
         user2.setUserId(4);
-        user2.setUsername("我焯");
+        user2.setName("我焯");
         user2.setRole(UserRole.STUDENT);
         user2.setEmail("987654321@qq.com");
         user2.setPhone("13058201563");
@@ -250,7 +250,7 @@ public class DevcloudDataAnalysisServiceImplTest {
     void type111(){
         UserDTO userDTO = new UserDTO();
         userDTO.setUserId(10);
-        userDTO.setUsername("森明");
+        userDTO.setName("森明");
         userDTO.setRole(UserRole.STUDENT);
         userDTO.setEmail("123456@qq.com");
         userDTO.setPhone("18786220095");

+ 10 - 0
src/test/java/com/seecoder/dataanalysis/eval/impl/EvalDataAnalysisServiceImplTest.java

@@ -5,10 +5,12 @@ import com.seecoder.dataanalysis.controller.EvalController;
 import com.seecoder.dataanalysis.data.dao.competency.CompetencyTreeDao;
 import com.seecoder.dataanalysis.data.dao.eval.EvalExamInfoDao;
 import com.seecoder.dataanalysis.data.dao.eval.EvalExamRecordDao;
+import com.seecoder.dataanalysis.data.dao.eval.UserDao;
 import com.seecoder.dataanalysis.data.entity.competency.*;
 import com.seecoder.dataanalysis.data.entity.eval.EvalExamInfo;
 import com.seecoder.dataanalysis.data.entity.eval.EvalExamRecord;
 import com.seecoder.dataanalysis.data.entity.eval.Question;
+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.junit.jupiter.api.Test;
@@ -26,6 +28,8 @@ public class EvalDataAnalysisServiceImplTest {
     EvalExamRecordDao evalExamRecordDao;
     @Autowired
     EvalExamInfoDao evalExamInfoDao;
+    @Autowired
+    UserDao userDao;
 
     @Autowired
     EvalDataAnalysisService evalDataAnalysisService;
@@ -318,6 +322,12 @@ public class EvalDataAnalysisServiceImplTest {
         }
     }
 
+    @Test
+    void testUser(){
+        User user = userDao.findById(1058).get();
+        System.out.println(user);
+    }
+
 
 
 }