Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
#	src/main/resources/application-user.yaml
pull/167/head
ruibaby 2019-05-21 21:31:37 +08:00
commit 17bbcacb3b
1 changed files with 9 additions and 11 deletions

View File

@ -6,6 +6,7 @@ import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.web.PageableDefault;
import org.springframework.http.MediaType;
import org.springframework.lang.NonNull;
import org.springframework.stereotype.Controller;
@ -92,8 +93,9 @@ public class ContentFeedController {
*/
@GetMapping(value = {"sitemap", "sitemap.xml"}, produces = XML_MEDIA_TYPE)
@ResponseBody
public String sitemapXml(Model model) throws IOException, TemplateException {
model.addAttribute("posts", buildPosts(null));
public String sitemapXml(Model model,
@PageableDefault(size = Integer.MAX_VALUE, sort = "createTime", direction = DESC) Pageable pageable) throws IOException, TemplateException {
model.addAttribute("posts", buildPosts(pageable));
Template template = freeMarker.getConfiguration().getTemplate("common/web/sitemap_xml.ftl");
return FreeMarkerTemplateUtils.processTemplateIntoString(template, model);
}
@ -104,9 +106,10 @@ public class ContentFeedController {
* @param model model
* @return String
*/
@GetMapping(value = "sitemap.html", produces = MediaType.TEXT_PLAIN_VALUE)
public String sitemapHtml(Model model) {
model.addAttribute("posts", buildPosts(null));
@GetMapping(value = "sitemap.html")
public String sitemapHtml(Model model,
@PageableDefault(size = Integer.MAX_VALUE, sort = "createTime", direction = DESC) Pageable pageable) {
model.addAttribute("posts", buildPosts(pageable));
return "common/web/sitemap_html";
}
@ -142,12 +145,7 @@ public class ContentFeedController {
* @param pageable pageable
* @return List<Post>
*/
private List<PostListVO> buildPosts(Pageable pageable) {
if (pageable == null) {
Page<Post> postPage = postService.pageBy(PostStatus.PUBLISHED, null);
return postService.convertToListVo(postPage).getContent();
}
private List<PostListVO> buildPosts(@NonNull Pageable pageable) {
Page<Post> postPage = postService.pageBy(PostStatus.PUBLISHED, pageable);
Page<PostListVO> posts = postService.convertToListVo(postPage);
return posts.getContent();