PortalNewsController.java 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. package com.goafanti.portal.controller;
  2. import java.util.List;
  3. import javax.annotation.Resource;
  4. import javax.servlet.http.HttpServletRequest;
  5. import org.apache.commons.lang3.time.DateFormatUtils;
  6. import org.springframework.stereotype.Controller;
  7. import org.springframework.web.bind.annotation.RequestMapping;
  8. import org.springframework.web.bind.annotation.RequestMethod;
  9. import org.springframework.web.bind.annotation.ResponseBody;
  10. import org.springframework.web.servlet.ModelAndView;
  11. import com.goafanti.achievement.service.AchievementService;
  12. import com.goafanti.app.bo.ProjectDetailBo;
  13. import com.goafanti.banners.enums.BannersType;
  14. import com.goafanti.banners.service.BannersService;
  15. import com.goafanti.business.service.BusinessProjectService;
  16. import com.goafanti.common.bo.PolicyEntity;
  17. import com.goafanti.common.bo.Result;
  18. import com.goafanti.common.constant.AFTConstants;
  19. import com.goafanti.common.constant.ErrorConstants;
  20. import com.goafanti.common.controller.BaseController;
  21. import com.goafanti.common.dao.AchievementMapper;
  22. import com.goafanti.common.model.Banners;
  23. import com.goafanti.common.model.News;
  24. import com.goafanti.common.utils.StringUtils;
  25. import com.goafanti.core.mybatis.page.Pagination;
  26. import com.goafanti.news.bo.NewsPortalList;
  27. import com.goafanti.news.enums.NewsType;
  28. import com.goafanti.news.service.NewsService;
  29. @Controller
  30. public class PortalNewsController extends BaseController {
  31. @Resource
  32. NewsService newsService;
  33. @Resource
  34. private BannersService bannersService;
  35. @Resource
  36. private BusinessProjectService businessProjectService;
  37. @Resource
  38. private AchievementService achievementService;
  39. /**
  40. * 策源地
  41. *
  42. * @param request
  43. * @param modelview
  44. * @return
  45. */
  46. @RequestMapping(value = "/portal/news/newsIndex", method = RequestMethod.GET)
  47. public ModelAndView portalNewsNewsIndex(HttpServletRequest request, ModelAndView modelview, String noCache) {
  48. modelview.setViewName("/portal/news/newsIndex");
  49. if (StringUtils.equals(noCache, "clear")) {
  50. newsService.cleanList();
  51. }
  52. String domainName = request.getServerName();
  53. modelview.addObject("kjkx", newsService.findNewsList(0, NewsType.KJZX.getCode(), 2, domainName, false));
  54. modelview.addObject("jtdt", newsService.findNewsList(0, NewsType.JTDT.getCode(), 2, domainName, false));
  55. modelview.addObject("zfwl", newsService.findNewsList(0, NewsType.ZFWL.getCode(), 3, domainName, false));
  56. modelview.addObject("gjzc", newsService.findNewsList(0, NewsType.GJZC.getCode(), 3, domainName, false));
  57. modelview.addObject("dfzc", newsService.findNewsList(0, NewsType.DFZC.getCode(), 3, domainName, false));
  58. handleBanners(modelview, BannersType.CE_YUAN_DI);
  59. return modelview;
  60. }
  61. /**
  62. * 新闻详情
  63. */
  64. @RequestMapping(value = "/portal/news/newsDetails", method = RequestMethod.GET)
  65. public ModelAndView portalNewsNewsDetails(HttpServletRequest request, ModelAndView modelview) {
  66. modelview.setViewName("/portal/news/newsDetails");
  67. return modelview;
  68. }
  69. /**
  70. * 新闻详情APP
  71. */
  72. @RequestMapping(value = "/portal/news/newsDetailApp", method = RequestMethod.GET)
  73. public ModelAndView portalNewsNewsDetailApp(HttpServletRequest request, ModelAndView modelview) {
  74. modelview.setViewName("/portal/news/newsDetailApp");
  75. return modelview;
  76. }
  77. /**
  78. * 新闻详情列表
  79. */
  80. @RequestMapping(value = "/portal/news/list", method = RequestMethod.GET)
  81. @ResponseBody
  82. public Result portalNewsList(Integer type, String pageSize, String pageNo, Integer hot, Integer provinceId,
  83. String keyword) {
  84. Result res = new Result();
  85. Integer pNo = 1, pSize = 4;
  86. if (StringUtils.isNumeric(pageNo)) {
  87. pNo = Integer.parseInt(pageNo);
  88. }
  89. if (StringUtils.isNumeric(pageSize)) {
  90. pSize = Integer.parseInt(pageSize);
  91. }
  92. res.setData(newsService.portalNewsList(pSize, pNo, type, hot, provinceId, keyword,null));
  93. return res;
  94. }
  95. /**
  96. * 新闻详情
  97. */
  98. @RequestMapping(value = "/portal/news/detailInfo", method = RequestMethod.GET)
  99. @ResponseBody
  100. public Result portalNewsDetail(Long id) {
  101. Result res = new Result();
  102. if (null == id) {
  103. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "新闻ID"));
  104. return res;
  105. }
  106. /* newsService.portalNewsList(6,1, type,hot,provinceId,keyword) */
  107. res.setData(newsService.findNewsDetail(id));
  108. return res;
  109. }
  110. /*
  111. *
  112. * type 0-政策 1-新闻
  113. * */
  114. @RequestMapping(value = "/portal/news/newsDetail", method = RequestMethod.GET)
  115. public ModelAndView portalHighTechEvaluateIprInfo(HttpServletRequest request, ModelAndView modelview, Long id,Integer type) {
  116. modelview.setViewName("/portal/news/newsDetail");
  117. modelview.addObject("type",type);
  118. if(type ==null )type=1;
  119. if(type ==1) {
  120. Pagination<NewsPortalList> newsList = newsService.portalNewsList(6, 1, 5, null, null, null,2);
  121. News newsDetail = newsService.findNewsDetail(id);
  122. Object news =null;
  123. if(newsList!=null && newsList.getList().size()>0)news= newsList.getList().get(0);
  124. if (null != newsDetail) {
  125. newsDetail.setCreateTimeS(newsDetail.getCreateTime() != null
  126. ? DateFormatUtils.format(newsDetail.getCreateTime(), AFTConstants.MMDDYYYY) : "");
  127. String summary = newsDetail.getSummary();
  128. modelview.addObject("hasHighTech",
  129. summary != null && (summary.indexOf("高新") > -1 || summary.indexOf("高企") > -1));
  130. modelview.addObject("hasPatent",
  131. summary != null && (summary.indexOf("专利") > -1 || summary.indexOf("知识产权") > -1));
  132. modelview.addObject("hasCopyright",
  133. summary != null && (summary.indexOf("软著") > -1 || summary.indexOf("知识产权") > -1));
  134. modelview.addObject("hasTechProj",
  135. summary != null && (summary.indexOf("科技") > -1 || summary.indexOf("项目") > -1));
  136. }
  137. @SuppressWarnings("unchecked")
  138. List<NewsPortalList> la = (List<NewsPortalList>) newsList.getList();
  139. for (NewsPortalList n : la) {
  140. String createTimeFormattedDate = n.getCreateTimeFormattedDate();
  141. n.setDataS(createTimeFormattedDate);
  142. }
  143. if(newsDetail.getTitleImg()!=null) {
  144. String[] imgs=newsDetail.getTitleImg().split(",");
  145. if(imgs[0]==null || imgs[0].length()<1)modelview.addObject("imgs",null);
  146. else
  147. modelview.addObject("imgs",imgs[0]);
  148. }
  149. modelview.addObject("newsDetail", newsDetail);
  150. modelview.addObject("newsList", newsList.getList());
  151. if(news!=null)
  152. modelview.addObject("news", news);
  153. }
  154. else {
  155. List<PolicyEntity> newsList = achievementService.getIntellectualProperty(6);
  156. PolicyEntity newsDetail = newsService.getPolicyDetail(id+"");
  157. if (null != newsDetail) {
  158. String summary = newsDetail.getSummary();
  159. modelview.addObject("hasHighTech",
  160. summary != null && (summary.indexOf("高新") > -1 || summary.indexOf("高企") > -1));
  161. modelview.addObject("hasPatent",
  162. summary != null && (summary.indexOf("专利") > -1 || summary.indexOf("知识产权") > -1));
  163. modelview.addObject("hasCopyright",
  164. summary != null && (summary.indexOf("软著") > -1 || summary.indexOf("知识产权") > -1));
  165. modelview.addObject("hasTechProj",
  166. summary != null && (summary.indexOf("科技") > -1 || summary.indexOf("项目") > -1));
  167. }
  168. @SuppressWarnings("unchecked")
  169. List<PolicyEntity> la = (List<PolicyEntity>) newsList;
  170. if(newsDetail.getTitleImg()!=null) {
  171. String[] imgs=newsDetail.getTitleImg().split(",");
  172. if(imgs[0]==null || imgs[0].length()<1)modelview.addObject("imgs",null);
  173. else
  174. modelview.addObject("imgs",imgs[0]);
  175. }
  176. modelview.addObject("newsDetail", newsDetail);
  177. modelview.addObject("newsList", newsList);
  178. if(newsList!=null && newsList.size()>0)
  179. modelview.addObject("news", newsList.get(0));
  180. }
  181. return modelview;
  182. }
  183. private void handleBanners(ModelAndView modelview, BannersType bannersType) {
  184. List<Banners> banners = bannersService.findPortalBanners(bannersType.getKey());
  185. if (!banners.isEmpty()) {
  186. modelview.addObject("banners", banners);
  187. }
  188. }
  189. /**
  190. * 高新认定APP
  191. */
  192. @RequestMapping(value = "/portal/news/appCognizance", method = RequestMethod.GET)
  193. public ModelAndView appCognizance(HttpServletRequest request, ModelAndView modelview,String id) {
  194. ProjectDetailBo bo = businessProjectService.orgProject(id);
  195. if (StringUtils.isNotBlank(bo.getIntroduce()))
  196. bo.setIntroduce(bo.getIntroduce().replace("\n", "</br>"));
  197. if (StringUtils.isNotBlank(bo.getValueEffect()))
  198. bo.setValueEffect(bo.getValueEffect().replace("\n", "</br>"));
  199. if (StringUtils.isNotBlank(bo.getClientSize()))
  200. bo.setClientSize(bo.getClientSize().replace("\n", "</br>"));
  201. modelview.addObject("bo", bo);
  202. modelview.setViewName("/portal/news/appCognizance");
  203. return modelview;
  204. }
  205. /**
  206. * APP注册协议
  207. */
  208. @RequestMapping(value = "/portal/news/agreement", method = RequestMethod.GET)
  209. public ModelAndView agreement(HttpServletRequest request, ModelAndView modelview) {
  210. modelview.setViewName("/portal/news/agreement");
  211. return modelview;
  212. }
  213. }