From afb2bc8e77e086ebeb358915e12fad41dac78a6a Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 23 十月 2025 14:41:34 +0800
Subject: [PATCH] 1020更新

---
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java |   86 +++++++++++++++++++++++++++++++-----------
 1 files changed, 63 insertions(+), 23 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 8eecf77..6f3f1f6 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
@@ -184,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());
         }
@@ -219,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:
@@ -231,7 +233,6 @@
                     }
                 }
                 res.setRecords(list);
-                res.setTotal(list.size());
                 return R.ok(res);
             case 2:
                 // 查询出error字段不为空的数据
@@ -250,7 +251,6 @@
                     }
                 }
                 res.setRecords(tSubjects);
-                res.setTotal(tSubjects.size());
                 return R.ok(res);
             case 3:
                 List<TSubject> list2 = subjectService.list(wrapper);
@@ -263,7 +263,6 @@
                     }
                 }
                 res.setRecords(list2);
-                res.setTotal(list2.size());
                 return R.ok(res);
             case 4:
                 // 查询出error字段不为空的数据
@@ -281,7 +280,6 @@
                     }
                 }
                 res.setRecords(tSubjects3);
-                res.setTotal(tSubjects3.size());
                 return R.ok(res);
             case 5:
                 List<TSubject> list4 = subjectService.list(wrapper);
@@ -293,7 +291,6 @@
                     }
                 }
                 res.setRecords(list4);
-                res.setTotal(list4.size());
                 return R.ok(res);
         }
         List<TSubject> objects = new ArrayList<>();
@@ -355,6 +352,7 @@
                 studyId.setRate(game.getRate());
                 studyId.setAnswerRate(game.getAnswerRate());
                 studyId.setSubjectIds(game.getSubjectIds());
+                studyId.setSubjectIdsOne(game.getSubjectIdsOne());
                 gameService.updateById(studyId);
             } else {
                 // 判断当前周目配置的题目数量
@@ -384,6 +382,7 @@
                 tGame.setAnswerIntegral(game.getAnswerIntegral());
                 tGame.setAnswerCount(game.getAnswerCount());
                 tGame.setSubjectIds(game.getSubjectIds());
+                tGame.setSubjectIdsOne(game.getSubjectIdsOne());
                 gameService.save(tGame);
             }
 
@@ -449,6 +448,7 @@
                 tStudyListen.setWeek(week);
                 tStudyListen.setIsVip(studyListenDTO.getIsVip());
                 tStudyListen.setRate(dto.getListenRate());
+                tStudyListen.setStudySort(studyListenDTO.getStudySort());
                 studyListenService.save(tStudyListen);
             }
             List<Integer> ids1 = studyLookService.lambdaQuery().eq(TStudyLook::getId, one.getId())
@@ -475,7 +475,7 @@
                 tStudyLook.setWeek(week);
                 tStudyLook.setIsVip(studyLookDTO.getIsVip());
                 tStudyLook.setRate(dto.getLookRate());
-
+                tStudyLook.setStudySort(studyLookDTO.getStudySort());
                 studyLookService.save(tStudyLook);
             }
             List<Integer> ids2 = studyInductionService.lambdaQuery().eq(TStudyInduction::getId, one.getId())
@@ -500,8 +500,9 @@
                 tStudyInduction.setIntegral(studyInductionDTO.getIntegral());
                 tStudyInduction.setWeek(week);
                 tStudyInduction.setRate(dto.getInductionRate());
-
                 tStudyInduction.setIsVip(studyInductionDTO.getIsVip());
+                tStudyInduction.setStudySort(studyInductionDTO.getStudySort());
+
                 studyInductionService.save(tStudyInduction);
             }
             List<Integer> ids3 = studyAnswerService.lambdaQuery().eq(TStudyAnswer::getId, one.getId())
@@ -529,6 +530,9 @@
                 tStudyAnswer.setWeek(week);
                 tStudyAnswer.setRate(dto.getAnswerRate());
                 tStudyAnswer.setIsVip(studyAnswerDTO.getIsVip());
+                tStudyAnswer.setStudySort(studyAnswerDTO.getStudySort());
+
+
                 studyAnswerService.save(tStudyAnswer);
             }
             List<Integer> ids4 = studyPairService.lambdaQuery().eq(TStudyPair::getId, one.getId())
@@ -554,6 +558,7 @@
                 tStudyPair.setWeek(week);
                 tStudyPair.setRate(dto.getPairRate());
                 tStudyPair.setIsVip(studyPairDTO.getIsVip());
+                tStudyPair.setStudySort(studyPairDTO.getStudySort());
                 studyPairService.save(tStudyPair);
             }
         }
@@ -756,7 +761,7 @@
         // 听音选图
         List<TStudyListen> list = studyListenService.list(new QueryWrapper<TStudyListen>()
                 .eq("week", week)
-                .eq("day", day));
+                .eq("day", day).orderByAsc("studySort"));
         List<TSubject> list9 = subjectService.list();
 
         for (TStudyListen tStudyListen : list) {
@@ -774,6 +779,8 @@
                 studyListenVO.setIntegral(tStudyListen.getIntegral());
                 studyListenVO.setSubject(tStudyListen.getSubject());
                 studyListenVO.setIsVip(tStudyListen.getIsVip());
+                studyListenVO.setId(tStudyListen.getId());
+                studyListenVO.setType(tStudyListen.getType());
                 listenVOS.add(studyListenVO);
             }
             res.setListenRate(tStudyListen.getRate());
