mirror of https://github.com/halo-dev/halo
feat: create theme content api. (#503)
parent
89086dd345
commit
bd6cb393ff
|
@ -69,7 +69,7 @@ public class HaloConfiguration {
|
|||
case "level":
|
||||
stringCacheStore = new LevelCacheStore();
|
||||
break;
|
||||
|
||||
|
||||
case "memory":
|
||||
default:
|
||||
//memory or default
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
package run.halo.app.controller.content;
|
||||
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.PageUtil;
|
||||
import java.util.Optional;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
|
|
|
@ -59,7 +59,7 @@ public class ContentContentController {
|
|||
this.sheetService = sheetService;
|
||||
}
|
||||
|
||||
@GetMapping("{prefix}")
|
||||
// @GetMapping("{prefix}")
|
||||
public String content(@PathVariable("prefix") String prefix,
|
||||
Model model) {
|
||||
String archivesPrefix = optionService.getByPropertyOrDefault(PermalinkProperties.ARCHIVES_PREFIX, String.class, PermalinkProperties.ARCHIVES_PREFIX.defaultValue());
|
||||
|
@ -89,7 +89,7 @@ public class ContentContentController {
|
|||
}
|
||||
}
|
||||
|
||||
@GetMapping("{prefix}/{url}")
|
||||
// @GetMapping("{prefix}/{url}")
|
||||
public String content(@PathVariable("prefix") String prefix,
|
||||
@PathVariable("url") String url,
|
||||
@RequestParam(value = "token", required = false) String token,
|
||||
|
@ -132,7 +132,7 @@ public class ContentContentController {
|
|||
}
|
||||
}
|
||||
|
||||
// @GetMapping("{year:^[^A-Za-z]*$}/{month:^[^A-Za-z]*$}/{url}")
|
||||
// @GetMapping("{year:^[^A-Za-z]*$}/{month:^[^A-Za-z]*$}/{url}")
|
||||
public String content(@PathVariable("year") Integer year,
|
||||
@PathVariable("month") Integer month,
|
||||
@PathVariable("url") String url,
|
||||
|
@ -147,7 +147,7 @@ public class ContentContentController {
|
|||
}
|
||||
}
|
||||
|
||||
// @GetMapping("{year:^[^A-Za-z]*$}/{month:^[^A-Za-z]*$}/{day:^[^A-Za-z]*$}/{url}")
|
||||
// @GetMapping("{year:^[^A-Za-z]*$}/{month:^[^A-Za-z]*$}/{day:^[^A-Za-z]*$}/{url}")
|
||||
public String content(@PathVariable("year") Integer year,
|
||||
@PathVariable("month") Integer month,
|
||||
@PathVariable("day") Integer day,
|
||||
|
|
|
@ -64,7 +64,7 @@ public class ContentIndexController {
|
|||
* Render blog index
|
||||
*
|
||||
* @param model model
|
||||
* @param page current page number
|
||||
* @param page current page number
|
||||
* @return template path: themes/{theme}/index.ftl
|
||||
*/
|
||||
@GetMapping(value = "page/{page}")
|
||||
|
|
|
@ -10,10 +10,10 @@ import run.halo.app.service.PostService;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Archive portal controller.
|
||||
* Content archive controller.
|
||||
*
|
||||
* @author johnniang
|
||||
* @date 4/2/19
|
||||
* @date 2019-04-02
|
||||
*/
|
||||
@RestController("ApiContentArchiveController")
|
||||
@RequestMapping("/api/content/archives")
|
||||
|
|
|
@ -21,10 +21,10 @@ import java.util.List;
|
|||
import static org.springframework.data.domain.Sort.Direction.DESC;
|
||||
|
||||
/**
|
||||
* Category portal controller.
|
||||
* Content category controller.
|
||||
*
|
||||
* @author ryanwang
|
||||
* @date 6/9/19
|
||||
* @date 2019-06-09
|
||||
*/
|
||||
@RestController("ApiContentCategoryController")
|
||||
@RequestMapping("/api/content/categories")
|
||||
|
|
|
@ -29,7 +29,7 @@ import java.util.List;
|
|||
import static org.springframework.data.domain.Sort.Direction.DESC;
|
||||
|
||||
/**
|
||||
* Content Journal controller.
|
||||
* Content journal controller.
|
||||
*
|
||||
* @author johnniang
|
||||
* @author ryanwang
|
||||
|
|
|
@ -15,11 +15,11 @@ import java.util.List;
|
|||
import static org.springframework.data.domain.Sort.Direction.DESC;
|
||||
|
||||
/**
|
||||
* Portal link controller.
|
||||
* Content link controller.
|
||||
*
|
||||
* @author johnniang
|
||||
* @author ryanwang
|
||||
* @date 4/3/19
|
||||
* @date 2019-04-03
|
||||
*/
|
||||
@RestController("ApiContentLinkController")
|
||||
@RequestMapping("/api/content/links")
|
||||
|
|
|
@ -15,11 +15,11 @@ import java.util.List;
|
|||
import static org.springframework.data.domain.Sort.Direction.DESC;
|
||||
|
||||
/**
|
||||
* Portal menu controller.
|
||||
* Content menu controller.
|
||||
*
|
||||
* @author johnniang
|
||||
* @author ryanwang
|
||||
* @date 4/3/19
|
||||
* @date 2019-04-03
|
||||
*/
|
||||
@RestController("ApiContentMenuController")
|
||||
@RequestMapping("/api/content/menus")
|
||||
|
|
|
@ -13,10 +13,10 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Portal option controller.
|
||||
* Content option controller.
|
||||
*
|
||||
* @author johnniang
|
||||
* @date 4/3/19
|
||||
* @date 2019-04-03
|
||||
*/
|
||||
@RestController("ApiContentOptionController")
|
||||
@RequestMapping("/api/content/options")
|
||||
|
|
|
@ -26,10 +26,10 @@ import java.util.List;
|
|||
import static org.springframework.data.domain.Sort.Direction.DESC;
|
||||
|
||||
/**
|
||||
* Portal post controller.
|
||||
* Content post controller.
|
||||
*
|
||||
* @author johnniang
|
||||
* @date 4/2/19
|
||||
* @date 2019-04-02
|
||||
*/
|
||||
@RestController("ApiContentPostController")
|
||||
@RequestMapping("/api/content/posts")
|
||||
|
|
|
@ -25,11 +25,11 @@ import java.util.List;
|
|||
import static org.springframework.data.domain.Sort.Direction.DESC;
|
||||
|
||||
/**
|
||||
* Sheet controller.
|
||||
* Content sheet controller.
|
||||
*
|
||||
* @author johnniang
|
||||
* @author ryanwang
|
||||
* @date 19-4-26
|
||||
* @date 2019-04-26
|
||||
*/
|
||||
@RestController("ApiContentSheetController")
|
||||
@RequestMapping("/api/content/sheets")
|
||||
|
|
|
@ -9,7 +9,7 @@ import run.halo.app.model.dto.StatisticWithUserDTO;
|
|||
import run.halo.app.service.StatisticService;
|
||||
|
||||
/**
|
||||
* Statistic controller.
|
||||
* Content statistic controller.
|
||||
*
|
||||
* @author ryan0up
|
||||
* @date 2019-12-16
|
||||
|
|
|
@ -22,11 +22,11 @@ import java.util.List;
|
|||
import static org.springframework.data.domain.Sort.Direction.DESC;
|
||||
|
||||
/**
|
||||
* Portal tag controller.
|
||||
* Content tag controller.
|
||||
*
|
||||
* @author johnniang
|
||||
* @author ryanwang
|
||||
* @date 4/2/19
|
||||
* @date 2019-04-02
|
||||
*/
|
||||
@RestController("ApiContentTagController")
|
||||
@RequestMapping("/api/content/tags")
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
package run.halo.app.controller.content.api;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import run.halo.app.handler.theme.config.support.ThemeProperty;
|
||||
import run.halo.app.service.ThemeService;
|
||||
import run.halo.app.service.ThemeSettingService;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Content theme controller.
|
||||
*
|
||||
* @author ryanwang
|
||||
* @date 2020-01-17
|
||||
*/
|
||||
@RestController("ApiContentThemeController")
|
||||
@RequestMapping("/api/content/themes")
|
||||
public class ThemeController {
|
||||
|
||||
private final ThemeService themeService;
|
||||
|
||||
private final ThemeSettingService themeSettingService;
|
||||
|
||||
public ThemeController(ThemeService themeService, ThemeSettingService themeSettingService) {
|
||||
this.themeService = themeService;
|
||||
this.themeSettingService = themeSettingService;
|
||||
}
|
||||
|
||||
@GetMapping("activation")
|
||||
@ApiOperation("Gets activated theme property")
|
||||
public ThemeProperty getBy() {
|
||||
return themeService.getThemeOfNonNullBy(themeService.getActivatedThemeId());
|
||||
}
|
||||
|
||||
@GetMapping("activation/settings")
|
||||
@ApiOperation("Lists activated theme settings")
|
||||
public Map<String, Object> listSettingsBy() {
|
||||
return themeSettingService.listAsMapBy(themeService.getActivatedThemeId());
|
||||
}
|
||||
}
|
|
@ -8,10 +8,10 @@ import run.halo.app.model.dto.UserDTO;
|
|||
import run.halo.app.service.UserService;
|
||||
|
||||
/**
|
||||
* Portal user controller.
|
||||
* Content user controller.
|
||||
*
|
||||
* @author johnniang
|
||||
* @date 4/3/19
|
||||
* @date 2019-04-03
|
||||
*/
|
||||
@RestController("ApiContentUserController")
|
||||
@RequestMapping("/api/content/users")
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package run.halo.app.controller.content.model;
|
||||
|
||||
import cn.hutool.core.util.PageUtil;
|
||||
import java.util.Optional;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
|
@ -51,14 +50,14 @@ public class PostModel {
|
|||
private final StringCacheStore cacheStore;
|
||||
|
||||
public PostModel(PostService postService,
|
||||
ThemeService themeService,
|
||||
PostCategoryService postCategoryService,
|
||||
CategoryService categoryService,
|
||||
PostMetaService postMetaService,
|
||||
PostTagService postTagService,
|
||||
TagService tagService,
|
||||
OptionService optionService,
|
||||
StringCacheStore cacheStore) {
|
||||
ThemeService themeService,
|
||||
PostCategoryService postCategoryService,
|
||||
CategoryService categoryService,
|
||||
PostMetaService postMetaService,
|
||||
PostTagService postTagService,
|
||||
TagService tagService,
|
||||
OptionService optionService,
|
||||
StringCacheStore cacheStore) {
|
||||
this.postService = postService;
|
||||
this.themeService = themeService;
|
||||
this.postCategoryService = postCategoryService;
|
||||
|
|
|
@ -4,6 +4,7 @@ import lombok.Getter;
|
|||
|
||||
/**
|
||||
* 封禁状态
|
||||
*
|
||||
* @author Lei XinXin
|
||||
* @date 2020/1/5
|
||||
*/
|
||||
|
@ -12,9 +13,11 @@ public enum BanStatusEnum {
|
|||
/**
|
||||
* 封禁状态
|
||||
*/
|
||||
NORMAL(0),;
|
||||
NORMAL(0),
|
||||
;
|
||||
|
||||
private int status;
|
||||
|
||||
BanStatusEnum(int status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
|
|
@ -21,6 +21,7 @@ public enum CommentViolationTypeEnum {
|
|||
;
|
||||
|
||||
private int type;
|
||||
|
||||
CommentViolationTypeEnum(int type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
|
|
@ -32,7 +32,6 @@ public enum CommentProperties implements PropertyEnum {
|
|||
COMMENT_RANGE("comment_range", Integer.class, "30");
|
||||
|
||||
|
||||
|
||||
private final String value;
|
||||
|
||||
private final Class<?> type;
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
package run.halo.app.model.vo;
|
||||
|
||||
import java.util.Optional;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import run.halo.app.model.entity.Post;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* AdjacentPost class
|
||||
*
|
||||
|
@ -22,7 +23,7 @@ public class AdjacentPostVO {
|
|||
private Post prePost;
|
||||
private Post nextPost;
|
||||
|
||||
public Optional<Post> getOptionalPrePost(){
|
||||
public Optional<Post> getOptionalPrePost() {
|
||||
return Optional.ofNullable(this.getPrePost());
|
||||
}
|
||||
|
||||
|
|
|
@ -7,7 +7,6 @@ import run.halo.app.model.projection.CommentChildrenCountProjection;
|
|||
import run.halo.app.model.projection.CommentCountProjection;
|
||||
import run.halo.app.repository.base.BaseCommentRepository;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
package run.halo.app.repository.base;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.domain.Sort;
|
||||
|
@ -13,6 +10,10 @@ import org.springframework.lang.NonNull;
|
|||
import run.halo.app.model.entity.BasePost;
|
||||
import run.halo.app.model.enums.PostStatus;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* Base post repository.
|
||||
*
|
||||
|
|
|
@ -4,6 +4,7 @@ import run.halo.app.model.enums.CommentViolationTypeEnum;
|
|||
|
||||
/**
|
||||
* Comment BlackList Service
|
||||
*
|
||||
* @author Lei XinXin
|
||||
* @date 2020/1/3
|
||||
*/
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package run.halo.app.service;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.domain.Sort;
|
||||
|
@ -9,13 +8,10 @@ import run.halo.app.model.entity.Post;
|
|||
import run.halo.app.model.entity.PostMeta;
|
||||
import run.halo.app.model.enums.PostStatus;
|
||||
import run.halo.app.model.params.PostQuery;
|
||||
import run.halo.app.model.vo.AdjacentPostVO;
|
||||
import run.halo.app.model.vo.ArchiveMonthVO;
|
||||
import run.halo.app.model.vo.ArchiveYearVO;
|
||||
import run.halo.app.model.vo.PostDetailVO;
|
||||
import run.halo.app.model.vo.PostListVO;
|
||||
import run.halo.app.model.vo.*;
|
||||
import run.halo.app.service.base.BasePostService;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
@ -234,6 +230,7 @@ public interface PostService extends BasePostService<Post> {
|
|||
|
||||
/**
|
||||
* Gets pre && next post.
|
||||
*
|
||||
* @param currentPost post must not be null
|
||||
* @return AdjacentPostVO. it contains prePost and nextPost.
|
||||
* AdjacentPostVO will not be null. But prePost and nextPost may be null.
|
||||
|
@ -243,8 +240,9 @@ public interface PostService extends BasePostService<Post> {
|
|||
|
||||
/**
|
||||
* Get Post Pageable default sort
|
||||
* @Desc contains three parts. First, Top Priority; Second, From Custom index sort; Third, basic id sort
|
||||
*
|
||||
* @return
|
||||
* @Desc contains three parts. First, Top Priority; Second, From Custom index sort; Third, basic id sort
|
||||
*/
|
||||
@NotNull
|
||||
Sort getPostDefaultSort();
|
||||
|
|
|
@ -1,27 +1,8 @@
|
|||
package run.halo.app.service.impl;
|
||||
|
||||
import static org.springframework.data.domain.Sort.Direction.DESC;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.text.StrBuilder;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.persistence.criteria.Predicate;
|
||||
import javax.persistence.criteria.Root;
|
||||
import javax.persistence.criteria.Subquery;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.context.ApplicationEventPublisher;
|
||||
|
@ -40,39 +21,30 @@ import run.halo.app.event.logger.LogEvent;
|
|||
import run.halo.app.event.post.PostVisitEvent;
|
||||
import run.halo.app.exception.NotFoundException;
|
||||
import run.halo.app.model.dto.BaseMetaDTO;
|
||||
import run.halo.app.model.dto.post.BasePostMinimalDTO;
|
||||
import run.halo.app.model.entity.Category;
|
||||
import run.halo.app.model.entity.Post;
|
||||
import run.halo.app.model.entity.PostCategory;
|
||||
import run.halo.app.model.entity.PostComment;
|
||||
import run.halo.app.model.entity.PostMeta;
|
||||
import run.halo.app.model.entity.PostTag;
|
||||
import run.halo.app.model.entity.Tag;
|
||||
import run.halo.app.model.entity.*;
|
||||
import run.halo.app.model.enums.LogType;
|
||||
import run.halo.app.model.enums.PostPermalinkType;
|
||||
import run.halo.app.model.enums.PostStatus;
|
||||
import run.halo.app.model.params.PostQuery;
|
||||
import run.halo.app.model.properties.PermalinkProperties;
|
||||
import run.halo.app.model.properties.PostProperties;
|
||||
import run.halo.app.model.vo.AdjacentPostVO;
|
||||
import run.halo.app.model.vo.ArchiveMonthVO;
|
||||
import run.halo.app.model.vo.ArchiveYearVO;
|
||||
import run.halo.app.model.vo.PostDetailVO;
|
||||
import run.halo.app.model.vo.PostListVO;
|
||||
import run.halo.app.model.vo.*;
|
||||
import run.halo.app.repository.PostRepository;
|
||||
import run.halo.app.service.CategoryService;
|
||||
import run.halo.app.service.OptionService;
|
||||
import run.halo.app.service.PostCategoryService;
|
||||
import run.halo.app.service.PostCommentService;
|
||||
import run.halo.app.service.PostMetaService;
|
||||
import run.halo.app.service.PostService;
|
||||
import run.halo.app.service.PostTagService;
|
||||
import run.halo.app.service.TagService;
|
||||
import run.halo.app.service.*;
|
||||
import run.halo.app.utils.DateUtils;
|
||||
import run.halo.app.utils.MarkdownUtils;
|
||||
import run.halo.app.utils.ServiceUtils;
|
||||
import run.halo.app.utils.SlugUtils;
|
||||
|
||||
import javax.persistence.criteria.Predicate;
|
||||
import javax.persistence.criteria.Root;
|
||||
import javax.persistence.criteria.Subquery;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static org.springframework.data.domain.Sort.Direction.DESC;
|
||||
|
||||
/**
|
||||
* Post service implementation.
|
||||
*
|
||||
|
@ -105,14 +77,14 @@ public class PostServiceImpl extends BasePostServiceImpl<Post> implements PostSe
|
|||
private final OptionService optionService;
|
||||
|
||||
public PostServiceImpl(PostRepository postRepository,
|
||||
TagService tagService,
|
||||
CategoryService categoryService,
|
||||
PostTagService postTagService,
|
||||
PostCategoryService postCategoryService,
|
||||
PostCommentService postCommentService,
|
||||
ApplicationEventPublisher eventPublisher,
|
||||
PostMetaService postMetaService,
|
||||
OptionService optionService) {
|
||||
TagService tagService,
|
||||
CategoryService categoryService,
|
||||
PostTagService postTagService,
|
||||
PostCategoryService postCategoryService,
|
||||
PostCommentService postCommentService,
|
||||
ApplicationEventPublisher eventPublisher,
|
||||
PostMetaService postMetaService,
|
||||
OptionService optionService) {
|
||||
super(postRepository, optionService);
|
||||
this.postRepository = postRepository;
|
||||
this.tagService = tagService;
|
||||
|
@ -150,7 +122,7 @@ public class PostServiceImpl extends BasePostServiceImpl<Post> implements PostSe
|
|||
@Override
|
||||
@Transactional
|
||||
public PostDetailVO createBy(Post postToCreate, Set<Integer> tagIds, Set<Integer> categoryIds,
|
||||
Set<PostMeta> postMetas, boolean autoSave) {
|
||||
Set<PostMeta> postMetas, boolean autoSave) {
|
||||
PostDetailVO createdPost = createOrUpdate(postToCreate, tagIds, categoryIds, postMetas);
|
||||
if (!autoSave) {
|
||||
// Log the creation
|
||||
|
@ -163,7 +135,7 @@ public class PostServiceImpl extends BasePostServiceImpl<Post> implements PostSe
|
|||
|
||||
@Override
|
||||
public PostDetailVO createBy(Post postToCreate, Set<Integer> tagIds, Set<Integer> categoryIds,
|
||||
boolean autoSave) {
|
||||
boolean autoSave) {
|
||||
PostDetailVO createdPost = createOrUpdate(postToCreate, tagIds, categoryIds, null);
|
||||
if (!autoSave) {
|
||||
// Log the creation
|
||||
|
@ -177,7 +149,7 @@ public class PostServiceImpl extends BasePostServiceImpl<Post> implements PostSe
|
|||
@Override
|
||||
@Transactional
|
||||
public PostDetailVO updateBy(Post postToUpdate, Set<Integer> tagIds, Set<Integer> categoryIds,
|
||||
Set<PostMeta> postMetas, boolean autoSave) {
|
||||
Set<PostMeta> postMetas, boolean autoSave) {
|
||||
// Set edit time
|
||||
postToUpdate.setEditTime(DateUtils.now());
|
||||
PostDetailVO updatedPost = createOrUpdate(postToUpdate, tagIds, categoryIds, postMetas);
|
||||
|
@ -623,15 +595,15 @@ public class PostServiceImpl extends BasePostServiceImpl<Post> implements PostSe
|
|||
/**
|
||||
* Converts to post detail vo.
|
||||
*
|
||||
* @param post post must not be null
|
||||
* @param tags tags
|
||||
* @param categories categories
|
||||
* @param post post must not be null
|
||||
* @param tags tags
|
||||
* @param categories categories
|
||||
* @param postMetaList postMetas
|
||||
* @return post detail vo
|
||||
*/
|
||||
@NonNull
|
||||
private PostDetailVO convertTo(@NonNull Post post, @Nullable List<Tag> tags,
|
||||
@Nullable List<Category> categories, List<PostMeta> postMetaList) {
|
||||
@Nullable List<Category> categories, List<PostMeta> postMetaList) {
|
||||
Assert.notNull(post, "Post must not be null");
|
||||
|
||||
// Convert to base detail vo
|
||||
|
@ -709,7 +681,7 @@ public class PostServiceImpl extends BasePostServiceImpl<Post> implements PostSe
|
|||
}
|
||||
|
||||
private PostDetailVO createOrUpdate(@NonNull Post post, Set<Integer> tagIds,
|
||||
Set<Integer> categoryIds, Set<PostMeta> postMetas) {
|
||||
Set<Integer> categoryIds, Set<PostMeta> postMetas) {
|
||||
Assert.notNull(post, "Post param must not be null");
|
||||
|
||||
// Create or update post
|
||||
|
|
|
@ -6,7 +6,6 @@ import cn.hutool.core.util.IdUtil;
|
|||
import cn.hutool.core.util.PageUtil;
|
||||
import freemarker.template.Template;
|
||||
import freemarker.template.TemplateException;
|
||||
import java.util.Optional;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
|
|
Loading…
Reference in New Issue