🎨 适配主题

pull/73/head
ruibaby 2018-12-31 15:41:01 +08:00
parent 0f8759048e
commit 6a56721ee0
10 changed files with 81 additions and 12 deletions

View File

@ -1,9 +1,10 @@
package cc.ryanc.halo.config;
import cc.ryanc.halo.model.method.RandomMethod;
import cc.ryanc.halo.model.method.RecentPostsMethod;
import cc.ryanc.halo.model.tag.ArticleTagDirective;
import cc.ryanc.halo.model.tag.CommonTagDirective;
import cc.ryanc.halo.model.freemarker.method.RandomMethod;
import cc.ryanc.halo.model.freemarker.method.RecentCommentsMethod;
import cc.ryanc.halo.model.freemarker.method.RecentPostsMethod;
import cc.ryanc.halo.model.freemarker.tag.ArticleTagDirective;
import cc.ryanc.halo.model.freemarker.tag.CommonTagDirective;
import cc.ryanc.halo.service.OptionsService;
import cc.ryanc.halo.service.UserService;
import freemarker.template.TemplateModelException;
@ -46,6 +47,9 @@ public class FreeMarkerAutoConfiguration {
@Autowired
private RecentPostsMethod recentPostsMethod;
@Autowired
private RecentCommentsMethod recentCommentsMethod;
@PostConstruct
public void setSharedVariable() {
try {
@ -56,6 +60,7 @@ public class FreeMarkerAutoConfiguration {
configuration.setSharedVariable("user", userService.findUser());
configuration.setSharedVariable("randomMethod", randomMethod);
configuration.setSharedVariable("recentPostsMethod", recentPostsMethod);
configuration.setSharedVariable("recentCommentsMethod", recentCommentsMethod);
} catch (TemplateModelException e) {
log.error("Custom tags failed to load{}", e.getMessage());
}

View File

@ -1,4 +1,4 @@
package cc.ryanc.halo.model.method;
package cc.ryanc.halo.model.freemarker.method;
import cn.hutool.core.util.RandomUtil;
import freemarker.template.SimpleNumber;

View File

@ -0,0 +1,35 @@
package cc.ryanc.halo.model.freemarker.method;
import cc.ryanc.halo.service.CommentService;
import freemarker.template.SimpleNumber;
import freemarker.template.TemplateMethodModelEx;
import freemarker.template.TemplateModelException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author : RYAN0UP
* @date : 2018/12/31
*/
@Component
public class RecentCommentsMethod implements TemplateMethodModelEx {
@Autowired
private CommentService commentService;
/**
*
*
* @param arguments
* @return Object
* @throws TemplateModelException TemplateModelException
*/
@Override
public Object exec(List arguments) throws TemplateModelException {
SimpleNumber argOne = (SimpleNumber) arguments.get(0);
int limit = argOne.getAsNumber().intValue();
return commentService.getRecentComments(limit);
}
}

View File

@ -1,4 +1,4 @@
package cc.ryanc.halo.model.method;
package cc.ryanc.halo.model.freemarker.method;
import cc.ryanc.halo.service.PostService;
import freemarker.template.SimpleNumber;

View File

@ -1,4 +1,4 @@
package cc.ryanc.halo.model.tag;
package cc.ryanc.halo.model.freemarker.tag;
import cc.ryanc.halo.model.enums.PostStatusEnum;
import cc.ryanc.halo.model.enums.PostTypeEnum;

View File

@ -1,4 +1,4 @@
package cc.ryanc.halo.model.tag;
package cc.ryanc.halo.model.freemarker.tag;
import cc.ryanc.halo.service.*;
import freemarker.core.Environment;

View File

@ -6,6 +6,7 @@ import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
@ -78,7 +79,7 @@ public interface CommentRepository extends JpaRepository<Comment, Long> {
*
* @return List
*/
@Query(value = "SELECT * FROM halo_comment ORDER BY comment_date DESC LIMIT 5", nativeQuery = true)
@Query(value = "SELECT * FROM HALO_COMMENT ORDER BY COMMENT_DATE DESC LIMIT 5", nativeQuery = true)
List<Comment> findTopFive();
/**
@ -88,4 +89,13 @@ public interface CommentRepository extends JpaRepository<Comment, Long> {
* @return
*/
Integer countAllByCommentStatus(Integer status);
/**
*
*
* @param limit
* @return List
*/
@Query(value = "SELECT * FROM HALO_COMMENT WHERE COMMENT_STATUS = 0 ORDER BY COMMENT_DATE DESC LIMIT :limit",nativeQuery = true)
List<Comment> getCommentsByLimit(@Param(value = "limit") int limit);
}

View File

@ -27,7 +27,7 @@ public interface PostRepository extends JpaRepository<Post, Long> {
*
* @return List
*/
@Query(value = "SELECT * FROM halo_post where post_type='post' ORDER BY post_date DESC LIMIT 5", nativeQuery = true)
@Query(value = "SELECT * FROM HALO_POST WHERE POST_TYPE='post' ORDER BY POST_DATE DESC LIMIT 5", nativeQuery = true)
List<Post> findTopFive();
/**
@ -195,7 +195,7 @@ public interface PostRepository extends JpaRepository<Post, Long> {
* @param pageable
* @return Page
*/
@Query(value = "select * from halo_post where post_status = 0 and post_type='post' and post_title like '%=:keyword%' or post_content like '%=:keyword%'", nativeQuery = true)
@Query(value = "SELECT * FROM HALO_POST WHERE POST_STATUS = 0 AND POST_TYPE='post' AND POST_TITLE LIKE '%=:keyword%' OR POST_CONTENT LIKE '%=:keyword%'", nativeQuery = true)
Page<Post> findPostByPostTitleLikeOrPostContentLikeAndPostTypeAndPostStatus(String keyword, Pageable pageable);
/**
@ -211,7 +211,7 @@ public interface PostRepository extends JpaRepository<Post, Long> {
*
* @return Long
*/
@Query(value = "select sum(post_views) from halo_post", nativeQuery = true)
@Query(value = "SELECT SUM(POST_VIEWS) FROM HALO_POST", nativeQuery = true)
Long getPostViewsSum();
/**

View File

@ -132,4 +132,12 @@ public interface CommentService {
* @return Long
*/
Long getCount();
/**
*
*
* @param limit limit
* @return List
*/
List<Comment> getRecentComments(int limit);
}

View File

@ -198,4 +198,15 @@ public class CommentServiceImpl implements CommentService {
public Long getCount() {
return commentRepository.count();
}
/**
*
*
* @param limit limit
* @return List
*/
@Override
public List<Comment> getRecentComments(int limit) {
return commentRepository.getCommentsByLimit(limit);
}
}