From 858e45e76f4b24b5dc7338bf44d5c9fbbec63c96 Mon Sep 17 00:00:00 2001 From: RYAN0UP_ Date: Sun, 8 Apr 2018 12:02:30 +0800 Subject: [PATCH] =?UTF-8?q?:bento:=20=E6=B7=BB=E5=8A=A0=E5=9B=BE=E5=BA=93?= =?UTF-8?q?=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 +- pom.xml | 2 +- .../cc/ryanc/halo/model/domain/Gallery.java | 2 +- .../ryanc/halo/repository/MenuRepository.java | 3 - .../service/impl/CategoryServiceImpl.java | 6 +- .../halo/service/impl/LinkServiceImpl.java | 1 - .../halo/web/controller/CommonController.java | 36 +++- .../controller/admin/GalleryController.java | 28 --- .../web/controller/admin/PageController.java | 77 +++++++- .../web/controller/admin/PostController.java | 1 - .../web/controller/admin/TagController.java | 1 - src/main/resources/application.yaml | 2 +- .../templates/admin/admin_comment.ftl | 8 +- .../resources/templates/admin/admin_menu.ftl | 2 +- .../templates/admin/admin_option.ftl | 10 +- .../resources/templates/admin/admin_page.ftl | 2 +- .../templates/admin/admin_page_gallery.ftl | 168 +++++++++--------- .../templates/admin/admin_page_link.ftl | 2 +- .../resources/templates/admin/admin_post.ftl | 8 +- .../admin/widget/_gallery-detail.ftl | 120 +++++++++++++ 20 files changed, 330 insertions(+), 155 deletions(-) delete mode 100644 src/main/java/cc/ryanc/halo/web/controller/admin/GalleryController.java create mode 100644 src/main/resources/templates/admin/widget/_gallery-detail.ftl diff --git a/README.md b/README.md index fb55c3578..daaafff75 100755 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ > Halo may be the best Java blog system. | Halo可能是最好的Java博客系统。 [![JDK](https://img.shields.io/badge/JDK-1.8-yellow.svg)](#) -[![Spring Boot](https://img.shields.io/badge/Spring%20Boot-2.0.0-green.svg)](https://github.com/spring-projects/spring-boot) +[![Spring Boot](https://img.shields.io/badge/Spring%20Boot-2.0.1-green.svg)](https://github.com/spring-projects/spring-boot) [![GitHub release](https://img.shields.io/github/release/ruibaby/halo.svg)](https://github.com/ruibaby/halo/releases) ------------------------------ @@ -39,7 +39,7 @@ Fast,simple,powerful blog system powered by Java. ## Docs 文档 -### [Halo Document]() +### [Halo Document](https://halo-doc.ryanc.cc) >文档正在整理中。 @@ -51,7 +51,7 @@ Fast,simple,powerful blog system powered by Java. Halo的诞生离不开下面这些项目: -- [IntelliJ IDEA](https://www.jetbrains.com/idea/):个人认为强大的Java IDE,没有之一 +- [IntelliJ IDEA](https://www.jetbrains.com/idea/):个人认为最强大的Java IDE,没有之一 - [Spring Boot](https://github.com/spring-projects/spring-boot):Spring的微服务框架 - [Freemarker](https://freemarker.apache.org/):模板引擎,使页面静态化 - [H2 Database](https://github.com/h2database/h2database):嵌入式数据库,无需安装 diff --git a/pom.xml b/pom.xml index 6c5ae82f0..8cac98630 100755 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ org.springframework.boot spring-boot-starter-parent - 2.0.0.RELEASE + 2.0.1.RELEASE diff --git a/src/main/java/cc/ryanc/halo/model/domain/Gallery.java b/src/main/java/cc/ryanc/halo/model/domain/Gallery.java index 642eaf3ef..e579a1034 100644 --- a/src/main/java/cc/ryanc/halo/model/domain/Gallery.java +++ b/src/main/java/cc/ryanc/halo/model/domain/Gallery.java @@ -43,7 +43,7 @@ public class Gallery implements Serializable { /** * 图片日期/拍摄日期 */ - private Date galleryDate; + private String galleryDate; /** * 图片拍摄地点 diff --git a/src/main/java/cc/ryanc/halo/repository/MenuRepository.java b/src/main/java/cc/ryanc/halo/repository/MenuRepository.java index 48e43fcbb..6a7398159 100644 --- a/src/main/java/cc/ryanc/halo/repository/MenuRepository.java +++ b/src/main/java/cc/ryanc/halo/repository/MenuRepository.java @@ -2,9 +2,6 @@ package cc.ryanc.halo.repository; import cc.ryanc.halo.model.domain.Menu; import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.Query; - -import java.util.List; /** * @author : RYAN0UP diff --git a/src/main/java/cc/ryanc/halo/service/impl/CategoryServiceImpl.java b/src/main/java/cc/ryanc/halo/service/impl/CategoryServiceImpl.java index 8a6ce44da..621ed90de 100755 --- a/src/main/java/cc/ryanc/halo/service/impl/CategoryServiceImpl.java +++ b/src/main/java/cc/ryanc/halo/service/impl/CategoryServiceImpl.java @@ -5,12 +5,12 @@ import cc.ryanc.halo.repository.CategoryRepository; import cc.ryanc.halo.service.CategoryService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheEvict; -import org.springframework.cache.annotation.CachePut; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; -import javax.swing.text.html.Option; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; /** * @author : RYAN0UP diff --git a/src/main/java/cc/ryanc/halo/service/impl/LinkServiceImpl.java b/src/main/java/cc/ryanc/halo/service/impl/LinkServiceImpl.java index 4da55a880..1371f621f 100755 --- a/src/main/java/cc/ryanc/halo/service/impl/LinkServiceImpl.java +++ b/src/main/java/cc/ryanc/halo/service/impl/LinkServiceImpl.java @@ -5,7 +5,6 @@ import cc.ryanc.halo.repository.LinkRepository; import cc.ryanc.halo.service.LinkService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheEvict; -import org.springframework.cache.annotation.CachePut; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; diff --git a/src/main/java/cc/ryanc/halo/web/controller/CommonController.java b/src/main/java/cc/ryanc/halo/web/controller/CommonController.java index 697385b59..344b434bb 100644 --- a/src/main/java/cc/ryanc/halo/web/controller/CommonController.java +++ b/src/main/java/cc/ryanc/halo/web/controller/CommonController.java @@ -27,15 +27,39 @@ public class CommonController implements ErrorController{ * @return string */ @GetMapping(value = ERROR_PATH) - public String handleError(HttpServletRequest request, Model model){ + public String handleError(HttpServletRequest request){ Integer statusCode = (Integer) request.getAttribute("javax.servlet.error.status_code"); + if(statusCode==404) { + return "redirect:/404"; + }else{ + return "redirect:/500"; + } + } + + /** + * 渲染404页面 + * + * @param model model + * @return string + */ + @GetMapping(value = "/404") + public String fourZeroFour(Model model){ //设置选项 model.addAttribute("options", HaloConst.OPTIONS); - if(statusCode==404) { - return "common/404"; - }else{ - return "common/500"; - } + return "common/404"; + } + + /** + * 渲染500页面 + * + * @param model model + * @return string + */ + @GetMapping(value = "/500") + public String fiveZeroZero(Model model){ + //设置选项 + model.addAttribute("options", HaloConst.OPTIONS); + return "common/500"; } /** diff --git a/src/main/java/cc/ryanc/halo/web/controller/admin/GalleryController.java b/src/main/java/cc/ryanc/halo/web/controller/admin/GalleryController.java deleted file mode 100644 index 1f210d5ce..000000000 --- a/src/main/java/cc/ryanc/halo/web/controller/admin/GalleryController.java +++ /dev/null @@ -1,28 +0,0 @@ -package cc.ryanc.halo.web.controller.admin; - -import cc.ryanc.halo.service.GalleryService; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; - -/** - * @author : RYAN0UP - * @date : 2018/2/26 - * @version : 1.0 - * description : - */ -@Slf4j -@Controller -@RequestMapping(value = "/admin/gallery") -public class GalleryController { - - @Autowired - private GalleryService galleryService; - - @GetMapping - public String gallery(){ - return ""; - } -} diff --git a/src/main/java/cc/ryanc/halo/web/controller/admin/PageController.java b/src/main/java/cc/ryanc/halo/web/controller/admin/PageController.java index f1ab98513..25c6ea24c 100755 --- a/src/main/java/cc/ryanc/halo/web/controller/admin/PageController.java +++ b/src/main/java/cc/ryanc/halo/web/controller/admin/PageController.java @@ -1,16 +1,19 @@ package cc.ryanc.halo.web.controller.admin; +import cc.ryanc.halo.model.domain.Gallery; import cc.ryanc.halo.model.domain.Link; import cc.ryanc.halo.model.dto.HaloConst; +import cc.ryanc.halo.service.GalleryService; import cc.ryanc.halo.service.LinkService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +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.stereotype.Controller; import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.*; import javax.websocket.server.PathParam; import java.util.List; @@ -30,6 +33,9 @@ public class PageController { @Autowired private LinkService linkService; + @Autowired + private GalleryService galleryService; + /** * 页面管理页面 * @@ -117,9 +123,68 @@ public class PageController { * * @return String */ - @GetMapping(value = "/gallery") - public String gallery(Model model){ + @GetMapping(value = "/galleries") + public String gallery(Model model, + @RequestParam(value = "page",defaultValue = "0") Integer page, + @RequestParam(value = "size",defaultValue = "18") Integer size){ + Sort sort = new Sort(Sort.Direction.DESC,"galleryId"); + Pageable pageable = new PageRequest(page,size,sort); + Page galleries = galleryService.findAllGalleries(pageable); + model.addAttribute("galleries",galleries); model.addAttribute("options",HaloConst.OPTIONS); return "admin/admin_page_gallery"; } + + /** + * 保存图片 + * + * @param gallery gallery + * @return string + */ + @PostMapping(value = "/gallery/save") + public String saveGallery(@ModelAttribute Gallery gallery){ + try { + if("".equals(gallery.getGalleryThumbnailUrl()) || ""==gallery.getGalleryThumbnailUrl()){ + gallery.setGalleryThumbnailUrl(gallery.getGalleryUrl()); + } + galleryService.saveByGallery(gallery); + }catch (Exception e){ + e.printStackTrace(); + } + return "redirect:/admin/page/gallery"; + } + + /** + * 处理获取图片详情的请求 + * + * @param model model + * @param galleryId galleryId + * @return string + */ + @GetMapping(value = "/gallery") + public String gallery(Model model,@PathParam("galleryId") Long galleryId){ + Optional gallery = galleryService.findByGalleryId(galleryId); + model.addAttribute("gallery",gallery.get()); + + model.addAttribute("options",HaloConst.OPTIONS); + return "admin/widget/_gallery-detail"; + } + + /** + * 删除图库中的图片 + * + * @param galleryId galleryId + * @return string + */ + @GetMapping(value = "/gallery/remove") + @ResponseBody + public boolean removeGallery(@RequestParam("galleryId") Long galleryId){ + try { + galleryService.removeByGalleryId(galleryId); + }catch (Exception e){ + log.error("删除图片失败:{0}",e.getMessage()); + return false; + } + return true; + } } diff --git a/src/main/java/cc/ryanc/halo/web/controller/admin/PostController.java b/src/main/java/cc/ryanc/halo/web/controller/admin/PostController.java index ee045e99b..66e8afc27 100755 --- a/src/main/java/cc/ryanc/halo/web/controller/admin/PostController.java +++ b/src/main/java/cc/ryanc/halo/web/controller/admin/PostController.java @@ -23,7 +23,6 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; -import javax.swing.text.html.Option; import javax.websocket.server.PathParam; import java.util.List; import java.util.Optional; diff --git a/src/main/java/cc/ryanc/halo/web/controller/admin/TagController.java b/src/main/java/cc/ryanc/halo/web/controller/admin/TagController.java index 1e9f48afa..c72e97df5 100755 --- a/src/main/java/cc/ryanc/halo/web/controller/admin/TagController.java +++ b/src/main/java/cc/ryanc/halo/web/controller/admin/TagController.java @@ -11,7 +11,6 @@ import org.springframework.web.bind.annotation.*; import javax.websocket.server.PathParam; import java.util.List; -import java.util.Optional; /** * @author : RYAN0UP diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml index 1abc4755a..efacec492 100755 --- a/src/main/resources/application.yaml +++ b/src/main/resources/application.yaml @@ -1,5 +1,5 @@ server: - port: 8080 + port: 8090 spring: datasource: type: com.alibaba.druid.pool.DruidDataSource diff --git a/src/main/resources/templates/admin/admin_comment.ftl b/src/main/resources/templates/admin/admin_comment.ftl index 6aa091b23..e3bbbc1cc 100755 --- a/src/main/resources/templates/admin/admin_comment.ftl +++ b/src/main/resources/templates/admin/admin_comment.ftl @@ -80,10 +80,10 @@ 第${comments.number+1}/${comments.totalPages}页 diff --git a/src/main/resources/templates/admin/admin_menu.ftl b/src/main/resources/templates/admin/admin_menu.ftl index 12372e6a6..bf0f3a991 100644 --- a/src/main/resources/templates/admin/admin_menu.ftl +++ b/src/main/resources/templates/admin/admin_menu.ftl @@ -39,7 +39,7 @@
- +
diff --git a/src/main/resources/templates/admin/admin_option.ftl b/src/main/resources/templates/admin/admin_option.ftl index 8aaac742e..16097ddcc 100755 --- a/src/main/resources/templates/admin/admin_option.ftl +++ b/src/main/resources/templates/admin/admin_option.ftl @@ -72,7 +72,7 @@
- +
@@ -153,20 +153,20 @@
- +
- +
- + @@ -498,7 +498,7 @@
- +
diff --git a/src/main/resources/templates/admin/admin_page.ftl b/src/main/resources/templates/admin/admin_page.ftl index 1df8d71dd..7ee07ac39 100755 --- a/src/main/resources/templates/admin/admin_page.ftl +++ b/src/main/resources/templates/admin/admin_page.ftl @@ -62,7 +62,7 @@ /gallery 预览 - 配置 + 配置 diff --git a/src/main/resources/templates/admin/admin_page_gallery.ftl b/src/main/resources/templates/admin/admin_page_gallery.ftl index f23782f93..b1df772e9 100644 --- a/src/main/resources/templates/admin/admin_page_gallery.ftl +++ b/src/main/resources/templates/admin/admin_page_gallery.ftl @@ -11,6 +11,11 @@

图库

@@ -32,110 +37,105 @@

添加图片

-
+
-
-
- -
- - +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+
+ + + +
-
- -
- - -
-
-
- -
- - -
-
-
- -
- - -
+
+
+ +
+
- <#if options.widget_postcount?default("true")=="true"> -
- -
-

${postCount?default(0)}

文章

-
- 查看所有 +
+
+ <#list galleries.content as gallery> + -
- - <#if options.widget_commentcount?default("true")=="true"> -
- -
-

${commentCount?default(0)}

评论

-
- 查看所有 + +
+
+ 第${galleries.number+1}/${galleries.totalPages}页
+
- - - <#if options.widget_attachmentcount?default("true")=="true"> -
- -
-

${mediaCount?default(0)}

媒体库

-
- 上传图片 -
-
- - - <#if options.widget_daycount?default("true")=="true"> - - -
+
<#include "module/_footer.ftl"> diff --git a/src/main/resources/templates/admin/admin_page_link.ftl b/src/main/resources/templates/admin/admin_page_link.ftl index 4ccd9a1f5..becaec3f5 100755 --- a/src/main/resources/templates/admin/admin_page_link.ftl +++ b/src/main/resources/templates/admin/admin_page_link.ftl @@ -33,7 +33,7 @@
- + *需要加上http://或https://
diff --git a/src/main/resources/templates/admin/admin_post.ftl b/src/main/resources/templates/admin/admin_post.ftl index 4e07c5047..ebed8e7b7 100755 --- a/src/main/resources/templates/admin/admin_post.ftl +++ b/src/main/resources/templates/admin/admin_post.ftl @@ -104,10 +104,10 @@ 第${posts.number+1}/${posts.totalPages}页
diff --git a/src/main/resources/templates/admin/widget/_gallery-detail.ftl b/src/main/resources/templates/admin/widget/_gallery-detail.ftl new file mode 100644 index 000000000..6347c618c --- /dev/null +++ b/src/main/resources/templates/admin/widget/_gallery-detail.ftl @@ -0,0 +1,120 @@ + + + + + + + + + + + + +
+
+
+ +
+
+
+
+

详细信息

+
+
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+
+
+
+
+ + + + + + + + + \ No newline at end of file