@@ -782,7 +789,7 @@
         // 看音选图
         List<TStudyLook> list1 = studyLookService.list(new QueryWrapper<TStudyLook>()
                 .eq("week", week)
-                .eq("day", day)
+                .eq("day", day).orderByAsc("studySort")
         );
         for (TStudyLook tStudyLook : list1) {
             int index = 0;
@@ -807,6 +814,8 @@
                 studyLookVO1.setIntegral(tStudyLook.getIntegral());
                 studyLookVO1.setSubject(tStudyLook.getSubject());
                 studyLookVO1.setIsVip(tStudyLook.getIsVip());
+                studyLookVO1.setId(tStudyLook.getId());
+
                 lookVOS.add(studyLookVO1);
             }
             res.setLookRate(tStudyLook.getRate());
@@ -815,7 +824,7 @@
         // 归纳排除
         List<TStudyInduction> list2 = studyInductionService.list(new QueryWrapper<TStudyInduction>()
                 .eq("week", week)
-                .eq("day", day)
+                .eq("day", day).orderByAsc("studySort")
         );
         for (TStudyInduction tStudyInduction : list2) {
             StringBuilder names = new StringBuilder();
@@ -833,6 +842,8 @@
                 studyInductionVO.setIntegral(tStudyInduction.getIntegral());
                 studyInductionVO.setSubject(tStudyInduction.getSubject());
                 studyInductionVO.setIsVip(tStudyInduction.getIsVip());
+                studyInductionVO.setId(tStudyInduction.getId());
+
                 inductionVOS.add(studyInductionVO);
             }
             res.setInductionRate(tStudyInduction.getRate());
@@ -841,7 +852,7 @@
         // 有问有答
         List<TStudyAnswer> list3 = studyAnswerService.list(new QueryWrapper<TStudyAnswer>()
                 .eq("week", week)
-                .eq("day", day));
+                .eq("day", day).orderByAsc("studySort"));
         for (TStudyAnswer tStudyAnswer : list3) {
             StringBuilder names = new StringBuilder();
             StudyAnswerVO studyAnswerVO = new StudyAnswerVO();
@@ -883,6 +894,8 @@
                 studyAnswerVO.setIsVip(tStudyAnswer.getIsVip());
                 studyAnswerVO.setIsAnswer(tStudyAnswer.getIsAnswer());
                 studyAnswerVO.setSubject(tStudyAnswer.getSubject() + "," + tStudyAnswer.getAnswerSubject());
+                studyAnswerVO.setId(tStudyAnswer.getId());
+
                 answerVOS.add(studyAnswerVO);
                 res.setAnswerRate(tStudyAnswer.getRate());
 
@@ -892,7 +905,7 @@
         // 音图相配
         List<TStudyPair> list4 = studyPairService.list(new QueryWrapper<TStudyPair>()
                 .eq("week", week)
-                .eq("day", day)
+                .eq("day", day).orderByAsc("studySort")
         );
         for (TStudyPair tStudyPair : list4) {
             StringBuilder names = new StringBuilder();
@@ -910,6 +923,7 @@
                 studyPairVO.setIntegral(tStudyPair.getIntegral());
                 studyPairVO.setSubject(tStudyPair.getSubject());
                 studyPairVO.setIsVip(tStudyPair.getIsVip());
+                studyPairVO.setId(tStudyPair.getId());
                 pairVOS.add(studyPairVO);
             }
             res.setPairRate(tStudyPair.getRate());
@@ -931,6 +945,11 @@
             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);
         }
@@ -1722,12 +1741,15 @@
 
 
 //        List<String> subjectId = getSubjectId(week);
-
-        String[] split = game.getSubjectIds().split(",");
         List<String> subjectId = new ArrayList<>();
-        for (String s : split) {
-            subjectId.add(s);
+        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)) {
@@ -1784,11 +1806,15 @@
             throw new GlobalException("当前季度该周目暂无配置游戏数据!");
         }
 //        List<String> subjectId = getSubjectId(week);
-        String[] split = game.getSubjectIds().split(",");
         List<String> subjectId = new ArrayList<>();
-        for (String s : split) {
-            subjectId.add(s);
+        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);
         // 返回数据
@@ -2481,5 +2507,19 @@
         return R.ok(update);
     }
 
+    /**
+     * 设置题组类型 常规 示例
+     * @param dto
+     * @return
+     */
+    @PostMapping("/setStudyType")
+    public R<Object> setStudyType(@RequestBody SetStudyTypeDto dto){
+        TStudyListen studyListen = studyListenService.getById(dto.getId());
+        studyListen.setType(dto.getType());
+        studyListen.setSubject(dto.getSubject());
+        return R.ok(studyListenService.updateById(studyListen));
+
+    }
+
 }
 

--
Gitblit v1.7.1