Преглед на файлове

Merge branches 'DEV' and 'feature-score' of http://git.mooctest.net/summer/main-site into feature-score

HenryLee преди 8 години
родител
ревизия
a22353e5ef
променени са 27 файла, в които са добавени 137 реда и са изтрити 30 реда
  1. 2 0
      mooctest-site-server/src/main/java/cn/iselab/mooctest/site/dao/Exam2PaperDao.java
  2. 1 0
      mooctest-site-server/src/main/java/cn/iselab/mooctest/site/dao/GroupDao.java
  3. 3 0
      mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/ExamService.java
  4. 1 0
      mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/GroupService.java
  5. 2 0
      mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/PaperService.java
  6. 2 0
      mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/UserService.java
  7. 5 0
      mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/impl/ExamServiceImpl.java
  8. 6 0
      mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/impl/GroupServiceImpl.java
  9. 10 0
      mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/impl/PaperServiceImpl.java
  10. 5 0
      mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/impl/UserServiceImpl.java
  11. 13 0
      mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/ctrl/ExamController.java
  12. 5 0
      mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/ctrl/GroupController.java
  13. 5 1
      mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/ctrl/PaperController.java
  14. 4 5
      mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/ctrl/TestController.java
  15. 1 1
      mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/data/PaperVO.java
  16. 7 3
      mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/data/wrapper/ExamVOWrapper.java
  17. 6 2
      mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/data/wrapper/PaperVOWrapper.java
  18. 0 3
      mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/data/wrapper/UserVOWrapper.java
  19. 4 0
      mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/ExamLogic.java
  20. 1 0
      mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/GroupLogic.java
  21. 1 0
      mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/PaperLogic.java
  22. 0 2
      mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/UserLogic.java
  23. 14 0
      mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/impl/ExamLogicImpl.java
  24. 12 0
      mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/impl/GroupLogicImpl.java
  25. 5 0
      mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/impl/PaperLogicImpl.java
  26. 12 10
      mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/impl/UserLogicImpl.java
  27. 10 3
      mooctest-site-server/src/test/java/cn/iselab/mooctest/site/web/data/wrapper/ExamVOWrapperTest.java

+ 2 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/dao/Exam2PaperDao.java

@@ -4,6 +4,7 @@ import cn.iselab.mooctest.site.models.Exam2Paper;
 import org.springframework.data.repository.CrudRepository;
 
 import javax.transaction.Transactional;
