| | |
| | | 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.*; |
| | |
| | | @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) { |
| | |
| | | } else { |
| | | result = null; |
| | | } |
| | | subjectRecordService.lambdaUpdate().set(TSubjectRecord::getDisabled, 0) |
| | | .eq(TSubjectRecord::getUserId, loginStudy.getUserid()).update(); |
| | | return R.ok(result); |
| | | } |
| | | |
| | |
| | | for (TStudyListen studyListen : studyListens) { |
| | | item += studyListen.getSubject().split(",").length; |
| | | } |
| | | int i = (int) ((double) (exitLearn.getTopicIds().split(",").length / item) * 100); |
| | | int i = (int) (((double) schedule / item) * 100); |
| | | if (i > userStudy.getListen()) { |
| | | userStudy.setListen(100 - i); |
| | | userStudy.setListen(i); |
| | | } |
| | | } else if (Constants.TWO.equals(type)) { |
| | | // 看图选音 |
| | | 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()) { |
| | | userStudy.setLook(100 - i); |
| | | } |
| | | int item = 0; |
| | | for (TStudyLook studyLook : lookList) { |
| | | item += studyLook.getSubject().split(",").length; |
| | | } |
| | | int i = (int) (((double) schedule / item) * 100); |
| | | if (i > userStudy.getLook()) { |
| | | userStudy.setLook(i); |
| | | } |
| | | } else if (Constants.THREE.equals(type)) { |
| | | // 归纳排除 |
| | | List<TStudyInduction> inductionList = studyInductionService.induceExclude(quarter, week, day); |
| | | if (!inductionList.isEmpty()) { |
| | | int item = inductionList.size(); |
| | | int i = (int) ((double) (schedule / item)) * 100; |
| | | int i = (int) (((double) schedule / item) * 100); |
| | | if (i > userStudy.getInduction()) { |
| | | userStudy.setInduction(100 - i); |
| | | userStudy.setInduction(i); |
| | | } |
| | | } |
| | | } else if (Constants.FOUR.equals(type)) { |
| | | // 有问有答 |
| | | List<TStudyAnswer> answerList = studyAnswerService.questionsAndAnswers(quarter, week, day); |
| | | if (answerList.size() % Constants.TWO == Constants.ZERO) { |
| | | int i = (int) ((double) (schedule / (answerList.size() / 2))) * 100; |
| | | int i = (int) (((double) schedule / (answerList.size() / 2)) * 100); |
| | | if (i > userStudy.getAnswer()) { |
| | | userStudy.setAnswer(100 - i); |
| | | userStudy.setAnswer(i); |
| | | } |
| | | } |
| | | } else if (Constants.FIVE.equals(type)) { |
| | | // 音图相配 |
| | | List<TStudyPair> pairList = studyPairService.pictureMateVoice(quarter, week, day); |
| | | int item = pairList.size(); |
| | | int i = (int) ((double) (schedule / item)) * 100; |
| | | int i = (int) (((double) schedule / item) * 100); |
| | | if (i > userStudy.getPair()) { |
| | | userStudy.setPair(100 - i); |
| | | userStudy.setPair(i); |
| | | } |
| | | } |
| | | } |
| | |
| | | tGameRecord.setTime(simpleDateFormat.format(tGameRecord.getCreateTime())); |
| | | } |
| | | Integer totalStudy = studyRecord.getTotalStudy(); |
| | | studyRecord.setTotalStudy(Math.round((float) (totalStudy + sum) / 3600)); |
| | | studyRecord.setTotalStudy(Math.round((float) (totalStudy) / 3600)); |
| | | // 剩余周目 |
| | | List<TStudy> studyList = studyService.lambdaQuery().eq(TStudy::getDisabled, 0) |
| | | .eq(TStudy::getType, Constants.ONE) |
| | |
| | | .eq(TGameRecord::getDisabled, 0).list(); |
| | | int sum = gameRecordList.stream().map(TGameRecord::getUseTime).mapToInt(Integer::intValue).sum(); |
| | | Integer totalStudy = studyRecord.getTotalStudy(); |
| | | studyRecord.setTotalStudy(Math.round((float) (totalStudy + sum) / 3600)); |
| | | studyRecord.setTotalStudy(Math.round((float) (totalStudy) / 3600)); |
| | | StudyRecordResultVO studyRecordResultVO = new StudyRecordResultVO(studyRecord, gameRecordList); |
| | | return R.ok(studyRecordResultVO); |
| | | } |
| | |
| | | @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()); |
| | | } |
| | |
| | | return R.tokenError("登录失效"); |
| | | } |
| | | IPage<TIntegralRecord> page = integralRecordService.integralDetail(new Page<>(pageNum, pageSize), |
| | | tokenService.getLoginUserStudy().getUserid(), time); |
| | | tokenService.getLoginUser1().getUserid(), time); |
| | | for (TIntegralRecord record : page.getRecords()) { |
| | | if (!record.getIntegral().startsWith("-")) { |
| | | record.setIntegral("+" + record.getIntegral()); |