From fafae77d59bc333a11c6b43e8f8606e190341e4a Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 10 六月 2025 16:53:13 +0800
Subject: [PATCH] 部分代码

---
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java |  261 +++++++++++++++++++++++++++++++++++----------------
 1 files changed, 179 insertions(+), 82 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 26c0859..be1178f 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
@@ -24,9 +24,17 @@
 import kotlin.random.Random;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.StringUtils;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import javax.sound.sampled.*;
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.MalformedURLException;
+import java.net.URL;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -83,65 +91,19 @@
     private ManagementClient managementClient;
     @Resource
     private ITUserPresentRecordService userPresentRecordService;
+    @Resource
+    private ITSubjectRecordDetailService subjectRecordDetailService;
 
     @PostMapping("/testAddData")
     @ApiOperation(value = "测试分片", tags = {"测试分片"})
     public R<Object> testAddData() {
-        TIntegralRecord tIntegralRecord = new TIntegralRecord();
-        tIntegralRecord.setIntegral("1");
-        tIntegralRecord.setMethod("1");
-        tIntegralRecord.setUserId(23);
-        tIntegralRecord.setGameId(1);
-        tIntegralRecord.setGameDifficulty(1);
-        tIntegralRecord.setStoryId(1);
-        tIntegralRecord.setStoryType(1);
-        integralRecordService.save(tIntegralRecord);
-        TGameRecord tGameRecord = new TGameRecord();
-        tGameRecord.setUserId(33);
-        tGameRecord.setAccuracy(0);
-        tGameRecord.setGameName("");
-        tGameRecord.setUseTime(0);
-        tGameRecord.setUseTime1("");
-        tGameRecord.setGameId(0);
-        tGameRecord.setGameDifficulty(0);
-        tGameRecord.setTime("");
-        tGameRecord.setDisabled(false);
-        tGameRecord.setCreateBy("");
-        tGameRecord.setCreateTime(new Date());
-        tGameRecord.setUpdateBy("");
-        tGameRecord.setUpdateTime(new Date());
-        gameRecordService.save(tGameRecord);
-        TSubjectRecord tSubjectRecord = new TSubjectRecord();
-        tSubjectRecord.setUserId(22);
-        tSubjectRecord.setWeek(0);
-        tSubjectRecord.setDay(0);
-        tSubjectRecord.setBeforeSubject("");
-        tSubjectRecord.setType(0);
-        tSubjectRecord.setCompleteSubject("");
-        tSubjectRecord.setAnswerNumber(0);
-        tSubjectRecord.setCorrectNumber(0);
-        tSubjectRecord.setDisabled(false);
-        tSubjectRecord.setCreateBy("");
-        tSubjectRecord.setCreateTime(new Date());
-        tSubjectRecord.setUpdateBy("");
-        tSubjectRecord.setUpdateTime(new Date());
-        subjectRecordService.save(tSubjectRecord);
-        TUserPresentRecord tUserPresentRecord = new TUserPresentRecord();
-        tUserPresentRecord.setUserId(44);
-        tUserPresentRecord.setPresentTime(new Date());
-        tUserPresentRecord.setIsDelete(0);
-        userPresentRecordService.save(tUserPresentRecord);
+        TSubjectRecordDetail tSubjectRecordDetail = new TSubjectRecordDetail();
+        tSubjectRecordDetail.setUserId(12);
+        subjectRecordDetailService.save(tSubjectRecordDetail);
 
-        TUserStudyRecord tUserStudyRecord = new TUserStudyRecord();
-        tUserStudyRecord.setUserId(17);
-        tUserStudyRecord.setQuarter(0);
-        tUserStudyRecord.setWeek(0);
-        tUserStudyRecord.setDay(0);
-        tUserStudyRecord.setObtainedIntegral(0);
-        tUserStudyRecord.setType(0);
-        tUserStudyRecord.setStudyType(0);
-        tUserStudyRecord.setStoryId(0);
-        studyRecordService.save(tUserStudyRecord);
+
+
+
 
         return R.ok();
     }
@@ -537,6 +499,10 @@
         return R.ok();
     }
 
