From 5749ed70ef32a69c69add0f7490adfbebf211f0f Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 26 八月 2025 16:13:40 +0800
Subject: [PATCH] 8.26

---
 ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TSysSetController.java |   20 ++++++++++
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TGame.java                           |    4 ++
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/GameVO.java                              |    5 ++
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TUser.java                           |    3 +
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/dto/GameDTO.java                            |    2 +
 ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TStudyController.java  |    3 +
 ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/vo/GameVO.java                          |    5 ++
 ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/dto/GameDTO.java                        |    2 +
 ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/TPage.java                 |    2 
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStudyController.java            |   33 +++++++++++++++-
 ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/vo/PageVO.java                    |    3 +
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java             |   12 ++++++
 ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/feignClient/StudyClient.java            |    9 ++++
 13 files changed, 100 insertions(+), 3 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/dto/GameDTO.java b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/dto/GameDTO.java
index b6150da..c4d303a 100644
--- a/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/dto/GameDTO.java
+++ b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/dto/GameDTO.java
@@ -24,4 +24,6 @@
     private String rate;
     @ApiModelProperty("超级记忆通关率")
     private String answerRate;
+    @ApiModelProperty("题目ids")
+    private String subjectIds;
 }
diff --git a/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/feignClient/StudyClient.java b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/feignClient/StudyClient.java
index 16d0676..d3aaeaf 100644
--- a/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/feignClient/StudyClient.java
+++ b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/feignClient/StudyClient.java
@@ -230,4 +230,13 @@
     @ApiOperation(value = "用户积分变动", tags = {"用户积分变动"})
     R<Boolean> exchangeIntegral1(@RequestParam("integral") Integer integral, @RequestParam("method") String method);
 
+
+    @GetMapping("/base/study/lookVideo")
+    @ApiOperation(value = "家长重置观看操作视频", tags = {"家长重置观看操作视频"})
+    R<Boolean> resetLookVideo();
+
+
+
+
+
 }
diff --git a/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/vo/GameVO.java b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/vo/GameVO.java
index 7aa275e..e0ef0c9 100644
--- a/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/vo/GameVO.java
+++ b/ruoyi-api/ruoyi-api-study/src/main/java/com/ruoyi/study/api/vo/GameVO.java
@@ -1,8 +1,11 @@
 package com.ruoyi.study.api.vo;
 
+import com.ruoyi.study.api.model.TSubject;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+
+import java.util.List;
 
 @Data
 @ApiModel(value = "自主游戏VO")
@@ -24,4 +27,6 @@
     private String rate;
     @ApiModelProperty(value = "超级记忆通关率")
     private String answerRate;
+    @ApiModelProperty(value = "游戏题目")
+    private List<TSubject> subjects;
 }
\ No newline at end of file
diff --git a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TStudyController.java b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TStudyController.java
index 8e921fc..39c17e6 100644
--- a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TStudyController.java
+++ b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TStudyController.java
@@ -56,6 +56,9 @@
     @ResponseBody
     public AjaxResult addStudySet(@RequestBody AddStudySetDTO dto) {
         System.err.println("后台"+dto);
+        if(dto.getGame().getAnswerCount()>dto.getGame().getSubjectIds().split(",").length){
+            return AjaxResult.error("选择题目数量不足");
+        }
         R<Object> objectR = studyClient.addStudySet(dto);
         int code = objectR.getCode();
         if (code == 500){
diff --git a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TSysSetController.java b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TSysSetController.java
index 903e429..c4dfb24 100644
--- a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TSysSetController.java
+++ b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TSysSetController.java
@@ -18,6 +18,7 @@
 import com.ruoyi.management.service.ITUseGuideService;
 import com.ruoyi.management.vo.PageVO;
 import com.ruoyi.management.vo.SysSetVO;
+import com.ruoyi.study.api.feignClient.StudyClient;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -47,6 +48,8 @@
     private ITProtocolService protocolService;
     @Autowired
     private ITUseGuideService useGuideService;
+    @Autowired
+    private StudyClient studyClient;
 
     @ApiOperation(value = "获取系统设置", tags = {"后台-系统设置"})
     @PostMapping(value = "/getSysSet")
@@ -92,6 +95,7 @@
         String page2 = vo.getPage2();
         String page3 = vo.getPage3();
         String page4 = vo.getPage4();
+        String page5 = vo.getPage5();
         if (StringUtils.hasLength(page1)) {
             TPage type = pageService.getOne(new QueryWrapper<TPage>()
                     .eq("type", 1));
@@ -146,6 +150,22 @@
                 pageService.updateById(type);
             }
         }
+        if (StringUtils.hasLength(page5)) {
+            TPage type = pageService.getOne(new QueryWrapper<TPage>()
+                    .eq("type", 5));
+            if (type == null) {
+                TPage tPage = new TPage();
+                tPage.setImg(page5);
+                tPage.setType(5);
+                pageService.save(tPage);
+            } else {
+                if(!page5.equals(type.getImg())){
+                    studyClient.resetLookVideo();
+                }
+                type.setImg(page5);
+                pageService.updateById(type);
+            }
+        }
         return AjaxResult.success("保存成功");
     }
 
