diff --git a/src/main/java/cc/ryanc/halo/model/freemarker/tag/CommonTagDirective.java b/src/main/java/cc/ryanc/halo/model/freemarker/tag/CommonTagDirective.java index 1b5ece658..09741ac4e 100644 --- a/src/main/java/cc/ryanc/halo/model/freemarker/tag/CommonTagDirective.java +++ b/src/main/java/cc/ryanc/halo/model/freemarker/tag/CommonTagDirective.java @@ -53,7 +53,7 @@ public class CommonTagDirective implements TemplateDirectiveModel { environment.setVariable("tags", builder.build().wrap(tagService.findAll())); break; case "links": - environment.setVariable("links", builder.build().wrap(linkService.findAll())); + environment.setVariable("links", builder.build().wrap(linkService.listAll())); break; case "newComments": environment.setVariable("newComments", builder.build().wrap(commentService.findAll(1))); diff --git a/src/main/java/cc/ryanc/halo/repository/base/BaseRepositoryImpl.java b/src/main/java/cc/ryanc/halo/repository/base/BaseRepositoryImpl.java index 0dd44b3a5..648e7284c 100644 --- a/src/main/java/cc/ryanc/halo/repository/base/BaseRepositoryImpl.java +++ b/src/main/java/cc/ryanc/halo/repository/base/BaseRepositoryImpl.java @@ -13,7 +13,6 @@ import javax.persistence.TypedQuery; import javax.persistence.criteria.*; import java.util.ArrayList; import java.util.Collections; -import java.util.Iterator; import java.util.List; /** diff --git a/src/main/java/cc/ryanc/halo/service/LinkService.java b/src/main/java/cc/ryanc/halo/service/LinkService.java index be35a639a..b21d80aba 100755 --- a/src/main/java/cc/ryanc/halo/service/LinkService.java +++ b/src/main/java/cc/ryanc/halo/service/LinkService.java @@ -1,9 +1,7 @@ package cc.ryanc.halo.service; import cc.ryanc.halo.model.domain.Link; - -import java.util.List; -import java.util.Optional; +import cc.ryanc.halo.service.base.CrudService; /** *
@@ -13,36 +11,6 @@ import java.util.Optional;
  * @author : RYAN0UP
  * @date : 2017/11/14
  */
-public interface LinkService {
+public interface LinkService extends CrudService {
 
-    /**
-     * 新增/修改友情链接
-     *
-     * @param link link
-     * @return Link
-     */
-    Link save(Link link);
-
-    /**
-     * 根据编号删除
-     *
-     * @param linkId linkId
-     * @return Link
-     */
-    Link remove(Long linkId);
-
-    /**
-     * 查询所有
-     *
-     * @return List
-     */
-    List findAll();
-
-    /**
-     * 根据编号查询单个链接
-     *
-     * @param linkId linkId
-     * @return Link
-     */
-    Optional findByLinkId(Long linkId);
 }
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 8ac598757..78793674c 100755
--- a/src/main/java/cc/ryanc/halo/service/impl/LinkServiceImpl.java
+++ b/src/main/java/cc/ryanc/halo/service/impl/LinkServiceImpl.java
@@ -3,7 +3,7 @@ package cc.ryanc.halo.service.impl;
 import cc.ryanc.halo.model.domain.Link;
 import cc.ryanc.halo.repository.LinkRepository;
 import cc.ryanc.halo.service.LinkService;
-import org.springframework.beans.factory.annotation.Autowired;
+import cc.ryanc.halo.service.base.AbstractCrudService;
 import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
@@ -20,14 +20,18 @@ import java.util.Optional;
  * @date : 2017/11/14
  */
 @Service
-public class LinkServiceImpl implements LinkService {
+public class LinkServiceImpl extends AbstractCrudService implements LinkService {
 
     private static final String LINKS_CACHE_KEY = "'link'";
 
     private static final String LINKS_CACHE_NAME = "links";
 
-    @Autowired
-    private LinkRepository linkRepository;
+    private final LinkRepository linkRepository;
+
+    public LinkServiceImpl(LinkRepository linkRepository) {
+        super(linkRepository);
+        this.linkRepository = linkRepository;
+    }
 
     /**
      * 新增/修改友情链接
@@ -37,8 +41,8 @@ public class LinkServiceImpl implements LinkService {
      */
     @Override
     @CacheEvict(value = LINKS_CACHE_NAME, allEntries = true, beforeInvocation = true)
-    public Link save(Link link) {
-        return linkRepository.save(link);
+    public Link create(Link link) {
+        return super.create(link);
     }
 
     /**
@@ -49,10 +53,8 @@ public class LinkServiceImpl implements LinkService {
      */
     @Override
     @CacheEvict(value = LINKS_CACHE_NAME, allEntries = true, beforeInvocation = true)
-    public Link remove(Long linkId) {
-        final Optional link = this.findByLinkId(linkId);
-        linkRepository.delete(link.get());
-        return link.get();
+    public Link removeById(Long linkId) {
+        return super.removeById(linkId);
     }
 
     /**
@@ -62,18 +64,8 @@ public class LinkServiceImpl implements LinkService {
      */
     @Override
     @Cacheable(value = LINKS_CACHE_NAME, key = LINKS_CACHE_KEY)
-    public List findAll() {
-        return linkRepository.findAll();
+    public List listAll() {
+        return super.listAll();
     }
 
-    /**
-     * 根据编号查询友情链接
-     *
-     * @param linkId linkId
-     * @return Optional
-     */
-    @Override
-    public Optional findByLinkId(Long linkId) {
-        return linkRepository.findById(linkId);
-    }
 }
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 addde46da..05d3b8f38 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
@@ -107,7 +107,7 @@ public class PageController {
      */
     @GetMapping(value = "/links/edit")
     public String toEditLink(Model model, @RequestParam("linkId") Long linkId) {
-        final Optional link = linkService.findByLinkId(linkId);
+        final Optional link = linkService.fetchById(linkId);
         model.addAttribute("updateLink", link.orElse(new Link()));
         return "admin/admin_page_link";
     }
@@ -126,7 +126,7 @@ public class PageController {
                 return new JsonResult(ResultCodeEnum.FAIL.getCode(), error.getDefaultMessage());
             }
         }
-        link = linkService.save(link);
+        link = linkService.create(link);
         if (null == link) {
             return new JsonResult(ResultCodeEnum.FAIL.getCode(), localeMessageUtil.getMessage("code.admin.common.save-failed"));
         }
@@ -142,7 +142,7 @@ public class PageController {
     @GetMapping(value = "/links/remove")
     public String removeLink(@RequestParam("linkId") Long linkId) {
         try {
-            linkService.remove(linkId);
+            linkService.removeById(linkId);
         } catch (Exception e) {
             log.error("Deleting a friendship link failed: {}", e.getMessage());
         }
diff --git a/src/main/java/cc/ryanc/halo/web/controller/api/ApiLinkController.java b/src/main/java/cc/ryanc/halo/web/controller/api/ApiLinkController.java
index 505ef5e29..0449fee97 100644
--- a/src/main/java/cc/ryanc/halo/web/controller/api/ApiLinkController.java
+++ b/src/main/java/cc/ryanc/halo/web/controller/api/ApiLinkController.java
@@ -54,7 +54,7 @@ public class ApiLinkController {
      */
     @GetMapping
     public JsonResult links() {
-        final List links = linkService.findAll();
+        final List links = linkService.listAll();
         if (null != links && links.size() > 0) {
             return new JsonResult(ResponseStatusEnum.SUCCESS.getCode(), ResponseStatusEnum.SUCCESS.getMsg(), links);
         } else {