Browse Source

统一修改uid、pid字段类型为Long

4228306 6 năm trước cách đây
mục cha
commit
22f6acd730

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

@@ -29,6 +29,7 @@ public class PaperResultController {
     public Result rebuild(Long commitId) {
         PaperCommit commit = paperCommitRepo.getOne(commitId);
         Paper paper = paperService.getOnePaper(commit.getPid());
+        paperResultService.checkAndDelete(paper.getId(),commit.getUid());
         return paperResultService.parseResult(commit, paper);
     }
 }

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

@@ -56,7 +56,7 @@ public class ReportController {
         if (paper == null) {
             return Result.fail("未找到试卷");
         }
-        List<PaperResult> paperResults = paperResultService.findByUidAndPid(String.valueOf(pid), String.valueOf(uid));
+        List<PaperResult> paperResults = paperResultService.findByPidAndUid(pid, uid);
         if (CommonUtil.isEmpty(paperResults)) {
             return Result.fail("未找到提交的试卷结果");
         }

+ 4 - 1
src/main/java/edu/math/diagnosis/dao/PaperResultRepo.java

@@ -14,6 +14,9 @@ import java.util.List;
 @Repository
 public interface PaperResultRepo extends JpaRepository<PaperResult, Long> {
 
-    List<PaperResult> findByPidAndUid(String pid, String uid);
+    List<PaperResult> findByPidAndUid(Long pid, Long uid);
 
+    boolean deleteByPidAndUid(Long pid,Long uid);
+
+    boolean existsByPidAndUid(Long pid,Long uid);
 }

+ 1 - 0
src/main/java/edu/math/diagnosis/entity/PaperCount.java

@@ -12,6 +12,7 @@ public class PaperCount {
     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     private Long id;
+    @Column(nullable = false)
     private Long pid;
 
     /**

+ 5 - 5
src/main/java/edu/math/diagnosis/entity/PaperResult.java

@@ -1,5 +1,6 @@
 package edu.math.diagnosis.entity;
 
+import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import org.hibernate.annotations.CreationTimestamp;
 
@@ -12,6 +13,7 @@ import java.util.Date;
  * @DESCRIPTION: 对应一份试卷的成绩
  */
 @Entity
+@ApiModel("考试结果")
 public class PaperResult {
     @Id
     @GeneratedValue(strategy = GenerationType.IDENTITY)
@@ -20,7 +22,7 @@ public class PaperResult {
     private Double score;
     private String name;//考生姓名
     @Column(nullable = false)
-    private String uid;
+    private Long uid;
     @Column(nullable = false)
     private Long pid;
 
@@ -32,7 +34,6 @@ public class PaperResult {
     private Date createtime;
 
     @Lob
-    @Column(nullable = false)
     @ApiModelProperty("json化的试卷分数")
     private String jsonScore;
 
@@ -44,7 +45,6 @@ public class PaperResult {
      * 1,2
      */
     @Lob
-    @Column(nullable = false)
     @ApiModelProperty("答对的题目编号 1,2")
     private String collectQuestion;
 
@@ -140,11 +140,11 @@ public class PaperResult {
         this.name = name;
     }
 
-    public String getUid() {
+    public Long getUid() {
         return uid;
     }
 
-    public void setUid(String uid) {
+    public void setUid(Long uid) {
         this.uid = uid;
     }
 

+ 14 - 2
src/main/java/edu/math/diagnosis/service/PaperResultService.java

@@ -13,6 +13,7 @@ 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;
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
@@ -37,7 +38,7 @@ public class PaperResultService {
         PaperResult result = new PaperResult();
         result.setPid(paperCommit.getPid());
         result.setName(paperCommit.getName());
-        result.setUid(String.valueOf(paperCommit.getUid()));
+        result.setUid(paperCommit.getUid());
         result.setCode(paperCommit.getCode());
 //        result.setScore(0d);
 //        result.setJsonScore("");
@@ -88,7 +89,18 @@ public class PaperResultService {
         return paperResultRepo.getOne(resultId);
     }
 
-    public List<PaperResult> findByUidAndPid(String pid, String uid) {
+    public List<PaperResult> findByPidAndUid(Long pid, Long uid) {
         return paperResultRepo.findByPidAndUid(pid, uid);
     }
+
+    public boolean delete(Long pid,Long uid){
+        return paperResultRepo.deleteByPidAndUid(pid,uid);
+    }
+
+    @Transactional
+    public void checkAndDelete(Long pid,Long uid){
+       if(paperResultRepo.existsByPidAndUid(pid,uid)){
+           delete(pid,uid);
+       }
+    }
 }

+ 2 - 2
src/main/resources/application-dev.properties

@@ -2,9 +2,9 @@ server.port=8085
 serverAddress=119.23.22.31
 
 uploadPattern=/upload/**
-baseLocation=d:/diagnosis
+#baseLocation=d:/diagnosis
 #baseLocation=/Users/feick/IdeaProjects/yaoxiang/diagnosis
-#baseLocation=/d:/diagnosis
+baseLocation=/d:/diagnosis
 uploadLocation=${baseLocation}/upload/
 spring.servlet.multipart.location=${baseLocation}/uploadTemp/
 spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${uploadLocation}