From 8abab6c0916fe6666835c634be45a52f8ab400d2 Mon Sep 17 00:00:00 2001
From: hjl <1657978663@qq.com>
Date: 星期二, 25 六月 2024 09:50:04 +0800
Subject: [PATCH] fix: 学习端bug

---
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TUserStudyServiceImpl.java |   15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TUserStudyServiceImpl.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TUserStudyServiceImpl.java
index 0570cab..5a69d7e 100644
--- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TUserStudyServiceImpl.java
+++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TUserStudyServiceImpl.java
@@ -4,15 +4,18 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.constant.Constants;
 import com.ruoyi.study.domain.TGame;
+import com.ruoyi.study.domain.TGameRecord;
 import com.ruoyi.study.domain.TStudy;
 import com.ruoyi.study.domain.TUserStudy;
 import com.ruoyi.study.dto.CompleteGameDTO;
 import com.ruoyi.study.dto.CompleteStudyDTO;
 import com.ruoyi.study.mapper.TUserStudyMapper;
+import com.ruoyi.study.service.ITGameRecordService;
 import com.ruoyi.study.service.ITUserStudyService;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -28,6 +31,9 @@
  */
 @Service
 public class TUserStudyServiceImpl extends ServiceImpl<TUserStudyMapper, TUserStudy> implements ITUserStudyService {
+
+    @Resource
+    private ITGameRecordService gameRecordService;
 
     /**
      * 所属day map
@@ -200,7 +206,14 @@
             TUserStudy userStudy = this.lambdaQuery().eq(TUserStudy::getUserId, userid).one();
             // 更新游戏难度学习记录
             if (!Constants.TWO.equals(userStudy.getGameDifficulty())) {
-                userStudy.setGameDifficulty(GAME_DIFFICULTY_MAP.get(completeStudy.getDifficulty()));
+                // 获取用户游戏进度
+                List<TGameRecord> list = gameRecordService.lambdaQuery().eq(TGameRecord::getUserId, userid)
+                        .eq(TGameRecord::getGameId, game.getId())
+                        .ge(TGameRecord::getAccuracy, answerRate)
+                        .eq(TGameRecord::getGameDifficulty, completeStudy.getDifficulty()).list();
+                if (!list.isEmpty()) {
+                    userStudy.setGameDifficulty(GAME_DIFFICULTY_MAP.get(completeStudy.getDifficulty()));
+                }
             }
             this.updateById(userStudy);
         }

--
Gitblit v1.7.1