+import java.util.List;
 
 /**
  * Created by major on 2017/7/9.
@@ -11,4 +12,5 @@ import javax.transaction.Transactional;
 @Transactional
 public interface Exam2PaperDao extends CrudRepository<Exam2Paper, Long> {
     Exam2Paper findByPaperId(long paperId);
+    List<Exam2Paper> findByExamId(long paperId);
 }

+ 1 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/dao/GroupDao.java

@@ -23,6 +23,7 @@ public interface GroupDao extends PagingAndSortingRepository<Group, Long> {
 //    Page<Worker> GroupMemeberList(long groupId, Pageable pageable);
 
     List<Group> findByManagerId(long managerId);
+    List<Group> findByOwnerId(long ownerId);
 
     List<Group> findByManagerIdAndName(long managerId, String name);
 

+ 3 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/ExamService.java

@@ -1,6 +1,7 @@
 package cn.iselab.mooctest.site.service;
 
 import cn.iselab.mooctest.site.models.Task;
+import cn.iselab.mooctest.site.web.data.ExamVO;
 import org.springframework.data.domain.Page;
 
 import org.springframework.data.domain.Pageable;
@@ -13,4 +14,6 @@ public interface ExamService {
     public Page<Task> getExamsByOrganizerId(long organizerId, Pageable pageable);
 
     public Page<Task> getExamsByParticipantId(long participantId, Pageable pageable);
+
+    Task saveExam(Task exam);
 }

+ 1 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/GroupService.java

@@ -22,6 +22,7 @@ public interface GroupService {
     Group getGroup(long groupId);
 
     List<Group> getGroupsByManagerId(long managerId);
+    List<Group> getGroupsByOwnerId(long ownerId);
 
     Page<Worker> getWorkersInGroup(long groupId, Pageable pageable);
 

+ 2 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/PaperService.java

@@ -27,4 +27,6 @@ public interface PaperService {
     Page<Paper> findAllByOwnerId(long ownerId,Pageable pageable);
 
     boolean deletePaperCase(long paperId, long caseId);
+
+    Paper getByExamId(Long examId);
 }

+ 2 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/UserService.java

@@ -17,4 +17,6 @@ public interface UserService {
     User updateUser(User user);
 
     User findByEmail(String email);
+
+    void deleteUser(String email);
 }

+ 5 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/impl/ExamServiceImpl.java

@@ -30,5 +30,10 @@ public class ExamServiceImpl extends BaseService implements ExamService {
         return examDao.findByParticipantId(participantId, pageable);
     }
 
+    @Override
+    public Task saveExam(Task exam) {
+        return examDao.save(exam);
+    }
+
 
 }

+ 6 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/impl/GroupServiceImpl.java

@@ -76,6 +76,12 @@ public class GroupServiceImpl implements GroupService {
         return groupList;
     }
 
+    @Override
+    public List<Group> getGroupsByOwnerId(long ownerId) {
+        List<Group> groupList = groupDao.findByOwnerId(ownerId);
+        return groupList;
+    }
+
     public List<Group> getGroupsByExamIdAndParticipantId(long examId, long participantId) {
         return groupDao.findByExamIdAndParticipantId(examId, participantId);
     }

+ 10 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/impl/PaperServiceImpl.java

@@ -50,6 +50,16 @@ public class PaperServiceImpl extends BaseService implements PaperService {
     }
 
     @Override
+    public Paper getByExamId(Long examId) {
+        List<Exam2Paper> examToPapers = exam2PaperDao.findByExamId(examId);
+        if(examToPapers.size()<1){
+            return null;
+        }else{
+            return paperDao.findOne(Long.valueOf(examToPapers.get(0).getPaperId()));
+        }
+    }
+
+    @Override
     public void updateCaseAndWeight(long paperId, List<CaseBlockVO> caseBlocks) {
         for (CaseBlockVO caseBlock : caseBlocks) {
             for(Long caseId : caseBlock.getCaseIds()) {

+ 5 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/impl/UserServiceImpl.java

@@ -45,4 +45,9 @@ public class UserServiceImpl extends BaseService implements UserService {
     public User updateUser(User user) {
         return userDao.save(user);
     }
+
+    @Override
+    public void deleteUser(String email) {
+        userDao.delete(userDao.findByEmail(email));
+    }
 }

+ 13 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/ctrl/ExamController.java

@@ -50,4 +50,17 @@ public class ExamController {
     public ExamVO getExamById(@PathVariable Long examId) {
         return examLogic.getExamById(examId);
     }
+
+    @RequestMapping(value= "api/exam", method = RequestMethod.POST)
+    public ExamVO create(@RequestBody ExamVO examVO) {
+        return examLogic.createExam(examVO);
+    }
+
+    @RequestMapping(value= "api/exam/{examId}", method = RequestMethod.PUT)
+    public ExamVO create(@PathVariable Long examId,@RequestBody ExamVO examVO) {
+        if(examId==examVO.getId()){
+            throw new IllegalArgumentException();
+        }
+        return examLogic.updateExam(examVO);
+    }
 }

+ 5 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/ctrl/GroupController.java

@@ -28,6 +28,11 @@ public class GroupController extends BaseController {
         return groupLogic.getManagerGroups(managerId);
     }
 
+    @RequestMapping(value = UrlConstants.API + "group", method = RequestMethod.GET)
+    public List<GroupVO> getOwnerGroups(@RequestParam(value = "ownerId", required = false) Long ownerId) {
+        return groupLogic.getOwnerGroups(ownerId);
+    }
+
     @RequestMapping(value = UrlConstants.API_MANAGER + "group/{id:\\d+}", method = RequestMethod.GET)
     public GroupVO getManagerGroupDetail(HttpServletRequest request, @PathVariable("id") long groupId) {
         long managerId = RequestUtils.getManagerId(request);

+ 5 - 1
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/ctrl/PaperController.java

@@ -67,7 +67,6 @@ public class PaperController {
         return paperLogic.getPaperListByUserId(ownerId,pageable);
     }
 
-
     @RequestMapping(value = "api/paper/{paperId}/case/{caseId}", method = RequestMethod.DELETE)
     public Map<String, Object> deletePaperCase(@PathVariable("paperId") long paperId, @PathVariable("caseId") long caseId) {
         if(paperLogic.deletePaperCase(paperId, caseId)) {
@@ -76,4 +75,9 @@ public class PaperController {
             return new ErrorResult(StatusCode.DATABASE_ERROR);
         }
     }
+
+    @RequestMapping(value= "api/examPaper", method = RequestMethod.GET)
+    public PaperVO getPaperByExamId(@RequestParam(value = "examId") Long examId) {
+        return paperLogic.getPaperByExam(examId);
+    }
 }

+ 4 - 5
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/ctrl/TestController.java

@@ -47,12 +47,12 @@ public class TestController {
     }
 
     @RequestMapping(value = "/api/test/login", method = RequestMethod.POST)
-    public  UserVO login(@RequestBody UserVO userVO, BindingResult bindingResult, RedirectAttributes redirectAttributes) {
+    public UserVO login(@RequestBody UserVO userVO, BindingResult bindingResult, RedirectAttributes redirectAttributes) {
         if (bindingResult.hasErrors()) {
             throw new HttpUnauthorizedException("unauthourized");
         }
 
-        String username = (userVO.getEmail()==null)?userVO.getMobile():userVO.getEmail();
+        String username = (userVO.getEmail() == null) ? userVO.getMobile() : userVO.getEmail();
         UsernamePasswordToken token = new UsernamePasswordToken(username,
                 EncryptionUtil.encryptMD5(userVO.getPassword()));
         //获取当前的Subject
@@ -114,8 +114,7 @@ public class TestController {
     }
 
     @RequestMapping(value = "/api/test/register", method = RequestMethod.POST)
-    public UserVO register(@RequestBody UserVO userVO)
-    {
+    public UserVO register(@RequestBody UserVO userVO) {
         userVO = userLogic.register(userVO);
         userVO.setPassword("");
         return userVO;
@@ -132,7 +131,7 @@ public class TestController {
     }
 
     @RequestMapping(value = "/api/test/menuList", method = RequestMethod.GET)
-    public List<MenuVO> getMenuList(){
+    public List<MenuVO> getMenuList() {
         return menuLogic.getMenuList();
     }
 

+ 1 - 1
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/data/PaperVO.java

@@ -19,5 +19,5 @@ public class PaperVO {
 
     private Byte difficult;
 
-    private boolean isUsedByExam;
+    private boolean usedByExam;
 }

+ 7 - 3
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/data/wrapper/ExamVOWrapper.java

@@ -4,8 +4,10 @@ import cn.iselab.mooctest.site.dao.SubsiteDao;
 import cn.iselab.mooctest.site.models.Group;
 import cn.iselab.mooctest.site.models.Manager;
 import cn.iselab.mooctest.site.models.Task;
+import cn.iselab.mooctest.site.models.User;
 import cn.iselab.mooctest.site.service.GroupService;
 import cn.iselab.mooctest.site.service.ManagerService;
+import cn.iselab.mooctest.site.service.UserService;
 import cn.iselab.mooctest.site.web.data.ExamVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -31,6 +33,8 @@ public class ExamVOWrapper extends BaseWrapper<ExamVO, Task> {
 
     @Autowired
     ManagerService managerService;
+    @Autowired
+    UserService userService;
 
     @Autowired
     GroupService groupService;
@@ -43,7 +47,7 @@ public class ExamVOWrapper extends BaseWrapper<ExamVO, Task> {
         vo.setId(task.getId());
         vo.setBeginTime(task.getBeginTime().getTime());
         vo.setEndTime(task.getEndTime().getTime());
-        vo.setManagerId(task.getManagerId());
+        vo.setManagerId(task.getOwnerId());
         vo.setDuration(task.getDuration());
         vo.setInfo(task.getInformation());
         vo.setType(task.getType());
@@ -57,8 +61,8 @@ public class ExamVOWrapper extends BaseWrapper<ExamVO, Task> {
             vo.setStatus(Task.STATUS_FINISHED);
         }
 
-        Manager manager = managerService.getManagerById(task.getManagerId());
-        vo.setManagerName(manager.getName());
+        User user = userService.findByUserId(task.getOwnerId());
+        vo.setManagerName(user.getName());
         return vo;
     }
 

+ 6 - 2
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/data/wrapper/PaperVOWrapper.java

@@ -4,9 +4,11 @@ import cn.iselab.mooctest.site.dao.SubsiteDao;
 import cn.iselab.mooctest.site.data.CaseBlock;
 import cn.iselab.mooctest.site.models.Manager;
 import cn.iselab.mooctest.site.models.Paper;
+import cn.iselab.mooctest.site.models.User;
 import cn.iselab.mooctest.site.service.ManagerService;
 import cn.iselab.mooctest.site.service.PaperService;
 import cn.iselab.mooctest.site.service.TaskService;
+import cn.iselab.mooctest.site.service.UserService;
 import cn.iselab.mooctest.site.web.data.PaperVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -30,6 +32,8 @@ public class PaperVOWrapper extends BaseWrapper<PaperVO, Paper> {
     @Autowired
     private ManagerService managerService;
     @Autowired
+    private UserService userService;
+    @Autowired
     private TaskService taskService;
     @Autowired
     private CaseBlockVOWrapper caseBlockVOWrapper;
@@ -46,10 +50,10 @@ public class PaperVOWrapper extends BaseWrapper<PaperVO, Paper> {
         vo.setOwnerId(paper.getOwnerId());
         vo.setDifficult(paper.getDifficult());
 
-        Manager manager = managerService.getManagerById(paper.getOwnerId());
+        User user = userService.findByUserId(paper.getOwnerId());
         List<CaseBlock> caseBlocks = taskService.getCaseBlocks(paper.getId());
         vo.setCaseBlocks(caseBlockVOWrapper.wrap(caseBlocks));
-        vo.setOwnerName(manager.getName());
+        vo.setOwnerName(user.getName());
 
         vo.setUsedByExam(paperService.isUsedByExam(paper.getId()));
         return vo;

+ 0 - 3
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/data/wrapper/UserVOWrapper.java

@@ -4,8 +4,6 @@ import cn.iselab.mooctest.site.models.User;
 import cn.iselab.mooctest.site.web.data.UserVO;
 import org.springframework.stereotype.Service;
 
-import java.sql.Timestamp;
-
 /**
  * @author sean
  * @date 2017-06-13.
@@ -31,7 +29,6 @@ public class UserVOWrapper extends BaseWrapper<UserVO, User> {
     public User unwrap(UserVO data) {
         User user = new User();
 
-        user.setCreateTime(new Timestamp(data.getCreateTime()));
         user.setId(data.getId());
         user.setPassword(data.getPassword());
         user.setEmail(data.getEmail());

+ 4 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/ExamLogic.java

@@ -16,4 +16,8 @@ public interface ExamLogic {
     Page<ExamVO> getOrganizerExamList(long organizerId, Pageable pageable);
 
     Page<ExamVO> getParticipantExamList(long participantId, Pageable pageable);
+
+    ExamVO createExam(ExamVO examVO);
+
+    ExamVO updateExam(ExamVO examVO);
 }

+ 1 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/GroupLogic.java

@@ -13,6 +13,7 @@ import java.util.List;
 public interface GroupLogic {
 
     List<GroupVO> getManagerGroups(long managerId);
+    List<GroupVO> getOwnerGroups(long ownerId);
 
     List<GroupVO> getWorkerGroups(long workerId);
 

+ 1 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/PaperLogic.java

@@ -15,4 +15,5 @@ public interface PaperLogic {
     Page<PaperVO> getPaperListByUserId(long ownerId, Pageable pageable);
 
     boolean deletePaperCase(long paperId, long caseId);
+    PaperVO getPaperByExam(Long examId);
 }

+ 0 - 2
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/UserLogic.java

@@ -2,8 +2,6 @@ package cn.iselab.mooctest.site.web.logic;
 
 import cn.iselab.mooctest.site.web.data.UserVO;
 
-import java.util.List;
-
 /**
  * @author sean
  * @date 2017-06-13.

+ 14 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/impl/ExamLogicImpl.java

@@ -77,4 +77,18 @@ public class ExamLogicImpl extends BaseLogic implements ExamLogic {
         });
         return examVOPage;
     }
+
+    @Override
+    public ExamVO createExam(ExamVO examVO) {
+        Task exam = examVOWrapper.unwrap(examVO);
+        Task result = examService.saveExam(exam);
+        return examVOWrapper.wrap(result);
+    }
+
+    @Override
+    public ExamVO updateExam(ExamVO examVO) {
+        Task exam = examVOWrapper.unwrap(examVO);
+        Task result = examService.saveExam(exam);
+        return examVOWrapper.wrap(result);
+    }
 }

+ 12 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/impl/GroupLogicImpl.java

@@ -62,6 +62,18 @@ public class GroupLogicImpl extends BaseLogic implements GroupLogic {
     }
 
     @Override
+    public List<GroupVO> getOwnerGroups(long ownerId) {
+        List<Group> groups = groupService.getGroupsByOwnerId(ownerId);
+        List<GroupVO> groupVOs = groupVOWrapper.wrap(groups);
+        List<Integer> workerCounts = groupService.getWorkerCounts(groupVOs.stream()
+                .map(GroupVO::getId).collect(Collectors.toList()));
+        for (int i = 0; i < groupVOs.size(); i++) {
+            groupVOs.get(i).setWorkerCount(workerCounts.get(i));
+        }
+        return groupVOs;
+    }
+
+    @Override
     public List<GroupVO> getWorkerGroups(long workerId) {
 
         List<GroupVO> vos = groupVOWrapper.wrap(groupService.getGroupsByWorkerId(workerId));

+ 5 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/impl/PaperLogicImpl.java

@@ -71,4 +71,9 @@ public class PaperLogicImpl extends BaseLogic implements PaperLogic {
     public boolean deletePaperCase(long paperId, long caseId) {
         return paperService.deletePaperCase(paperId, caseId);
     }
+    public PaperVO getPaperByExam(Long examId) {
+        Paper paper = paperService.getByExamId(examId);
+        PaperVO paperVO = paperVOWrapper.wrap(paper);
+        return paperVO;
+    }
 }

+ 12 - 10
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/impl/UserLogicImpl.java

@@ -28,10 +28,12 @@ public class UserLogicImpl extends BaseLogic implements UserLogic {
 
     @Override
     public UserVO register(UserVO userVO) {
-
+        if (userService.findByEmail(userVO.getEmail()) != null) {
+            userService.deleteUser(userVO.getEmail());
+        }
         User user = userVOWrapper.unwrap(userVO);
         user.setPassword(EncryptionUtil.encryptMD5(userVO.getPassword()));
-        user.setCreateTime(new Timestamp(userVO.getCreateTime()));
+        user.setCreateTime(new Timestamp(System.currentTimeMillis()));
 
         return userVOWrapper.wrap(userService.register(user));
     }
@@ -43,21 +45,21 @@ public class UserLogicImpl extends BaseLogic implements UserLogic {
 
     @Override
     public UserVO updateUser(UserVO userVO) {
-        User user=userService.findByUserId(userVO.getId());
-        String password=user.getPassword();
-        Timestamp createTime=user.getCreateTime();
-        Converter.copy(user,userVO);
+        User user = userService.findByUserId(userVO.getId());
+        String password = user.getPassword();
+        Timestamp createTime = user.getCreateTime();
+        Converter.copy(user, userVO);
         user.setPassword(password);
         user.setCreateTime(createTime);
-        return Converter.copy(userVO,userService.updateUser(user));
+        return Converter.copy(userVO, userService.updateUser(user));
     }
 
     @Override
     public UserVO updateUserPassword(UserVO userVO) {
-        User user=userService.findByUserId(userVO.getId());
-        String password=EncryptionUtil.encryptMD5(userVO.getPassword());
+        User user = userService.findByUserId(userVO.getId());
+        String password = EncryptionUtil.encryptMD5(userVO.getPassword());
         user.setPassword(password);
-        return Converter.copy(userVO,userService.updateUser(user));
+        return Converter.copy(userVO, userService.updateUser(user));
     }
 
 

+ 10 - 3
mooctest-site-server/src/test/java/cn/iselab/mooctest/site/web/data/wrapper/ExamVOWrapperTest.java

@@ -4,8 +4,10 @@ import cn.iselab.mooctest.site.Application;
 import cn.iselab.mooctest.site.models.Group;
 import cn.iselab.mooctest.site.models.Manager;
 import cn.iselab.mooctest.site.models.Task;
+import cn.iselab.mooctest.site.models.User;
 import cn.iselab.mooctest.site.service.GroupService;
 import cn.iselab.mooctest.site.service.ManagerService;
+import cn.iselab.mooctest.site.service.UserService;
 import cn.iselab.mooctest.site.web.data.ExamVO;
 import org.junit.Assert;
 import org.junit.Before;
@@ -39,6 +41,8 @@ public class ExamVOWrapperTest  {
 
     @Mock
     private ManagerService managerService;
+    @Mock
+    private UserService userService;
 
     List<Task> taskList = new ArrayList<>();
     List<ExamVO> expect = new ArrayList<>();
@@ -61,6 +65,7 @@ public class ExamVOWrapperTest  {
         task.setManagerId(17L);
         task.setName("shi juan 1");
         task.setSubsiteId(2L);
+        task.setOwnerId(17L);
         taskList.add(task);
 
 
@@ -109,11 +114,13 @@ public class ExamVOWrapperTest  {
     @Test
     public void should_returnExamVOList_when_givenTaskAndParticipantId() {
         //arrange
-
-
+        User user = new User();
+        user.setId(17L);
+        user.setName("czy");
         when(groupService.getGroupsByExamIdAndParticipantId(expect.get(0).getId(), participantId))
                 .thenReturn(groupList);
-        when(managerService.getManagerById(participantId)).thenReturn(manager);
+        //when(managerService.getManagerById(participantId)).thenReturn(manager);
+        when(userService.findByUserId(17L)).thenReturn(user);
 
         //action
         List<ExamVO> result = examVOWrapper.wrapParticipantExamList(taskList, participantId);