Просмотр исходного кода

修改特殊账号重复提交后,显示报告出现以前报告的情况

4228306 5 лет назад
Родитель
Сommit
de35df02ca

+ 1 - 1
src/main/java/com/yaoxiang/diagnosis/controller/PaperResultController.java

@@ -46,7 +46,7 @@ public class PaperResultController {
     @GetMapping("/rebuildByPidAndUid")
     @ApiOperation("重新生成报告结果,方便测试")
     public Result rebuild(Long pid, Long uid) {
-        PaperCommit commit = paperCommitRepo.findByPidAndUid(pid, uid);
+        PaperCommit commit = paperCommitRepo.findByPidAndUidOrderByCreatetimeDesc(pid, uid).get(0);
         Paper paper = paperService.getOnePaper(commit.getPid());
         paperResultService.checkAndDelete(paper.getId(), commit.getUid());
         return paperResultService.parseResult(commit, paper);

+ 1 - 1
src/main/java/com/yaoxiang/diagnosis/dao/PaperCommitRepo.java

@@ -20,7 +20,7 @@ public interface PaperCommitRepo extends JpaRepository<PaperCommit, Long> {
 
     boolean existsByPidAndUid(Long pid, Long uid);
 
-    PaperCommit findByPidAndUid(Long pid, Long uid);
+    List<PaperCommit> findByPidAndUidOrderByCreatetimeDesc(Long pid, Long uid);
 
     boolean existsByCode(String code);
 }

+ 1 - 1
src/main/java/com/yaoxiang/diagnosis/dao/PaperResultRepo.java

@@ -15,7 +15,7 @@ import java.util.List;
 @Repository
 public interface PaperResultRepo extends JpaRepository<PaperResult, Long> {
 
-    List<PaperResult> findByPidAndUid(Long pid, Long uid);
+    List<PaperResult> findByPidAndUidOrderByCreatetimeDesc(Long pid, Long uid);
 
     int deleteByPidAndUid(Long pid, Long uid);
 

+ 2 - 2
src/main/java/com/yaoxiang/diagnosis/service/CommitService.java

@@ -167,8 +167,8 @@ public class CommitService {
         return paperCommitRepo.findByPidOrNameContaining(pid, name);
     }
 
-    public PaperCommit getPaperCommit(Long pid, Long uid) {
-        return paperCommitRepo.findByPidAndUid(pid, uid);
+    public List<PaperCommit> getPaperCommit(Long pid, Long uid) {
+        return paperCommitRepo.findByPidAndUidOrderByCreatetimeDesc(pid, uid);
     }
 
     public boolean hasCommit(Long pid, Long uid) {

+ 5 - 5
src/main/java/com/yaoxiang/diagnosis/service/PaperResultService.java

@@ -56,9 +56,9 @@ public class PaperResultService {
     private static final Logger logger = LoggerFactory.getLogger(PaperResultService.class);
 
     public Result parseResult(Long pid, Long uid) {
-        PaperCommit commit = paperCommitRepo.findByPidAndUid(pid, uid);
+        List<PaperCommit> commit = paperCommitRepo.findByPidAndUidOrderByCreatetimeDesc(pid, uid);
         Paper paper = paperService.getOnePaper(pid);
-        return parseResult(commit, paper);
+        return parseResult(commit.get(0), paper);
     }
 
     @SuppressWarnings("unchecked")
@@ -149,7 +149,7 @@ public class PaperResultService {
     }
 
     public List<PaperResult> findByPidAndUid(Long pid, Long uid) {
-        return paperResultRepo.findByPidAndUid(pid, uid);
+        return paperResultRepo.findByPidAndUidOrderByCreatetimeDesc(pid, uid);
     }
 
     public int delete(Long pid, Long uid) {
@@ -164,7 +164,7 @@ public class PaperResultService {
     }
 
     public void globalResult(PaperResult r) {
-        PaperCommit commit = paperCommitRepo.findByPidAndUid(r.getPid(), r.getUid());
+        PaperCommit commit = paperCommitRepo.findByPidAndUidOrderByCreatetimeDesc(r.getPid(), r.getUid()).get(0);
         Paper paper = paperService.getOnePaper(r.getPid());
         //知识点掌握率
         r.setKnowledgeRate(knowledgeRate(r, paper));
@@ -685,7 +685,7 @@ public class PaperResultService {
             return paperResultRepo.findByUidOrderByCreatetimeDesc(uid);
         }
         if (uid != null) {
-            return paperResultRepo.findByPidAndUid(pid, uid);
+            return paperResultRepo.findByPidAndUidOrderByCreatetimeDesc(pid, uid);
         }
         return paperResultRepo.findByPidOrderByCreatetimeDesc(pid);
     }

+ 2 - 2
src/main/java/com/yaoxiang/diagnosis/service/SpecialReportService.java

@@ -64,7 +64,7 @@ public class SpecialReportService {
             logger.error("未找到试卷 pid={}", pid);
             return null;
         }
-        PaperCommit commit = commitService.getPaperCommit(pid, uid);
+        PaperCommit commit = commitService.getPaperCommit(pid, uid).get(0);
         if (commit == null) {
             logger.error("用户未提交 pid={},uid={}", pid, uid);
             return null;
@@ -204,7 +204,7 @@ public class SpecialReportService {
             logger.error("未找到试卷 pid={}", pid);
             return null;
         }
-        PaperCommit commit = commitService.getPaperCommit(pid, uid);
+        PaperCommit commit = commitService.getPaperCommit(pid, uid).get(0);
         if (commit == null) {
             logger.error("用户未提交 pid={},uid={}", pid, uid);
             return null;

+ 18 - 0
src/main/resources/application-pre.properties

@@ -0,0 +1,18 @@
+server.port=8080
+spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/
+
+spring.datasource.url=jdbc:mysql://mysql:3306/OnlinePapers?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
+spring.datasource.username=onlinepapers
+spring.datasource.password=134679258Aa_
+
+spring.redis.database=0
+spring.redis.password=134679258Aa_
+spring.redis.host=redis-master
+spring.redis.port=6379
+
+minio.url=https://minio.yaoxiangedu.com/
+minio.secure=true
+minio.buckets=prod
+minio.defaultBucket=prod
+minio.accessKey=admin
+minio.secretKey=#admin123!