From 27a580b6dc75cc256b84a611db8a227305d6e0b8 Mon Sep 17 00:00:00 2001
From: hjl <1657978663@qq.com>
Date: 星期四, 04 七月 2024 17:47:20 +0800
Subject: [PATCH] fix: 学习端退出学习计算学习进度bug

---
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java |   33 ++++++++++++++++-----------------
 1 files changed, 16 insertions(+), 17 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 01dfeac..3ca75f9 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
@@ -874,8 +874,6 @@
         } else {
             result = null;
         }
-        subjectRecordService.lambdaUpdate().set(TSubjectRecord::getDisabled, 0)
-                .eq(TSubjectRecord::getUserId, loginStudy.getUserid()).update();
         return R.ok(result);
     }
 
@@ -911,46 +909,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);
                 }
             }
         }
@@ -1818,7 +1817,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());

--
Gitblit v1.7.1