From afb2bc8e77e086ebeb358915e12fad41dac78a6a Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 23 十月 2025 14:41:34 +0800
Subject: [PATCH] 1020更新

---
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStoryController.java |   46 +++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 41 insertions(+), 5 deletions(-)

diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStoryController.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStoryController.java
index 87356f6..94d597e 100644
--- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStoryController.java
+++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/controller/TStoryController.java
@@ -13,9 +13,13 @@
 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.Map;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -32,12 +36,45 @@
     private ITStoryListenService storyListenService;
     @Autowired
     private ITStoryService service;
+
+    @Autowired
+    private ICategoryService categoryService;
     @PostMapping("/storyList")
-//    @ApiOperation(value = "列表查询", tags = {"故事管理"})
     public R<PageInfo<SubjectVO>> storyList(@RequestBody SubjectQuery query) {
         PageInfo<SubjectVO> res = new PageInfo<>(query.getPageNumber(), query.getPageSize());
-        List<SubjectVO> list =  service.listAll(query);
-//        for (SubjectVO subjectVO : list) {
+        List<Integer> integers = new ArrayList<>();
+        if (StringUtils.hasLength(query.getCategoryName())){
+            List<Integer> collect = categoryService.lambdaQuery()
+                    .eq(TCategory::getType, 2)
+                    .eq(TCategory::getState, 2)
+                    .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, 2)
+                    .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 =  service.listAll(query,res);
+        Map<Integer, String> categoryMap = categoryService.list(null).stream()
+                .collect(Collectors.toMap(TCategory::getId, TCategory::getName));
+        for (SubjectVO subjectVO : list) {
+            if (subjectVO.getFirstCategory()!=null&&subjectVO.getSecondCategory()!=null){
+                String byId1 = categoryMap.get(subjectVO.getFirstCategory());
+                String byId2 = categoryMap.get(subjectVO.getSecondCategory());
+                if (byId1!=null&& byId2!=null){
+                    subjectVO.setCategoryName(byId1+"-"+byId2);
+                }
+            }
 //            StringBuilder stringBuilder = new StringBuilder("");
 //            for (String s : subjectVO.getType().split(",")) {
 //                switch (s) {
@@ -52,9 +89,8 @@
 //            String string = stringBuilder.toString();
 //            String substring = string.substring(0, string.length() - 1);
 //            subjectVO.setType(substring);
-//        }
+        }
         res.setRecords(list);
-        res.setTotal(list.size());
         return R.ok(res);
     }
     @PostMapping("/add")

--
Gitblit v1.7.1