package com.my.blog.website.controller.admin; import com.my.blog.website.controller.BaseController; import com.my.blog.website.exception.TipException; import com.my.blog.website.modal.Bo.RestResponseBo; import com.my.blog.website.service.IMetaService; import com.my.blog.website.dto.Types; import com.my.blog.website.modal.Vo.MetaVo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.List; /** * Created by 13 on 2017/2/21. */ @Controller @RequestMapping("admin/links") public class LinksController extends BaseController { private static final Logger LOGGER = LoggerFactory.getLogger(LinksController.class); @Resource private IMetaService metasService; @GetMapping(value = "") public String index(HttpServletRequest request) { List<MetaVo> metas = metasService.getMetas(Types.LINK.getType()); request.setAttribute("links", metas); return "admin/links"; } @PostMapping(value = "save") @ResponseBody @Transactional(rollbackFor = TipException.class) public RestResponseBo saveLink(@RequestParam String title, @RequestParam String url, @RequestParam String logo, @RequestParam Integer mid, @RequestParam(value = "sort", defaultValue = "0") int sort) { try { MetaVo metas = new MetaVo(); metas.setName(title); metas.setSlug(url); metas.setDescription(logo); metas.setSort(sort); metas.setType(Types.LINK.getType()); if (null != mid) { metas.setMid(mid); metasService.update(metas); } else { metasService.saveMeta(metas); } } catch (Exception e) { String msg = "友链保存失败"; if (e instanceof TipException) { msg = e.getMessage(); } else { LOGGER.error(msg, e); } return RestResponseBo.fail(msg); } return RestResponseBo.ok(); } @RequestMapping(value = "delete") @ResponseBody @Transactional(rollbackFor = TipException.class) public RestResponseBo delete(@RequestParam int mid) { try { metasService.delete(mid); } catch (Exception e) { String msg = "友链删除失败"; if (e instanceof TipException) { msg = e.getMessage(); } else { LOGGER.error(msg, e); } return RestResponseBo.fail(msg); } return RestResponseBo.ok(); } }