| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237 |
- 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.UserLevel;
- import com.goafanti.common.enums.UserType;
- import com.goafanti.common.service.FieldGlossoryService;
- 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;
- @Resource
- private FieldGlossoryService fieldGlossoryService;
- private static final String UNIT = "万元";
- private static final int MULTIPLE = 20;
- private static final String DELIMITER = "/";
- private static final String PRICE_NEGOTIABLE = "价格面议";
- private static final String UNCERTIFY = "未认证";
- @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) {
- if (null != demand.getBudgetCost()) {
- demand.setBudgetCostS(demand.getBudgetCost() + UNIT);
- } else {
- demand.setBudgetCostS(PRICE_NEGOTIABLE);
- }
- if (StringUtils.isBlank(demand.getEmployerName())) {
- if (UserLevel.GENERAL.getCode().equals(demand.getLevel())) {
- demand.setEmployerName(UNCERTIFY);
- } else {
- demand.setEmployerName(" ");
- }
- }
- Integer industryCategoryA = demand.getIndustryCategoryA();
- String industryCategory = "";
- boolean a = Boolean.FALSE;
- boolean b = Boolean.FALSE;
- if (null != industryCategoryA) {
- List<DemandPortalSimilarListBo> similarList = demandService.findByIndustryCategoryA(industryCategoryA,
- demand.getId());
- if (!similarList.isEmpty()) {
- for (DemandPortalSimilarListBo s : similarList) {
- a = Boolean.FALSE;
- b = Boolean.FALSE;
- industryCategory = "";
- if (StringUtils.isNotBlank(s.getIndustryCategoryAS())) {
- a = Boolean.TRUE;
- }
- if (StringUtils.isNotBlank(s.getIndustryCategoryBS())) {
- b = Boolean.TRUE;
- }
- industryCategory += (a ? s.getIndustryCategoryAS() : "") + (a && b ? DELIMITER : "")
- + (b ? s.getIndustryCategoryBS() : "");
- s.setIndustryCategory(industryCategory);
- if (null != s.getBudgetCost()) {
- s.setBudgetCostS(s.getBudgetCost() + UNIT);
- } else {
- s.setBudgetCostS(PRICE_NEGOTIABLE);
- }
- }
- }
- mv.addObject("similarList", similarList);
- a = Boolean.FALSE;
- if (StringUtils.isNotBlank(demand.getIndustryCategoryAS())) {
- a = Boolean.TRUE;
- }
- }
- b = Boolean.FALSE;
- if (StringUtils.isNotBlank(demand.getIndustryCategoryBS())) {
- b = Boolean.TRUE;
- }
- industryCategory += (a ? demand.getIndustryCategoryAS() : "") + (a && b ? DELIMITER : "")
- + (b ? demand.getIndustryCategoryBS() : "");
- demand.setIndustryCategory(industryCategory);
- String location = "";
- String province = demand.getProvince();
- String city = demand.getCity();
- location += (StringUtils.isBlank(province) ? "" : province) + (StringUtils.isBlank(city) ? "" : city);
- demand.setLocation(location);
- }
- 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) {
- if (StringUtils.isBlank(achievement.getOwnerName())) {
- if (UserLevel.GENERAL.getCode().equals(achievement.getLevel())) {
- achievement.setOwnerName(UNCERTIFY);
- } else {
- achievement.setOwnerName(" ");
- }
- }
- Integer fieldA = achievement.getFieldA();
- String field = "";
- boolean a = Boolean.FALSE;
- boolean b = Boolean.FALSE;
- if (null != fieldA) {
- List<AchievementPortalSimilarListBo> similarList = achievementService.findByFieldA(fieldA,
- achievement.getId(), type);
- if (!similarList.isEmpty()) {
- for (AchievementPortalSimilarListBo bo : similarList) {
- if (null != bo.getMaturity()) {
- bo.setMaturityS(bo.getMaturity() * MULTIPLE + "%");
- }
- if (null != bo.getTransferPrice()) {
- bo.setTransferPriceS(bo.getTransferPrice() + UNIT);
- } else {
- bo.setTransferPriceS(PRICE_NEGOTIABLE);
- }
- }
- }
- mv.addObject("similarList", similarList);
- if (StringUtils.isNotBlank(achievement.getFieldAS())) {
- a = Boolean.TRUE;
- }
- }
- if (StringUtils.isNotBlank(achievement.getFieldBS())) {
- b = Boolean.TRUE;
- }
- field += (a ? achievement.getFieldAS() : "") + (a && b ? DELIMITER : "")
- + (b ? achievement.getFieldBS() : "");
- achievement.setField(field);
- 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());
- }
- }
- String location = "";
- String province = achievement.getProvince();
- String city = achievement.getCity();
- location += (StringUtils.isBlank(province) ? "" : province) + (StringUtils.isBlank(city) ? "" : city);
- if (null != achievement.getTransferPrice()) {
- achievement.setTransferPriceS(achievement.getTransferPrice() + UNIT);
- } else {
- achievement.setTransferPriceS(PRICE_NEGOTIABLE);
- }
- achievement.setLocation(location);
- }
- mv.setViewName("/portal/detail/achievementDetail");
- mv.addObject("achievement", achievement);
- return mv;
- }
- }
|