Jelajahi Sumber

考试系统插件提交

pans 8 bulan lalu
induk
melakukan
09486dfdc2
13 mengubah file dengan 107 tambahan dan 100 penghapusan
  1. 4 4
      snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/base/BaseApiController.java
  2. 14 18
      snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/context/WebContext.java
  3. 28 22
      snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/controller/admin/DashboardController.java
  4. 10 10
      snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/controller/admin/MessageController.java
  5. 3 3
      snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/controller/student/DashboardController.java
  6. 8 5
      snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/controller/student/EducationController.java
  7. 7 6
      snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/controller/student/ExamPaperAnswerController.java
  8. 3 3
      snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/service/ExamPaperAnswerService.java
  9. 3 3
      snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/service/ExamPaperService.java
  10. 3 3
      snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/service/TaskExamService.java
  11. 4 3
      snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/service/impl/ExamPaperAnswerServiceImpl.java
  12. 11 11
      snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/service/impl/ExamPaperServiceImpl.java
  13. 9 9
      snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/service/impl/TaskExamServiceImpl.java

+ 4 - 4
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/base/BaseApiController.java

@@ -1,11 +1,11 @@
 package vip.xiaonuo.exam.base;
 
 
-import vip.xiaonuo.exam.context.WebContext;
-import vip.xiaonuo.exam.domain.User;
-import vip.xiaonuo.exam.utility.ModelMapperSingle;
 import org.modelmapper.ModelMapper;
 import org.springframework.beans.factory.annotation.Autowired;
+import vip.xiaonuo.auth.core.pojo.SaBaseLoginUser;
+import vip.xiaonuo.exam.context.WebContext;
+import vip.xiaonuo.exam.utility.ModelMapperSingle;
 
 /**
  * @version 3.3.0
@@ -33,7 +33,7 @@ public class BaseApiController {
      *
      * @return the current user
      */
-    protected User getCurrentUser() {
+    protected SaBaseLoginUser getCurrentUser() {
         return webContext.getCurrentUser();
     }
 }

+ 14 - 18
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/context/WebContext.java

@@ -4,7 +4,8 @@ package vip.xiaonuo.exam.context;
 import org.springframework.stereotype.Component;
 import org.springframework.web.context.request.RequestAttributes;
 import org.springframework.web.context.request.RequestContextHolder;
-import vip.xiaonuo.exam.domain.User;
+import vip.xiaonuo.auth.core.pojo.SaBaseLoginUser;
+import vip.xiaonuo.auth.core.util.StpLoginUserUtil;
 
 /**
  * @version 3.3.0
@@ -24,7 +25,7 @@ public class WebContext {
      *
      * @param user the user
      */