diff --git a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/TPage.java b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/TPage.java
index fcf6b26..71bbc19 100644
--- a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/TPage.java
+++ b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/domain/TPage.java
@@ -35,7 +35,7 @@
     /**
      * 1学习 2家长手机 3家长平板 4注意事项
      */
-    @ApiModelProperty(value = "类型 1学习 2家长手机 3家长平板 4注意事项")
+    @ApiModelProperty(value = "类型 1学习 2家长手机 3家长平板 4注意事项 5操作视频")
     private Integer type;
 
 
diff --git a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/vo/PageVO.java b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/vo/PageVO.java
index 54ecc56..e550f04 100644
--- a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/vo/PageVO.java
+++ b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/vo/PageVO.java
@@ -19,4 +19,7 @@
     private String page3;
     @ApiModelProperty("注意事项")
     private String page4;
+
+    @ApiModelProperty("家长操作视频")
+    private String page5;
 }
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 b6cf51a..8eecf77 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
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.constant.Constants;
@@ -353,6 +354,7 @@
                 studyId.setAnswerCount(game.getAnswerCount());
                 studyId.setRate(game.getRate());
                 studyId.setAnswerRate(game.getAnswerRate());
+                studyId.setSubjectIds(game.getSubjectIds());
                 gameService.updateById(studyId);
             } else {
                 // 判断当前周目配置的题目数量
@@ -381,6 +383,7 @@
                 tGame.setAnswerTime(game.getAnswerTime());
                 tGame.setAnswerIntegral(game.getAnswerIntegral());
                 tGame.setAnswerCount(game.getAnswerCount());
+                tGame.setSubjectIds(game.getSubjectIds());
                 gameService.save(tGame);
             }
 
@@ -924,6 +927,11 @@
             gameVO.setAnswerCount(tGame.getAnswerCount());
             gameVO.setRate(tGame.getRate());
             gameVO.setAnswerRate(tGame.getAnswerRate());
