From 4ab710d8d70017f090dd9601099ded1a50a58a10 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期一, 27 四月 2026 22:34:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/services/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java |   29 ++++++++++++++++++++++++++---
 1 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/server/services/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
index 63d34d1..bf73741 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
@@ -57,8 +57,11 @@
         if(Objects.isNull(category)
         || Objects.isNull(category.getType())
         || Objects.isNull(category.getName())
-        || StringUtils.isBlank(category.getDetail())
         ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        // type=2锛堝瘎瀛樿鏄庯級detail涓嶅繀濉紝鍏朵粬绫诲瀷蹇呭~
+        if (!Constants.equalsInteger(category.getType(), Constants.TWO) && StringUtils.isBlank(category.getDetail())) {
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
         validateByType(category);
@@ -100,8 +103,11 @@
                 || Objects.isNull(category.getId())
                 || Objects.isNull(category.getType())
                 || Objects.isNull(category.getName())
-                || StringUtils.isBlank(category.getDetail())
         ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        // type=2锛堝瘎瀛樿鏄庯級detail涓嶅繀濉紝鍏朵粬绫诲瀷蹇呭~
+        if (!Constants.equalsInteger(category.getType(), Constants.TWO) && StringUtils.isBlank(category.getDetail())) {
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
         validateByType(category);
@@ -238,9 +244,26 @@
         if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(categoryList)){
             String path  = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()
                     +systemDictDataBiz.queryByCode(Constants.OSS,Constants.CATEGORY_FILES).getCode();
+            // 鏀堕泦闈炵┖鐨� relationId 鎵归噺鏌ヨ
+            java.util.Set<Integer> relationIds = new java.util.HashSet<>();
+            for (Category category : categoryList) {
+                if (category.getRelationId() != null) {
+                    relationIds.add(category.getRelationId());
+                }
+            }
+            java.util.Map<Integer, String> relationNameMap = new java.util.HashMap<>();
+            if (!relationIds.isEmpty()) {
+                categoryMapper.selectList(new QueryWrapper<Category>().lambda()
+                        .in(Category::getId, relationIds)
+                        .eq(Category::getDeleted, Constants.ZERO))
+                        .forEach(c -> relationNameMap.put(c.getId(), c.getName()));
+            }
             for (Category category:categoryList) {
                 if(StringUtils.isNotBlank(category.getIcon())){
                     category.setIconFull(path + category.getIcon());
+                }
+                if (category.getRelationId() != null) {
+                    category.setRelationName(relationNameMap.get(category.getRelationId()));
                 }
             }
         }
@@ -275,7 +298,7 @@
                 .orderByAsc(Category::getSortnum));
         // 3. 鎷兼帴鍥炬爣鍏ㄨ矾寰�
         if (!CollectionUtils.isEmpty(sizeList)) {
-            String path = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.RESOURCE_PATH).getCode()
+            String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
                     + systemDictDataBiz.queryByCode(Constants.OSS, Constants.CATEGORY_FILES).getCode();
             for (Category cate : sizeList) {
                 if (StringUtils.isNotBlank(cate.getIcon())) {

--
Gitblit v1.9.3