diff --git a/src/main/java/cc/ryanc/halo/model/entity/Comment.java b/src/main/java/cc/ryanc/halo/model/entity/Comment.java index 0810d1e6a..175fd953a 100644 --- a/src/main/java/cc/ryanc/halo/model/entity/Comment.java +++ b/src/main/java/cc/ryanc/halo/model/entity/Comment.java @@ -103,6 +103,10 @@ public class Comment extends BaseEntity { public void prePersist() { super.prePersist(); id = null; + + if (parentId == null || parentId < 0) { + parentId = 0L; + } } } diff --git a/src/main/java/cc/ryanc/halo/model/enums/BlogProperties.java b/src/main/java/cc/ryanc/halo/model/enums/BlogProperties.java index df624b05c..f320b7228 100644 --- a/src/main/java/cc/ryanc/halo/model/enums/BlogProperties.java +++ b/src/main/java/cc/ryanc/halo/model/enums/BlogProperties.java @@ -165,7 +165,7 @@ public enum BlogProperties implements ValueEnum { private Class type; BlogProperties(String value, Class type) { - if (!supportType(type)) { + if (!isSupportedType(type)) { throw new IllegalArgumentException("Unsupported blog property type: " + type); } @@ -199,7 +199,7 @@ public enum BlogProperties implements ValueEnum { public static T convertTo(@NonNull String value, @NonNull Class type) { Assert.hasText(value, "Property value must not be blank"); - if (!supportType(type)) { + if (!isSupportedType(type)) { throw new IllegalArgumentException("Unsupported blog property type: " + type); } @@ -245,7 +245,7 @@ public enum BlogProperties implements ValueEnum { * @param type type to check * @return true if supports; false else */ - public static boolean supportType(Class type) { + public static boolean isSupportedType(Class type) { return type != null && ( type.isAssignableFrom(String.class) || type.isAssignableFrom(Number.class) diff --git a/src/main/java/cc/ryanc/halo/service/CommentService.java b/src/main/java/cc/ryanc/halo/service/CommentService.java index 94f22cc40..46a4b5999 100644 --- a/src/main/java/cc/ryanc/halo/service/CommentService.java +++ b/src/main/java/cc/ryanc/halo/service/CommentService.java @@ -2,6 +2,7 @@ package cc.ryanc.halo.service; import cc.ryanc.halo.model.entity.Comment; import cc.ryanc.halo.model.enums.CommentStatus; +import cc.ryanc.halo.model.params.CommentParam; import cc.ryanc.halo.model.vo.CommentVO; import cc.ryanc.halo.service.base.CrudService; import org.springframework.data.domain.Page; @@ -9,6 +10,7 @@ import org.springframework.data.domain.Pageable; import org.springframework.lang.NonNull; import org.springframework.lang.Nullable; +import javax.servlet.http.HttpServletRequest; import java.util.Collection; import java.util.List; import java.util.Map; @@ -20,6 +22,13 @@ import java.util.Map; */ public interface CommentService extends CrudService { + /** + * %d: parent commentator id + * %s: parent commentator author name + * %s: comment content + */ + String COMMENT_TEMPLATE = "