-    public void setCurrentUser(User user) {
+    public void setCurrentUser(SaBaseLoginUser user) {
         RequestContextHolder.currentRequestAttributes().setAttribute(USER_ATTRIBUTES, user, RequestAttributes.SCOPE_REQUEST);
     }
 
@@ -33,21 +34,16 @@ public class WebContext {
      *
      * @return the current user
      */
-    public User getCurrentUser() {
-//        User user = (User) RequestContextHolder.currentRequestAttributes().getAttribute(USER_ATTRIBUTES, RequestAttributes.SCOPE_REQUEST);
-//        if (null != user) {
-//            return user;
-//        } else {
-//            org.springframework.security.core.userdetails.User springUser = (org.springframework.security.core.userdetails.User) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
-//            if (null == springUser) {
-//                return null;
-//            }
-//         //   user = userService.getUserByUserName(springUser.getUsername());
-//            if (null != user) {
-//                setCurrentUser(user);
-//            }
-//            return user;
-//        }
-        return null;
+    public SaBaseLoginUser getCurrentUser() {
+        SaBaseLoginUser saBaseLoginUser = (SaBaseLoginUser) RequestContextHolder.currentRequestAttributes().getAttribute(USER_ATTRIBUTES, RequestAttributes.SCOPE_REQUEST);
+        if (null != saBaseLoginUser) {
+            return saBaseLoginUser;
+        } else {
+            saBaseLoginUser=StpLoginUserUtil.getLoginUser();
+            if (null != saBaseLoginUser) {
+                setCurrentUser(saBaseLoginUser);
+            }
+            return saBaseLoginUser;
+        }
     }
 }

+ 28 - 22
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/controller/admin/DashboardController.java

@@ -2,9 +2,15 @@ package vip.xiaonuo.exam.controller.admin;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 import vip.xiaonuo.exam.base.BaseApiController;
+import vip.xiaonuo.exam.base.RestResponse;
 import vip.xiaonuo.exam.service.*;
+import vip.xiaonuo.exam.utility.DateTimeUtil;
+import vip.xiaonuo.exam.viewmodel.admin.dashboard.IndexVM;
+
+import java.util.List;
 
 @RestController("AdminDashboardController")
 @RequestMapping(value = "/api/admin/dashboard")
@@ -25,26 +31,26 @@ public class DashboardController extends BaseApiController {
         this.userEventLogService = userEventLogService;
     }
 
-//    @RequestMapping(value = "/index", method = RequestMethod.POST)
-//    public RestResponse<IndexVM> Index() {
-//        IndexVM vm = new IndexVM();
-//
-//        Integer examPaperCount = examPaperService.selectAllCount();
-//        Integer questionCount = questionService.selectAllCount();
-//        Integer doExamPaperCount = examPaperAnswerService.selectAllCount();
-//        Integer doQuestionCount = examPaperQuestionCustomerAnswerService.selectAllCount();
-//
-//        vm.setExamPaperCount(examPaperCount);
-//        vm.setQuestionCount(questionCount);
-//        vm.setDoExamPaperCount(doExamPaperCount);
-//        vm.setDoQuestionCount(doQuestionCount);
-//
-//        List<Integer> mothDayUserActionValue = userEventLogService.selectMothCount();
-//        List<Integer> mothDayDoExamQuestionValue = examPaperQuestionCustomerAnswerService.selectMothCount();
-//        vm.setMothDayUserActionValue(mothDayUserActionValue);
-//        vm.setMothDayDoExamQuestionValue(mothDayDoExamQuestionValue);
-//
-//        vm.setMothDayText(DateTimeUtil.MothDay());
-//        return RestResponse.ok(vm);
-  //  }
+    @RequestMapping(value = "/index", method = RequestMethod.POST)
+    public RestResponse<IndexVM> Index() {
+        IndexVM vm = new IndexVM();
+
+        Integer examPaperCount = examPaperService.selectAllCount();
+        Integer questionCount = questionService.selectAllCount();
+        Integer doExamPaperCount = examPaperAnswerService.selectAllCount();
+        Integer doQuestionCount = examPaperQuestionCustomerAnswerService.selectAllCount();
+
+        vm.setExamPaperCount(examPaperCount);
+        vm.setQuestionCount(questionCount);
+        vm.setDoExamPaperCount(doExamPaperCount);
+        vm.setDoQuestionCount(doQuestionCount);
+
+        List<Integer> mothDayUserActionValue = userEventLogService.selectMothCount();
+        List<Integer> mothDayDoExamQuestionValue = examPaperQuestionCustomerAnswerService.selectMothCount();
+        vm.setMothDayUserActionValue(mothDayUserActionValue);
+        vm.setMothDayDoExamQuestionValue(mothDayDoExamQuestionValue);
+
+        vm.setMothDayText(DateTimeUtil.MothDay());
+        return RestResponse.ok(vm);
+    }
 }

+ 10 - 10
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/controller/admin/MessageController.java

@@ -1,23 +1,23 @@
 package vip.xiaonuo.exam.controller.admin;
 
 
+import com.github.pagehelper.PageInfo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+import vip.xiaonuo.auth.core.pojo.SaBaseLoginUser;
 import vip.xiaonuo.exam.base.BaseApiController;
 import vip.xiaonuo.exam.base.RestResponse;
 import vip.xiaonuo.exam.domain.Message;
 import vip.xiaonuo.exam.domain.MessageUser;
-import vip.xiaonuo.exam.domain.User;
 import vip.xiaonuo.exam.service.MessageService;
 import vip.xiaonuo.exam.utility.DateTimeUtil;
 import vip.xiaonuo.exam.utility.PageInfoHelper;
 import vip.xiaonuo.exam.viewmodel.admin.message.MessagePageRequestVM;
 import vip.xiaonuo.exam.viewmodel.admin.message.MessageResponseVM;
 import vip.xiaonuo.exam.viewmodel.admin.message.MessageSendVM;
-import com.github.pagehelper.PageInfo;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
 import java.util.Date;
@@ -56,7 +56,7 @@ public class MessageController extends BaseApiController {
 
     @RequestMapping(value = "/send", method = RequestMethod.POST)
     public RestResponse send(@RequestBody @Valid MessageSendVM model) {
-        User user = getCurrentUser();
+        SaBaseLoginUser user = getCurrentUser();
   //      List<User> receiveUser = userService.selectByIds(model.getReceiveUserIds());
         Date now = new Date();
         Message message = new Message();
@@ -66,8 +66,8 @@ public class MessageController extends BaseApiController {
         message.setReadCount(0);
       //  message.setReceiveUserCount(receiveUser.size());
         message.setSendUserId(user.getId());
-        message.setSendUserName(user.getUserName());
-        message.setSendRealName(user.getRealName());
+        message.setSendUserName(user.getName());
+        message.setSendRealName(user.getName());
 //        List<MessageUser> messageUsers = receiveUser.stream().map(d -> {
 //            MessageUser messageUser = new MessageUser();
 //            messageUser.setCreateTime(now);

+ 3 - 3
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/controller/student/DashboardController.java

@@ -4,12 +4,12 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
+import vip.xiaonuo.auth.core.pojo.SaBaseLoginUser;
 import vip.xiaonuo.exam.base.BaseApiController;
 import vip.xiaonuo.exam.base.RestResponse;
 import vip.xiaonuo.exam.domain.TaskExam;
 import vip.xiaonuo.exam.domain.TaskExamCustomerAnswer;
 import vip.xiaonuo.exam.domain.TextContent;
-import vip.xiaonuo.exam.domain.User;
 import vip.xiaonuo.exam.domain.task.TaskItemAnswerObject;
 import vip.xiaonuo.exam.domain.task.TaskItemObject;
 import vip.xiaonuo.exam.service.*;
@@ -70,8 +70,8 @@ public class DashboardController extends BaseApiController {
 
     @RequestMapping(value = "/task", method = RequestMethod.POST)
     public RestResponse<List<TaskItemVm>> task() {
-        User user = getCurrentUser();
-        List<TaskExam> taskExams = taskExamService.getByGradeLevel(user.getUserLevel());
+        SaBaseLoginUser user = getCurrentUser();
+        List<TaskExam> taskExams = taskExamService.getByGradeLevel(user.getSortCode());
         if (taskExams.size() == 0) {
             return RestResponse.ok(new ArrayList<>());
         }

+ 8 - 5
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/controller/student/EducationController.java

@@ -1,15 +1,18 @@
 package vip.xiaonuo.exam.controller.student;
 
 
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+import vip.xiaonuo.auth.core.pojo.SaBaseLoginUser;
 import vip.xiaonuo.exam.base.BaseApiController;
 import vip.xiaonuo.exam.base.RestResponse;
 import vip.xiaonuo.exam.domain.Subject;
-import vip.xiaonuo.exam.domain.User;
 import vip.xiaonuo.exam.service.SubjectService;
 import vip.xiaonuo.exam.viewmodel.student.education.SubjectEditRequestVM;
 import vip.xiaonuo.exam.viewmodel.student.education.SubjectVM;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 import java.util.stream.Collectors;
@@ -27,8 +30,8 @@ public class EducationController extends BaseApiController {
 
     @RequestMapping(value = "/subject/list", method = RequestMethod.POST)
     public RestResponse<List<SubjectVM>> list() {
-        User user = getCurrentUser();
-        List<Subject> subjects = subjectService.getSubjectByLevel(user.getUserLevel());
+        SaBaseLoginUser user = getCurrentUser();
+        List<Subject> subjects = subjectService.getSubjectByLevel(user.getSortCode());
         List<SubjectVM> subjectVMS = subjects.stream().map(d -> {
             SubjectVM subjectVM = modelMapper.map(d, SubjectVM.class);
             subjectVM.setId(String.valueOf(d.getId()));

+ 7 - 6
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/controller/student/ExamPaperAnswerController.java

@@ -1,5 +1,6 @@
 package vip.xiaonuo.exam.controller.student;
 
+import vip.xiaonuo.auth.core.pojo.SaBaseLoginUser;
 import vip.xiaonuo.exam.base.BaseApiController;
 import vip.xiaonuo.exam.base.RestResponse;
 
@@ -65,7 +66,7 @@ public class ExamPaperAnswerController extends BaseApiController {
 
     @RequestMapping(value = "/answerSubmit", method = RequestMethod.POST)
     public RestResponse answerSubmit(@RequestBody @Valid ExamPaperSubmitVM examPaperSubmitVM) {
-        User user = getCurrentUser();
+        SaBaseLoginUser user = getCurrentUser();
         ExamPaperAnswerInfo examPaperAnswerInfo = examPaperAnswerService.calculateExamPaperAnswer(examPaperSubmitVM, user);
         if (null == examPaperAnswerInfo) {
             return RestResponse.fail(2, "试卷不能重复做");
@@ -73,8 +74,8 @@ public class ExamPaperAnswerController extends BaseApiController {
         ExamPaperAnswer examPaperAnswer = examPaperAnswerInfo.getExamPaperAnswer();
         Integer userScore = examPaperAnswer.getUserScore();
         String scoreVm = ExamUtil.scoreToVM(userScore);
-        UserEventLog userEventLog = new UserEventLog(user.getId(), user.getUserName(), user.getRealName(), new Date());
-        String content = user.getUserName() + " 提交试卷:" + examPaperAnswerInfo.getExamPaper().getName()
+        UserEventLog userEventLog = new UserEventLog(user.getId(), user.getName(), user.getName(), new Date());
+        String content = user.getName() + " 提交试卷:" + examPaperAnswerInfo.getExamPaper().getName()
                 + " 得分:" + scoreVm
                 + " 耗时:" + ExamUtil.secondToVM(examPaperAnswer.getDoTime());
         userEventLog.setContent(content);
@@ -97,9 +98,9 @@ public class ExamPaperAnswerController extends BaseApiController {
             return RestResponse.fail(3, "试卷已完成");
         }
         String score = examPaperAnswerService.judge(examPaperSubmitVM);
-        User user = getCurrentUser();
-        UserEventLog userEventLog = new UserEventLog(user.getId(), user.getUserName(), user.getRealName(), new Date());
-        String content = user.getUserName() + " 批改试卷:" + examPaperAnswer.getPaperName() + " 得分:" + score;
+        SaBaseLoginUser user = getCurrentUser();
+        UserEventLog userEventLog = new UserEventLog(user.getId(), user.getName(), user.getName(), new Date());
+        String content = user.getName() + " 批改试卷:" + examPaperAnswer.getPaperName() + " 得分:" + score;
         userEventLog.setContent(content);
         eventPublisher.publishEvent(new UserEvent(userEventLog));
         return RestResponse.ok(score);

+ 3 - 3
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/service/ExamPaperAnswerService.java

@@ -1,12 +1,12 @@
 package vip.xiaonuo.exam.service;
 
+import com.github.pagehelper.PageInfo;
+import vip.xiaonuo.auth.core.pojo.SaBaseLoginUser;
 import vip.xiaonuo.exam.domain.ExamPaperAnswer;
 import vip.xiaonuo.exam.domain.ExamPaperAnswerInfo;
-import vip.xiaonuo.exam.domain.User;
 import vip.xiaonuo.exam.viewmodel.admin.paper.ExamPaperAnswerPageRequestVM;
 import vip.xiaonuo.exam.viewmodel.student.exam.ExamPaperSubmitVM;
 import vip.xiaonuo.exam.viewmodel.student.exampaper.ExamPaperAnswerPageVM;
-import com.github.pagehelper.PageInfo;
 
 import java.util.List;
 
@@ -27,7 +27,7 @@ public interface ExamPaperAnswerService extends BaseService<ExamPaperAnswer> {
      * @param user
      * @return
      */
-    ExamPaperAnswerInfo calculateExamPaperAnswer(ExamPaperSubmitVM examPaperSubmitVM, User user);
+    ExamPaperAnswerInfo calculateExamPaperAnswer(ExamPaperSubmitVM examPaperSubmitVM, SaBaseLoginUser user);
 
 
     /**

+ 3 - 3
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/service/ExamPaperService.java

@@ -1,13 +1,13 @@
 package vip.xiaonuo.exam.service;
 
+import com.github.pagehelper.PageInfo;
+import vip.xiaonuo.auth.core.pojo.SaBaseLoginUser;
 import vip.xiaonuo.exam.domain.ExamPaper;
-import vip.xiaonuo.exam.domain.User;
 import vip.xiaonuo.exam.viewmodel.admin.exam.ExamPaperEditRequestVM;
 import vip.xiaonuo.exam.viewmodel.admin.exam.ExamPaperPageRequestVM;
 import vip.xiaonuo.exam.viewmodel.student.dashboard.PaperFilter;
 import vip.xiaonuo.exam.viewmodel.student.dashboard.PaperInfo;
 import vip.xiaonuo.exam.viewmodel.student.exam.ExamPaperPageVM;
-import com.github.pagehelper.PageInfo;
 
 import java.util.List;
 
@@ -19,7 +19,7 @@ public interface ExamPaperService extends BaseService<ExamPaper> {
 
     PageInfo<ExamPaper> studentPage(ExamPaperPageVM requestVM);
 
-    ExamPaper savePaperFromVM(ExamPaperEditRequestVM examPaperEditRequestVM, User user);
+    ExamPaper savePaperFromVM(ExamPaperEditRequestVM examPaperEditRequestVM, SaBaseLoginUser user);
 
     ExamPaperEditRequestVM examPaperToVM(Integer id);
 

+ 3 - 3
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/service/TaskExamService.java

@@ -1,10 +1,10 @@
 package vip.xiaonuo.exam.service;
 
+import com.github.pagehelper.PageInfo;
+import vip.xiaonuo.auth.core.pojo.SaBaseLoginUser;
 import vip.xiaonuo.exam.domain.TaskExam;
-import vip.xiaonuo.exam.domain.User;
 import vip.xiaonuo.exam.viewmodel.admin.task.TaskPageRequestVM;
 import vip.xiaonuo.exam.viewmodel.admin.task.TaskRequestVM;
-import com.github.pagehelper.PageInfo;
 
 import java.util.List;
 
@@ -12,7 +12,7 @@ public interface TaskExamService extends BaseService<TaskExam> {
 
     PageInfo<TaskExam> page(TaskPageRequestVM requestVM);
 
-    void edit(TaskRequestVM model, User user);
+    void edit(TaskRequestVM model, SaBaseLoginUser user);
 
     TaskRequestVM taskExamToVM(Integer id);
 

+ 4 - 3
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/service/impl/ExamPaperAnswerServiceImpl.java

@@ -1,5 +1,6 @@
 package vip.xiaonuo.exam.service.impl;
 
+import vip.xiaonuo.auth.core.pojo.SaBaseLoginUser;
 import vip.xiaonuo.exam.domain.*;
 import vip.xiaonuo.exam.domain.enums.ExamPaperAnswerStatusEnum;
 import vip.xiaonuo.exam.domain.enums.ExamPaperTypeEnum;
@@ -63,7 +64,7 @@ public class ExamPaperAnswerServiceImpl extends BaseServiceImpl<ExamPaperAnswer>
 
 
     @Override
-    public ExamPaperAnswerInfo calculateExamPaperAnswer(ExamPaperSubmitVM examPaperSubmitVM, User user) {
+    public ExamPaperAnswerInfo calculateExamPaperAnswer(ExamPaperSubmitVM examPaperSubmitVM, SaBaseLoginUser user) {
         ExamPaperAnswerInfo examPaperAnswerInfo = new ExamPaperAnswerInfo();
         Date now = new Date();
         ExamPaper examPaper = examPaperMapper.selectByPrimaryKey(examPaperSubmitVM.getId());
@@ -190,7 +191,7 @@ public class ExamPaperAnswerServiceImpl extends BaseServiceImpl<ExamPaperAnswer>
      * @param now                    now
      * @return ExamPaperQuestionCustomerAnswer
      */
-    private ExamPaperQuestionCustomerAnswer ExamPaperQuestionCustomerAnswerFromVM(Question question, ExamPaperSubmitItemVM customerQuestionAnswer, ExamPaper examPaper, Integer itemOrder, User user, Date now) {
+    private ExamPaperQuestionCustomerAnswer ExamPaperQuestionCustomerAnswerFromVM(Question question, ExamPaperSubmitItemVM customerQuestionAnswer, ExamPaper examPaper, Integer itemOrder, SaBaseLoginUser user, Date now) {
         ExamPaperQuestionCustomerAnswer examPaperQuestionCustomerAnswer = new ExamPaperQuestionCustomerAnswer();
         examPaperQuestionCustomerAnswer.setQuestionId(question.getId());
         examPaperQuestionCustomerAnswer.setExamPaperId(examPaper.getId());
@@ -243,7 +244,7 @@ public class ExamPaperAnswerServiceImpl extends BaseServiceImpl<ExamPaperAnswer>
         }
     }
 
-    private ExamPaperAnswer ExamPaperAnswerFromVM(ExamPaperSubmitVM examPaperSubmitVM, ExamPaper examPaper, List<ExamPaperQuestionCustomerAnswer> examPaperQuestionCustomerAnswers, User user, Date now) {
+    private ExamPaperAnswer ExamPaperAnswerFromVM(ExamPaperSubmitVM examPaperSubmitVM, ExamPaper examPaper, List<ExamPaperQuestionCustomerAnswer> examPaperQuestionCustomerAnswers, SaBaseLoginUser user, Date now) {
         Integer systemScore = examPaperQuestionCustomerAnswers.stream().mapToInt(a -> a.getCustomerScore()).sum();
         long questionCorrect = examPaperQuestionCustomerAnswers.stream().filter(a -> a.getCustomerScore().equals(a.getQuestionScore())).count();
         ExamPaperAnswer examPaperAnswer = new ExamPaperAnswer();

+ 11 - 11
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/service/impl/ExamPaperServiceImpl.java

@@ -1,6 +1,15 @@
 package vip.xiaonuo.exam.service.impl;
 
 
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import org.modelmapper.ModelMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import vip.xiaonuo.auth.core.pojo.SaBaseLoginUser;
+import vip.xiaonuo.exam.domain.ExamPaper;
+import vip.xiaonuo.exam.domain.Question;
 import vip.xiaonuo.exam.domain.TextContent;
 import vip.xiaonuo.exam.domain.enums.ExamPaperTypeEnum;
 import vip.xiaonuo.exam.domain.exam.ExamPaperQuestionItemObject;
@@ -14,9 +23,9 @@ import vip.xiaonuo.exam.service.SubjectService;
 import vip.xiaonuo.exam.service.TextContentService;
 import vip.xiaonuo.exam.service.enums.ActionEnum;
 import vip.xiaonuo.exam.utility.DateTimeUtil;
+import vip.xiaonuo.exam.utility.ExamUtil;
 import vip.xiaonuo.exam.utility.JsonUtil;
 import vip.xiaonuo.exam.utility.ModelMapperSingle;
-import vip.xiaonuo.exam.utility.ExamUtil;
 import vip.xiaonuo.exam.viewmodel.admin.exam.ExamPaperEditRequestVM;
 import vip.xiaonuo.exam.viewmodel.admin.exam.ExamPaperPageRequestVM;
 import vip.xiaonuo.exam.viewmodel.admin.exam.ExamPaperTitleItemVM;
@@ -24,15 +33,6 @@ import vip.xiaonuo.exam.viewmodel.admin.question.QuestionEditRequestVM;
 import vip.xiaonuo.exam.viewmodel.student.dashboard.PaperFilter;
 import vip.xiaonuo.exam.viewmodel.student.dashboard.PaperInfo;
 import vip.xiaonuo.exam.viewmodel.student.exam.ExamPaperPageVM;
-import com.github.pagehelper.PageHelper;
-import com.github.pagehelper.PageInfo;
-import vip.xiaonuo.exam.domain.ExamPaper;
-import vip.xiaonuo.exam.domain.Question;
-import vip.xiaonuo.exam.domain.User;
-import org.modelmapper.ModelMapper;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Arrays;
 import java.util.Date;
@@ -82,7 +82,7 @@ public class ExamPaperServiceImpl extends BaseServiceImpl<ExamPaper> implements
 
     @Override
     @Transactional
-    public ExamPaper savePaperFromVM(ExamPaperEditRequestVM examPaperEditRequestVM, User user) {
+    public ExamPaper savePaperFromVM(ExamPaperEditRequestVM examPaperEditRequestVM, SaBaseLoginUser user) {
         ActionEnum actionEnum = (examPaperEditRequestVM.getId() == null) ? ActionEnum.ADD : ActionEnum.UPDATE;
         Date now = new Date();
         List<ExamPaperTitleItemVM> titleItemsVM = examPaperEditRequestVM.getTitleItems();

+ 9 - 9
snowy-plugin/snowy-plugin-exam/snowy-plugin-exam-func/src/main/java/vip/xiaonuo/exam/service/impl/TaskExamServiceImpl.java

@@ -1,9 +1,15 @@
 package vip.xiaonuo.exam.service.impl;
 
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import org.modelmapper.ModelMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import vip.xiaonuo.auth.core.pojo.SaBaseLoginUser;
 import vip.xiaonuo.exam.domain.ExamPaper;
 import vip.xiaonuo.exam.domain.TaskExam;
 import vip.xiaonuo.exam.domain.TextContent;
-import vip.xiaonuo.exam.domain.User;
 import vip.xiaonuo.exam.domain.task.TaskItemObject;
 import vip.xiaonuo.exam.mapper.ExamPaperMapper;
 import vip.xiaonuo.exam.mapper.TaskExamMapper;
@@ -16,12 +22,6 @@ import vip.xiaonuo.exam.utility.ModelMapperSingle;
 import vip.xiaonuo.exam.viewmodel.admin.exam.ExamResponseVM;
 import vip.xiaonuo.exam.viewmodel.admin.task.TaskPageRequestVM;
 import vip.xiaonuo.exam.viewmodel.admin.task.TaskRequestVM;
-import com.github.pagehelper.PageHelper;
-import com.github.pagehelper.PageInfo;
-import org.modelmapper.ModelMapper;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Date;
 import java.util.List;
@@ -52,14 +52,14 @@ public class TaskExamServiceImpl extends BaseServiceImpl<TaskExam> implements Ta
 
     @Override
     @Transactional
-    public void edit(TaskRequestVM model, User user) {
+    public void edit(TaskRequestVM model, SaBaseLoginUser user) {
         ActionEnum actionEnum = (model.getId() == null) ? ActionEnum.ADD : ActionEnum.UPDATE;
         TaskExam taskExam = null;
         if (actionEnum == ActionEnum.ADD) {
             Date now = new Date();
             taskExam = modelMapper.map(model, TaskExam.class);
             taskExam.setCreateUser(user.getId());
-            taskExam.setCreateUserName(user.getUserName());
+            taskExam.setCreateUserName(user.getName());
             taskExam.setCreateTime(now);
             taskExam.setDeleted(false);