| | |
| | | package com.ruoyi.study.controller; |
| | | import java.util.Date; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.jetbrains.annotations.TestOnly; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.util.StringUtils; |
| | | import org.springframework.web.bind.annotation.*; |
| | |
| | | |
| | | return R.ok(); |
| | | } |
| | | |
| | | @PostMapping("/storyList") |
| | | // @ApiOperation(value = "配置学习类型选择故事", tags = {"题目管理"}) |
| | | public R<PageInfo<TStory>> storyList(@RequestBody ChoiceStory query) { |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取当前季度游戏难度 |
| | | */ |
| | | @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 周目 |
| | |
| | | Integer type = exitLearn.getType(); |
| | | // 更新用户学习完成率 |
| | | if (Constants.ONE.equals(type)) { |
| | | if (userStudy.getListen() != 100) { |
| | | if (1 == exitLearn.getSchedule()) { |
| | | userStudy.setListen(Constants.BURDEN_ONE); |
| | | } else { |
| | |
| | | item += studyListen.getSubject().split(",").length; |
| | | } |
| | | int i = (int) (((double) schedule / item) * 100); |
| | | if (i > userStudy.getListen()) { |
| | | userStudy.setListen(i); |
| | | } |
| | | } |
| | | } else if (Constants.TWO.equals(type)) { |
| | | if (userStudy.getLook() != 100) { |
| | | if (1 == exitLearn.getSchedule()) { |
| | | userStudy.setLook(Constants.BURDEN_ONE); |
| | | } else { |
| | |
| | | if (!lookList.isEmpty()) { |
| | | int item = lookList.size(); |
| | | int i = (int) (((double) schedule / item) * 100); |
| | | if (i > userStudy.getLook()) { |
| | | userStudy.setLook(i); |
| | | } |
| | | } |
| | | } |
| | | } else if (Constants.THREE.equals(type)) { |
| | | if (userStudy.getInduction() != 100) { |
| | | if (1 == exitLearn.getSchedule()) { |
| | | userStudy.setInduction(Constants.BURDEN_ONE); |
| | | } else { |
| | |
| | | if (!inductionList.isEmpty()) { |
| | | int item = inductionList.size(); |
| | | int i = (int) (((double) schedule / item) * 100); |
| | | if (i > userStudy.getInduction()) { |
| | | userStudy.setInduction(i); |
| | | } |
| | | } |
| | | } |
| | | } else if (Constants.FOUR.equals(type)) { |
| | | 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); |
| | | if (i > userStudy.getAnswer()) { |
| | | userStudy.setAnswer(i); |
| | | } |
| | | } |
| | | } |
| | | } else if (Constants.FIVE.equals(type)) { |
| | | if (userStudy.getPair() != 100) { |
| | | if (1 == exitLearn.getSchedule()) { |
| | | userStudy.setPair(Constants.BURDEN_ONE); |
| | | } else { |
| | |
| | | if (!pairList.isEmpty()) { |
| | | int item = pairList.size(); |
| | | int i = (int) (((double) schedule / item) * 100); |
| | | if (i > userStudy.getPair()) { |
| | | userStudy.setPair(i); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | // 学习时长更新 |
| | |
| | | .eq(TGameRecord::getDisabled, 0) |
| | | .orderByDesc(TGameRecord::getCreateTime) |
| | | .list(); |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm"); |
| | | if (null != studyRecord) { |
| | | // 学习时长格式转换 |
| | | Integer todayStudy = studyRecord.getTodayStudy(); |
| | |
| | | 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) |