From 78c389b2d42d74ef87ce2ad44b87e8b956f80111 Mon Sep 17 00:00:00 2001 From: Ryan Wang Date: Sat, 15 Feb 2020 20:48:04 +0800 Subject: [PATCH] Support set thumbnail to category and tag. (#574) * feat: support set thumbnail to category and tag. * style: reformat code. --- .../model/annotation/DisableOnCondition.java | 1 + .../run/halo/app/model/dto/CategoryDTO.java | 2 ++ .../java/run/halo/app/model/dto/TagDTO.java | 2 ++ .../run/halo/app/model/entity/Category.java | 8 +++++ .../java/run/halo/app/model/entity/Tag.java | 6 ++++ .../halo/app/model/params/CategoryParam.java | 29 +++++++++++-------- .../run/halo/app/model/params/PostParam.java | 2 +- .../run/halo/app/model/params/SheetParam.java | 2 +- .../run/halo/app/model/params/TagParam.java | 17 +++++++++++ .../run/halo/app/model/support/HaloConst.java | 1 - 10 files changed, 55 insertions(+), 15 deletions(-) diff --git a/src/main/java/run/halo/app/model/annotation/DisableOnCondition.java b/src/main/java/run/halo/app/model/annotation/DisableOnCondition.java index 9446b60d9..2f6bd69f7 100644 --- a/src/main/java/run/halo/app/model/annotation/DisableOnCondition.java +++ b/src/main/java/run/halo/app/model/annotation/DisableOnCondition.java @@ -7,6 +7,7 @@ import java.lang.annotation.*; /** * 该注解可以限制某些条件下禁止访问api + * * @author guqing * @date 2020-02-14 13:48 */ diff --git a/src/main/java/run/halo/app/model/dto/CategoryDTO.java b/src/main/java/run/halo/app/model/dto/CategoryDTO.java index d16ea1a2d..414ad1ab7 100644 --- a/src/main/java/run/halo/app/model/dto/CategoryDTO.java +++ b/src/main/java/run/halo/app/model/dto/CategoryDTO.java @@ -28,6 +28,8 @@ public class CategoryDTO implements OutputConverter { private String description; + private String thumbnail; + private Integer parentId; private Date createTime; diff --git a/src/main/java/run/halo/app/model/dto/TagDTO.java b/src/main/java/run/halo/app/model/dto/TagDTO.java index 4498b6d18..b77bead06 100644 --- a/src/main/java/run/halo/app/model/dto/TagDTO.java +++ b/src/main/java/run/halo/app/model/dto/TagDTO.java @@ -22,6 +22,8 @@ public class TagDTO implements OutputConverter { private String slugName; + private String thumbnail; + private Date createTime; private String fullPath; diff --git a/src/main/java/run/halo/app/model/entity/Category.java b/src/main/java/run/halo/app/model/entity/Category.java index e239de0ea..fd2b2d00c 100644 --- a/src/main/java/run/halo/app/model/entity/Category.java +++ b/src/main/java/run/halo/app/model/entity/Category.java @@ -10,6 +10,8 @@ import javax.persistence.*; * Category entity. * * @author johnniang + * @author ryanwang + * @date 2019-03-15 */ @Data @Entity @@ -40,6 +42,12 @@ public class Category extends BaseEntity { @Column(name = "description", columnDefinition = "varchar(100) default ''") private String description; + /** + * Cover thumbnail of the category. + */ + @Column(name = "thumbnail", columnDefinition = "varchar(1023) default ''") + private String thumbnail; + /** * Parent category. */ diff --git a/src/main/java/run/halo/app/model/entity/Tag.java b/src/main/java/run/halo/app/model/entity/Tag.java index 319a32ae2..3583d4973 100644 --- a/src/main/java/run/halo/app/model/entity/Tag.java +++ b/src/main/java/run/halo/app/model/entity/Tag.java @@ -36,6 +36,12 @@ public class Tag extends BaseEntity { @Column(name = "slug_name", columnDefinition = "varchar(255) not null", unique = true) private String slugName; + /** + * Cover thumbnail of the tag. + */ + @Column(name = "thumbnail", columnDefinition = "varchar(1023) default ''") + private String thumbnail; + @Override protected void prePersist() { super.prePersist(); diff --git a/src/main/java/run/halo/app/model/params/CategoryParam.java b/src/main/java/run/halo/app/model/params/CategoryParam.java index 314591fb0..8bce3ae6a 100644 --- a/src/main/java/run/halo/app/model/params/CategoryParam.java +++ b/src/main/java/run/halo/app/model/params/CategoryParam.java @@ -19,28 +19,19 @@ import javax.validation.constraints.Size; @Data public class CategoryParam implements InputConverter { - /** - * Category name. - */ @NotBlank(message = "分类名称不能为空") @Size(max = 50, message = "分类名称的字符长度不能超过 {max}") private String name; - /** - * Category slug name. - */ @Size(max = 50, message = "分类别名的字符长度不能超过 {max}") private String slugName; - /** - * Category description. - */ @Size(max = 100, message = "分类描述的字符长度不能超过 {max}") private String description; - /** - * Parent category. - */ + @Size(max = 1023, message = "封面图链接的字符长度不能超过 {max}") + private String thumbnail; + private Integer parentId = 0; @Override @@ -49,6 +40,20 @@ public class CategoryParam implements InputConverter { slugName = StringUtils.isBlank(slugName) ? SlugUtils.slug(name) : SlugUtils.slug(slugName); + if (null == thumbnail) { + thumbnail = ""; + } + return InputConverter.super.convertTo(); } + + @Override + public void update(Category category) { + + if (null == thumbnail) { + thumbnail = ""; + } + + InputConverter.super.update(category); + } } diff --git a/src/main/java/run/halo/app/model/params/PostParam.java b/src/main/java/run/halo/app/model/params/PostParam.java index 66e19aabb..89307a2f4 100644 --- a/src/main/java/run/halo/app/model/params/PostParam.java +++ b/src/main/java/run/halo/app/model/params/PostParam.java @@ -40,7 +40,7 @@ public class PostParam implements InputConverter { private String summary; - @Size(max = 255, message = "文章缩略图链接的字符长度不能超过 {max}") + @Size(max = 1023, message = "封面图链接的字符长度不能超过 {max}") private String thumbnail; private Boolean disallowComment = false; diff --git a/src/main/java/run/halo/app/model/params/SheetParam.java b/src/main/java/run/halo/app/model/params/SheetParam.java index 76cc8b80f..627c2a1a0 100644 --- a/src/main/java/run/halo/app/model/params/SheetParam.java +++ b/src/main/java/run/halo/app/model/params/SheetParam.java @@ -38,7 +38,7 @@ public class SheetParam implements InputConverter { private String summary; - @Size(max = 255, message = "页面缩略图链接的字符长度不能超过 {max}") + @Size(max = 255, message = "封面图链接的字符长度不能超过 {max}") private String thumbnail; private Boolean disallowComment = false; diff --git a/src/main/java/run/halo/app/model/params/TagParam.java b/src/main/java/run/halo/app/model/params/TagParam.java index e1ea740dc..a4f4a9ac2 100644 --- a/src/main/java/run/halo/app/model/params/TagParam.java +++ b/src/main/java/run/halo/app/model/params/TagParam.java @@ -26,11 +26,28 @@ public class TagParam implements InputConverter { @Size(max = 255, message = "标签别名的字符长度不能超过 {max}") private String slugName; + @Size(max = 1023, message = "封面图链接的字符长度不能超过 {max}") + private String thumbnail; + @Override public Tag convertTo() { slugName = StringUtils.isBlank(slugName) ? SlugUtils.slug(name) : SlugUtils.slug(slugName); + if (null == thumbnail) { + thumbnail = ""; + } + return InputConverter.super.convertTo(); } + + @Override + public void update(Tag tag) { + + if (null == thumbnail) { + thumbnail = ""; + } + + InputConverter.super.update(tag); + } } diff --git a/src/main/java/run/halo/app/model/support/HaloConst.java b/src/main/java/run/halo/app/model/support/HaloConst.java index 8a989afa1..684f0160b 100644 --- a/src/main/java/run/halo/app/model/support/HaloConst.java +++ b/src/main/java/run/halo/app/model/support/HaloConst.java @@ -3,7 +3,6 @@ package run.halo.app.model.support; import org.springframework.http.HttpHeaders; import java.io.File; -import java.time.Duration; /** *