zengxj 6 жил өмнө
parent
commit
f4c29a1289

+ 2 - 0
src/main/java/edu/math/diagnosis/controller/CommitController.java

@@ -11,6 +11,7 @@ import edu.math.diagnosis.model.ResponseMessage;
 import edu.math.diagnosis.util.NumberUtil;
 import edu.math.diagnosis.util.ObjectUtil;
 import edu.math.diagnosis.util.SecurityUtil;
+import io.swagger.annotations.Api;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.web.bind.annotation.*;
 
@@ -25,6 +26,7 @@ import java.util.Map;
  * @DATE: Create in 2018/7/6 17:55
  * @DESCRIPTION:
  */
+@Api(tags = "答案提交 马上废弃")
 @RestController
 @RequestMapping("/commit")
 public class CommitController {

+ 3 - 3
src/main/java/edu/math/diagnosis/controller/PaperCommitController.java

@@ -5,6 +5,7 @@ import edu.math.diagnosis.model.Result;
 import edu.math.diagnosis.service.CommitService;
 import io.swagger.annotations.Api;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -19,9 +20,8 @@ public class PaperCommitController {
     private CommitService commitService;
 
     @PostMapping("commit")
-    public Result commit(PaperCommit paperCommit){
-        commitService.commit(paperCommit);
-        return Result.fail();
+    public Result commit(@RequestBody PaperCommit paperCommit) {
+        return commitService.commit(paperCommit);
     }
 
 }

+ 1 - 1
src/main/java/edu/math/diagnosis/controller/TestController.java

@@ -71,7 +71,7 @@ public class TestController {
         List<PaperReport> result = new ArrayList<>();
         List<Commit> commitList = commitRepo.findAll();
         for (Commit commit : commitList) {
-            Paper paper = ObjectUtil.Json2Object(commit.getData(), Paper.class);
+            Paper paper = ObjectUtil.json2Object(commit.getData(), Paper.class);
             PaperReport paperReport = commitController.generateReport(paper, commit.getUid());
             result.add(paperReport);
             //		System.out.println(ObjectUtil.object2Json(paperReport));

+ 2 - 0
src/main/java/edu/math/diagnosis/dao/UserRepo.java

@@ -13,6 +13,8 @@ public interface UserRepo extends JpaRepository<UserInfo, Long> {
 
     UserInfo findByPhone(String phone);
 
+
+
     int countByPhone(String phone);
 
     int countByUsername(String username);

+ 5 - 5
src/main/java/edu/math/diagnosis/model/Answer.java

@@ -7,7 +7,7 @@ public class Answer {
 
     private Long qid;
     private Long useTime;
-    private String answer;
+    private String options;
     private Integer number;
 
     public Long getQid() {
@@ -26,12 +26,12 @@ public class Answer {
         this.useTime = useTime;
     }
 
-    public String getAnswer() {
-        return answer;
+    public String getOptions() {
+        return options;
     }
 
-    public void setAnswer(String answer) {
-        this.answer = answer;
+    public void setOptions(String options) {
+        this.options = options;
     }
 
     public Integer getNumber() {

+ 39 - 7
src/main/java/edu/math/diagnosis/service/CommitService.java

@@ -2,10 +2,14 @@ package edu.math.diagnosis.service;
 
 import edu.math.diagnosis.dao.*;
 import edu.math.diagnosis.entity.*;
+import edu.math.diagnosis.model.Answer;
 import edu.math.diagnosis.model.QuestionDetail;
 import edu.math.diagnosis.model.Result;
+import edu.math.diagnosis.util.CommonUtil;
 import edu.math.diagnosis.util.ObjectUtil;
 import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -20,15 +24,23 @@ import java.util.*;
 @Service
 public class CommitService {
     @Resource
-    ReportRepo reportRepo;
+    private ReportRepo reportRepo;
     @Resource
-    PaperCommitRepo paperCommitRepo;
+    private PaperCommitRepo paperCommitRepo;
     @Resource
-    QuestionRepo questionRepo;
+    private QuestionRepo questionRepo;
     @Resource
-    OptionRepo optionRepo;
+    private OptionRepo optionRepo;
     @Resource
-    PaperResultRepo paperResultRepo;
+    private PaperResultRepo paperResultRepo;
+    @Resource
+    private PaperService paperService;
+    @Resource
+    private UserService userService;
+    @Resource
+    private PaperResultService paperResultService;
+
+    private static final Logger logger = LoggerFactory.getLogger(CommitService.class);
 
     @Transactional
     public DiagnosisReport dealCommit(PaperCommit commit) {
@@ -91,8 +103,28 @@ public class CommitService {
 //        result.setScore6(scores.get(6));
     }
 
-    public Result commit(PaperCommit paperCommit){
+    public Result commit(PaperCommit paperCommit) {
+        logger.info("uid={},name={},pid={} commit paper", paperCommit.getUid(), paperCommit.getName(), paperCommit.getPid());
+        Paper paper = paperService.getOnePaper(paperCommit.getPid());
+        if (paper == null) {
+            return Result.fail("没有找到试卷");
+        }
+        UserInfo userInfo = userService.getSimpleUser(paperCommit.getUid());
+        if (userInfo == null) {
+            return Result.fail("没有找到用户");
+        }
+        List<Answer> answers = paperCommit.getAnswers();
+        if (CommonUtil.isEmpty(answers)) {
+            return Result.fail("没有找到答案");
+        }
+
+        String jsonAns = ObjectUtil.object2Json(answers);
+        paperCommit.setJsonAns(jsonAns);
+        paperCommitRepo.saveAndFlush(paperCommit);
+        logger.info("uid={},name={},pid={} commit paper success", paperCommit.getUid(), paperCommit.getName(), paperCommit.getPid());
 
-        return Result.fail();
+        return  paperResultService.parseResult(paperCommit);
     }
+
+
 }

+ 19 - 0
src/main/java/edu/math/diagnosis/service/PaperResultService.java

@@ -0,0 +1,19 @@
+package edu.math.diagnosis.service;
+
+import edu.math.diagnosis.dao.PaperResultRepo;
+import edu.math.diagnosis.entity.PaperCommit;
+import edu.math.diagnosis.model.Result;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+@Service
+public class PaperResultService {
+
+    @Resource
+    private PaperResultRepo paperResultRepo;
+
+    public Result parseResult(PaperCommit paperCommit){
+        return Result.ok();
+    }
+}

+ 5 - 5
src/main/java/edu/math/diagnosis/service/PaperService.java

@@ -37,15 +37,15 @@ import java.util.stream.Collectors;
 @Service
 public class PaperService {
     @Resource
-    PaperRepo paperRepo;
+    private PaperRepo paperRepo;
     @Resource
-    OptionRepo optionRepo;
+    private OptionRepo optionRepo;
     @Resource
-    QuestionRepo questionRepo;
+    private QuestionRepo questionRepo;
     @Resource
-    QuestionService questionService;
+    private QuestionService questionService;
     @Resource
-    SectionService sectionService;
+    private SectionService sectionService;
     @Resource
     private SubjectService subjectService;
 

+ 8 - 2
src/main/java/edu/math/diagnosis/service/UserService.java

@@ -6,6 +6,8 @@ import edu.math.diagnosis.dao.UserRepo;
 import edu.math.diagnosis.entity.UserInfo;
 import edu.math.diagnosis.util.MD5Util;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.data.domain.Example;
+import org.springframework.data.domain.ExampleMatcher;
 import org.springframework.data.domain.Sort;
 import org.springframework.stereotype.Service;
 
@@ -80,7 +82,11 @@ public class UserService {
         return cnt == 0;
     }
 
-    public boolean checkUsername(String useranme) {
-        return userRepo.countByUsername(useranme) == 0;
+    public boolean checkUsername(String username) {
+        return userRepo.countByUsername(username) == 0;
+    }
+
+    public UserInfo getSimpleUser(Long id){
+       return userRepo.getOne(id);
     }
 }

+ 1 - 1
src/main/java/edu/math/diagnosis/util/ObjectUtil.java

@@ -27,7 +27,7 @@ public class ObjectUtil {
         return gson.fromJson(json, type);
     }
 
-    public static <T> T Json2Object(String json, Class<T> clazz) {
+    public static <T> T json2Object(String json, Class<T> clazz) {
         return gson.fromJson(json, clazz);
     }