From 13fce7e5526de855f36e62fa0abb6864a15ef818 Mon Sep 17 00:00:00 2001 From: hjl <1657978663@qq.com> Date: 星期五, 19 七月 2024 18:19:59 +0800 Subject: [PATCH] fix: 学习端bug --- ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java | 178 +++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 131 insertions(+), 47 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 6993cdb..a23ed3d 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 @@ -83,6 +83,68 @@ @Resource private ITUserPresentRecordService userPresentRecordService; + @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); + + 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(); + } + @PostMapping("/storyList") // @ApiOperation(value = "配置学习类型选择故事", tags = {"题目管理"}) public R<PageInfo<TStory>> storyList(@RequestBody ChoiceStory query) { @@ -705,6 +767,22 @@ } /** + * 获取当前季度游戏难度 + */ + @GetMapping("/userGameDifficulty") + @ApiOperation(value = "获取当前季度游戏难度", tags = {"学习端-首页"}) + public R<Integer> userGameDifficulty(@RequestParam Integer week) { + LoginUserParent loginStudy = tokenService.getLoginUserStudy(); + if (null == loginStudy) { + return R.tokenError("登录失效!"); + } + Integer userid = loginStudy.getUserid(); + TUserStudy studyRecord = userStudyService.lambdaQuery().eq(TUserStudy::getUserId, userid) + .eq(TUserStudy::getDisabled, 0).one(); + return R.ok(studyService.userGameDifficulty(studyRecord, week)); + } + + /** * 首次页面加载时调用,获取学习进度及学习时长等信息 * * @param week 周目 @@ -933,76 +1011,75 @@ Integer type = exitLearn.getType(); // 更新用户学习完成率 if (Constants.ONE.equals(type)) { - if (1 == exitLearn.getSchedule()) { - userStudy.setListen(Constants.BURDEN_ONE); - } else { - // 听音选图 - List<TStudyListen> studyListens = studyListenService.listenSelectPicture(quarter, week, day); - int item = 0; - for (TStudyListen studyListen : studyListens) { - item += studyListen.getSubject().split(",").length; - } - int i = (int) (((double) schedule / item) * 100); - if (i > userStudy.getListen()) { + if (userStudy.getListen() != 100) { + if (1 == exitLearn.getSchedule()) { + userStudy.setListen(Constants.BURDEN_ONE); + } else { + // 听音选图 + List<TStudyListen> studyListens = studyListenService.listenSelectPicture(quarter, week, day); + int item = 0; + for (TStudyListen studyListen : studyListens) { + item += studyListen.getSubject().split(",").length; + } + int i = (int) (((double) schedule / item) * 100); userStudy.setListen(i); } } } else if (Constants.TWO.equals(type)) { - if (1 == exitLearn.getSchedule()) { - userStudy.setLook(Constants.BURDEN_ONE); - } else { - // 看图选音 - List<TStudyLook> lookList = studyLookService.pictureSelectVoice(quarter, week, day); - if (!lookList.isEmpty()) { - int item = lookList.size(); - int i = (int) (((double) schedule / item) * 100); - if (i > userStudy.getLook()) { + if (userStudy.getLook() != 100) { + if (1 == exitLearn.getSchedule()) { + userStudy.setLook(Constants.BURDEN_ONE); + } else { + // 看图选音 + List<TStudyLook> lookList = studyLookService.pictureSelectVoice(quarter, week, day); + if (!lookList.isEmpty()) { + int item = lookList.size(); + int i = (int) (((double) schedule / item) * 100); userStudy.setLook(i); } } } } else if (Constants.THREE.equals(type)) { - if (1 == exitLearn.getSchedule()) { - userStudy.setInduction(Constants.BURDEN_ONE); - } else { - // 归纳排除 - List<TStudyInduction> inductionList = studyInductionService.induceExclude(quarter, week, day); - if (!inductionList.isEmpty()) { - int item = inductionList.size(); - int i = (int) (((double) schedule / item) * 100); - if (i > userStudy.getInduction()) { + if (userStudy.getInduction() != 100) { + if (1 == exitLearn.getSchedule()) { + userStudy.setInduction(Constants.BURDEN_ONE); + } else { + // 归纳排除 + List<TStudyInduction> inductionList = studyInductionService.induceExclude(quarter, week, day); + if (!inductionList.isEmpty()) { + int item = inductionList.size(); + int i = (int) (((double) schedule / item) * 100); userStudy.setInduction(i); } } } } else if (Constants.FOUR.equals(type)) { - if (1 == exitLearn.getSchedule()) { - userStudy.setAnswer(Constants.BURDEN_ONE); - } else { - // 有问有答 - List<TStudyAnswer> answerList = studyAnswerService.questionsAndAnswers(quarter, week, day); - if (answerList.size() % Constants.TWO == Constants.ZERO) { - int i = (int) (((double) schedule / (answerList.size() / 2)) * 100); - if (i > userStudy.getAnswer()) { + if (userStudy.getAnswer() != 100) { + if (1 == exitLearn.getSchedule()) { + userStudy.setAnswer(Constants.BURDEN_ONE); + } else { + // 有问有答 + List<TStudyAnswer> answerList = studyAnswerService.questionsAndAnswers(quarter, week, day); + if (answerList.size() % Constants.TWO == Constants.ZERO) { + int i = (int) (((double) schedule / (answerList.size() / 2)) * 100); userStudy.setAnswer(i); } } } } else if (Constants.FIVE.equals(type)) { - if (1 == exitLearn.getSchedule()) { - userStudy.setPair(Constants.BURDEN_ONE); - } else { - // 音图相配 - List<TStudyPair> pairList = studyPairService.pictureMateVoice(quarter, week, day); - if (!pairList.isEmpty()) { - int item = pairList.size(); - int i = (int) (((double) schedule / item) * 100); - if (i > userStudy.getPair()) { + if (userStudy.getPair() != 100) { + if (1 == exitLearn.getSchedule()) { + userStudy.setPair(Constants.BURDEN_ONE); + } else { + // 音图相配 + List<TStudyPair> pairList = studyPairService.pictureMateVoice(quarter, week, day); + if (!pairList.isEmpty()) { + int item = pairList.size(); + int i = (int) (((double) schedule / item) * 100); userStudy.setPair(i); } } } - } } // 学习时长更新 @@ -1731,6 +1808,7 @@ .eq(TGameRecord::getDisabled, 0) .orderByDesc(TGameRecord::getCreateTime) .list(); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm"); if (null != studyRecord) { // 学习时长格式转换 Integer todayStudy = studyRecord.getTodayStudy(); @@ -1743,6 +1821,9 @@ int sum = gameRecordList.stream().map(TGameRecord::getUseTime).mapToInt(Integer::intValue).sum(); Integer totalStudy = studyRecord.getTotalStudy(); studyRecord.setTotalStudy(Math.round((float) (totalStudy) / 3600)); + for (TGameRecord tGameRecord : gameRecordList) { + tGameRecord.setTime(simpleDateFormat.format(tGameRecord.getCreateTime())); + } // 剩余周目 List<TStudy> studyList = studyService.lambdaQuery().eq(TStudy::getDisabled, 0) .eq(TStudy::getType, Constants.ONE) @@ -1839,6 +1920,9 @@ @GetMapping("/getIntegral") @ApiOperation(value = "获取剩余积分", tags = {"家长端-获取剩余积分"}) public R<Integer> getIntegral() { + if (tokenService.getLoginUser1() == null) { + return R.tokenError("登录失效"); + } Integer userId = tokenService.getLoginUser1().getUserid(); return R.ok(userService.getById(userId).getIntegral()); } -- Gitblit v1.7.1