+    public static void main(String[] args) throws Exception {
+      double temp =1.687;
+        System.err.println((int)temp);
+    }
     /**
      * 添加周目
      *
@@ -549,10 +515,7 @@
                 .eq("week", dto.getWeek())
                 .eq("type", dto.getType()));
         if (one != null) {
-            one.setType(dto.getType());
-            one.setWeek(dto.getWeek());
             one.setTitle(dto.getTitle());
-            one.setQuarter(dto.getQuarter());
             studyService.saveOrUpdate(one);
         } else {
             TStudy tStudy = new TStudy();
@@ -570,8 +533,69 @@
                     .orderByAsc(TStudy::getWeek)
                     .list();
             int i = 1;
+            List<TGame> games = gameService.list(new QueryWrapper<TGame>());
+            List<TStoryListen> storyListens = storyListenService.list(new QueryWrapper<TStoryListen>());
+            List<TStudyListen> studyListens = studyListenService.list();
+            List<TStudyLook> studyLooks = studyLookService.list();
+            List<TStudyInduction> studyInductions = studyInductionService.list();
+            List<TStudyAnswer> studyAnswers = studyAnswerService.list();
+            List<TStudyPair> studyPairs = studyPairService.list();
             for (TStudy tStudy : list1) {
+                System.err.println("进入修改");
                 tStudy.setWeek(i);
+                // 将对应的题目配置修改week
+                 List<TGame> games1 = games.stream().filter(e->e.getWeek().equals(tStudy.getWeek())).collect(Collectors.toList());
+                for (TGame tGame : games1) {
+                    tGame.setWeek(i);
+                    tGame.setStudyId(tStudy.getId());
+                    gameService.updateById(tGame);
+
+
+                }
+                // 听故事
+                List<TStoryListen> storyListens1 = storyListens.stream().filter(e->e.getWeek().equals(tStudy.getWeek())).collect(Collectors.toList());
+                for (TStoryListen tStoryListen : storyListens1) {
+                    tStoryListen.setWeek(i);
+                    tStoryListen.setStudyId(tStudy.getId());
+                    storyListenService.updateById(tStoryListen);
+
+                }
+                // 听音选图
+                List<TStudyListen> studyListens1 = studyListens.stream().filter(e->e.getWeek().equals(tStudy.getWeek())).collect(Collectors.toList());
+                for (TStudyListen tStudyListen : studyListens1) {
+                    tStudyListen.setWeek(i);
+                    tStudyListen.setStudyId(tStudy.getId());
+                    studyListenService.updateById(tStudyListen);
+                }
+                // 看图选音
+                List<TStudyLook>studyLooks1 = studyLooks.stream().filter(e->e.getWeek().equals(tStudy.getWeek())).collect(Collectors.toList());
+                for (TStudyLook tStudyLook : studyLooks1) {
+                    tStudyLook.setWeek(i);
+                    tStudyLook.setStudyId(tStudy.getId());
+                    studyLookService.updateById(tStudyLook);
+                }
+                // 归纳判断
+                List<TStudyInduction> studyInductions1 = studyInductions.stream().filter(e->e.getWeek().equals(tStudy.getWeek())).collect(Collectors.toList());
+                for (TStudyInduction tStudyInduction : studyInductions1) {
+                    tStudyInduction.setWeek(i);
+                    tStudyInduction.setStudyId(tStudy.getId());
+                    System.err.println("归纳判断"+tStudy.getId());
+                    studyInductionService.updateById(tStudyInduction);
+
+                }
+                List<TStudyAnswer> studyAnswers1 = studyAnswers.stream().filter(e->e.getWeek().equals(tStudy.getWeek())).collect(Collectors.toList());
+                for (TStudyAnswer tStudyAnswer : studyAnswers1) {
+                    tStudyAnswer.setStudyId(tStudy.getId());
+                    tStudyAnswer.setWeek(i);
+                    studyAnswerService.updateById(tStudyAnswer);
+
+                }
+                List<TStudyPair> studyPairs1 = studyPairs.stream().filter(e->e.getWeek().equals(tStudy.getWeek())).collect(Collectors.toList());
+                for (TStudyPair tStudyPair : studyPairs1) {
+                    tStudyPair.setWeek(i);
+                    tStudyPair.setStudyId(tStudy.getId());
+                    studyPairService.updateById(tStudyPair);
+                }
                 i++;
             }
             studyService.updateBatchById(list1);
@@ -670,13 +694,17 @@
         List<TStudyListen> list = studyListenService.list(new QueryWrapper<TStudyListen>()
                 .eq("week", week)
                 .eq("day", day));
+        List<TSubject> list9 = subjectService.list();
+
         for (TStudyListen tStudyListen : list) {
             StringBuilder temp = new StringBuilder();
             StudyListenVO studyListenVO = new StudyListenVO();
             if (StringUtils.hasLength(tStudyListen.getSubject())) {
                 for (String s : tStudyListen.getSubject().split(",")) {
-                    TSubject byId = subjectService.getById(s);
-                    temp.append(byId.getName()).append(",");
+                    TSubject byId = list9.stream().filter(e -> e.getId().equals(Integer.valueOf(s))).findFirst().orElse(null);
+                    if (byId!=null){
+                        temp.append(byId.getName()).append(",");
+                    }
                 }
                 String string = temp.toString();
                 studyListenVO.setName(string.substring(0, string.length() - 1));
@@ -699,8 +727,10 @@
             StudyLookVO studyLookVO1 = new StudyLookVO();
             if (StringUtils.hasLength(tStudyLook.getSubject())) {
                 for (String s : tStudyLook.getSubject().split(",")) {
-                    TSubject byId = subjectService.getById(s);
-                    names.append(byId.getName()).append(",");
+                    TSubject byId = list9.stream().filter(e -> e.getId().equals(Integer.valueOf(s))).findFirst().orElse(null);
+                    if (byId!=null){
+                        names.append(byId.getName()).append(",");
+                    }
                     String[] split = tStudyLook.getSort().split(",");
                     String s1 = split[index];
                     sorts.append(s1).append(",");
@@ -728,8 +758,10 @@
             if (StringUtils.hasLength(tStudyInduction.getSubject())) {
                 for (String s : tStudyInduction.getSubject().split(",")) {
                     String replace = s.replace("-", "");
-                    TSubject byId = subjectService.getById(replace);
-                    names.append(byId.getName()).append(",");
+                    TSubject byId = list9.stream().filter(e -> e.getId().equals(Integer.valueOf(replace))).findFirst().orElse(null);
+                    if (byId!=null){
+                        names.append(byId.getName()).append(",");
+                    }
                 }
                 String string = names.toString();
                 studyInductionVO.setName(string.substring(0, string.length() - 1));
@@ -750,21 +782,31 @@
             if (tStudyAnswer.getIsAnswer() != null) {
                 if (tStudyAnswer.getIsAnswer() == 1) {
                     if (tStudyAnswer.getSubject() != null) {
-                        TSubject byId = subjectService.getById(tStudyAnswer.getSubject());
-                        names.append(byId.getName()).append(",");
+
+                        TSubject byId = list9.stream().filter(e -> e.getId().equals(tStudyAnswer.getSubject())).findFirst().orElse(null);
+                        if (byId!=null){
+                            names.append(byId.getName()).append(",");
+                        }
                     }
                     if (tStudyAnswer.getAnswerSubject() != null) {
-                        TSubject byId1 = subjectService.getById(tStudyAnswer.getAnswerSubject());
-                        names.append(byId1.getName()).append(",");
+
+                        TSubject byId1 = list9.stream().filter(e -> e.getId().equals(tStudyAnswer.getAnswerSubject())).findFirst().orElse(null);
+                        if (byId1!=null){
+                            names.append(byId1.getName()).append(",");
+                        }
                     }
                 } else {
                     if (tStudyAnswer.getSubject() != null) {
-                        TSubject byId = subjectService.getById(tStudyAnswer.getSubject());
-                        names.append(byId.getName()).append(",");
+                        TSubject byId = list9.stream().filter(e -> e.getId().equals(tStudyAnswer.getSubject())).findFirst().orElse(null);
+                        if (byId!=null){
+                            names.append(byId.getName()).append(",");
+                        }
                     }
                     if (tStudyAnswer.getAnswerSubject() != null) {
-                        TSubject byId1 = subjectService.getById(tStudyAnswer.getAnswerSubject());
-                        names.append(byId1.getName()).append(",");
+                        TSubject byId1 = list9.stream().filter(e -> e.getId().equals(tStudyAnswer.getAnswerSubject())).findFirst().orElse(null);
+                        if (byId1!=null){
+                            names.append(byId1.getName()).append(",");
+                        }
                     }
                 }
             }
@@ -789,8 +831,11 @@
             StudyPairVO studyPairVO = new StudyPairVO();
             if (StringUtils.hasLength(tStudyPair.getSubject())) {
                 for (String s : tStudyPair.getSubject().split(",")) {
-                    TSubject byId = subjectService.getById(s);
-                    names.append(byId.getName()).append(",");
+
+                    TSubject byId = list9.stream().filter(e -> e.getId().equals(Integer.valueOf(s))).findFirst().orElse(null);
+                    if (byId!=null){
+                        names.append(byId.getName()).append(",");
+                    }
                 }
                 String string = names.toString();
                 studyPairVO.setName(string.substring(0, string.length() - 1));
@@ -816,6 +861,9 @@
         }
         List<TStoryListen> list6 = storyListenService.list(new QueryWrapper<TStoryListen>()
                 .eq("week", week));
+        List<TStory> list10 = storyService.list();
+
+
         for (TStoryListen tStory : list6) {
             StoryVO storyVO = new StoryVO();
             storyVO.setStory(tStory.getStory());
@@ -826,14 +874,19 @@
             StringBuilder sort1 = new StringBuilder();
             if (StringUtils.hasLength(tStory.getStory())) {
                 for (String s : tStory.getStory().split(",")) {
-                    TStory byId = storyService.getById(s);
-                    names.append(byId.getName()).append(",");
+                    TStory byId = list10.stream().filter(e -> e.getId().equals(Integer.valueOf(s))).findFirst().orElse(null);
+                    if (byId!=null){
+                        names.append(byId.getName()).append(",");
+                    }
                 }
             }
             if (StringUtils.hasLength(tStory.getLookStory())) {
                 for (String s : tStory.getLookStory().split(",")) {
-                    TStory byId = storyService.getById(s);
-                    names1.append(byId.getName()).append(",");
+
+                    TStory byId = list10.stream().filter(e -> e.getId().equals(Integer.valueOf(s))).findFirst().orElse(null);
+                    if (byId!=null){
+                        names1.append(byId.getName()).append(",");
+                    }
                 }
             }
             if (StringUtils.hasLength(tStory.getSort())) {
@@ -1261,6 +1314,7 @@
                                                       @RequestParam Integer day) {
         // 判断当前登录用户是否为 会员
         Boolean isVip = userService.isVip();
+
         // 非会员只能查看非会员题目,会员可以查看所有题目
         List<TStudyListen> studyListens = studyListenService.listenSelectPicture(quarter, week, day);
         for (TStudyListen studyListen : studyListens) {
@@ -1272,7 +1326,7 @@
                 }
             }
         }
-        return R.ok(studyService.listenSelectPicture(week, day, studyListens));
+        return R.ok(studyService.listenSelectPicture(week, day, studyListens,tokenService.getLoginUserStudy().getUserid()));
     }
 
     /**
@@ -1303,7 +1357,7 @@
                 }
             }
         }
-        return R.ok(studyService.pictureSelectVoice(week, day, lookList));
+        return R.ok(studyService.pictureSelectVoice(week, day, lookList,tokenService.getLoginUserStudy().getUserid()));
     }
 
     /**
@@ -1334,7 +1388,7 @@
                 }
             }
         }
-        return R.ok(studyService.induceExclude(week, day, inductionList));
+        return R.ok(studyService.induceExclude(week, day, inductionList,tokenService.getLoginUserStudy().getUserid()));
     }
 
     /**
@@ -1365,7 +1419,7 @@
                 }
             }
         }
-        return R.ok(studyService.questionsAndAnswers(week, day, answerList));
+        return R.ok(studyService.questionsAndAnswers(week, day, answerList,tokenService.getLoginUserStudy().getUserid()));
     }
 
     /**
@@ -1396,10 +1450,53 @@
                 }
             }
         }
-        return R.ok(studyService.pictureMateVoice(week, day, pairList));
+        return R.ok(studyService.pictureMateVoice(week, day, pairList,tokenService.getLoginUserStudy().getUserid()));
     }
 
     /**
+     * 2.0新增-记录答题状态
+     *
+     */
+    @PostMapping("/answerQuestion")
+    @ApiOperation(value = "2.0新增-记录答题状态", tags = {"学习端-听-自主学习"})
+    public R answerQuestion(@RequestBody @Validated AnswerQuestionDTO answerQuestionDTO) {
+        LoginUserParent userStudy = tokenService.getLoginUserStudy();
+        if (null == userStudy) {
+            return R.tokenError("登录失效!");
+        }
+        TSubjectRecordDetail byId = subjectRecordDetailService.getById(answerQuestionDTO.getId());
+        byId.setUserId(null);
+        byId.setStatus(answerQuestionDTO.getStatus());
+        subjectRecordDetailService.updateById(byId);
+        return R.ok();
+    }
+    /**
+     * 2.0新增-重新开始
+     *
+     */
+    @PostMapping("/restart")
+    @ApiOperation(value = "2.0新增-重新开始", tags = {"学习端-听-自主学习"})
+    public R restart(@RequestBody RestartDTO restartDTO) {
+        LoginUserParent userStudy = tokenService.getLoginUserStudy();
+        if (null == userStudy) {
+            return R.tokenError("登录失效!");
+        }
+        List<TSubjectRecordDetail> list = subjectRecordDetailService.lambdaQuery()
+                .eq(TSubjectRecordDetail::getUserId, userStudy.getUserid())
+                .eq(TSubjectRecordDetail::getWeek, restartDTO.getWeek())
+                .eq(TSubjectRecordDetail::getDay, restartDTO.getDay())
+                .eq(TSubjectRecordDetail::getType, restartDTO.getType())
+                .list();
+        for (TSubjectRecordDetail tSubjectRecordDetail : list) {
+            tSubjectRecordDetail.setStatus(1);
+            tSubjectRecordDetail.setUserId(null);
+        }
+        subjectRecordDetailService.updateBatchById(list);
+        return R.ok();
+    }
+
+
+    /**
      * 学习完成,生成学习记录,积分明细记录
      *
      * @param completeStudy 完成学习信息

--
Gitblit v1.7.1