+            String subjectIds = tGame.getSubjectIds();
+            if(subjectIds!=null && subjectIds.length()>0){
+                gameVO.setSubjects(subjectService.list(new QueryWrapper<TSubject>()
+                        .in("id", subjectIds.split(","))));
+            }
             gameVOS.add(gameVO);
         }
         List<TStoryListen> list6 = storyListenService.list(new QueryWrapper<TStoryListen>()
@@ -1711,7 +1719,16 @@
         game.setTime(game.getTime().split(",")[difficulty]);
         // 检验是否完成难度
         studyService.checkDifficulty(difficulty, week, game, userStudy.getUserid());
-        List<String> subjectId = getSubjectId(week);
+
+
+//        List<String> subjectId = getSubjectId(week);
+
+        String[] split = game.getSubjectIds().split(",");
+        List<String> subjectId = new ArrayList<>();
+        for (String s : split) {
+            subjectId.add(s);
+        }
+
         List<String> newSubjectId = subjectId.stream().map(data -> {
             if (data.startsWith(Constants.REDUCE)) {
                 data = data.replace(Constants.REDUCE, Constants.EMPTY_STR);
@@ -1766,7 +1783,12 @@
         if (null == game) {
             throw new GlobalException("当前季度该周目暂无配置游戏数据!");
         }
-        List<String> subjectId = getSubjectId(week);
+//        List<String> subjectId = getSubjectId(week);
+        String[] split = game.getSubjectIds().split(",");
+        List<String> subjectId = new ArrayList<>();
+        for (String s : split) {
+            subjectId.add(s);
+        }
         List<String> subjectData = getSubjectData(game, subjectId);
         List<TSubject> subjectList = getSubjectList(subjectData);
         // 返回数据
@@ -2452,5 +2474,12 @@
         return R.ok(userService.updateById(user));
     }
 
+    @GetMapping("/lookVideo")
+//    @ApiOperation(value = "用户积分变动", tags = {"用户积分变动"})
+    public R<Boolean> lookVideo() {
+        boolean update = userService.update(new LambdaUpdateWrapper<TUser>().set(TUser::getLookVideo, 0));
+        return R.ok(update);
+    }
+
 }
 
diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java
index f82b561..51fac83 100644
--- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java
+++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TUserController.java
@@ -896,6 +896,7 @@
             study.setPair(Constants.BURDEN_ONE);
             userStudyService.save(study);
         }
+        map.put("lookVideo", tUser1.getLookVideo()==null?0:tUser1.getLookVideo());
         return R.ok(map);
     }
 
@@ -1164,6 +1165,17 @@
         }
         return R.ok(byId);
     }
+    @PostMapping("/lookVideo")
+    @ApiOperation(value = "看完操作视频调用", tags = {"家长端-登录"})
+    public R<TUser> lookVideo() {
+        LoginUserParent loginUserStudy = tokenService.getLoginUser1();
+        if (null == loginUserStudy) {
+            return R.tokenError("登录失效!");
+        }
+        TUser byId = userService.getById(loginUserStudy.getUserid());
+        byId.setLookVideo(1);
+        return R.ok(byId);
+    }
 
     @PostMapping("/deleteUser")
     @ApiOperation(value = "注销当前帐号", tags = {"家长端-个人中心"})
diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TGame.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TGame.java
index f399e08..bb8045b 100644
--- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TGame.java
+++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TGame.java
@@ -80,4 +80,8 @@
     @ApiModelProperty("超级记忆通关率")
     private String answerRate;
 
+
+    @ApiModelProperty("题目ids")
+    private String subjectIds;
+
 }
diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TUser.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TUser.java
index 864e059..cbdf2f2 100644
--- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TUser.java
+++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/domain/TUser.java
@@ -87,4 +87,7 @@
     @TableField(exist = false)
     private Integer isVip;
 
+    @ApiModelProperty("是否看视频0否1是")
+    private Integer lookVideo;
+
 }
diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/dto/GameDTO.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/dto/GameDTO.java
index 38811b0..9b9ec6e 100644
--- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/dto/GameDTO.java
+++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/dto/GameDTO.java
@@ -24,5 +24,7 @@
     private Integer answerIntegral;
     @ApiModelProperty("超级记忆游戏题目数量")
     private Integer answerCount;
+    @ApiModelProperty("题目ids")
+    private String subjectIds;
 
 }
diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/GameVO.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/GameVO.java
index 2745b95..44ee6a0 100644
--- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/GameVO.java
+++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/vo/GameVO.java
@@ -1,8 +1,11 @@
 package com.ruoyi.study.vo;
 
+import com.ruoyi.study.domain.TSubject;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+
+import java.util.List;
 
 @Data
 @ApiModel(value = "自主游戏VO")
@@ -24,4 +27,6 @@
     private Integer answerIntegral;
     @ApiModelProperty(value = "超级记忆游戏题目数量")
     private Integer answerCount;
+    @ApiModelProperty(value = "超级记忆游戏时间")
+    private List<TSubject> subjects;
 }
\ No newline at end of file

--
Gitblit v1.7.1