package com.tale.controller.admin; import com.blade.ioc.annotation.Inject; import com.blade.mvc.annotation.Controller; import com.blade.mvc.annotation.JSON; import com.blade.mvc.annotation.QueryParam; import com.blade.mvc.annotation.Route; import com.blade.mvc.http.HttpMethod; import com.blade.mvc.http.Request; import com.blade.mvc.view.RestResponse; import com.tale.controller.BaseController; import com.tale.dto.Types; import com.tale.exception.TipException; import com.tale.model.Metas; import com.tale.service.MetasService; import com.tale.service.SiteService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.List; /** * Created by biezhi on 2017/2/21. */ @Controller("admin/links") public class LinksController extends BaseController { private static final Logger LOGGER = LoggerFactory.getLogger(LinksController.class); @Inject private MetasService metasService; @Inject private SiteService siteService; @Route(value = "", method = HttpMethod.GET) public String index(Request request) { List<Metas> metass = metasService.getMetas(Types.LINK); request.attribute("links", metass); return "admin/links"; } @Route(value = "save", method = HttpMethod.POST) @JSON public RestResponse saveLink(@QueryParam String title, @QueryParam String url, @QueryParam String logo, @QueryParam Integer mid, @QueryParam(value = "sort", defaultValue = "0") int sort) { try { Metas metas = new Metas(); metas.setName(title); metas.setSlug(url); metas.setDescription(logo); metas.setSort(sort); metas.setType(Types.LINK); if (null != mid) { metas.setMid(mid); metasService.update(metas); } else { metasService.saveMeta(metas); } siteService.cleanCache(Types.C_STATISTICS); } catch (Exception e) { String msg = "友链保存失败"; if (e instanceof TipException) { msg = e.getMessage(); } else { LOGGER.error(msg, e); } return RestResponse.fail(msg); } return RestResponse.ok(); } @Route(value = "delete") @JSON public RestResponse delete(@QueryParam int mid) { try { metasService.delete(mid); siteService.cleanCache(Types.C_STATISTICS); } catch (Exception e) { String msg = "友链删除失败"; if (e instanceof TipException) { msg = e.getMessage(); } else { LOGGER.error(msg, e); } return RestResponse.fail(msg); } return RestResponse.ok(); } }