From a7de8cfdb39465b78c574f593c8db592aea8ba5e Mon Sep 17 00:00:00 2001 From: SerLiunx <17689543@qq.com> Date: Sat, 9 Aug 2025 00:47:53 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E6=96=87=E7=AB=A0?= =?UTF-8?q?=E3=80=81=E6=A0=87=E7=AD=BE=E6=9C=8D=E5=8A=A1=E5=8F=8A=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../blog/controller/PbArticleController.java | 18 +++++ .../blog/controller/PbTagController.java | 18 +++++ .../com/serliunx/blog/entity/PbArticle.java | 73 +++++++++++++++++++ .../blog/entity/PbArticleContent.java | 36 +++++++++ .../serliunx/blog/entity/PbArticleTag.java | 42 +++++++++++ .../java/com/serliunx/blog/entity/PbTag.java | 36 +++++++++ .../blog/mapper/PbArticleContentMapper.java | 16 ++++ .../serliunx/blog/mapper/PbArticleMapper.java | 16 ++++ .../blog/mapper/PbArticleTagMapper.java | 16 ++++ .../com/serliunx/blog/mapper/PbTagMapper.java | 16 ++++ .../blog/service/PbArticleContentService.java | 16 ++++ .../blog/service/PbArticleService.java | 16 ++++ .../blog/service/PbArticleTagService.java | 16 ++++ .../serliunx/blog/service/PbTagService.java | 16 ++++ .../impl/PbArticleContentServiceImpl.java | 20 +++++ .../service/impl/PbArticleServiceImpl.java | 20 +++++ .../service/impl/PbArticleTagServiceImpl.java | 20 +++++ .../blog/service/impl/PbTagServiceImpl.java | 20 +++++ .../java/generator/SCloudCodeGenerator.java | 2 +- 19 files changed, 432 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/serliunx/blog/controller/PbArticleController.java create mode 100644 src/main/java/com/serliunx/blog/controller/PbTagController.java create mode 100644 src/main/java/com/serliunx/blog/entity/PbArticle.java create mode 100644 src/main/java/com/serliunx/blog/entity/PbArticleContent.java create mode 100644 src/main/java/com/serliunx/blog/entity/PbArticleTag.java create mode 100644 src/main/java/com/serliunx/blog/entity/PbTag.java create mode 100644 src/main/java/com/serliunx/blog/mapper/PbArticleContentMapper.java create mode 100644 src/main/java/com/serliunx/blog/mapper/PbArticleMapper.java create mode 100644 src/main/java/com/serliunx/blog/mapper/PbArticleTagMapper.java create mode 100644 src/main/java/com/serliunx/blog/mapper/PbTagMapper.java create mode 100644 src/main/java/com/serliunx/blog/service/PbArticleContentService.java create mode 100644 src/main/java/com/serliunx/blog/service/PbArticleService.java create mode 100644 src/main/java/com/serliunx/blog/service/PbArticleTagService.java create mode 100644 src/main/java/com/serliunx/blog/service/PbTagService.java create mode 100644 src/main/java/com/serliunx/blog/service/impl/PbArticleContentServiceImpl.java create mode 100644 src/main/java/com/serliunx/blog/service/impl/PbArticleServiceImpl.java create mode 100644 src/main/java/com/serliunx/blog/service/impl/PbArticleTagServiceImpl.java create mode 100644 src/main/java/com/serliunx/blog/service/impl/PbTagServiceImpl.java diff --git a/src/main/java/com/serliunx/blog/controller/PbArticleController.java b/src/main/java/com/serliunx/blog/controller/PbArticleController.java new file mode 100644 index 0000000..a891124 --- /dev/null +++ b/src/main/java/com/serliunx/blog/controller/PbArticleController.java @@ -0,0 +1,18 @@ +package com.serliunx.blog.controller; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *
+ * 文章实体表 前端控制器 + *
+ * + * @author SerLiunx + * @since 2025-08-09 + */ +@RestController +@RequestMapping("/pb-article") +public class PbArticleController { + +} diff --git a/src/main/java/com/serliunx/blog/controller/PbTagController.java b/src/main/java/com/serliunx/blog/controller/PbTagController.java new file mode 100644 index 0000000..39e2655 --- /dev/null +++ b/src/main/java/com/serliunx/blog/controller/PbTagController.java @@ -0,0 +1,18 @@ +package com.serliunx.blog.controller; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *+ * 标签实体表 前端控制器 + *
+ * + * @author SerLiunx + * @since 2025-08-09 + */ +@RestController +@RequestMapping("/pb-tag") +public class PbTagController { + +} diff --git a/src/main/java/com/serliunx/blog/entity/PbArticle.java b/src/main/java/com/serliunx/blog/entity/PbArticle.java new file mode 100644 index 0000000..df1e74a --- /dev/null +++ b/src/main/java/com/serliunx/blog/entity/PbArticle.java @@ -0,0 +1,73 @@ +package com.serliunx.blog.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + +import java.time.LocalDateTime; + +/** + *+ * 文章实体表 + *
+ * + * @author SerLiunx + * @since 2025-08-09 + */ +@Getter +@Setter +@ToString +@TableName("pb_article") +public class PbArticle { + + /** + * 文章ID + */ + @TableId("id") + private Long id; + + /** + * 文章标题 + */ + @TableField("title") + private String title; + + /** + * 文章摘要 + */ + @TableField("summary") + private String summary; + + /** + * 封面图URL + */ + @TableField("cover_image") + private String coverImage; + + /** + * 阅读量 + */ + @TableField("view_count") + private Long viewCount; + + /** + * 点赞量 + */ + @TableField("like_count") + private Long likeCount; + + /** + * 创建时间 + */ + @TableField("create_time") + private LocalDateTime createTime; + + /** + * 最后编辑时间 + */ + @TableField("last_edit") + private LocalDateTime lastEdit; +} diff --git a/src/main/java/com/serliunx/blog/entity/PbArticleContent.java b/src/main/java/com/serliunx/blog/entity/PbArticleContent.java new file mode 100644 index 0000000..17372f6 --- /dev/null +++ b/src/main/java/com/serliunx/blog/entity/PbArticleContent.java @@ -0,0 +1,36 @@ +package com.serliunx.blog.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + + +/** + *+ * 文章内容表 + *
+ * + * @author SerLiunx + * @since 2025-08-09 + */ +@Getter +@Setter +@ToString +@TableName("pb_article_content") +public class PbArticleContent { + + /** + * 所属文章ID + */ + @TableId("article_id") + private Long articleId; + + /** + * 内容 + */ + @TableField("content") + private String content; +} diff --git a/src/main/java/com/serliunx/blog/entity/PbArticleTag.java b/src/main/java/com/serliunx/blog/entity/PbArticleTag.java new file mode 100644 index 0000000..60df5b5 --- /dev/null +++ b/src/main/java/com/serliunx/blog/entity/PbArticleTag.java @@ -0,0 +1,42 @@ +package com.serliunx.blog.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + + +/** + *+ * 文章-标签绑定关系 + *
+ * + * @author SerLiunx + * @since 2025-08-09 + */ +@Getter +@Setter +@ToString +@TableName("pb_article_tag") +public class PbArticleTag { + + /** + * ID + */ + @TableId("id") + private Long id; + + /** + * 文章ID + */ + @TableField("article_id") + private Long articleId; + + /** + * 标签ID + */ + @TableField("tag_id") + private Long tagId; +} diff --git a/src/main/java/com/serliunx/blog/entity/PbTag.java b/src/main/java/com/serliunx/blog/entity/PbTag.java new file mode 100644 index 0000000..84c9343 --- /dev/null +++ b/src/main/java/com/serliunx/blog/entity/PbTag.java @@ -0,0 +1,36 @@ +package com.serliunx.blog.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + + +/** + *+ * 标签实体表 + *
+ * + * @author SerLiunx + * @since 2025-08-09 + */ +@Getter +@Setter +@ToString +@TableName("pb_tag") +public class PbTag { + + /** + * 标签ID + */ + @TableId("id") + private Long id; + + /** + * 标签名称 + */ + @TableField("name") + private String name; +} diff --git a/src/main/java/com/serliunx/blog/mapper/PbArticleContentMapper.java b/src/main/java/com/serliunx/blog/mapper/PbArticleContentMapper.java new file mode 100644 index 0000000..43efafe --- /dev/null +++ b/src/main/java/com/serliunx/blog/mapper/PbArticleContentMapper.java @@ -0,0 +1,16 @@ +package com.serliunx.blog.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.serliunx.blog.entity.PbArticleContent; + +/** + *+ * 文章内容表 Mapper 接口 + *
+ * + * @author SerLiunx + * @since 2025-08-09 + */ +public interface PbArticleContentMapper extends BaseMapper+ * 文章实体表 Mapper 接口 + *
+ * + * @author SerLiunx + * @since 2025-08-09 + */ +public interface PbArticleMapper extends BaseMapper+ * 文章-标签绑定关系 Mapper 接口 + *
+ * + * @author SerLiunx + * @since 2025-08-09 + */ +public interface PbArticleTagMapper extends BaseMapper+ * 标签实体表 Mapper 接口 + *
+ * + * @author SerLiunx + * @since 2025-08-09 + */ +public interface PbTagMapper extends BaseMapper+ * 文章内容表 服务类 + *
+ * + * @author SerLiunx + * @since 2025-08-09 + */ +public interface PbArticleContentService extends IService+ * 文章实体表 服务类 + *
+ * + * @author SerLiunx + * @since 2025-08-09 + */ +public interface PbArticleService extends IService+ * 文章-标签绑定关系 服务类 + *
+ * + * @author SerLiunx + * @since 2025-08-09 + */ +public interface PbArticleTagService extends IService+ * 标签实体表 服务类 + *
+ * + * @author SerLiunx + * @since 2025-08-09 + */ +public interface PbTagService extends IService+ * 文章内容表 服务实现类 + *
+ * + * @author SerLiunx + * @since 2025-08-09 + */ +@Service +public class PbArticleContentServiceImpl extends ServiceImpl+ * 文章实体表 服务实现类 + *
+ * + * @author SerLiunx + * @since 2025-08-09 + */ +@Service +public class PbArticleServiceImpl extends ServiceImpl+ * 文章-标签绑定关系 服务实现类 + *
+ * + * @author SerLiunx + * @since 2025-08-09 + */ +@Service +public class PbArticleTagServiceImpl extends ServiceImpl+ * 标签实体表 服务实现类 + *
+ * + * @author SerLiunx + * @since 2025-08-09 + */ +@Service +public class PbTagServiceImpl extends ServiceImpl