mirror of https://github.com/halo-dev/halo
🎨 代码优化
parent
4f00dace1e
commit
590a0ffa6c
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Reference in New Issue