Refactor LinkService

pull/98/head
johnniang 2019-02-20 00:52:23 +08:00
parent 385306ffd9
commit f3db672213
6 changed files with 21 additions and 62 deletions

View File

@ -53,7 +53,7 @@ public class CommonTagDirective implements TemplateDirectiveModel {
environment.setVariable("tags", builder.build().wrap(tagService.findAll())); environment.setVariable("tags", builder.build().wrap(tagService.findAll()));
break; break;
case "links": case "links":
environment.setVariable("links", builder.build().wrap(linkService.findAll())); environment.setVariable("links", builder.build().wrap(linkService.listAll()));
break; break;
case "newComments": case "newComments":
environment.setVariable("newComments", builder.build().wrap(commentService.findAll(1))); environment.setVariable("newComments", builder.build().wrap(commentService.findAll(1)));

View File

@ -13,7 +13,6 @@ import javax.persistence.TypedQuery;
import javax.persistence.criteria.*; import javax.persistence.criteria.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.Iterator;
import java.util.List; import java.util.List;
/** /**

View File

@ -1,9 +1,7 @@
package cc.ryanc.halo.service; package cc.ryanc.halo.service;
import cc.ryanc.halo.model.domain.Link; import cc.ryanc.halo.model.domain.Link;
import cc.ryanc.halo.service.base.CrudService;
import java.util.List;
import java.util.Optional;
/** /**
* <pre> * <pre>
@ -13,36 +11,6 @@ import java.util.Optional;
* @author : RYAN0UP * @author : RYAN0UP
* @date : 2017/11/14 * @date : 2017/11/14
*/ */
public interface LinkService { public interface LinkService extends CrudService<Link, Long> {
/**
* /
*
* @param link link
* @return Link
*/
Link save(Link link);
/**
*
*
* @param linkId linkId
* @return Link
*/
Link remove(Long linkId);
/**
*
*
* @return List
*/
List<Link> findAll();
/**
*
*
* @param linkId linkId
* @return Link
*/
Optional<Link> findByLinkId(Long linkId);
} }

View File

@ -3,7 +3,7 @@ package cc.ryanc.halo.service.impl;
import cc.ryanc.halo.model.domain.Link; import cc.ryanc.halo.model.domain.Link;
import cc.ryanc.halo.repository.LinkRepository; import cc.ryanc.halo.repository.LinkRepository;
import cc.ryanc.halo.service.LinkService; 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.CacheEvict;
import org.springframework.cache.annotation.Cacheable; import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -20,14 +20,18 @@ import java.util.Optional;
* @date : 2017/11/14 * @date : 2017/11/14
*/ */
@Service @Service
public class LinkServiceImpl implements LinkService { public class LinkServiceImpl extends AbstractCrudService<Link, Long> implements LinkService {
private static final String LINKS_CACHE_KEY = "'link'"; private static final String LINKS_CACHE_KEY = "'link'";
private static final String LINKS_CACHE_NAME = "links"; private static final String LINKS_CACHE_NAME = "links";
@Autowired private final LinkRepository linkRepository;
private LinkRepository linkRepository;
public LinkServiceImpl(LinkRepository linkRepository) {
super(linkRepository);
this.linkRepository = linkRepository;
}
/** /**
* / * /
@ -37,8 +41,8 @@ public class LinkServiceImpl implements LinkService {
*/ */
@Override @Override
@CacheEvict(value = LINKS_CACHE_NAME, allEntries = true, beforeInvocation = true) @CacheEvict(value = LINKS_CACHE_NAME, allEntries = true, beforeInvocation = true)
public Link save(Link link) { public Link create(Link link) {
return linkRepository.save(link); return super.create(link);
} }
/** /**
@ -49,10 +53,8 @@ public class LinkServiceImpl implements LinkService {
*/ */
@Override @Override
@CacheEvict(value = LINKS_CACHE_NAME, allEntries = true, beforeInvocation = true) @CacheEvict(value = LINKS_CACHE_NAME, allEntries = true, beforeInvocation = true)
public Link remove(Long linkId) { public Link removeById(Long linkId) {
final Optional<Link> link = this.findByLinkId(linkId); return super.removeById(linkId);
linkRepository.delete(link.get());
return link.get();
} }
/** /**
@ -62,18 +64,8 @@ public class LinkServiceImpl implements LinkService {
*/ */
@Override @Override
@Cacheable(value = LINKS_CACHE_NAME, key = LINKS_CACHE_KEY) @Cacheable(value = LINKS_CACHE_NAME, key = LINKS_CACHE_KEY)
public List<Link> findAll() { public List<Link> listAll() {
return linkRepository.findAll(); return super.listAll();
} }
/**
*
*
* @param linkId linkId
* @return Optional
*/
@Override
public Optional<Link> findByLinkId(Long linkId) {
return linkRepository.findById(linkId);
}
} }

View File

@ -107,7 +107,7 @@ public class PageController {
*/ */
@GetMapping(value = "/links/edit") @GetMapping(value = "/links/edit")
public String toEditLink(Model model, @RequestParam("linkId") Long linkId) { public String toEditLink(Model model, @RequestParam("linkId") Long linkId) {
final Optional<Link> link = linkService.findByLinkId(linkId); final Optional<Link> link = linkService.fetchById(linkId);
model.addAttribute("updateLink", link.orElse(new Link())); model.addAttribute("updateLink", link.orElse(new Link()));
return "admin/admin_page_link"; return "admin/admin_page_link";
} }
@ -126,7 +126,7 @@ public class PageController {
return new JsonResult(ResultCodeEnum.FAIL.getCode(), error.getDefaultMessage()); return new JsonResult(ResultCodeEnum.FAIL.getCode(), error.getDefaultMessage());
} }
} }
link = linkService.save(link); link = linkService.create(link);
if (null == link) { if (null == link) {
return new JsonResult(ResultCodeEnum.FAIL.getCode(), localeMessageUtil.getMessage("code.admin.common.save-failed")); return new JsonResult(ResultCodeEnum.FAIL.getCode(), localeMessageUtil.getMessage("code.admin.common.save-failed"));
} }
@ -142,7 +142,7 @@ public class PageController {
@GetMapping(value = "/links/remove") @GetMapping(value = "/links/remove")
public String removeLink(@RequestParam("linkId") Long linkId) { public String removeLink(@RequestParam("linkId") Long linkId) {
try { try {
linkService.remove(linkId); linkService.removeById(linkId);
} catch (Exception e) { } catch (Exception e) {
log.error("Deleting a friendship link failed: {}", e.getMessage()); log.error("Deleting a friendship link failed: {}", e.getMessage());
} }

View File

@ -54,7 +54,7 @@ public class ApiLinkController {
*/ */
@GetMapping @GetMapping
public JsonResult links() { public JsonResult links() {
final List<Link> links = linkService.findAll(); final List<Link> links = linkService.listAll();
if (null != links && links.size() > 0) { if (null != links && links.size() > 0) {
return new JsonResult(ResponseStatusEnum.SUCCESS.getCode(), ResponseStatusEnum.SUCCESS.getMsg(), links); return new JsonResult(ResponseStatusEnum.SUCCESS.getCode(), ResponseStatusEnum.SUCCESS.getMsg(), links);
} else { } else {