package com.goafanti.news.controller; import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import com.goafanti.banners.enums.BannersType; import com.goafanti.banners.service.BannersService; import com.goafanti.common.bo.Result; import com.goafanti.common.constant.ErrorConstants; import com.goafanti.common.controller.BaseController; import com.goafanti.common.model.Banners; import com.goafanti.common.utils.StringUtils; import com.goafanti.news.enums.NewsType; import com.goafanti.news.service.NewsService; @Controller public class NewsController extends BaseController { @Resource NewsService newsService; @Resource private BannersService bannersService; /** * 策源地 * * @param request * @param modelview * @return */ @RequestMapping(value = "/portal/news/newsIndex", method = RequestMethod.GET) public ModelAndView portalNewsNewsIndex(HttpServletRequest request, ModelAndView modelview, String noCache) { modelview.setViewName("/portal/news/newsIndex"); if (StringUtils.equals(noCache, "clear")) { newsService.cleanList(); } modelview.addObject("kjkx", newsService.findNewsList(0, NewsType.KJZX.getCode(), 2)); modelview.addObject("jtdt", newsService.findNewsList(0, NewsType.JTDT.getCode(), 2)); modelview.addObject("zfwl", newsService.findNewsList(0, NewsType.ZFWL.getCode(), 3)); modelview.addObject("gjzc", newsService.findNewsList(0, NewsType.GJZC.getCode(), 3)); modelview.addObject("dfzc", newsService.findNewsList(0, NewsType.DFZC.getCode(), 3)); handleBanners(modelview, BannersType.CE_YUAN_DI); return modelview; } /** * 新闻详情 */ @RequestMapping(value = "/portal/news/newsDetails", method = RequestMethod.GET) public ModelAndView portalNewsNewsDetails(HttpServletRequest request, ModelAndView modelview, String noCache) { modelview.setViewName("/portal/news/newsDetails"); return modelview; } /** * 新闻详情列表 */ @RequestMapping(value = "/portal/news/list", method = RequestMethod.GET) @ResponseBody public Result portalNewsList(Integer type, String pageSize, String pageNo, String noCache) { Result res = new Result(); if (StringUtils.equals(noCache, "clear")) { newsService.cleanPortalList(); } Integer pN = getPageNo(pageNo); Integer pS = getPageSize(pageSize); res.setData(newsService.findPortalList(pS, (pN - 1) * pS, type)); return res; } /** * 新闻详情 */ @RequestMapping(value = "/portal/news/detailInfo", method = RequestMethod.GET) @ResponseBody public Result portalNewsDetail(Long id) { Result res = new Result(); if (null == id) { res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "新闻ID")); return res; } res.setData(newsService.findNewsDetail(id)); return res; } @RequestMapping(value = "/portal/news/newsDetail", method = RequestMethod.GET) public ModelAndView portalHighTechEvaluateIprInfo(HttpServletRequest request, ModelAndView modelview) { modelview.setViewName("/portal/news/newsDetail"); return modelview; } private void handleBanners(ModelAndView modelview, BannersType bannersType) { List banners = bannersService.findPortalBanners(bannersType.getKey()); if (!banners.isEmpty()) { modelview.addObject("banners", banners); } } private Integer getPageNo(String pageNo){ if (StringUtils.isNumeric(pageNo)) { Integer pn = Integer.parseInt(pageNo); return pn < 1 ? 1 : pn; } return 1; } private Integer getPageSize(String pageSize){ if (StringUtils.isNumeric(pageSize)) { Integer ps = Integer.parseInt(pageSize); return ps > 50 ? 50 : (ps < 5 ? 5 : ps); } return 10; } }