package com.goafanti.common.controller; import java.util.Arrays; import java.util.List; import javax.annotation.Resource; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; import com.goafanti.achievement.service.AchievementService; import com.goafanti.common.enums.AchievementMaturity; import com.goafanti.common.enums.AchievementTransferMode; import com.goafanti.common.enums.UserType; import com.goafanti.demand.service.DemandService; import com.goafanti.portal.bo.AchievementPortalDetailBo; import com.goafanti.portal.bo.AchievementPortalSimilarListBo; import com.goafanti.portal.bo.DemandPortalDetailBo; import com.goafanti.portal.bo.DemandPortalSimilarListBo; @Controller public class PortalController extends BaseController { @Resource private AchievementService achievementService; @Resource private DemandService demandService; @RequestMapping(value = "/index", method = RequestMethod.GET) public String index(ModelAndView modelview) { return "/index"; } @RequestMapping(value = "/", method = RequestMethod.GET) public String home(ModelAndView modelview) { return "/index"; } /** * 科技需求详情 */ @RequestMapping(value = "/portal/detail/demandDetail", method = RequestMethod.GET) public ModelAndView portalDemandDetail(String id, Integer type) { ModelAndView mv = new ModelAndView(); DemandPortalDetailBo demand = null; if (UserType.PERSONAL.getCode().equals(type)) { demand = demandService.findUserPortalDemandDetail(id); } else if (UserType.ORGANIZATION.getCode().equals(type)) { demand = demandService.findOrgPortalDemandDetail(id); } if (null != demand) { String keyword = demand.getKeyword(); if (StringUtils.isNotBlank(keyword)) { demand.setKeywordList(Arrays.asList(keyword.trim().split(",|,"))); } Integer industryCategoryA = demand.getIndustryCategoryA(); if (null != industryCategoryA) { List similarList = demandService.findByIndustryCategoryA(industryCategoryA, demand.getId()); mv.addObject("similarList", similarList); } } mv.setViewName("/portal/detail/demandDetail"); mv.addObject("demand", demand); return mv; } /** * 科技成果详情 */ @RequestMapping(value = "/portal/detail/achievementDetail", method = RequestMethod.GET) public ModelAndView portalAchievementDetail(String id, Integer type) { ModelAndView mv = new ModelAndView(); AchievementPortalDetailBo achievement = null; if (UserType.PERSONAL.getCode().equals(type)) { achievement = achievementService.findUserPortalAchievementDetail(id); } else if (UserType.ORGANIZATION.getCode().equals(type)) { achievement = achievementService.findOrgPortalAchievementDetail(id); } if (null != achievement) { String keyword = achievement.getKeyword(); if (StringUtils.isNotBlank(keyword)) { achievement.setKeywordList(Arrays.asList(keyword.trim().split(",|,"))); } Integer fieldA = achievement.getFieldA(); if (null != fieldA) { List similarList = achievementService.findByFieldA(fieldA, achievement.getId(), type); mv.addObject("similarList", similarList); } String technicalPictureUrl = achievement.getTechnicalPictureUrl(); if (StringUtils.isNotBlank(technicalPictureUrl)) { achievement.setPictureList(Arrays.asList(technicalPictureUrl.trim().split(",|,"))); } Integer transfermode = achievement.getTransferMode(); if (null != transfermode){ if (AchievementTransferMode.FULLTRANSFER.getCode().equals(transfermode)){ achievement.setTransferModeS(AchievementTransferMode.FULLTRANSFER.getDesc()); } else if (AchievementTransferMode.PERMISSIONTRANSFER.getCode().equals(transfermode)){ achievement.setTransferModeS(AchievementTransferMode.PERMISSIONTRANSFER.getDesc()); } else if (AchievementTransferMode.TECHNOLOGYSHARES.getCode().equals(transfermode)){ achievement.setTransferModeS(AchievementTransferMode.TECHNOLOGYSHARES.getDesc()); } else if (AchievementTransferMode.EXCLUSIVETECHNOLOGYSHARES.getCode().equals(transfermode)){ achievement.setTransferModeS(AchievementTransferMode.EXCLUSIVETECHNOLOGYSHARES.getDesc()); } } Integer maturity = achievement.getMaturity(); if (null != maturity){ if (AchievementMaturity.RESEARCH.getCode().equals(maturity)){ achievement.setMaturityS(AchievementMaturity.RESEARCH.getDesc()); } else if (AchievementMaturity.SAMPLE.getCode().equals(maturity)){ achievement.setMaturityS(AchievementMaturity.SAMPLE.getDesc()); } else if (AchievementMaturity.PRIMARYTEST.getCode().equals(maturity)){ achievement.setMaturityS(AchievementMaturity.PRIMARYTEST.getDesc()); } else if (AchievementMaturity.INTERMEDIATETEST.getCode().equals(maturity)){ achievement.setMaturityS(AchievementMaturity.INTERMEDIATETEST.getDesc()); } else if (AchievementMaturity.MASSPRODUCTION.getCode().equals(maturity)){ achievement.setMaturityS(AchievementMaturity.MASSPRODUCTION.getDesc()); } } } mv.setViewName("/portal/detail/achievementDetail"); mv.addObject("achievement", achievement); return mv; } }