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