Преглед изворни кода

feat: 增加返回所有DevcloudUser的user信息的接口

181250114@smail.nju.edu.cn пре 4 година
родитељ
комит
cdbf0fe418

+ 6 - 0
src/main/java/com/seecoder/dataanalysis/analysis/DisplayService.java

@@ -18,6 +18,12 @@ public interface DisplayService {
      */
     List<User> getAllUsers();
 
+    /**
+     * 返回所有在DevcloudUser有记录的User信息
+     * @return List<User>
+     */
+    List<User> getAllDevcloudUsers();
+
     /**
      * 根据学生id返回小组分析结果
      * @param user_id

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

@@ -11,6 +11,7 @@ import com.seecoder.dataanalysis.data.entity.eval.User;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
 
@@ -31,6 +32,21 @@ public class DisplayServiceImpl implements DisplayService {
         return users;
     }
 
+    @Override
+    public List<User> getAllDevcloudUsers(){
+        List<DevcloudUser> devcloudUsers = devcloudUserDao.findAll();
+        List<User> users = new ArrayList<>();
+        for(DevcloudUser devcloudUser:devcloudUsers){
+            Optional<User> 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<DevcloudUser> result = devcloudUserDao.findById(user_id);

+ 5 - 0
src/main/java/com/seecoder/dataanalysis/controller/DisplayController.java

@@ -23,6 +23,11 @@ public class DisplayController {
         return ResponseVO.buildSuccess(displayService.getAllUsers());
     }
 
+    @GetMapping("/getAllDevcloudUsers")
+    public ResponseVO getAllDevcloudUsers(){
+        return ResponseVO.buildSuccess(displayService.getAllDevcloudUsers());
+    }
+
     @GetMapping("getGroupAnalysisById")
     public ResponseVO getGroupAnalysisById(@RequestParam(value = "user_id") Integer user_id){
         return ResponseVO.buildSuccess(displayService.getGroupAnalysisById(user_id));

+ 5 - 0
src/test/java/com/seecoder/dataanalysis/devcloud/impl/DisplayServiceImplTest.java

@@ -14,4 +14,9 @@ public class DisplayServiceImplTest {
     void testGetAllUser(){
         System.out.println(displayService.getAllUsers().size());
     }
+
+    @Test
+    void testGetAllDevUser(){
+        System.out.println(displayService.getAllDevcloudUsers().size());
+    }
 }