无关风月
2024-07-10 6b96492c540e24cc29d55573c5816df808279825
ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java
@@ -1,4 +1,5 @@
package com.ruoyi.study.controller;
import java.util.Date;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -21,6 +22,7 @@
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.*;
@@ -83,6 +85,67 @@
    @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) {
@@ -874,8 +937,6 @@
        } else {
            result = null;
        }
        subjectRecordService.lambdaUpdate().set(TSubjectRecord::getDisabled, 0)
                .eq(TSubjectRecord::getUserId, loginStudy.getUserid()).update();
        return R.ok(result);
    }
@@ -911,46 +972,47 @@
                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);
                }
            }
        }
@@ -1718,7 +1780,7 @@
                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)
@@ -1762,7 +1824,7 @@
                .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);
    }
@@ -1770,6 +1832,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());
    }
@@ -1818,7 +1883,7 @@
            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());