From a9bf1fc6ffb80c2de56e1730595b3abde4910484 Mon Sep 17 00:00:00 2001
From: hjl <1657978663@qq.com>
Date: 星期五, 21 六月 2024 17:17:55 +0800
Subject: [PATCH] fix: 学习端bug

---
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java |   22 +++++++++++++---------
 1 files changed, 13 insertions(+), 9 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 b6fc43c..a5ca771 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
@@ -809,7 +809,7 @@
             data.setIsDelete(0);
             result = result && userPresentRecordService.save(data);
         } else {
-            if (System.currentTimeMillis() - record.getPresentTime().getTime() >= 10 * 60) {
+            if (System.currentTimeMillis() - record.getPresentTime().getTime() >= 10 * 60 * 1000) {
                 // 赠送积分
                 result = userService.lambdaUpdate()
                         .set(TUser::getIntegral, user.getIntegral() + Integer.parseInt(integral))
@@ -889,6 +889,7 @@
         Integer quarter = exitLearn.getQuarter();
         Integer week = exitLearn.getWeek();
         Integer day = exitLearn.getDay();
+        int schedule = exitLearn.getSchedule() == null ? 0 : exitLearn.getSchedule();
         if (userStudy.getWeek().equals(exitLearn.getWeek()) && userStudy.getDay().equals(exitLearn.getDay())) {
             // 计算完成率
             Integer type = exitLearn.getType();
@@ -909,7 +910,7 @@
                 List<TStudyLook> lookList = studyLookService.pictureSelectVoice(quarter, week, day);
                 if (!lookList.isEmpty()) {
                     int item = lookList.size();
-                    int i = (int) ((double) (exitLearn.getSchedule() / item)) * 100;
+                    int i = (int) ((double) (schedule / item)) * 100;
                     if (i > userStudy.getLook()) {
                         userStudy.setLook(100 - i);
                     }
@@ -919,7 +920,7 @@
                 List<TStudyInduction> inductionList = studyInductionService.induceExclude(quarter, week, day);
                 if (!inductionList.isEmpty()) {
                     int item = inductionList.size();
-                    int i = (int) ((double) (exitLearn.getSchedule() / item)) * 100;
+                    int i = (int) ((double) (schedule / item)) * 100;
                     if (i > userStudy.getInduction()) {
                         userStudy.setInduction(100 - i);
                     }
@@ -928,7 +929,7 @@
                 // 有问有答
                 List<TStudyAnswer> answerList = studyAnswerService.questionsAndAnswers(quarter, week, day);
                 if (answerList.size() % Constants.TWO == Constants.ZERO) {
-                    int i = (int) ((double) (exitLearn.getSchedule() / (answerList.size() / 2))) * 100;
+                    int i = (int) ((double) (schedule / (answerList.size() / 2))) * 100;
                     if (i > userStudy.getAnswer()) {
                         userStudy.setAnswer(100 - i);
                     }
@@ -937,7 +938,7 @@
                 // 音图相配
                 List<TStudyPair> pairList = studyPairService.pictureMateVoice(quarter, week, day);
                 int item = pairList.size();
-                int i = (int) ((double) (exitLearn.getSchedule() / item)) * 100;
+                int i = (int) ((double) (schedule / item)) * 100;
                 if (i > userStudy.getPair()) {
                     userStudy.setPair(100 - i);
                 }
@@ -1162,6 +1163,8 @@
             record.setQuarter(completeStudy.getQuarter());
             record.setWeek(completeStudy.getWeek());
             record.setDay(completeStudy.getDay());
+            // 学习类型
+            record.setStudyType(completeStudy.getType());
             record.setObtainedIntegral(integral);
             record.setType(Constants.ZERO);
             update = update && studyRecordService.save(record);
@@ -1354,11 +1357,12 @@
                 .eq(TUserStudy::getDisabled, 0).one();
         if (null == userStudy) {
             userStudy = createUserStudy(userid);
-            userStudy.setTotalStudy(userStudy.getTotalStudy() + completeStudy.getUseTime());
-            userStudy.setTodayStudy(userStudy.getTodayStudy() + completeStudy.getUseTime());
-            userStudy.setWeekStudy(userStudy.getWeekStudy() + completeStudy.getUseTime());
-            userStudy.setMonthStudy(userStudy.getMonthStudy() + completeStudy.getUseTime());
         }
+        // 学习时长
+        userStudy.setTotalStudy(userStudy.getTotalStudy() + completeStudy.getUseTime());
+        userStudy.setTodayStudy(userStudy.getTodayStudy() + completeStudy.getUseTime());
+        userStudy.setWeekStudy(userStudy.getWeekStudy() + completeStudy.getUseTime());
+        userStudy.setMonthStudy(userStudy.getMonthStudy() + completeStudy.getUseTime());
         boolean update = userStudyService.updateById(userStudy);
         // 超级记忆逻辑
         if (Constants.MEMORY.equals(completeStudy.getGameName())) {

--
Gitblit v1.7.1