From 7bf9d1d78c13564795e1c0341899fc37f278e120 Mon Sep 17 00:00:00 2001 From: huangge1199 Date: Tue, 10 Sep 2024 15:19:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20=E5=8D=9A=E5=AE=A2?= =?UTF-8?q?=E6=96=87=E7=AB=A0=E5=85=B3=E8=81=94=E5=88=86=E7=B1=BB=E7=9A=84?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/blog/domain/BlogPostCategories.java | 33 ++++++++++++ .../java/com/ruoyi/blog/domain/BlogPosts.java | 2 +- .../com/ruoyi/blog/domain/bo/BlogPostsBo.java | 12 ++++- .../com/ruoyi/blog/domain/vo/BlogPostsVo.java | 7 ++- .../blog/mapper/BlogPostCategoriesMapper.java | 17 +++++++ .../ruoyi/blog/mapper/BlogPostsMapper.java | 2 +- .../service/impl/BlogPostsServiceImpl.java | 50 ++++++++++++++++--- .../mapper/blog/BlogPostCategoriesMapper.xml | 7 +++ .../resources/mapper/blog/BlogPostsMapper.xml | 1 - .../src/main/resources/vm/java/domain.java.vm | 3 ++ 10 files changed, 121 insertions(+), 13 deletions(-) create mode 100644 ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/domain/BlogPostCategories.java create mode 100644 ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/mapper/BlogPostCategoriesMapper.java create mode 100644 ruoyi-modules/ruoyi-blog/src/main/resources/mapper/blog/BlogPostCategoriesMapper.xml diff --git a/ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/domain/BlogPostCategories.java b/ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/domain/BlogPostCategories.java new file mode 100644 index 0000000..43560c1 --- /dev/null +++ b/ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/domain/BlogPostCategories.java @@ -0,0 +1,33 @@ +package com.ruoyi.blog.domain; + +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.Table; +import lombok.*; +import com.ruoyi.common.orm.core.domain.BaseEntity; + +/** + * 文章分类关联对象 blog_post_categories + * + * @author huangge1199 + * 2024-09-10 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +@Table(value = "blog_post_categories") +public class BlogPostCategories extends BaseEntity +{ + /** */ + @Id + private Long id; + + /** 分类ID */ + private Long categoryId; + + /** 文章ID */ + private Long postId; + + +} diff --git a/ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/domain/BlogPosts.java b/ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/domain/BlogPosts.java index e32133b..880d2ed 100644 --- a/ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/domain/BlogPosts.java +++ b/ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/domain/BlogPosts.java @@ -39,7 +39,7 @@ public class BlogPosts extends BaseEntity private Long type; /** 状态,0:已发布,1:草稿,2:已删除,3:私密 */ - private Long status; + private String status; /** 总览 */ private String summary; diff --git a/ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/domain/bo/BlogPostsBo.java b/ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/domain/bo/BlogPostsBo.java index b8547ee..41fcbfb 100644 --- a/ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/domain/bo/BlogPostsBo.java +++ b/ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/domain/bo/BlogPostsBo.java @@ -56,7 +56,7 @@ public class BlogPostsBo extends BaseEntity /** * 状态,0:已发布,1:草稿,2:已删除,3:私密 */ - private Long status; + private String status; /** * 总览 @@ -75,6 +75,14 @@ public class BlogPostsBo extends BaseEntity private Long topPriority; - /** 博客文章内容信息 */ + /** + * 博客文章内容信息 + * */ private BlogContents blogContents; + + /** + * 博客分类集合 + */ + private List categories; + } diff --git a/ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/domain/vo/BlogPostsVo.java b/ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/domain/vo/BlogPostsVo.java index b3979f8..6133e8c 100644 --- a/ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/domain/vo/BlogPostsVo.java +++ b/ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/domain/vo/BlogPostsVo.java @@ -60,7 +60,7 @@ public class BlogPostsVo extends BaseEntity implements Serializable /** 状态,0:已发布,1:草稿,2:已删除,3:私密 */ @ExcelProperty(value = "状态,0:已发布,1:草稿,2:已删除,3:私密") - private Long status; + private String status; /** 总览 */ @ExcelProperty(value = "总览") @@ -87,4 +87,9 @@ public class BlogPostsVo extends BaseEntity implements Serializable @RelationOneToOne(selfField = "id", targetField = "postId") private BlogContents blogContents; + /** + * 博客分类集合 + */ + private List categories; + } diff --git a/ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/mapper/BlogPostCategoriesMapper.java b/ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/mapper/BlogPostCategoriesMapper.java new file mode 100644 index 0000000..e8f1969 --- /dev/null +++ b/ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/mapper/BlogPostCategoriesMapper.java @@ -0,0 +1,17 @@ +package com.ruoyi.blog.mapper; + +import com.mybatisflex.core.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import com.ruoyi.blog.domain.BlogPostCategories; + +/** + * 文章分类关联Mapper接口 + * + * @author huangge1199 + * 2024-09-10 + */ +@Mapper +public interface BlogPostCategoriesMapper extends BaseMapper +{ + +} diff --git a/ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/mapper/BlogPostsMapper.java b/ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/mapper/BlogPostsMapper.java index fb8f1dc..4efa724 100644 --- a/ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/mapper/BlogPostsMapper.java +++ b/ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/mapper/BlogPostsMapper.java @@ -1,6 +1,7 @@ package com.ruoyi.blog.mapper; import com.mybatisflex.core.BaseMapper; +import com.ruoyi.blog.domain.vo.BlogPostsVo; import org.apache.ibatis.annotations.Mapper; import com.ruoyi.blog.domain.BlogPosts; import com.ruoyi.blog.domain.BlogContents; @@ -14,5 +15,4 @@ import com.ruoyi.blog.domain.BlogContents; @Mapper public interface BlogPostsMapper extends BaseMapper { - } diff --git a/ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/service/impl/BlogPostsServiceImpl.java b/ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/service/impl/BlogPostsServiceImpl.java index aa737f0..8eec46f 100644 --- a/ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/service/impl/BlogPostsServiceImpl.java +++ b/ruoyi-modules/ruoyi-blog/src/main/java/com/ruoyi/blog/service/impl/BlogPostsServiceImpl.java @@ -7,6 +7,8 @@ import java.util.Map; import cn.hutool.core.util.ObjectUtil; import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.query.QueryWrapper; +import com.ruoyi.blog.domain.BlogPostCategories; +import com.ruoyi.blog.mapper.BlogPostCategoriesMapper; import com.ruoyi.common.core.utils.MapstructUtils; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.orm.core.page.PageQuery; @@ -31,6 +33,7 @@ import com.ruoyi.blog.domain.bo.BlogPostsBo; import com.ruoyi.blog.domain.vo.BlogPostsVo; import com.ruoyi.blog.service.IBlogPostsService; +import static com.ruoyi.blog.domain.table.BlogPostCategoriesTableDef.BLOG_POST_CATEGORIES; import static com.ruoyi.blog.domain.table.BlogPostsTableDef.BLOG_POSTS; /** @@ -45,6 +48,8 @@ public class BlogPostsServiceImpl extends BaseServiceImpl categories = blogPostCategoriesMapper.selectListByQuery( + QueryWrapper + .create() + .from(BLOG_POST_CATEGORIES) + .where(BLOG_POST_CATEGORIES.POST_ID.eq(id)) + ).stream().map(BlogPostCategories::getCategoryId).toList(); + blogPostsVo.setCategories(categories); + return blogPostsVo; } /** @@ -116,13 +128,20 @@ public class BlogPostsServiceImpl extends BaseServiceImpl0){ + long cnt = blogPostsMapper.selectCountByQuery(QueryWrapper.create().eq("title", blogPostsBo.getTitle())); + if (cnt > 0) { throw new Exception("标题已存在"); } BlogPosts blogPosts = MapstructUtils.convert(blogPostsBo, BlogPosts.class); - int inserted = blogPostsMapper.insert(blogPosts,false); + int inserted = blogPostsMapper.insert(blogPosts, false); if (inserted > 0 && ObjectUtil.isNotNull(blogPosts)) { + for (Long categoryId : blogPostsBo.getCategories()) { + BlogPostCategories blogPostCategories = BlogPostCategories.builder() + .postId(blogPosts.getId()) + .categoryId(categoryId) + .build(); + blogPostCategoriesMapper.insert(blogPostCategories, false); + } return insertBlogContents(blogPosts); } return false; @@ -141,8 +160,25 @@ public class BlogPostsServiceImpl extends BaseServiceImpl + + + + diff --git a/ruoyi-modules/ruoyi-blog/src/main/resources/mapper/blog/BlogPostsMapper.xml b/ruoyi-modules/ruoyi-blog/src/main/resources/mapper/blog/BlogPostsMapper.xml index 9e1f02e..e920508 100644 --- a/ruoyi-modules/ruoyi-blog/src/main/resources/mapper/blog/BlogPostsMapper.xml +++ b/ruoyi-modules/ruoyi-blog/src/main/resources/mapper/blog/BlogPostsMapper.xml @@ -3,5 +3,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - diff --git a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/java/domain.java.vm b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/java/domain.java.vm index cdb3a2e..7bfdcb9 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/java/domain.java.vm +++ b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/java/domain.java.vm @@ -28,6 +28,9 @@ import com.ruoyi.common.orm.core.domain.TreeEntity; #set($Entity="TreeEntity") #end @Data +@Builder +@AllArgsConstructor +@NoArgsConstructor @EqualsAndHashCode(callSuper = true) @Table(value = "${tableName}") public class ${ClassName} extends ${Entity}