From f991c73f56f35665bcbe8ce2252c04ea82032b10 Mon Sep 17 00:00:00 2001 From: hjl <1657978663@qq.com> Date: 星期一, 27 五月 2024 18:06:31 +0800 Subject: [PATCH] feat: 修复登录bug;数据校验规则优化 --- ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java | 225 +++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 142 insertions(+), 83 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 705c657..43045c2 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 @@ -28,6 +28,7 @@ import javax.annotation.Resource; import java.util.*; +import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; /** @@ -179,6 +180,9 @@ TStudy one = studyService.getOne(new QueryWrapper<TStudy>() .eq("week", week) .eq("type", type)); + one.setQuarter(dto.getQuarter()); + one.setTitle(dto.getTitle()); + studyService.updateById(one); GameDTO game = dto.getGame(); StoryListenDTO storyListen = dto.getStoryListen(); if (day == 6) { @@ -338,12 +342,23 @@ */ @PostMapping("/addWeek") public R<Object> addWeek(@RequestBody AddWeekDTO dto) { - TStudy tStudy = new TStudy(); - tStudy.setType(dto.getType()); - tStudy.setWeek(dto.getWeek()); - tStudy.setTitle(dto.getTitle()); - tStudy.setQuarter(dto.getQuarter()); - studyService.save(tStudy); + TStudy one = studyService.getOne(new QueryWrapper<TStudy>() + .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(); + tStudy.setType(dto.getType()); + tStudy.setWeek(dto.getWeek()); + tStudy.setTitle(dto.getTitle()); + tStudy.setQuarter(dto.getQuarter()); + studyService.saveOrUpdate(tStudy); + } return R.ok(); } @@ -439,16 +454,19 @@ for (TStudyListen tStudyListen : list) { StringBuilder temp = new StringBuilder(); StudyListenVO studyListenVO = new StudyListenVO(); - for (String s : tStudyListen.getSubject().split(",")) { - TSubject byId = subjectService.getById(s); - temp.append(byId.getName()).append(","); + if (StringUtils.hasLength(tStudyListen.getSubject())) { + for (String s : tStudyListen.getSubject().split(",")) { + TSubject byId = subjectService.getById(s); + temp.append(byId.getName()).append(","); + } + String string = temp.toString(); + studyListenVO.setName(string.substring(0, string.length() - 1)); + studyListenVO.setIntegral(tStudyListen.getIntegral()); + studyListenVO.setSubject(tStudyListen.getSubject()); + studyListenVO.setIsVip(tStudyListen.getIsVip()); + listenVOS.add(studyListenVO); } - String string = temp.toString(); - studyListenVO.setName(string.substring(0, string.length() - 1)); - studyListenVO.setIntegral(tStudyListen.getIntegral()); - studyListenVO.setSubject(tStudyListen.getSubject()); - studyListenVO.setIsVip(tStudyListen.getIsVip()); - listenVOS.add(studyListenVO); + } // 看音选图 List<TStudyLook> list1 = studyLookService.list(new QueryWrapper<TStudyLook>() @@ -460,22 +478,25 @@ StringBuilder names = new StringBuilder(); StringBuilder sorts = new StringBuilder(); StudyLookVO studyLookVO1 = new StudyLookVO(); - for (String s : tStudyLook.getSubject().split(",")) { - TSubject byId = subjectService.getById(s); - names.append(byId.getName()).append(","); - String[] split = tStudyLook.getSort().split(","); - String s1 = split[index]; - sorts.append(s1).append(","); - index++; + if (StringUtils.hasLength(tStudyLook.getSubject())) { + for (String s : tStudyLook.getSubject().split(",")) { + TSubject byId = subjectService.getById(s); + names.append(byId.getName()).append(","); + String[] split = tStudyLook.getSort().split(","); + String s1 = split[index]; + sorts.append(s1).append(","); + index++; + } + String string = names.toString(); + String string1 = sorts.toString(); + studyLookVO1.setName(string.substring(0, string.length() - 1)); + studyLookVO1.setSort(string1.substring(0, string1.length() - 1)); + studyLookVO1.setIntegral(tStudyLook.getIntegral()); + studyLookVO1.setSubject(tStudyLook.getSubject()); + studyLookVO1.setIsVip(tStudyLook.getIsVip()); + lookVOS.add(studyLookVO1); } - String string = names.toString(); - String string1 = sorts.toString(); - studyLookVO1.setName(string.substring(0, string.length() - 1)); - studyLookVO1.setSort(string1.substring(0, string1.length() - 1)); - studyLookVO1.setIntegral(tStudyLook.getIntegral()); - studyLookVO1.setSubject(tStudyLook.getSubject()); - studyLookVO1.setIsVip(tStudyLook.getIsVip()); - lookVOS.add(studyLookVO1); + } // 归纳排除 List<TStudyInduction> list2 = studyInductionService.list(new QueryWrapper<TStudyInduction>() @@ -485,17 +506,20 @@ for (TStudyInduction tStudyInduction : list2) { StringBuilder names = new StringBuilder(); StudyInductionVO studyInductionVO = new StudyInductionVO(); - for (String s : tStudyInduction.getSubject().split(",")) { - String replace = s.replace("-", ""); - TSubject byId = subjectService.getById(replace); - names.append(byId.getName()).append(","); + 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(","); + } + String string = names.toString(); + studyInductionVO.setName(string.substring(0, string.length() - 1)); + studyInductionVO.setIntegral(tStudyInduction.getIntegral()); + studyInductionVO.setSubject(tStudyInduction.getSubject()); + studyInductionVO.setIsVip(tStudyInduction.getIsVip()); + inductionVOS.add(studyInductionVO); } - String string = names.toString(); - studyInductionVO.setName(string.substring(0, string.length() - 1)); - studyInductionVO.setIntegral(tStudyInduction.getIntegral()); - studyInductionVO.setSubject(tStudyInduction.getSubject()); - studyInductionVO.setIsVip(tStudyInduction.getIsVip()); - inductionVOS.add(studyInductionVO); + } // 有问有答 List<TStudyAnswer> list3 = studyAnswerService.list(new QueryWrapper<TStudyAnswer>() @@ -504,24 +528,37 @@ for (TStudyAnswer tStudyAnswer : list3) { StringBuilder names = new StringBuilder(); StudyAnswerVO studyAnswerVO = new StudyAnswerVO(); - if (tStudyAnswer.getIsAnswer() == 1) { - TSubject byId = subjectService.getById(tStudyAnswer.getSubject()); - names.append(byId.getName()).append(","); - TSubject byId1 = subjectService.getById(tStudyAnswer.getAnswerSubject()); - names.append(byId1.getName()).append(","); - } else { - TSubject byId = subjectService.getById(tStudyAnswer.getSubject()); - names.append(byId.getName()).append(","); - TSubject byId1 = subjectService.getById(tStudyAnswer.getAnswerSubject()); - names.append(byId1.getName()).append(","); + if (tStudyAnswer.getIsAnswer() != null) { + if (tStudyAnswer.getIsAnswer() == 1) { + if (tStudyAnswer.getSubject() != null) { + TSubject byId = subjectService.getById(tStudyAnswer.getSubject()); + names.append(byId.getName()).append(","); + } + if (tStudyAnswer.getAnswerSubject() != null) { + TSubject byId1 = subjectService.getById(tStudyAnswer.getAnswerSubject()); + names.append(byId1.getName()).append(","); + } + } else { + if (tStudyAnswer.getSubject() != null) { + TSubject byId = subjectService.getById(tStudyAnswer.getSubject()); + names.append(byId.getName()).append(","); + } + if (tStudyAnswer.getAnswerSubject() != null) { + TSubject byId1 = subjectService.getById(tStudyAnswer.getAnswerSubject()); + names.append(byId1.getName()).append(","); + } + } } - String string = names.toString(); - studyAnswerVO.setName(string.substring(0, string.length() - 1)); - studyAnswerVO.setIntegral(tStudyAnswer.getIntegral()); - studyAnswerVO.setIsVip(tStudyAnswer.getIsVip()); - studyAnswerVO.setIsAnswer(tStudyAnswer.getIsAnswer()); - studyAnswerVO.setSubject(tStudyAnswer.getSubject() + "," + tStudyAnswer.getAnswerSubject()); - answerVOS.add(studyAnswerVO); + if (StringUtils.hasLength(names)) { + String string = names.toString(); + studyAnswerVO.setName(string.substring(0, string.length() - 1)); + studyAnswerVO.setIntegral(tStudyAnswer.getIntegral()); + studyAnswerVO.setIsVip(tStudyAnswer.getIsVip()); + studyAnswerVO.setIsAnswer(tStudyAnswer.getIsAnswer()); + studyAnswerVO.setSubject(tStudyAnswer.getSubject() + "," + tStudyAnswer.getAnswerSubject()); + answerVOS.add(studyAnswerVO); + } + } // 音图相配 List<TStudyPair> list4 = studyPairService.list(new QueryWrapper<TStudyPair>() @@ -531,16 +568,19 @@ for (TStudyPair tStudyPair : list4) { StringBuilder names = new StringBuilder(); StudyPairVO studyPairVO = new StudyPairVO(); - for (String s : tStudyPair.getSubject().split(",")) { - TSubject byId = subjectService.getById(s); - names.append(byId.getName()).append(","); + if (StringUtils.hasLength(tStudyPair.getSubject())) { + for (String s : tStudyPair.getSubject().split(",")) { + TSubject byId = subjectService.getById(s); + names.append(byId.getName()).append(","); + } + String string = names.toString(); + studyPairVO.setName(string.substring(0, string.length() - 1)); + studyPairVO.setIntegral(tStudyPair.getIntegral()); + studyPairVO.setSubject(tStudyPair.getSubject()); + studyPairVO.setIsVip(tStudyPair.getIsVip()); + pairVOS.add(studyPairVO); } - String string = names.toString(); - studyPairVO.setName(string.substring(0, string.length() - 1)); - studyPairVO.setIntegral(tStudyPair.getIntegral()); - studyPairVO.setSubject(tStudyPair.getSubject()); - studyPairVO.setIsVip(tStudyPair.getIsVip()); - pairVOS.add(studyPairVO); + } List<TGame> list5 = gameService.list(new QueryWrapper<TGame>() .eq("week", week)); @@ -564,29 +604,47 @@ StringBuilder names1 = new StringBuilder(); StringBuilder sort = new StringBuilder(); StringBuilder sort1 = new StringBuilder(); - for (String s : tStory.getStory().split(",")) { - TStory byId = storyService.getById(s); - names.append(byId.getName()).append(","); + if (StringUtils.hasLength(tStory.getStory())) { + for (String s : tStory.getStory().split(",")) { + TStory byId = storyService.getById(s); + names.append(byId.getName()).append(","); + } } - for (String s : tStory.getLookStory().split(",")) { - TStory byId = storyService.getById(s); - names1.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(","); + } } - for (String s : tStory.getSort().split(",")) { - sort.append(s).append(","); + if (StringUtils.hasLength(tStory.getSort())) { + for (String s : tStory.getSort().split(",")) { + sort.append(s).append(","); + } } - for (String s : tStory.getLookSort().split(",")) { - sort1.append(s).append(","); + if (StringUtils.hasLength(tStory.getLookSort())) { + for (String s : tStory.getLookSort().split(",")) { + sort1.append(s).append(","); + } } - storyVO.setName(names.substring(0, names.length() - 1)); - storyVO.setSort(sort.substring(0, sort.length() - 1)); + if (StringUtils.hasLength(names)) { + storyVO.setName(names.substring(0, names.length() - 1)); + + } + if (StringUtils.hasLength(sort)) { + storyVO.setSort(sort.substring(0, sort.length() - 1)); + + } + if (StringUtils.hasLength(names1)) { + storyVO.setLookName(names1.substring(0, names1.length() - 1)); + + } + if (StringUtils.hasLength(sort1)) { + storyVO.setLookSort(sort1.substring(0, sort1.length() - 1)); + } storyVO.setIntegral(tStory.getIntegral()); - storyVO.setLookName(names1.substring(0, names1.length() - 1)); - storyVO.setLookSort(sort1.substring(0, sort1.length() - 1)); storyVO.setLookIntegral(tStory.getLookIntegral()); storyVOS.add(storyVO); } - res.setAnswer(answerVOS); res.setPair(pairVOS); res.setListen(listenVOS); @@ -604,7 +662,7 @@ * @param quarter 季度 */ @GetMapping("/weekList") - @ApiOperation(value = "周目列表", tags = {"周目列表"}) + @ApiOperation(value = "根据季度获取周目列表", tags = {"根据季度获取周目列表"}) @ApiImplicitParams({ @ApiImplicitParam(value = "所属类型", name = "type", dataType = "Integer", required = true), @ApiImplicitParam(value = "季度", name = "quarter", dataType = "Integer", required = true) @@ -800,7 +858,7 @@ * @param completeStudy 完成学习信息 */ @PostMapping("/completeLearning") - @ApiOperation(value = "完成学习", tags = {"完成学习/其他积分来源(分享...)"}) + @ApiOperation(value = "完成学习", tags = {"完成学习"}) public R<Boolean> completeLearning(@RequestBody CompleteStudyDTO completeStudy) { // 登录用户id Integer userId = tokenService.getLoginUserStudy().getUserid(); @@ -950,6 +1008,7 @@ subjectId.addAll(Arrays.asList(subject.split(","))); } redisService.setCacheList(RedisConstants.HEARING_TREE, subjectId); + redisService.expire(RedisConstants.HEARING_TREE, RedisConstants.THIRTY, TimeUnit.MINUTES); } return subjectId; } -- Gitblit v1.7.1