From da26806f0fbc78b501d58976092cc681f786c35b Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 22 七月 2024 14:42:05 +0800
Subject: [PATCH] 添加学习配置 优化

---
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java           |   30 ++++++++++++++++++++++++++++++
 ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TStudyController.java |    7 ++++++-
 2 files changed, 36 insertions(+), 1 deletions(-)

diff --git a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TStudyController.java b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TStudyController.java
index 9cd566b..6d9bd7b 100644
--- a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TStudyController.java
+++ b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TStudyController.java
@@ -55,7 +55,12 @@
     @PostMapping(value = "/addStudySet")
     @ResponseBody
     public AjaxResult addStudySet(@RequestBody AddStudySetDTO dto) {
-        studyClient.addStudySet(dto);
+        R<Object> objectR = studyClient.addStudySet(dto);
+        String string = objectR.getMsg().toString();
+        int code = objectR.getCode();
+        if (code == 500){
+            return AjaxResult.error(string);
+        }
         return AjaxResult.success("保存成功");
     }
 
diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java
index a23ed3d..933a84b 100644
--- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java
+++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java
@@ -278,6 +278,21 @@
                     .eq("studyId", one.getId())
                     .eq("week", week));
             if (studyId != null) {
+                // 判断当前周目配置的题目数量
+                List<String> subjectId = getSubjectId(week);
+                List<String> newSubjectId = subjectId.stream().map(data -> {
+                    if (data.startsWith(Constants.REDUCE)) {
+                        data = data.replace(Constants.REDUCE, Constants.EMPTY_STR);
+                    }
+                    return data;
+                }).distinct().collect(Collectors.toList());
+                // 判断周目下题目是否足够
+                if (newSubjectId.size() < game.getCount()) {
+                    return R.fail("超级听力:当前周目下day1 - day5题目不足!");
+                }
+                if (newSubjectId.size() < game.getAnswerCount()) {
+                    return R.fail("超级记忆:当前周目下day1 - day5题目不足!");
+                }
                 studyId.setWeek(dto.getWeek());
                 studyId.setStudyId(one.getId());
                 studyId.setCount(game.getCount());
@@ -290,6 +305,21 @@
                 studyId.setAnswerRate(game.getAnswerRate());
                 gameService.updateById(studyId);
             } else {
+                // 判断当前周目配置的题目数量
+                List<String> subjectId = getSubjectId(week);
+                List<String> newSubjectId = subjectId.stream().map(data -> {
+                    if (data.startsWith(Constants.REDUCE)) {
+                        data = data.replace(Constants.REDUCE, Constants.EMPTY_STR);
+                    }
+                    return data;
+                }).distinct().collect(Collectors.toList());
+                // 判断周目下题目是否足够
+                if (newSubjectId.size() < game.getCount()) {
+                    return R.fail("超级听力:当前周目下day1 - day5题目不足!");
+                }
+                if (newSubjectId.size() < game.getAnswerCount()) {
+                    return R.fail("超级记忆:当前周目下day1 - day5题目不足!");
+                }
                 TGame tGame = new TGame();
                 tGame.setWeek(dto.getWeek());
                 tGame.setAnswerRate(game.getAnswerRate());

--
Gitblit v1.7.1