🎨 代码优化

pull/137/head
ruibaby 2019-03-09 11:30:38 +08:00
parent 4f00dace1e
commit 590a0ffa6c
11 changed files with 148 additions and 31 deletions

View File

@ -0,0 +1,28 @@
package cc.ryanc.halo.model.dto;
import cc.ryanc.halo.model.domain.Comment;
import cc.ryanc.halo.model.domain.Post;
import cc.ryanc.halo.model.dto.base.AbstractOutputConverter;
import lombok.Data;
import java.util.Date;
/**
* @author : RYAN0UP
* @date : 2019-03-09
*/
@Data
public class CommentViewOutputDTO extends AbstractOutputConverter<CommentViewOutputDTO, Comment> {
private Long commentId;
private Post post;
private String commentAuthor;
private Date commentDate;
private String commentContent;
private Integer commentStatus;
}

View File

@ -0,0 +1,35 @@
package cc.ryanc.halo.model.dto;
import cc.ryanc.halo.model.domain.Comment;
import cc.ryanc.halo.model.domain.Post;
import cc.ryanc.halo.model.dto.base.AbstractOutputConverter;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @author : RYAN0UP
* @date : 2019-03-09
*/
@Data
public class PageAdminOutputDTO extends AbstractOutputConverter<PageAdminOutputDTO, Post> {
private Long postId;
private String postTitle;
private String postType;
private String postUrl;
private List<Comment> comments;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private Date postDate;
private Integer postStatus;
private Long postViews;
}

View File

