|
|
@@ -1,8 +1,10 @@
|
|
|
package com.goafanti.common.controller;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
+import java.util.Random;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
@@ -23,6 +25,7 @@ import com.goafanti.common.enums.UserLevel;
|
|
|
import com.goafanti.common.enums.UserType;
|
|
|
import com.goafanti.common.service.FieldGlossoryService;
|
|
|
import com.goafanti.core.shiro.token.TokenManager;
|
|
|
+import com.goafanti.demand.bo.DemandListBo;
|
|
|
import com.goafanti.demand.service.DemandService;
|
|
|
import com.goafanti.portal.bo.AchievementPortalDetailBo;
|
|
|
import com.goafanti.portal.bo.AchievementPortalSimilarListBo;
|
|
|
@@ -32,21 +35,21 @@ import com.goafanti.portal.bo.DemandPortalSimilarListBo;
|
|
|
@Controller
|
|
|
public class PortalController extends BaseController {
|
|
|
@Resource
|
|
|
- private AchievementService achievementService;
|
|
|
+ private AchievementService achievementService;
|
|
|
@Resource
|
|
|
- private DemandService demandService;
|
|
|
+ private DemandService demandService;
|
|
|
@Resource
|
|
|
- private FieldGlossoryService fieldGlossoryService;
|
|
|
+ private FieldGlossoryService fieldGlossoryService;
|
|
|
|
|
|
- private static final String UNIT = "万元";
|
|
|
+ private static final String UNIT = "万元";
|
|
|
|
|
|
- private static final int MULTIPLE = 20;
|
|
|
+ private static final int MULTIPLE = 20;
|
|
|
|
|
|
- private static final String DELIMITER = "/";
|
|
|
+ private static final String DELIMITER = "/";
|
|
|
|
|
|
- private static final String PRICE_NEGOTIABLE = "价格面议";
|
|
|
+ private static final String PRICE_NEGOTIABLE = "价格面议";
|
|
|
|
|
|
- private static final String UNCERTIFY = "未认证";
|
|
|
+ private static final String UNCERTIFY = "未认证";
|
|
|
|
|
|
@RequestMapping(value = "/index", method = RequestMethod.GET)
|
|
|
public ModelAndView index(HttpServletRequest request, ModelAndView modelview) {
|
|
|
@@ -65,7 +68,7 @@ public class PortalController extends BaseController {
|
|
|
/**
|
|
|
* 科技需求详情
|
|
|
*/
|
|
|
- @RequestMapping(value = "/portal/detail/demandDetail", method = RequestMethod.GET)
|
|
|
+ @RequestMapping(value = "/portal/technologyTrading/demandDetail", method = RequestMethod.GET)
|
|
|
public ModelAndView portalDemandDetail(String id, Integer type) {
|
|
|
ModelAndView mv = new ModelAndView();
|
|
|
DemandPortalDetailBo demand = null;
|
|
|
@@ -119,8 +122,70 @@ public class PortalController extends BaseController {
|
|
|
demand.setLocation((StringUtils.isBlank(demand.getProvince()) ? "" : demand.getProvince())
|
|
|
+ (StringUtils.isBlank(demand.getCity()) ? "" : demand.getCity()));
|
|
|
}
|
|
|
- mv.setViewName("/portal/detail/demandDetail");
|
|
|
+
|
|
|
+ /*--------------查询精品需求---------------*/
|
|
|
+ List<DemandListBo> boutiquedemand = demandService.selectDemandList(1);
|
|
|
+ List<DemandListBo> reboutiquedemand = new ArrayList<DemandListBo>();
|
|
|
+ if (boutiquedemand.size() >= 4) {
|
|
|
+ int index = (int) new Random().nextInt(boutiquedemand.size() - 3);
|
|
|
+ reboutiquedemand.add(boutiquedemand.get(index));
|
|
|
+ reboutiquedemand.add(boutiquedemand.get(index + 1));
|
|
|
+ reboutiquedemand.add(boutiquedemand.get(index + 2));
|
|
|
+ } else {
|
|
|
+ reboutiquedemand.addAll(boutiquedemand);
|
|
|
+ }
|
|
|
+ ;
|
|
|
+
|
|
|
+ // 判断登录没登录. 登录了.查找用户喜欢的. 没登录就随机查四个.
|
|
|
+ boolean isLogin = TokenManager.isLogin();
|
|
|
+ List<DemandListBo> demandlist = demandService.selectDemandList(0);// 查询所有专利
|
|
|
+ List<DemandListBo> redemandlist = new ArrayList<DemandListBo>();
|
|
|
+
|
|
|
+ if (demandlist.size() >= 5) {
|
|
|
+ int idx = (int) new Random().nextInt(demandlist.size() - 4);
|
|
|
+ redemandlist.add(demandlist.get(idx));
|
|
|
+ redemandlist.add(demandlist.get(idx + 1));
|
|
|
+ redemandlist.add(demandlist.get(idx + 2));
|
|
|
+ redemandlist.add(demandlist.get(idx + 3));
|
|
|
+ } else {
|
|
|
+ redemandlist.addAll(demandlist);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (isLogin) {
|
|
|
+ List<DemandListBo> customerlikelist = demandService.selectCsutomerLike();// 猜你喜欢专利
|
|
|
+ int size;
|
|
|
+ if (customerlikelist.size() < redemandlist.size()) {
|
|
|
+ size = customerlikelist.size();
|
|
|
+ } else {
|
|
|
+ size = redemandlist.size();
|
|
|
+ }
|
|
|
+
|
|
|
+ for (int i = 0; i < size; i++) {
|
|
|
+ redemandlist.set(i, customerlikelist.get(i));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ for (int i = 0; i < redemandlist.size(); i++) {
|
|
|
+ Integer demandType = redemandlist.get(i).getDemandType();
|
|
|
+ if (null != redemandlist) {
|
|
|
+ if (demandType == 1) {
|
|
|
+ redemandlist.get(i).setDemandTypeS("技术购买需求");
|
|
|
+ } else if (demandType == 2) {
|
|
|
+ redemandlist.get(i).setDemandTypeS("技术设备类需求");
|
|
|
+ } else if (demandType == 3) {
|
|
|
+ redemandlist.get(i).setDemandTypeS("技术方案型需求");
|
|
|
+ } else if (demandType == 4) {
|
|
|
+ redemandlist.get(i).setDemandTypeS("技术攻关型需求");
|
|
|
+ } else if (demandType == 5) {
|
|
|
+ redemandlist.get(i).setDemandTypeS("技术人才型需求");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ mv.setViewName("/portal/technologyTrading/demandDetail");
|
|
|
mv.addObject("demand", demand);
|
|
|
+ mv.addObject("reboutiquedemand", reboutiquedemand);
|
|
|
+ mv.addObject("redemandlist", redemandlist);
|
|
|
|
|
|
return mv;
|
|
|
}
|
|
|
@@ -129,24 +194,39 @@ public class PortalController extends BaseController {
|
|
|
* 科技成果详情
|
|
|
*/
|
|
|
@SuppressWarnings("null")
|
|
|
- @RequestMapping(value = "/portal/detail/achievementDetail", method = RequestMethod.GET)
|
|
|
+ @RequestMapping(value = "/portal/technologyTrading/achievementDetail", method = RequestMethod.GET)
|
|
|
public ModelAndView portalAchievementDetail(String id, Integer type) {
|
|
|
ModelAndView mv = new ModelAndView();
|
|
|
AchievementPortalDetailBo achievementdetail = null;
|
|
|
- AchievementListBo achievement = null;
|
|
|
if (UserType.PERSONAL.getCode().equals(type)) {
|
|
|
achievementdetail = achievementService.findUserPortalAchievementDetail(id);
|
|
|
} else if (UserType.ORGANIZATION.getCode().equals(type)) {
|
|
|
achievementdetail = achievementService.findOrgPortalAchievementDetail(id);
|
|
|
}
|
|
|
if (null != achievementdetail) {
|
|
|
- if (StringUtils.isBlank(achievementdetail.getOwnerName())) {
|
|
|
- if (UserLevel.GENERAL.getCode().equals(achievementdetail.getLevel())) {
|
|
|
- achievementdetail.setOwnerName(UNCERTIFY);
|
|
|
- } else {
|
|
|
- achievementdetail.setOwnerName(" ");
|
|
|
+
|
|
|
+ Integer category = achievementdetail.getCategory();
|
|
|
+ System.out.println("category:" + category);
|
|
|
+ if (null != category) {
|
|
|
+ if (category == 0) {
|
|
|
+ achievementdetail.setCategoryS("专利");
|
|
|
+ } else if (category == 2) {
|
|
|
+ achievementdetail.setCategoryS("软著");
|
|
|
+ } else if (category == 3) {
|
|
|
+ achievementdetail.setCategoryS("项目");
|
|
|
+ } else if (category == 4) {
|
|
|
+ achievementdetail.setCategoryS("版权");
|
|
|
+ } else if (category == 5) {
|
|
|
+ achievementdetail.setCategoryS("工业设计");
|
|
|
+ } else if (category == 6) {
|
|
|
+ achievementdetail.setCategoryS("配方");
|
|
|
+ } else if (category == 7) {
|
|
|
+ achievementdetail.setCategoryS("非标");
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
+ ;
|
|
|
+
|
|
|
Integer fieldA = achievementdetail.getFieldA();
|
|
|
String field = "";
|
|
|
boolean a = Boolean.FALSE;
|
|
|
@@ -247,40 +327,129 @@ public class PortalController extends BaseController {
|
|
|
achievementdetail.setLocation(location);
|
|
|
|
|
|
}
|
|
|
-
|
|
|
- //查询精品成果
|
|
|
- List<AchievementListBo> boutiqueAchievement = achievementService.getAchievement(1);
|
|
|
- List<AchievementListBo> reboutiqueAchievement = null;
|
|
|
- int index=(int)(1+Math.random()*(10-1+1));
|
|
|
-
|
|
|
- for (int i = 0; i < boutiqueAchievement.size(); i++) {
|
|
|
- reboutiqueAchievement.add(boutiqueAchievement.get(index));
|
|
|
- reboutiqueAchievement.add(boutiqueAchievement.get(index++));
|
|
|
- reboutiqueAchievement.add(boutiqueAchievement.get(index+2));
|
|
|
+
|
|
|
+ // 查询精品成果
|
|
|
+ List<AchievementListBo> boutiqueachievement = achievementService.getAchievement(1);
|
|
|
+ List<AchievementListBo> reboutiqueachievement = new ArrayList<AchievementListBo>();
|
|
|
+ if (boutiqueachievement.size() >= 4) {
|
|
|
+ int index = (int) new Random().nextInt(boutiqueachievement.size() - 3);
|
|
|
+ reboutiqueachievement.add(boutiqueachievement.get(index));
|
|
|
+ reboutiqueachievement.add(boutiqueachievement.get(index + 1));
|
|
|
+ reboutiqueachievement.add(boutiqueachievement.get(index + 2));
|
|
|
+ } else {
|
|
|
+ reboutiqueachievement.addAll(boutiqueachievement);
|
|
|
};
|
|
|
|
|
|
- //判断登录没登录. 登录了.查找用户喜欢的. 没登录就随机查四个.
|
|
|
+
|
|
|
+ // 判断登录没登录. 登录了.查找用户喜欢的. 没登录就随机查四个.
|
|
|
boolean isLogin = TokenManager.isLogin();
|
|
|
- List<AchievementListBo> achievementlist = achievementService.getAchievement(0);//查询所有专利
|
|
|
- List<AchievementListBo> reachievementlist = null;
|
|
|
- for (int i = 0; i < achievementlist.size(); i++) {
|
|
|
- reachievementlist.add(boutiqueAchievement.get(index));
|
|
|
- reachievementlist.add(boutiqueAchievement.get(index+1));
|
|
|
- reachievementlist.add(boutiqueAchievement.get(index+2));
|
|
|
- reachievementlist.add(boutiqueAchievement.get(index+3));
|
|
|
- };
|
|
|
- List<AchievementListBo> customerLikelist = achievementService.getPerhapLike();//猜你喜欢专利
|
|
|
-
|
|
|
-
|
|
|
- if(isLogin) {
|
|
|
- }else {
|
|
|
-
|
|
|
+ List<AchievementListBo> achievementlist = achievementService.getAchievement(0);// 查询所有专利
|
|
|
+ List<AchievementListBo> reachievementlist = new ArrayList<AchievementListBo>();
|
|
|
+
|
|
|
+ if (achievementlist.size() >= 5) {
|
|
|
+ int idx = (int) new Random().nextInt(achievementlist.size() - 4);
|
|
|
+ reachievementlist.add(achievementlist.get(idx));
|
|
|
+ reachievementlist.add(achievementlist.get(idx + 1));
|
|
|
+ reachievementlist.add(achievementlist.get(idx + 2));
|
|
|
+ reachievementlist.add(achievementlist.get(idx + 3));
|
|
|
+ } else {
|
|
|
+ reachievementlist.addAll(achievementlist);
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
- mv.setViewName("/portal/detail/achievementDetail");
|
|
|
- mv.addObject("achievement", achievementdetail);
|
|
|
- mv.addObject("ReboutiqueAchievement", reboutiqueAchievement);
|
|
|
+
|
|
|
+ if (isLogin) {
|
|
|
+ List<AchievementListBo> customerlikelist = achievementService.getPerhapLike();// 猜你喜欢专利
|
|
|
+ int size;
|
|
|
+ if (customerlikelist.size() < reachievementlist.size()) {
|
|
|
+ size = customerlikelist.size();
|
|
|
+ } else {
|
|
|
+ size = reachievementlist.size();
|
|
|
+ }
|
|
|
+
|
|
|
+ for (int i = 0; i < size; i++) {
|
|
|
+ reachievementlist.set(i, customerlikelist.get(i));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /*----------------------------------------------------------*/
|
|
|
+
|
|
|
+ for (int i = 0; i < reachievementlist.size(); i++) {
|
|
|
+ Integer fieldA = reachievementlist.get(i).getFieldA();
|
|
|
+ String field = "";
|
|
|
+ boolean a = Boolean.FALSE;
|
|
|
+ if (null != fieldA) {
|
|
|
+ List<AchievementPortalSimilarListBo> similarList = achievementService.findByFieldA(fieldA,
|
|
|
+ achievementdetail.getId(), type);
|
|
|
+ if (!similarList.isEmpty()) {
|
|
|
+ for (AchievementPortalSimilarListBo bo : similarList) {
|
|
|
+ if (null != bo.getMaturity()) {
|
|
|
+ bo.setMaturityS(bo.getMaturity() * MULTIPLE + "%");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (null == bo.getBargainingMode()
|
|
|
+ || AchievementBargainingMode.NEGOTIABLE.getCode().equals(bo.getBargainingMode())) {
|
|
|
+ bo.setTransferPriceS(PRICE_NEGOTIABLE);
|
|
|
+ } else {
|
|
|
+ if (null != bo.getTransferPrice() && bo.getTransferPrice().compareTo(BigDecimal.ZERO) > 0) {
|
|
|
+ bo.setTransferPriceS(bo.getTransferPrice() + UNIT);
|
|
|
+ } else {
|
|
|
+ bo.setTransferPriceS(PRICE_NEGOTIABLE);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ mv.addObject("similarList", similarList);
|
|
|
+ if (StringUtils.isNotBlank(reachievementlist.get(i).getFieldAS())) {
|
|
|
+ a = Boolean.TRUE;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ field += (a ? reachievementlist.get(i).getFieldAS() : "");
|
|
|
+ reachievementlist.get(i).setField(field);
|
|
|
+
|
|
|
+ Integer ownertyp = reachievementlist.get(i).getOwnerType();
|
|
|
+ if (null != ownertyp) {
|
|
|
+ if (ownertyp == 0) {
|
|
|
+ reachievementlist.get(i).setOwnerTypeS("个人所有");
|
|
|
+ } else if (ownertyp == 1) {
|
|
|
+ reachievementlist.get(i).setOwnerTypeS("组织所有");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ Integer transfermode = reachievementlist.get(i).getTransferMode();
|
|
|
+ if (null != transfermode) {
|
|
|
+ if (AchievementTransferMode.FULLTRANSFER.getCode().equals(transfermode)) {
|
|
|
+ reachievementlist.get(i).setTransferModeS(AchievementTransferMode.FULLTRANSFER.getDesc());
|
|
|
+ } else if (AchievementTransferMode.PERMISSIONTRANSFER.getCode().equals(transfermode)) {
|
|
|
+ reachievementlist.get(i).setTransferModeS(AchievementTransferMode.PERMISSIONTRANSFER.getDesc());
|
|
|
+ } else if (AchievementTransferMode.TECHNOLOGYSHARES.getCode().equals(transfermode)) {
|
|
|
+ reachievementlist.get(i).setTransferModeS(AchievementTransferMode.TECHNOLOGYSHARES.getDesc());
|
|
|
+ } else if (AchievementTransferMode.EXCLUSIVETECHNOLOGYSHARES.getCode().equals(transfermode)) {
|
|
|
+ reachievementlist.get(i)
|
|
|
+ .setTransferModeS(AchievementTransferMode.EXCLUSIVETECHNOLOGYSHARES.getDesc());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ Integer maturity = reachievementlist.get(i).getMaturity();
|
|
|
+ if (null != maturity) {
|
|
|
+ if (AchievementMaturity.RESEARCH.getCode().equals(maturity)) {
|
|
|
+ reachievementlist.get(i).setMaturityS(AchievementMaturity.RESEARCH.getDesc());
|
|
|
+ } else if (AchievementMaturity.SAMPLE.getCode().equals(maturity)) {
|
|
|
+ reachievementlist.get(i).setMaturityS(AchievementMaturity.SAMPLE.getDesc());
|
|
|
+ } else if (AchievementMaturity.PRIMARYTEST.getCode().equals(maturity)) {
|
|
|
+ reachievementlist.get(i).setMaturityS(AchievementMaturity.PRIMARYTEST.getDesc());
|
|
|
+ } else if (AchievementMaturity.INTERMEDIATETEST.getCode().equals(maturity)) {
|
|
|
+ reachievementlist.get(i).setMaturityS(AchievementMaturity.INTERMEDIATETEST.getDesc());
|
|
|
+ } else if (AchievementMaturity.MASSPRODUCTION.getCode().equals(maturity)) {
|
|
|
+ reachievementlist.get(i).setMaturityS(AchievementMaturity.MASSPRODUCTION.getDesc());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ mv.setViewName("/portal/technologyTrading/achievementDetail");
|
|
|
+ mv.addObject("achievementdetail", achievementdetail);
|
|
|
+ mv.addObject("reboutiqueachievement", reboutiqueachievement);
|
|
|
+ mv.addObject("reachievementlist", reachievementlist);
|
|
|
return mv;
|
|
|
}
|
|
|
|