From 75942ecc2e438012c5ea876715966ace593565a0 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 11 四月 2025 15:17:41 +0800
Subject: [PATCH] 部分代码

---
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TSubjectController.java |   51 ++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 42 insertions(+), 9 deletions(-)

diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TSubjectController.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TSubjectController.java
index 32a9e8a..bc489fc 100644
--- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TSubjectController.java
+++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TSubjectController.java
@@ -14,9 +14,12 @@
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -50,13 +53,43 @@
     @Autowired
     private ITStudyService studyService;
 
+    @Autowired
+    private ICategoryService categoryService;
 
     @PostMapping("/subjectList")
     @ApiOperation(value = "列表查询", tags = {"题目管理"})
     public R<PageInfo<SubjectVO>> subjectList(@RequestBody SubjectQuery query) {
         PageInfo<SubjectVO> res = new PageInfo<>(query.getPageNumber(), query.getPageSize());
+        List<Integer> integers = new ArrayList<>();
+        if (StringUtils.hasLength(query.getCategoryName())){
+            List<Integer> collect = categoryService.lambdaQuery()
+                    .eq(TCategory::getType, 2)
+                    .eq(TCategory::getState, 1)
+                    .like(TCategory::getName, query.getCategoryName())
+                    .list().stream().map(TCategory::getParentId).collect(Collectors.toList());
+            integers.addAll(collect);
+            List<Integer> collect2 = categoryService.lambdaQuery()
+                    .eq(TCategory::getType, 1)
+                    .eq(TCategory::getState, 1)
+                    .like(TCategory::getName, query.getCategoryName())
+                    .list().stream().map(TCategory::getId).collect(Collectors.toList());
+            integers.addAll(collect2);
+        }
+        if (StringUtils.hasLength(query.getCategoryName())){
+            if (integers.isEmpty()){
+                integers.add(-1);
+            }
+        }
+        query.setIds(integers);
         List<SubjectVO> list =  subjectService.listAll(query);
         for (SubjectVO subjectVO : list) {
+            if (subjectVO.getFirstCategory()!=null&&subjectVO.getSecondCategory()!=null){
+                TCategory byId1 = categoryService.getById(subjectVO.getFirstCategory());
+                TCategory byId2 = categoryService.getById(subjectVO.getSecondCategory());
+                if (byId1!=null&& byId2!=null){
+                    subjectVO.setCategoryName(byId1.getName()+"-"+byId2.getName());
+                }
+            }
 //            StringBuilder stringBuilder = new StringBuilder("");
 //            for (String s : subjectVO.getType().split(",")) {
 //                switch (s) {
@@ -98,8 +131,8 @@
     public R update(@RequestBody SubjectDTO dto) {
         TSubject tSubject = new TSubject();
         // 判断当前题目有没有被使用
-        R<Object> week = getObjectR(dto.getId());
-        if (week != null) return week;
+//        R<Object> week = getObjectR(dto.getId());
+//        if (week != null) return week;
         BeanUtils.copyProperties(dto,tSubject);
         subjectService.updateById(tSubject);
         return R.ok("编辑成功");
@@ -118,7 +151,7 @@
                     if (s.equals(String.valueOf(id))) {
                         Integer week = tStudyListen.getWeek();
                         Integer day = tStudyListen.getDay();
-                        return R.fail("操作失败,当前题目在" + "周目" + week + "、" + "day" + day + "、" + "听音选图中使用");
+                        return R.failUpdate("操作失败,当前题目在" + "周目" + week + "、" + "day" + day + "、" + "听音选图中使用");
                     }
                 }
             }
@@ -130,7 +163,7 @@
                     if (s.equals(String.valueOf(id))) {
                         Integer week = tStudyListen.getWeek();
                         Integer day = tStudyListen.getDay();
-                        return R.fail("操作失败,当前题目在" + "周目" + week + "、" + "day" + day + "、" + "看图选音中使用");
+                        return R.failUpdate("操作失败,当前题目在" + "周目" + week + "、" + "day" + day + "、" + "看图选音中使用");
                     }
                 }
             }
@@ -142,7 +175,7 @@
                     if (s.equals(String.valueOf(id))) {
                         Integer week = tStudyListen.getWeek();
                         Integer day = tStudyListen.getDay();
-                        return R.fail("操作失败,当前题目在" + "周目" + week + "、" + "day" + day + "、" + "归纳排除中使用");
+                        return R.failUpdate("操作失败,当前题目在" + "周目" + week + "、" + "day" + day + "、" + "归纳排除中使用");
                     }
                 }
             }
@@ -154,7 +187,7 @@
                 if (subject.equals(id) || answerSubject.equals(id)) {
                     Integer week = tStudyListen.getWeek();
                     Integer day = tStudyListen.getDay();
-                    return R.fail("操作失败,当前题目在" + "周目" + week + "、" + "day" + day + "、" + "有问有答中使用");
+                    return R.failUpdate("操作失败,当前题目在" + "周目" + week + "、" + "day" + day + "、" + "有问有答中使用");
                 }
             }
         }
@@ -165,7 +198,7 @@
                     if (s.equals(String.valueOf(id))) {
                         Integer week = tStudyListen.getWeek();
                         Integer day = tStudyListen.getDay();
-                        return R.fail("操作失败,当前题目在" + "周目" + week + "、" + "day" + day + "、" + "音图相配中使用");
+                        return R.failUpdate("操作失败,当前题目在" + "周目" + week + "、" + "day" + day + "、" + "音图相配中使用");
                     }
                 }
             }
@@ -174,7 +207,7 @@
     }
 
     @PostMapping("/getInfo")
-    @ApiOperation(value = "查看详情", tags = {"题目管理"})
+//    @ApiOperation(value = "查看详情", tags = {"题目管理"})
     public R<SubjectDTO> getInfo(@RequestParam("id") Integer id) {
         TSubject byId = subjectService.getById(id);
         SubjectDTO subjectDTO = new SubjectDTO();
@@ -182,7 +215,7 @@
         return R.ok(subjectDTO);
     }
     @PostMapping("/updateState/{id}/{state}")
-    @ApiOperation(value = "修改状态", tags = {"题目管理"})
+//    @ApiOperation(value = "修改状态", tags = {"题目管理"})
     @ApiImplicitParams({
             @ApiImplicitParam(name = "id", value = "题目id", required = true),
             @ApiImplicitParam(name = "state", value = "1上架2下架3删除", required = true),

--
Gitblit v1.7.1