From 5de4a49148636dce6568d37e4c62039934b0a188 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 22 十月 2025 16:36:34 +0800
Subject: [PATCH] bug修改

---
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java |   62 +++++++++++++++++++++++++-----
 1 files changed, 51 insertions(+), 11 deletions(-)

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 b6cf51a..97d7660 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
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.constant.Constants;
@@ -183,9 +184,9 @@
 
     @PostMapping("/subjectList")
 //    @ApiOperation(value = "配置学习类型选择题目", tags = {"题目管理"})
-    public R<PageInfo<TSubject>> subjectList(@RequestBody ChoiceSubject query) {
-        PageInfo<TSubject> res = new PageInfo<>(query.getPageNumber(), query.getPageSize());
-        QueryWrapper<TSubject> wrapper = new QueryWrapper<>();
+    public R<IPage<TSubject>> subjectList(@RequestBody ChoiceSubject query) {
+        // 创建分页对象,传入当前页和每页显示条数
+        IPage<TSubject> page = new Page<>(query.getPageNumber(), query.getPageSize());        QueryWrapper<TSubject> wrapper = new QueryWrapper<>();
         if (StringUtils.hasLength(query.getName())) {
             wrapper.like("name", query.getName());
         }
@@ -218,7 +219,9 @@
         }
         List<TCategory> list5 = categoryService.list();
         wrapper.eq("state", 1);
-        List<TSubject> list = subjectService.list(wrapper);
+        // 执行分页查询
+        IPage<TSubject> res = subjectService.page(page, wrapper);
+        List<TSubject> list = res.getRecords();
 
         switch (query.getStudyType()) {
             case 1:
@@ -230,7 +233,6 @@
                     }
                 }
                 res.setRecords(list);
-                res.setTotal(list.size());
                 return R.ok(res);
             case 2:
                 // 查询出error字段不为空的数据
@@ -249,7 +251,6 @@
                     }
                 }
                 res.setRecords(tSubjects);
-                res.setTotal(tSubjects.size());
                 return R.ok(res);
             case 3:
                 List<TSubject> list2 = subjectService.list(wrapper);
@@ -262,7 +263,6 @@
                     }
                 }
                 res.setRecords(list2);
-                res.setTotal(list2.size());
                 return R.ok(res);
             case 4:
                 // 查询出error字段不为空的数据
@@ -280,7 +280,6 @@
                     }
                 }
                 res.setRecords(tSubjects3);
-                res.setTotal(tSubjects3.size());
                 return R.ok(res);
             case 5:
                 List<TSubject> list4 = subjectService.list(wrapper);
@@ -292,7 +291,6 @@
                     }
                 }
                 res.setRecords(list4);
-                res.setTotal(list4.size());
                 return R.ok(res);
         }
         List<TSubject> objects = new ArrayList<>();
@@ -353,6 +351,8 @@
                 studyId.setAnswerCount(game.getAnswerCount());
                 studyId.setRate(game.getRate());
                 studyId.setAnswerRate(game.getAnswerRate());
+                studyId.setSubjectIds(game.getSubjectIds());
+                studyId.setSubjectIdsOne(game.getSubjectIdsOne());
                 gameService.updateById(studyId);
             } else {
                 // 判断当前周目配置的题目数量
@@ -381,6 +381,8 @@
                 tGame.setAnswerTime(game.getAnswerTime());
                 tGame.setAnswerIntegral(game.getAnswerIntegral());
                 tGame.setAnswerCount(game.getAnswerCount());
+                tGame.setSubjectIds(game.getSubjectIds());
+                tGame.setSubjectIdsOne(game.getSubjectIdsOne());
                 gameService.save(tGame);
             }
 
@@ -924,6 +926,16 @@
             gameVO.setAnswerCount(tGame.getAnswerCount());
             gameVO.setRate(tGame.getRate());
             gameVO.setAnswerRate(tGame.getAnswerRate());
+            String subjectIds = tGame.getSubjectIds();
+            if(subjectIds!=null && subjectIds.length()>0){
+                gameVO.setSubjects(subjectService.list(new QueryWrapper<TSubject>()
+                        .in("id", subjectIds.split(","))));
+            }
+            String subjectIdsOne = tGame.getSubjectIdsOne();
+            if(subjectIdsOne!=null && subjectIdsOne.length()>0){
+                gameVO.setSubjectsOne(subjectService.list(new QueryWrapper<TSubject>()
+                        .in("id", subjectIdsOne.split(","))));
+            }
             gameVOS.add(gameVO);
         }
         List<TStoryListen> list6 = storyListenService.list(new QueryWrapper<TStoryListen>()
@@ -1711,7 +1723,19 @@
         game.setTime(game.getTime().split(",")[difficulty]);
         // 检验是否完成难度
         studyService.checkDifficulty(difficulty, week, game, userStudy.getUserid());
-        List<String> subjectId = getSubjectId(week);
+
+
+//        List<String> subjectId = getSubjectId(week);
+        List<String> subjectId = new ArrayList<>();
+        String subjectIds = game.getSubjectIds();
+        if(subjectIds!=null){
+            String[] split = subjectIds.split(",");
+            for (String s : split) {
+                subjectId.add(s);
+            }
+        }
+
+
         List<String> newSubjectId = subjectId.stream().map(data -> {
             if (data.startsWith(Constants.REDUCE)) {
                 data = data.replace(Constants.REDUCE, Constants.EMPTY_STR);
@@ -1766,7 +1790,16 @@
         if (null == game) {
             throw new GlobalException("当前季度该周目暂无配置游戏数据!");
         }
-        List<String> subjectId = getSubjectId(week);
+//        List<String> subjectId = getSubjectId(week);
+        List<String> subjectId = new ArrayList<>();
+        String subjectIds = game.getSubjectIdsOne();
+        if(subjectIds!=null){
+            String[] split = subjectIds.split(",");
+            for (String s : split) {
+                subjectId.add(s);
+            }
+        }
+
         List<String> subjectData = getSubjectData(game, subjectId);
         List<TSubject> subjectList = getSubjectList(subjectData);
         // 返回数据
@@ -2452,5 +2485,12 @@
         return R.ok(userService.updateById(user));
     }
 
+    @GetMapping("/lookVideo")
+//    @ApiOperation(value = "用户积分变动", tags = {"用户积分变动"})
+    public R<Boolean> lookVideo() {
+        boolean update = userService.update(new LambdaUpdateWrapper<TUser>().set(TUser::getLookVideo, 0));
+        return R.ok(update);
+    }
+
 }
 

--
Gitblit v1.7.1