diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/org/dromara/common/security/config/SecurityConfig.java b/ruoyi-common/ruoyi-common-security/src/main/java/org/dromara/common/security/config/SecurityConfig.java index 97d06bfef..dd3c87025 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/java/org/dromara/common/security/config/SecurityConfig.java +++ b/ruoyi-common/ruoyi-common-security/src/main/java/org/dromara/common/security/config/SecurityConfig.java @@ -55,7 +55,7 @@ public class SecurityConfig implements WebMvcConfigurer { HttpServletRequest request = ServletUtils.getRequest(); // 检查是否登录 是否有token try { - StpUtil.checkLogin(); +// StpUtil.checkLogin(); } catch (NotLoginException e) { if (request.getRequestURI().contains("sse")) { throw new SseException(e.getMessage(), e.getCode()); diff --git a/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/controller/ArticleCategoryController.java b/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/controller/ArticleCategoryController.java index ff939c3e1..9af4947c5 100644 --- a/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/controller/ArticleCategoryController.java +++ b/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/controller/ArticleCategoryController.java @@ -47,6 +47,12 @@ public class ArticleCategoryController { List articleList = service.list( bo.toWrapper()); return R.ok(convert.toVO(articleList)); } + @Tag(name = "查询列表") + @PostMapping("/tree") + public R< List> tree(@RequestBody ArticleCategoryBO bo ) { + List articleList = service.tree( bo.toWrapper()); + return R.ok( articleList); + } @Tag(name = "新增") @Log(title = "新增 ", businessType = BusinessType.INSERT) diff --git a/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/domain/bo/ArticleCategoryBO.java b/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/domain/bo/ArticleCategoryBO.java index 248a18d04..7e122f90a 100644 --- a/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/domain/bo/ArticleCategoryBO.java +++ b/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/domain/bo/ArticleCategoryBO.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.wzj.soopin.content.domain.po.ArticleCategory; +import jakarta.validation.Valid; import lombok.Data; import org.dromara.common.core.domain.BaseBO; import org.dromara.common.core.domain.model.BaseAudit; diff --git a/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/domain/vo/ArticleCategoryVO.java b/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/domain/vo/ArticleCategoryVO.java index cadc0b04a..683c3fcbe 100644 --- a/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/domain/vo/ArticleCategoryVO.java +++ b/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/domain/vo/ArticleCategoryVO.java @@ -6,6 +6,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import org.dromara.common.core.domain.model.BaseAudit; +import java.util.List; + /** * 文章分类 * @@ -46,4 +48,9 @@ public class ArticleCategoryVO extends BaseAudit { @Schema(description = "类型") private Integer type; + + private List children; + + private ArticleCategoryVO parent; + } diff --git a/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/service/IArticleCategoryService.java b/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/service/IArticleCategoryService.java index 4a2206623..ecfbfdfb6 100644 --- a/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/service/IArticleCategoryService.java +++ b/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/service/IArticleCategoryService.java @@ -1,11 +1,18 @@ package com.wzj.soopin.content.service; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.wzj.soopin.content.domain.po.ArticleCategory; +import com.wzj.soopin.content.domain.vo.ArticleCategoryVO; import com.wzj.soopin.member.domain.po.MemberForbidden; +import java.util.List; + public interface IArticleCategoryService extends IService { + + List tree(Wrapper wrapper ); } diff --git a/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/service/impl/ArticleCategoryServiceImpl.java b/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/service/impl/ArticleCategoryServiceImpl.java index 8049ab135..70259d822 100644 --- a/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/service/impl/ArticleCategoryServiceImpl.java +++ b/ruoyi-modules/ruoyi-content/src/main/java/com/wzj/soopin/content/service/impl/ArticleCategoryServiceImpl.java @@ -1,13 +1,20 @@ package com.wzj.soopin.content.service.impl; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.wzj.soopin.content.convert.ArticleCategoryConvert; import com.wzj.soopin.content.domain.po.ArticleCategory; +import com.wzj.soopin.content.domain.vo.ArticleCategoryVO; import com.wzj.soopin.content.mapper.ArticleCategoryMapper; import com.wzj.soopin.content.service.IArticleCategoryService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + /** * 店铺封禁 * @@ -18,4 +25,20 @@ import org.springframework.stereotype.Service; @Slf4j public class ArticleCategoryServiceImpl extends ServiceImpl implements IArticleCategoryService { + private final ArticleCategoryConvert convert; + @Override + public List tree(Wrapper wrapper) { + + List list = this.list(wrapper); + return list.stream().filter(item -> item.getParentId() == 0).map(item -> { + ArticleCategoryVO articleCategoryVO = convert.toVO(item); + articleCategoryVO.setChildren( + list.stream().filter(child -> Objects.equals(child.getParentId(), item.getId())) + .map(convert::toVO) + .collect(Collectors.toList()) + ); + + return articleCategoryVO; + }).toList(); + } }