@ -3,6 +3,7 @@ package cc.ryanc.halo.model.dto;
import cc.ryanc.halo.model.domain.*;
import cc.ryanc.halo.model.dto.base.AbstractOutputConverter;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
import java.util.List;
@ -12,6 +13,7 @@ import java.util.List;
*
* @author johnniang
*/
@Data
public class PostDetailOutputDTO extends AbstractOutputConverter<PostDetailOutputDTO, Post> {
private Long postId;

View File

@ -0,0 +1,27 @@
package cc.ryanc.halo.model.dto;
import cc.ryanc.halo.model.domain.Post;
import cc.ryanc.halo.model.dto.base.AbstractOutputConverter;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
/**
* @author : RYAN0UP
* @date : 2019-03-09
*/
@Data
public class PostViewOutputDTO extends AbstractOutputConverter<PostViewOutputDTO, Post> {
private Long postId;
private String postTitle;
private String postUrl;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date postDate;
private Integer postStatus;
}

View File

@ -2,6 +2,8 @@ package cc.ryanc.halo.web.controller.admin;
import cc.ryanc.halo.logging.Logger;
import cc.ryanc.halo.model.domain.*;
import cc.ryanc.halo.model.dto.CommentViewOutputDTO;
import cc.ryanc.halo.model.dto.PostViewOutputDTO;
import cc.ryanc.halo.model.enums.*;
import cc.ryanc.halo.model.params.PasswordResetParam;
import cc.ryanc.halo.model.support.JsonResult;
@ -34,6 +36,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;
import static cc.ryanc.halo.model.support.HaloConst.OPTIONS;
import static cc.ryanc.halo.model.support.HaloConst.USER_SESSION_KEY;
@ -97,18 +100,6 @@ public class AdminController extends BaseController {
final Long commentCount = commentService.count();
model.addAttribute("commentCount", commentCount);
//查询最新的文章
final List<Post> postsLatest = postService.findPostLatest();
model.addAttribute("postTopFive", postsLatest);
//查询最新的日志
final List<Logs> logsLatest = logsService.findLogsLatest();
model.addAttribute("logs", logsLatest);
//查询最新的评论
final List<Comment> comments = commentService.findCommentsLatest();
model.addAttribute("comments", comments);
//附件数量
model.addAttribute("mediaCount", attachmentService.count());
@ -116,6 +107,24 @@ public class AdminController extends BaseController {
final Long postViewsSum = postService.getPostViews();
model.addAttribute("postViewsSum", postViewsSum);
//查询最新的文章
final List<PostViewOutputDTO> postsLatest = postService.findPostLatest()
.stream()
.map(post -> new PostViewOutputDTO().convertFrom(post))
.collect(Collectors.toList());
model.addAttribute("postsLatest", postsLatest);
//查询最新的日志
final List<Logs> logsLatest = logsService.findLogsLatest();
model.addAttribute("logsLatest", logsLatest);
//查询最新的评论
final List<CommentViewOutputDTO> commentsLatest = commentService.findCommentsLatest()
.stream()
.map(comment -> new CommentViewOutputDTO().convertFrom(comment))
.collect(Collectors.toList());
model.addAttribute("commentsLatest", commentsLatest);
//成立天数
final Date blogStart = DateUtil.parse(OPTIONS.get(BlogPropertiesEnum.BLOG_START.getProp()));
final long hadDays = DateUtil.between(blogStart, DateUtil.date(), DateUnit.DAY);

View File

@ -1,10 +1,10 @@
package cc.ryanc.halo.web.controller.admin;
import cc.ryanc.halo.model.domain.Attachment;
import cc.ryanc.halo.model.support.JsonResult;
import cc.ryanc.halo.model.support.LogsRecord;
import cc.ryanc.halo.model.enums.PostTypeEnum;
import cc.ryanc.halo.model.enums.ResultCodeEnum;
import cc.ryanc.halo.model.support.JsonResult;
import cc.ryanc.halo.model.support.LogsRecord;
import cc.ryanc.halo.service.AttachmentService;
import cc.ryanc.halo.service.LogsService;
import cc.ryanc.halo.utils.LocaleMessageUtil;
@ -52,7 +52,7 @@ public class AttachmentController {
private LocaleMessageUtil localeMessageUtil;
/**
*
*
*
* @param model model
* @return admin/admin_attachment

View File

@ -2,6 +2,7 @@ package cc.ryanc.halo.web.controller.admin;
import cc.ryanc.halo.model.domain.Menu;
import cc.ryanc.halo.model.domain.Post;
import cc.ryanc.halo.model.dto.PostViewOutputDTO;
import cc.ryanc.halo.model.enums.PostTypeEnum;
import cc.ryanc.halo.model.support.JsonResult;
import cc.ryanc.halo.service.MenuService;
@ -16,6 +17,7 @@ import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
import java.util.stream.Collectors;
/**
* <pre>
@ -44,9 +46,12 @@ public class MenuController {
*/
@GetMapping
public String menus(Model model) {
List<Post> posts = postService.findAll(PostTypeEnum.POST_TYPE_PAGE.getDesc());
List<PostViewOutputDTO> posts = postService.findAll(PostTypeEnum.POST_TYPE_PAGE.getDesc())
.stream()
.map(post -> new PostViewOutputDTO().convertFrom(post))
.collect(Collectors.toList());
model.addAttribute("posts",posts);
return "/admin/admin_menu";
return "admin/admin_menu";
}
/**
@ -82,7 +87,7 @@ public class MenuController {
public String updateMenu(@RequestParam("menuId") Long menuId, Model model) {
final Menu menu = menuService.fetchById(menuId).orElse(new Menu());
model.addAttribute("updateMenu", menu);
return "/admin/admin_menu";
return "admin/admin_menu";
}
/**

View File

@ -4,11 +4,12 @@ import cc.ryanc.halo.model.domain.Gallery;
import cc.ryanc.halo.model.domain.Link;
import cc.ryanc.halo.model.domain.Post;
import cc.ryanc.halo.model.domain.User;
import cc.ryanc.halo.model.support.JsonResult;
import cc.ryanc.halo.model.support.LogsRecord;
import cc.ryanc.halo.model.dto.PageAdminOutputDTO;
import cc.ryanc.halo.model.enums.BlogPropertiesEnum;
import cc.ryanc.halo.model.enums.PostTypeEnum;
import cc.ryanc.halo.model.enums.ResultCodeEnum;
import cc.ryanc.halo.model.support.JsonResult;
import cc.ryanc.halo.model.support.LogsRecord;
import cc.ryanc.halo.service.GalleryService;
import cc.ryanc.halo.service.LinkService;
import cc.ryanc.halo.service.LogsService;
@ -40,6 +41,7 @@ import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
import static cc.ryanc.halo.model.support.HaloConst.OPTIONS;
import static cc.ryanc.halo.model.support.HaloConst.USER_SESSION_KEY;
@ -83,7 +85,10 @@ public class PageController {
*/
@GetMapping
public String pages(Model model) {
final List<Post> posts = postService.findAll(PostTypeEnum.POST_TYPE_PAGE.getDesc());
final List<PageAdminOutputDTO> posts = postService.findAll(PostTypeEnum.POST_TYPE_PAGE.getDesc())
.stream()
.map(post -> new PageAdminOutputDTO().convertFrom(post))
.collect(Collectors.toList());
model.addAttribute("pages", posts);
return "admin/admin_page";
}

View File

@ -2,6 +2,7 @@ package cc.ryanc.halo.web.controller.admin;
import cc.ryanc.halo.model.domain.Post;
import cc.ryanc.halo.model.domain.User;
import cc.ryanc.halo.model.dto.PostViewOutputDTO;
import cc.ryanc.halo.model.support.JsonResult;
import cc.ryanc.halo.model.support.LogsRecord;
import cc.ryanc.halo.model.enums.BlogPropertiesEnum;
@ -35,6 +36,7 @@ import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
import static cc.ryanc.halo.model.support.HaloConst.OPTIONS;
import static cc.ryanc.halo.model.support.HaloConst.USER_SESSION_KEY;
@ -304,9 +306,12 @@ public class PostController extends BaseController {
return JsonResult.fail(localeMessageUtil.getMessage("code.admin.post.no-baidu-token"));
}
final String blogUrl = OPTIONS.get(BlogPropertiesEnum.BLOG_URL.getProp());
final List<Post> posts = postService.findAll(PostTypeEnum.POST_TYPE_POST.getDesc());
final List<PostViewOutputDTO> posts = postService.findAll(PostTypeEnum.POST_TYPE_POST.getDesc())
.stream()
.map(post -> new PostViewOutputDTO().convertFrom(post))
.collect(Collectors.toList());
final StringBuilder urls = new StringBuilder();
for (Post post : posts) {
for (PostViewOutputDTO post : posts) {
urls.append(blogUrl);
urls.append("/archives/");
urls.append(post.getPostUrl());

View File

@ -211,8 +211,8 @@
<th><@spring.message code='common.th.status' /></th>
<th><@spring.message code='common.th.date' /></th>
</tr>
<#if postTopFive??>
<#list postTopFive as post>
<#if postsLatest??>
<#list postsLatest as post>
<tr>
<#if post.postStatus == 0>
<td><a target="_blank" href="/archives/${post.postUrl}">${post.postTitle}</a></td>
@ -261,8 +261,8 @@
<th><@spring.message code='common.th.status' /></th>
<th><@spring.message code='common.th.date' /></th>
</tr>
<#if comments??>
<#list comments as comment>
<#if commentsLatest??>
<#list commentsLatest as comment>
<tr>
<td>${comment.commentAuthor}</td>
<td>
@ -338,8 +338,8 @@
<th>IP</th>
<th><@spring.message code='common.th.date' /></th>
</tr>
<#if logs??>
<#list logs as log>
<#if logsLatest??>
<#list logsLatest as log>
<tr>
<td>${log.logTitle}</td>
<td>${log.logContent}</td>

View File

@ -74,7 +74,9 @@
<#list pages as page>
<tr>
<td>${page.postTitle}</td>
<td>/p/${page.postUrl}</td>
<td>
<a href="/p/${page.postUrl}" target="_blank">/p/${page.postUrl}</a>
</td>
<td>
<span class="label" style="background-color: #d6cdcd;">${page.comments?size}</span>
</td>
@ -92,7 +94,6 @@
</td>
<td>${page.postDate?string("yyyy-MM-dd HH:mm")}</td>
<td>
<a href="/p/${page.postUrl}" class="btn btn-info btn-xs " target="_blank"><@spring.message code='common.btn.view' /></a>
<a data-pjax="true" href="/admin/page/edit?pageId=${page.postId?c}" class="btn btn-primary btn-xs "><@spring.message code='common.btn.edit' /></a>
<button class="btn btn-danger btn-xs " onclick="modelShow('/admin/posts/remove?postId=${page.postId?c}&postType=${page.postType}','<@spring.message code="common.text.tips.to-delete" />')"><@spring.message code='common.btn.delete' /></button>
</td>