Przeglądaj źródła

Merge branch 'new' of https://git.coding.net/aft/AFT.git into new

Conflicts:
	src/main/java/com/goafanti/common/mapper/UserMapper.xml
wanghui 8 lat temu
rodzic
commit
ef9fdfc877
34 zmienionych plików z 2373 dodań i 495 usunięć
  1. 106 0
      src/main/java/com/goafanti/achievement/bo/AchievementListBo.java
  2. 54 0
      src/main/java/com/goafanti/achievement/bo/AchievementPartnerListBo.java
  3. 3 0
      src/main/java/com/goafanti/achievement/service/AchievementService.java
  4. 5 0
      src/main/java/com/goafanti/achievement/service/impl/AchievementServiceImpl.java
  5. 216 47
      src/main/java/com/goafanti/common/controller/PortalController.java
  6. 100 15
      src/main/java/com/goafanti/common/controller/WebpageController.java
  7. 4 1
      src/main/java/com/goafanti/common/dao/AchievementMapper.java
  8. 7 0
      src/main/java/com/goafanti/common/dao/DemandMapper.java
  9. 2 0
      src/main/java/com/goafanti/common/dao/DistrictGlossoryMapper.java
  10. 6 2
      src/main/java/com/goafanti/common/dao/UserMapper.java
  11. 8 4
      src/main/java/com/goafanti/common/mapper/AchievementMapper.xml
  12. 4 0
      src/main/java/com/goafanti/common/mapper/DistrictGlossoryMapper.xml
  13. 15 4
      src/main/java/com/goafanti/common/mapper/NewsMapper.xml
  14. 1010 1
      src/main/java/com/goafanti/common/mapper/UserMapper.xml
  15. 16 0
      src/main/java/com/goafanti/common/model/News.java
  16. 3 1
      src/main/java/com/goafanti/dataGlossory/service/DistrictGlossoryService.java
  17. 6 1
      src/main/java/com/goafanti/dataGlossory/service/impl/DistrictGlossoryServiceImpl.java
  18. 54 1
      src/main/java/com/goafanti/demand/bo/DemandListBo.java
  19. 7 0
      src/main/java/com/goafanti/demand/service/DemandService.java
  20. 11 0
      src/main/java/com/goafanti/demand/service/impl/DemandServiceImpl.java
  21. 24 0
      src/main/java/com/goafanti/news/bo/NewsPortalList.java
  22. 23 2
      src/main/java/com/goafanti/news/controller/NewsController.java
  23. 31 5
      src/main/java/com/goafanti/portal/bo/AchievementPortalDetailBo.java
  24. 43 0
      src/main/java/com/goafanti/portal/bo/DemandPortalDetailBo.java
  25. 62 0
      src/main/java/com/goafanti/user/bo/OrgPartnerDetailBo.java
  26. 63 0
      src/main/java/com/goafanti/user/bo/UserPartnerDetailBo.java
  27. 2 0
      src/main/java/com/goafanti/user/service/UserService.java
  28. 7 2
      src/main/java/com/goafanti/user/service/impl/UserServiceImpl.java
  29. 0 191
      src/main/webapp/WEB-INF/views/portal/detail/achievementDetail.html
  30. 0 177
      src/main/webapp/WEB-INF/views/portal/detail/demandDetail.html
  31. 47 34
      src/main/webapp/WEB-INF/views/portal/news/newsDetail.html
  32. 151 0
      src/main/webapp/WEB-INF/views/portal/technologyTrading/achievementDetail.html
  33. 121 0
      src/main/webapp/WEB-INF/views/portal/technologyTrading/demandDetail.html
  34. 162 7
      src/main/webapp/WEB-INF/views/user/subscriberDetail.html

+ 106 - 0
src/main/java/com/goafanti/achievement/bo/AchievementListBo.java

@@ -86,6 +86,36 @@ public class AchievementListBo {
      *  是否属于精品 0 - 否	, 1 - 是
      */
     private Integer boutique;
+    
+    /**
+     *  图片链接
+     */
+    private String technicalpictureurl;
+    
+    /**
+	 * 交易方式(转让方式(0--完全转让,1--许可转让,2--技术入股))
+	 */
+	private Integer		transferMode;
+    
+	/**
+	 * 成熟度
+	 */
+	private Integer		maturity;
+	
+	/**
+	 * 行业
+	 */
+	private Integer		fieldA;
+	
+	private String		fieldAS;
+	
+	private String		field;
+	
+	private String		maturityS;
+	
+	private String			transferModeS;
+	
+	private String	ownerTypeS;
 	
 	public String getOrgId() {
 		return orgId;
@@ -233,4 +263,80 @@ public class AchievementListBo {
 
 	}
 
+	public String getTechnicalpictureurl() {
+		return technicalpictureurl;
+	}
+
+	public void setTechnicalpictureurl(String technicalpictureurl) {
+		this.technicalpictureurl = technicalpictureurl;
+	}
+
+	public Integer getTransferMode() {
+		return transferMode;
+	}
+
+	public void setTransferMode(Integer transferMode) {
+		this.transferMode = transferMode;
+	}
+
+	public Integer getMaturity() {
+		return maturity;
+	}
+
+	public void setMaturity(Integer maturity) {
+		this.maturity = maturity;
+	}
+
+	public Integer getFieldA() {
+		return fieldA;
+	}
+
+	public void setFieldA(Integer fieldA) {
+		this.fieldA = fieldA;
+	}
+
+	public String getFieldAS() {
+		return fieldAS;
+	}
+
+	public void setFieldAS(String fieldAS) {
+		this.fieldAS = fieldAS;
+	}
+
+	public String getField() {
+		return field;
+	}
+
+	public void setField(String field) {
+		this.field = field;
+	}
+
+	public String getMaturityS() {
+		return maturityS;
+	}
+
+	public void setMaturityS(String maturityS) {
+		this.maturityS = maturityS;
+	}
+
+	public String getTransferModeS() {
+		return transferModeS;
+	}
+
+	public void setTransferModeS(String transferModeS) {
+		this.transferModeS = transferModeS;
+	}
+
+	public String getOwnerTypeS() {
+		return ownerTypeS;
+	}
+
+	public void setOwnerTypeS(String ownerTypeS) {
+		this.ownerTypeS = ownerTypeS;
+	}
+	
+	
+	
+	
+
 }

+ 54 - 0
src/main/java/com/goafanti/achievement/bo/AchievementPartnerListBo.java

@@ -71,7 +71,23 @@ public class AchievementPartnerListBo {
 	 * 标价
 	 */
 	private BigDecimal	transferPrice;
+	
+	
+	/**
+	 * 描述
+	 */
+	private String	introduction;
 
+	/**
+	 * 描述
+	 */
+	private String	technicalPictureUrl;
+	
+	/**
+	 * 成熟度中文描述
+	 */
+	private String maturityS;
+	
 	public Integer getFieldA() {
 		return fieldA;
 	}
@@ -190,4 +206,42 @@ public class AchievementPartnerListBo {
 	public void setReleaseDateFormattedDate(String releaseDateFormattedDate) {
 
 	}
+
+	public String getIntroduction() {
+		return introduction;
+	}
+
+	public void setIntroduction(String introduction) {
+		this.introduction = introduction;
+	}
+
+	public String getTechnicalPictureUrl() {
+		return technicalPictureUrl;
+	}
+
+	public void setTechnicalPictureUrl(String technicalPictureUrl) {
+		this.technicalPictureUrl = technicalPictureUrl;
+	}
+
+	
+	
+	public String getMaturityS() {
+		return maturityS;
+	}
+
+	public void setMaturityS(String maturityS) {
+		this.maturityS = maturityS;
+	}
+
+	@Override
+	public String toString() {
+		return "partnerAchievementList [id=" + id + ", serialNumber=" + serialNumber + ", dataCategory="
+				+ dataCategory + ", name=" + name + ", keyword=" + keyword + ", category=" + category + ", ownerType="
+				+ ownerType + ", releaseDate=" + releaseDate + ", fieldA=" + fieldA + ", fieldB=" + fieldB
+				+ ", maturity=" + maturity + ", bargainingMode=" + bargainingMode + ", transferPrice=" + transferPrice
+				+ ", introduction=" + introduction + ", technicalPictureUrl=" + technicalPictureUrl + "]";
+	}
+
+	
+	
 }

+ 3 - 0
src/main/java/com/goafanti/achievement/service/AchievementService.java

@@ -82,4 +82,7 @@ public interface AchievementService {
 	 
     /** 查询猜你喜欢  **/
     public List<AchievementListBo>  getPerhapLike();
+    
+    /**查询智者的科技成果**/
+    public List<AchievementPartnerListBo> findPartnerAchievementList(String uid);
 }

+ 5 - 0
src/main/java/com/goafanti/achievement/service/impl/AchievementServiceImpl.java

@@ -645,6 +645,11 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
 		return achievementMapper.selectCsutomerLike(); //查询出猜你喜欢
 	}
 
+	@Override
+	public List<AchievementPartnerListBo> findPartnerAchievementList(String uid) {
+		return achievementMapper.findPartnerAchievementListByPage(uid);
+	}
+
 	
 	
 }

+ 216 - 47
src/main/java/com/goafanti/common/controller/PortalController.java

@@ -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;
 	}
 

+ 100 - 15
src/main/java/com/goafanti/common/controller/WebpageController.java

@@ -1,6 +1,8 @@
 package com.goafanti.common.controller;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Random;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
@@ -10,39 +12,50 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.servlet.ModelAndView;
 
+import com.goafanti.achievement.bo.AchievementPartnerListBo;
 import com.goafanti.achievement.service.AchievementService;
 import com.goafanti.banners.enums.BannersType;
 import com.goafanti.banners.service.BannersService;
 import com.goafanti.common.constant.AFTConstants;
+import com.goafanti.common.enums.AchievementMaturity;
+import com.goafanti.common.enums.UserType;
 import com.goafanti.common.model.Banners;
 import com.goafanti.core.shiro.token.TokenManager;
+import com.goafanti.dataGlossory.service.DistrictGlossoryService;
 import com.goafanti.demand.service.DemandService;
 import com.goafanti.portal.bo.InternationalListBo;
+import com.goafanti.user.bo.UserPartnerDetailBo;
 import com.goafanti.user.service.OrganizationIdentityService;
 import com.goafanti.user.service.UserIdentityService;
+import com.goafanti.user.service.UserService;
 import com.goafanti.news.enums.NewsType;
 import com.goafanti.news.service.NewsService;
 
 @Controller
 public class WebpageController extends BaseController {
+	@Resource
+	private UserService userService;
+	
+	@Resource
+	private DistrictGlossoryService districtglossoryservice;
 
 	@Resource
-	private DemandService		demandService;
+	private DemandService demandService;
 
 	@Resource
-	private AchievementService	achievementService;
+	private AchievementService achievementService;
 
 	@Resource
-	private BannersService		bannersService;
+	private BannersService bannersService;
 
 	@Resource
-	private UserIdentityService 	userIdentityService;
-	
+	private UserIdentityService userIdentityService;
+
 	@Resource
 	private OrganizationIdentityService organizationIdentityService;
-	
+
 	@Resource
-	private NewsService			newsService;
+	private NewsService newsService;
 
 	/**
 	 * 首页
@@ -109,7 +122,7 @@ public class WebpageController extends BaseController {
 	public String mSignin(HttpServletRequest request, ModelAndView modelview) {
 		return "/user/msignIn";
 	}
-	
+
 	@RequestMapping(value = "/user/certify", method = RequestMethod.GET)
 	public ModelAndView userCertify(HttpServletRequest request, ModelAndView modelview) {
 		modelview.setViewName("/user/certify");
@@ -129,9 +142,77 @@ public class WebpageController extends BaseController {
 	}
 
 	@RequestMapping(value = "/user/subscriberDetail", method = RequestMethod.GET)
-	public String userSubscriberDetail(HttpServletRequest request, ModelAndView modelview) {
-		return "/user/subscriberDetail";
-	}
+	public ModelAndView ModelAndView(HttpServletRequest request, ModelAndView modelview, String uid, Integer type) {
+		ModelAndView mv = new ModelAndView();
+		UserPartnerDetailBo rePartnerDetail =new UserPartnerDetailBo();
+		System.out.println("uid=" + uid);
+		/* 查询智者详细信息 */
+
+		if (UserType.PERSONAL.getCode().equals(type)) {
+			rePartnerDetail = userService.findUserPartnerDetail(uid);
+			if (null != rePartnerDetail) {
+				Integer province = rePartnerDetail.getProvince();
+				if(null!=province) {
+					rePartnerDetail.setProvinceS(districtglossoryservice.selectNameById(province));
+				}
+			}
+		} else {
+			rePartnerDetail = (UserPartnerDetailBo) userService.findOrgPartnerDetail(uid);
+			if (null != rePartnerDetail) {
+				Integer province = rePartnerDetail.getProvince();
+				if(null!=province) {
+					rePartnerDetail.setProvinceS(districtglossoryservice.selectNameById(province));
+				}
+			}
+		}
+
+		/* 查询该智者的相关成果信息 */
+		List<AchievementPartnerListBo> partnerAchievementList = achievementService.findPartnerAchievementList(uid);
+		for (int i = 0; i < partnerAchievementList.size(); i++) {
+			Integer maturity = partnerAchievementList.get(i).getMaturity();
+			if (null != maturity) {
+				if (AchievementMaturity.RESEARCH.getCode().equals(maturity)) {
+					partnerAchievementList.get(i).setMaturityS(AchievementMaturity.RESEARCH.getDesc());
+				} else if (AchievementMaturity.SAMPLE.getCode().equals(maturity)) {
+					partnerAchievementList.get(i).setMaturityS(AchievementMaturity.SAMPLE.getDesc());
+				} else if (AchievementMaturity.PRIMARYTEST.getCode().equals(maturity)) {
+					partnerAchievementList.get(i).setMaturityS(AchievementMaturity.PRIMARYTEST.getDesc());
+				} else if (AchievementMaturity.INTERMEDIATETEST.getCode().equals(maturity)) {
+					partnerAchievementList.get(i).setMaturityS(AchievementMaturity.INTERMEDIATETEST.getDesc());
+				} else if (AchievementMaturity.MASSPRODUCTION.getCode().equals(maturity)) {
+					partnerAchievementList.get(i).setMaturityS(AchievementMaturity.MASSPRODUCTION.getDesc());
+				}
+			}
+		}
+		
+		
+
+		/* 查询相关智者信息 */
+		List<UserPartnerDetailBo> userPartner = userService.findUserPartner();
+		List<UserPartnerDetailBo> reuserPartner = new ArrayList<UserPartnerDetailBo>();
+		if (userPartner.size() >= 4) {
+			int index = (int) new Random().nextInt(userPartner.size() - 3);
+			reuserPartner.add(userPartner.get(index));
+			reuserPartner.add(userPartner.get(index + 1));
+			reuserPartner.add(userPartner.get(index + 2));
+		} else {
+			reuserPartner.addAll(userPartner);
+		}
+		for (int i = 0; i < reuserPartner.size(); i++) {
+			String personalProfile = reuserPartner.get(i).getPersonalProfile();
+			if(null!= personalProfile&& ""!=personalProfile &&personalProfile.length()>40) {
+				personalProfile=personalProfile.substring(0, 40)+"... ...";
+				reuserPartner.get(i).setPersonalProfile(personalProfile);
+			}
+		}
+		
+		mv.setViewName("/user/subscriberDetail");
+		mv.addObject("rePartnerDetail",rePartnerDetail);
+		mv.addObject("reuserPartner",reuserPartner);
+		mv.addObject("partnerAchievementList",partnerAchievementList);
+		return mv;
+
+	};
 
 	@RequestMapping(value = "/user/account/services", method = RequestMethod.GET)
 	public ModelAndView userServices(HttpServletRequest request, ModelAndView modelview) {
@@ -316,9 +397,12 @@ public class WebpageController extends BaseController {
 	public ModelAndView portalInternationalInternationalIndex(HttpServletRequest request, ModelAndView modelview) {
 		modelview.setViewName("/portal/international/internationalIndex");
 		handleBanners(modelview, BannersType.GUO_JI_YE_WU);
-		List<InternationalListBo> listA = achievementService.selectInternationalAchievement(AFTConstants.INTERNATIONAL_ACHIEVEMENT_CACHE_KEY);
-		List<InternationalListBo> listB = userIdentityService.selectInternationalUser(AFTConstants.INTERNATIONAL_USER_CACHE_KEY);
-		List<InternationalListBo> listC = organizationIdentityService.selectInternationalOrganization(AFTConstants.INTERNATIONAL_ORG_CACHE_KEY);
+		List<InternationalListBo> listA = achievementService
+				.selectInternationalAchievement(AFTConstants.INTERNATIONAL_ACHIEVEMENT_CACHE_KEY);
+		List<InternationalListBo> listB = userIdentityService
+				.selectInternationalUser(AFTConstants.INTERNATIONAL_USER_CACHE_KEY);
+		List<InternationalListBo> listC = organizationIdentityService
+				.selectInternationalOrganization(AFTConstants.INTERNATIONAL_ORG_CACHE_KEY);
 		modelview.addObject("achievementInternationalList", listA);
 		modelview.addObject("userInternationalList", listB);
 		modelview.addObject("orgInternationalList", listC);
@@ -436,10 +520,11 @@ public class WebpageController extends BaseController {
 		handleBanners(modelview, BannersType.JI_SHU_JIAO_YI);
 		return modelview;
 	}
-	
+
 	/**
 	 * 
 	 * 智库咨询
+	 * 
 	 * @param request
 	 * @param modelview
 	 * @return

+ 4 - 1
src/main/java/com/goafanti/common/dao/AchievementMapper.java

@@ -6,12 +6,12 @@ import org.apache.ibatis.annotations.Param;
 
 import com.goafanti.achievement.bo.AchievementListBo;
 import com.goafanti.achievement.bo.AchievementOrgOwnerDetailBo;
+import com.goafanti.achievement.bo.AchievementPartnerListBo;
 import com.goafanti.achievement.bo.AchievementUserOwnerDetailBo;
 import com.goafanti.common.model.Achievement;
 import com.goafanti.portal.bo.AchievementDetailBo;
 import com.goafanti.portal.bo.AchievementPortalDetailBo;
 import com.goafanti.portal.bo.AchievementPortalSimilarListBo;
-import com.goafanti.portal.bo.BoutiqueListBo;
 import com.goafanti.portal.bo.InternationalListBo;
 import com.goafanti.residentIntegration.bo.ResidentIntegrationBo;
 
@@ -74,4 +74,7 @@ public interface AchievementMapper {
 	/** 查询猜你喜欢 **/
 	List<AchievementListBo> selectCsutomerLike();
 	
+    /**	查询智者的科技成果**/
+	List<AchievementPartnerListBo>findPartnerAchievementListByPage(String uid);
+	
 }

+ 7 - 0
src/main/java/com/goafanti/common/dao/DemandMapper.java

@@ -1,10 +1,13 @@
 package com.goafanti.common.dao;
 
+import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.ibatis.annotations.Param;
 
+import com.goafanti.achievement.bo.AchievementListBo;
 import com.goafanti.common.model.Demand;
+import com.goafanti.demand.bo.DemandListBo;
 import com.goafanti.demand.bo.DemandManageDetailBo;
 import com.goafanti.portal.bo.DemandPortalDetailBo;
 import com.goafanti.portal.bo.DemandPortalSimilarListBo;
@@ -45,4 +48,8 @@ public interface DemandMapper {
 			@Param("id") String id);
 
 	int updateEmployerId(String id);
+	
+	ArrayList<DemandListBo> selectDemandList (Integer boutique);
+	
+	List<DemandListBo> selectCsutomerLike();
 }

+ 2 - 0
src/main/java/com/goafanti/common/dao/DistrictGlossoryMapper.java

@@ -18,4 +18,6 @@ public interface DistrictGlossoryMapper {
     int updateByPrimaryKey(DistrictGlossory record);
     
     List<DistrictGlossory> findByPid(Integer pid);
+    
+    String selectNameById(Integer id);
 }

+ 6 - 2
src/main/java/com/goafanti/common/dao/UserMapper.java

@@ -1,6 +1,8 @@
 package com.goafanti.common.dao;
 
 
+import java.util.List;
+
 import org.apache.ibatis.annotations.Param;
 
 import com.goafanti.common.model.User;
@@ -34,9 +36,11 @@ public interface UserMapper {
 
 	String findOrgByNameAndMobile(@Param("name") String name, @Param("mobile") String mobile);
 
-	UserPartnerDetailBo findUserPartnerDetail(@Param("uid") String uid, @Param("tokenId") String tokenId);
+	UserPartnerDetailBo findUserPartnerDetail(String uid);
 
-	OrgPartnerDetailBo findOrgPartnerDetail(@Param("uid") String uid, @Param("tokenId") String tokenId);
+	OrgPartnerDetailBo findOrgPartnerDetail(String uid);
 
 	Long selectNumberByPrimaryKey(String userId);
+	
+	List<UserPartnerDetailBo> findUserPartner();
 }

+ 8 - 4
src/main/java/com/goafanti/common/mapper/AchievementMapper.xml

@@ -1222,8 +1222,9 @@
 		owner_type as ownerType,
 		release_date AS releaseDate,
 		field_a as fieldA,
-		field_b as fieldB,
 		maturity,
+		introduction,
+		technical_picture_url as technicalPictureUrl,
 		bargaining_mode as bargainingMode,
 		transfer_price as transferPrice
 	FROM
@@ -1252,6 +1253,7 @@
 		a.id,
 		a.name,
 		a.keyword,
+		a.category,
 		a.introduction,
 		a.maturity,
 		a.transfer_price AS transferPrice,
@@ -1286,6 +1288,7 @@
 		a.id,
 		a.name,
 		a.keyword,
+		a.category,
 		a.introduction,
 		a.maturity,
 		a.transfer_price AS transferPrice,
@@ -1483,7 +1486,7 @@
 	</if>	
   </select>
   
-  <select id="listAchievement" resultType="com.goafanti.portal.bo.BoutiqueListBo">
+  <select id="listAchievement" resultType="com.goafanti.achievement.bo.AchievementListBo">
   		select 
   		a.id, a.name, a.keyword,a.introduction,a.category,
   		a.serial_number as serialNumber, 
@@ -1491,15 +1494,16 @@
   	    a.owner_type as ownerType, 
   		a.owner_name as ownerName,
   		a.field_a as fieldA, 
-  		a.field_b as fieldB,
   		a.transfer_price as transferPrice,
+  		a.transfer_mode as transfermode,
+  		a.maturity,
   		a.technical_picture_url as technicalpictureurl
   		from achievement a 
   		where 
   	    a.deleted_sign = 0 
 		and a.category = 0
   	    and a.release_status = 1
-  	    and a.audit_status = 3
+  	    and a.audit_status = 3 
   	    order by a.release_date desc limit 0,12
   </select>
   

+ 4 - 0
src/main/java/com/goafanti/common/mapper/DistrictGlossoryMapper.xml

@@ -86,4 +86,8 @@
     from district_glossory
     where pid = #{pid,jdbcType=INTEGER}
   </select>
+  
+  <select id="selectNameById" parameterType="java.lang.Integer" resultType="String">
+    select name from aft.district_glossory where id=#{id,jdbcType=INTEGER}
+  </select>
 </mapper>

+ 15 - 4
src/main/java/com/goafanti/common/mapper/NewsMapper.xml

@@ -28,9 +28,20 @@
   </sql>
   <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="ResultMapWithBLOBs">
     select 
-    <include refid="Base_Column_List" />
-    ,
-    <include refid="Blob_Column_List" />
+    id,
+    content,
+    create_time as createTime, 
+    edit_time as editTime, 
+    title, 
+    title_img as titleImg, 
+    author, 
+    type, 
+    hot,
+    source, 
+    source_url as sourceUrl, 
+    summary,
+    jmrh_flag as jmrhFlag,
+    province_id as provinceId
     from news
     where id = #{id,jdbcType=BIGINT}
   </select>
@@ -220,7 +231,7 @@
   <select id="portalNewsList" resultType="com.goafanti.news.bo.NewsPortalList">
 		select
 			a.id,
-			a.create_time as createTime,
+			DATE_FORMAT(a.create_time,'%Y-%d-%m') as createTime,
 			a.title,
 			a.title_img as titleImg,
 			a.type,

Plik diff jest za duży
+ 1010 - 1
src/main/java/com/goafanti/common/mapper/UserMapper.xml


+ 16 - 0
src/main/java/com/goafanti/common/model/News.java

@@ -18,6 +18,12 @@ public class News {
 	 * 创建时间
 	 */
 	private Date	createTime;
+	
+	/**
+	 * 创建时间
+	 */
+	private String	CreateTimeS;
+	
 
 	/**
 	 * 修改时间
@@ -203,4 +209,14 @@ public class News {
 	public void setCreateTimeFormattedDate(String createTimeFormattedDate) {
 
 	}
+
+	public String getCreateTimeS() {
+		return CreateTimeS;
+	}
+
+	public void setCreateTimeS(String createTimeS) {
+		CreateTimeS = createTimeS;
+	}
+	
+	
 }

+ 3 - 1
src/main/java/com/goafanti/dataGlossory/service/DistrictGlossoryService.java

@@ -11,5 +11,7 @@ public interface DistrictGlossoryService {
 	public List<DistrictGlossory> list(Integer pid);
 
 	public void clear(Integer pid);
-
+	
+	public String selectNameById(Integer id);
+	
 }

+ 6 - 1
src/main/java/com/goafanti/dataGlossory/service/impl/DistrictGlossoryServiceImpl.java

@@ -19,7 +19,7 @@ public class DistrictGlossoryServiceImpl implements DistrictGlossoryService {
 	
 	@Autowired
 	private DistrictGlossoryMapper districtGlossoryMapper;
-
+	
 	@Override
 	public DistrictGlossory selectByPrimaryKey(Integer id) {
 		return districtGlossoryMapper.selectByPrimaryKey(id);
@@ -37,4 +37,9 @@ public class DistrictGlossoryServiceImpl implements DistrictGlossoryService {
 	public void clear(Integer pid) {
 		LoggerUtils.debug(logger, "清除地区列表缓存:[%s]", pid);
 	}
+
+	@Override
+	public String selectNameById(Integer id) {
+		return districtGlossoryMapper.selectNameById(id);
+	}
 }

+ 54 - 1
src/main/java/com/goafanti/demand/bo/DemandListBo.java

@@ -38,14 +38,23 @@ public class DemandListBo {
 	private Date	releaseDate;
 
 	/**
-	 * 需求类型
+	 * 需求类型 
 	 */
 	private Integer	demandType;
+	private String	demandTypeS;
 
 	private Date	validityPeriod;
 
 	private Integer	status;
+	
+	private Integer fixedbudget;
+	
+	private Integer		industryCategoryA;
 
+	private String		industryCategoryAS;
+
+	private String		pictureUrl;
+	
 	/**
 	 * 是否发布(0-未发布,1-发布)
 	 */
@@ -182,4 +191,48 @@ public class DemandListBo {
 
 	}
 
+	public Integer getFixedbudget() {
+		return fixedbudget;
+	}
+
+	public void setFixedbudget(Integer fixedbudget) {
+		this.fixedbudget = fixedbudget;
+	}
+
+	public Integer getIndustryCategoryA() {
+		return industryCategoryA;
+	}
+
+	public void setIndustryCategoryA(Integer industryCategoryA) {
+		this.industryCategoryA = industryCategoryA;
+	}
+
+	public String getIndustryCategoryAS() {
+		return industryCategoryAS;
+	}
+
+	public void setIndustryCategoryAS(String industryCategoryAS) {
+		this.industryCategoryAS = industryCategoryAS;
+	}
+
+	public String getPictureUrl() {
+		return pictureUrl;
+	}
+
+	public void setPictureUrl(String pictureUrl) {
+		this.pictureUrl = pictureUrl;
+	}
+
+	public String getDemandTypeS() {
+		return demandTypeS;
+	}
+
+	public void setDemandTypeS(String demandTypeS) {
+		this.demandTypeS = demandTypeS;
+	}
+
+	
+	
+	
+
 }

+ 7 - 0
src/main/java/com/goafanti/demand/service/DemandService.java

@@ -1,6 +1,7 @@
 package com.goafanti.demand.service;
 
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.List;
 
 import com.goafanti.achievement.bo.AchievementDemandListBo;
@@ -77,4 +78,10 @@ public interface DemandService {
 
 	/** 精品需求 **/
 	Pagination<BoutiqueListBo> boutiqueSearchList(Integer industryCategoryA,Integer pNo, Integer pSize);
+	
+	/** 查询需求 **/
+	ArrayList<DemandListBo> selectDemandList(Integer boutique);
+	
+	/**猜你喜欢**/
+	List<DemandListBo> selectCsutomerLike();
 }

+ 11 - 0
src/main/java/com/goafanti/demand/service/impl/DemandServiceImpl.java

@@ -732,6 +732,7 @@ public class DemandServiceImpl extends BaseMybatisDao<DemandMapper> implements D
 		return demandMapper.selectByPrimaryKey(id);
 	}
 
+	@SuppressWarnings("unchecked")
 	@Override
 	public Pagination<BoutiqueListBo> boutiqueSearchList(Integer industryCategoryA, Integer pNo, Integer pSize) {
 		Map<String, Object> params = new HashMap<>();
@@ -740,4 +741,14 @@ public class DemandServiceImpl extends BaseMybatisDao<DemandMapper> implements D
 				params,pNo,pSize);
 	}
 
+	@Override
+	public ArrayList<DemandListBo> selectDemandList(Integer boutique) {
+		return demandMapper.selectDemandList(boutique);
+	}
+
+	@Override
+	public List<DemandListBo> selectCsutomerLike() {
+		return demandMapper.selectCsutomerLike();
+	}
+
 }

+ 24 - 0
src/main/java/com/goafanti/news/bo/NewsPortalList.java

@@ -1,8 +1,22 @@
 package com.goafanti.news.bo;
 
+
 public class NewsPortalList extends NewsSummary {
 
 	private String	content;
+	
+	private String title;
+	
+	private String DataS;
+	
+
+	public String getTitle() {
+		return title;
+	}
+
+	public void setTitle(String title) {
+		this.title = title;
+	}
 
 	public String getContent() {
 		return content;
@@ -12,4 +26,14 @@ public class NewsPortalList extends NewsSummary {
 		this.content = content;
 	}
 
+	public String getDataS() {
+		return DataS;
+	}
+
+	public void setDataS(String dataS) {
+		DataS = dataS;
+	}
+	
+	
+
 }

+ 23 - 2
src/main/java/com/goafanti/news/controller/NewsController.java

@@ -1,5 +1,6 @@
 package com.goafanti.news.controller;
 
+import java.text.SimpleDateFormat;
 import java.util.List;
 
 import javax.annotation.Resource;
@@ -17,7 +18,10 @@ 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.model.News;
 import com.goafanti.common.utils.StringUtils;
+import com.goafanti.core.mybatis.page.Pagination;
+import com.goafanti.news.bo.NewsPortalList;
 import com.goafanti.news.enums.NewsType;
 import com.goafanti.news.service.NewsService;
 
@@ -98,18 +102,35 @@ public class NewsController extends BaseController {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "新闻ID"));
 			return res;
 		}
+		
+		/*newsService.portalNewsList(6,1, type,hot,provinceId,keyword)*/
+		
 		res.setData(newsService.findNewsDetail(id));
 		return res;
 	}
 
 	@RequestMapping(value = "/portal/news/newsDetail", method = RequestMethod.GET)
-	public ModelAndView portalHighTechEvaluateIprInfo(HttpServletRequest request, ModelAndView modelview) {
+	public ModelAndView portalHighTechEvaluateIprInfo(HttpServletRequest request, ModelAndView modelview,Long id) {
 		modelview.setViewName("/portal/news/newsDetail");
+		Pagination<NewsPortalList> newsList = newsService.portalNewsList(6,1,5,null,null,null);
+		News newsDetail = newsService.findNewsDetail(id);
+		Object news = newsList.getList().get(0);
+		SimpleDateFormat fmt =new SimpleDateFormat();
+		newsDetail.setCreateTimeS(fmt.format( newsDetail.getCreateTime()));
+		@SuppressWarnings("unchecked")
+		List<NewsPortalList> la = (List<NewsPortalList>)newsList.getList();
+		for(NewsPortalList n : la) {
+			String createTimeFormattedDate = n.getCreateTimeFormattedDate();
+			n.setDataS(createTimeFormattedDate);
+		}
+		modelview.addObject("newsDetail", newsDetail);
+		modelview.addObject("newsList", newsList.getList());
+		modelview.addObject("news", news);
 		return modelview;
 		
 	}
 
-	private void handleBanners(ModelAndView modelview, BannersType bannersType) {
+	private void handleBanners(ModelAndView modelview,  BannersType bannersType) {
 		List<Banners> banners = bannersService.findPortalBanners(bannersType.getKey());
 		if (!banners.isEmpty()) {
 			modelview.addObject("banners", banners);

+ 31 - 5
src/main/java/com/goafanti/portal/bo/AchievementPortalDetailBo.java

@@ -56,9 +56,13 @@ public class AchievementPortalDetailBo {
 
 	private String			ownerName;
 
-	private Integer			level;
+	private String			ownerType;
+	
+	private Integer			category;
 
 	private Integer			bargainingMode;
+	
+	private String			categoryS;
 
 	public Integer getBargainingMode() {
 		return bargainingMode;
@@ -68,14 +72,16 @@ public class AchievementPortalDetailBo {
 		this.bargainingMode = bargainingMode;
 	}
 
-	public Integer getLevel() {
-		return level;
+
+	public Integer getCategory() {
+		return category;
 	}
 
-	public void setLevel(Integer level) {
-		this.level = level;
+	public void setCategory(Integer category) {
+		this.category = category;
 	}
 
+
 	public String getOwnerName() {
 		return ownerName;
 	}
@@ -271,4 +277,24 @@ public class AchievementPortalDetailBo {
 	public void setReleaseDateFormattedDate(String releaseDateFormattedDate) {
 
 	}
+
+	public String getOwnerType() {
+		return ownerType;
+	}
+
+	public void setOwnerType(String ownerType) {
+		this.ownerType = ownerType;
+	}
+
+	public String getCategoryS() {
+		return categoryS;
+	}
+
+	public void setCategoryS(String categoryS) {
+		this.categoryS = categoryS;
+	}
+
+	
+	
+	
 }

+ 43 - 0
src/main/java/com/goafanti/portal/bo/DemandPortalDetailBo.java

@@ -34,6 +34,14 @@ public class DemandPortalDetailBo {
 	private String		employerName;
 
 	private Integer		level;
+	
+	private String		pictureUrl;
+	
+	private String		employerAddress;
+	
+	private String      validityPeriod;
+	
+	private Integer      fixedbudget;
 
 	public Integer getLevel() {
 		return level;
@@ -163,4 +171,39 @@ public class DemandPortalDetailBo {
 		this.city = city;
 	}
 
+	public String getPictureUrl() {
+		return pictureUrl;
+	}
+
+	public void setPictureUrl(String pictureUrl) {
+		this.pictureUrl = pictureUrl;
+	}
+
+	public String getEmployerAddress() {
+		return employerAddress;
+	}
+
+	public void setEmployerAddress(String employerAddress) {
+		this.employerAddress = employerAddress;
+	}
+
+
+	public Integer getFixedbudget() {
+		return fixedbudget;
+	}
+
+	public void setFixedbudget(Integer fixedbudget) {
+		this.fixedbudget = fixedbudget;
+	}
+
+	public String getValidityPeriod() {
+		return validityPeriod;
+	}
+
+	public void setValidityPeriod(String validityPeriod) {
+		this.validityPeriod = validityPeriod;
+	}
+	
+	
+	
 }

+ 62 - 0
src/main/java/com/goafanti/user/bo/OrgPartnerDetailBo.java

@@ -24,6 +24,19 @@ public class OrgPartnerDetailBo {
 	private String	companyIntroduction;
 
 	private String	interestId;
+	
+	/**用户名**/
+	private String userName;
+	/**工作单位**/
+	private String workUnit;
+	/**职位**/
+	private String position;
+	/**成就**/
+	private String achievement;
+	/**个人头像**/
+	private String personPortraitUrl;
+	/**个人介绍**/
+	private String personalProfile;
 
 	public String getInterestId() {
 		return interestId;
@@ -121,4 +134,53 @@ public class OrgPartnerDetailBo {
 		this.number = number;
 	}
 
+	public String getUserName() {
+		return userName;
+	}
+
+	public void setUserName(String userName) {
+		this.userName = userName;
+	}
+
+	public String getWorkUnit() {
+		return workUnit;
+	}
+
+	public void setWorkUnit(String workUnit) {
+		this.workUnit = workUnit;
+	}
+
+	public String getPosition() {
+		return position;
+	}
+
+	public void setPosition(String position) {
+		this.position = position;
+	}
+
+	public String getAchievement() {
+		return achievement;
+	}
+
+	public void setAchievement(String achievement) {
+		this.achievement = achievement;
+	}
+
+	public String getPersonPortraitUrl() {
+		return personPortraitUrl;
+	}
+
+	public void setPersonPortraitUrl(String personPortraitUrl) {
+		this.personPortraitUrl = personPortraitUrl;
+	}
+
+	public String getPersonalProfile() {
+		return personalProfile;
+	}
+
+	public void setPersonalProfile(String personalProfile) {
+		this.personalProfile = personalProfile;
+	}
+
+	
 }

+ 63 - 0
src/main/java/com/goafanti/user/bo/UserPartnerDetailBo.java

@@ -4,6 +4,8 @@ public class UserPartnerDetailBo {
 	private String	username;
 
 	private Integer	province;
+	
+	private String	provinceS;
 
 	private Long	number;
 
@@ -24,6 +26,15 @@ public class UserPartnerDetailBo {
 	private String	lifePhotoUrl;
 
 	private String	interestId;
+	
+	/**用户名**/
+	private String userName;
+	/**工作单位**/
+	private String workUnit;
+	/**职位**/
+	private String position;
+	/**成就**/
+	private String achievement;
 
 	public String getInterestId() {
 		return interestId;
@@ -121,4 +132,56 @@ public class UserPartnerDetailBo {
 		this.number = number;
 	}
 
+	public String getUserName() {
+		return userName;
+	}
+
+	public void setUserName(String userName) {
+		this.userName = userName;
+	}
+
+	public String getWorkUnit() {
+		return workUnit;
+	}
+
+	public void setWorkUnit(String workUnit) {
+		this.workUnit = workUnit;
+	}
+
+	public String getPosition() {
+		return position;
+	}
+
+	public void setPosition(String position) {
+		this.position = position;
+	}
+
+	public String getAchievement() {
+		return achievement;
+	}
+
+	public void setAchievement(String achievement) {
+		this.achievement = achievement;
+	}
+
+	public String getProvinceS() {
+		return provinceS;
+	}
+
+	public void setProvinceS(String provinceS) {
+		this.provinceS = provinceS;
+	}
+
+	@Override
+	public String toString() {
+		return "reuserPartner [username=" + username + ", province=" + province + ", provinceS=" + provinceS
+				+ ", number=" + number + ", city=" + city + ", area=" + area + ", engagedField=" + engagedField
+				+ ", personalProfile=" + personalProfile + ", level=" + level + ", abilityLabel=" + abilityLabel
+				+ ", personPortraitUrl=" + personPortraitUrl + ", lifePhotoUrl=" + lifePhotoUrl + ", interestId="
+				+ interestId + ", userName=" + userName + ", workUnit=" + workUnit + ", position=" + position
+				+ ", achievement=" + achievement + "]";
+	}
+
+	
+	
 }

+ 2 - 0
src/main/java/com/goafanti/user/service/UserService.java

@@ -68,4 +68,6 @@ public interface UserService {
 	Pagination<StarAndExpertListBo> listStarAndExpert(Integer number, String engagedField, String username,
 			String professionalTitle, String workUnit, Integer pNo, Integer pSize);
 
+	List<UserPartnerDetailBo> findUserPartner();
+
 }

+ 7 - 2
src/main/java/com/goafanti/user/service/impl/UserServiceImpl.java

@@ -424,12 +424,12 @@ public class UserServiceImpl extends BaseMybatisDao<UserMapper> implements UserS
 
 	@Override
 	public UserPartnerDetailBo findUserPartnerDetail(String uid) {
-		return userMapper.findUserPartnerDetail(uid, TokenManager.getUserId());
+		return userMapper.findUserPartnerDetail(uid);
 	}
 
 	@Override
 	public OrgPartnerDetailBo findOrgPartnerDetail(String uid) {
-		return userMapper.findOrgPartnerDetail(uid, TokenManager.getUserId());
+		return userMapper.findOrgPartnerDetail(uid);
 	}
 
 	@SuppressWarnings("unchecked")
@@ -511,4 +511,9 @@ public class UserServiceImpl extends BaseMybatisDao<UserMapper> implements UserS
 		return String.valueOf(userMapper.selectNumberByPrimaryKey(userId));
 	}
 
+	@Override
+	public List<UserPartnerDetailBo> findUserPartner() {
+		return userMapper.findUserPartner();
+	}
+
 }

Plik diff jest za duży
+ 0 - 191
src/main/webapp/WEB-INF/views/portal/detail/achievementDetail.html


Plik diff jest za duży
+ 0 - 177
src/main/webapp/WEB-INF/views/portal/detail/demandDetail.html


+ 47 - 34
src/main/webapp/WEB-INF/views/portal/news/newsDetail.html

@@ -1,47 +1,59 @@
 <!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:th="http://www.thymeleaf.org"
+	xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
 
 <head th:replace="common::header(~{::title},~{::link})">
-	<title>新闻详情</title>
-	<link th:href="${portalHost + '/vendors.css'}" rel="stylesheet">
-	<link th:href="${portalHost + '/news/newsDetail.css'}" rel="stylesheet">
+<title>新闻详情</title>
+<link th:href="${portalHost + '/vendors.css'}" rel="stylesheet">
+<link th:href="${portalHost + '/thinkTank/policyDetail.css'}" rel="stylesheet">
 </head>
 
 <body>
 	<header>
-		<div th:replace="common::{topNav}"></div>
+		<div th:replace="common::nav('news','newsDetail')"></div>
 	</header>
-	<div class="header_nav_detail">
-		<div class="container ">
-			<div class="row clearfix">
-				<div class="col-md-3 logo">
-					<div th:replace="common::sublogo"></div>
+	<div id="policyDetail">
+		<div id="policy_content">
+			<div class="content_left" th:each="newsDetail:${newsDetail}">
+				<h3 th:text="${newsDetail.title}?${newsDetail.title}:''"></h3>
+				<div class="small_title">
+					<span>时间:<span th:text="${newsDetail.createTime}?${newsDetail.createTimeS}:''"></span></span>
+					<span>来源:<span th:text="${newsDetail.source}?${newsDetail.source}:行业新闻"></span></span>
 				</div>
-				<div class="col-md-9">
-					<div th:replace="common::subMenu('news','')"></div>
+				<div class="content_img">
+					<img th:src="${avatarUploadHost+newsDetail.titleImg}" alt="" />
+				</div>
+				<p  th:text="${newsDetail.content}?${newsDetail.content}:'暂无内容'">
+				</p>
+				<h5 class="text_end">文章来自:</h5>
+				<a th:href="${newsDetail.sourceUrl}?${newsDetail.sourceUrl}:'www.jishutao.com'"></a>
+				<hr />
+				<h5 >本文关键词:</h5>
+				<span>高新</span> <span>信息</span> <span>技术</span>
+				<hr />
+				<!-- <div class="next_div">
+					<span class="rf">
+						<h5>下一篇:</h5> <a href="#">科技探索</a>
+					</span> <span>
+						<h5>上一篇:</h5> <a href="#">探索科技</a>
+					</span>
+				</div> -->
+				<hr />
+				<h5>推荐文章:</h5>
+				<div th:each="news:${news}">
+				    <span th:text="${news.title}?${news.title}:'暂无更多内容'"></span>
 				</div>
 			</div>
-		</div>
-		<div class="secondary_navigation"></div>
-	</div>
-	<div th:replace="common::banners"></div>
-	<div class="banner-item" th:if="${banners==null}">
-		<img th:src="${portalHost + '/img/newsDetail_banner.jpg'}" alt="First slide">
-	</div>
-
-	<div class="container newsDetails_content">
-		<ul id="newsDetailsTab">
-			<li><a href="/portal/news/newsDetails.html?type=0">全部</a></li>
-			<li><a href="/portal/news/newsDetails.html?type=1">技淘动态</a></li>
-			<li><a href="/portal/news/newsDetails.html?type=2">政府往来</a></li>
-			<li><a href="/portal/news/newsDetails.html?type=3">科技资讯</a></li>
-			<li><a href="/portal/news/newsDetails.html?type=4">国家政策</a></li>
-			<li><a href="/portal/news/newsDetails.html?type=5">地方政策</a></li>
-		</ul>
-		<div class="newsDetail_content">
-			<h4></h4>
-			<p class="from_info">来源:<span class="from_web"></span>时间:<span class="from_date"></span></p>
-			<div id="content_container">
+			<div class="contetn_right" >
+				<div class="right_title">
+					<div>热点资讯</div>
+				</div>
+				<div th:each="newsList:${newsList}">
+					<h5 ><a th:href="@{/portal/news/newsDetail(id=${newsList.id})}"  th:text="${newsList.title}?${newsList.title}:''"></a></h5>
+					 <!-- <img th:src="${avatarUploadHost+newsDetail.titleImg}" alt="" /> -->
+					<p th:text="${newsList.createTime}?${newsList.DataS}:''"></p>
+				</div>
 			</div>
 		</div>
 	</div>
@@ -50,7 +62,8 @@
 	</footer>
 	<div th:replace="common::footer(~{::script})">
 		<script type="text/javascript" th:src="${portalHost + '/vendors.js'}"></script>
-		<script type="text/javascript" th:src="${portalHost + '/news/newsDetail.js'}"></script>
+		<script type="text/javascript"
+			th:src="${portalHost + '/thinkTank/policyDetail.js'}"></script>
 	</div>
 </body>
 

+ 151 - 0
src/main/webapp/WEB-INF/views/portal/technologyTrading/achievementDetail.html

@@ -0,0 +1,151 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:th="http://www.thymeleaf.org"
+	xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head th:replace="common::header(~{::title},~{::link})">
+<title>科技成果详情</title>
+<link th:href="${portalHost +'/vendors.css'}" rel="stylesheet">
+<link th:href="${portalHost + '/technologyTrading/achievementDetail.css'}" rel="stylesheet">
+</head>
+<body>
+	<header>
+		<div th:replace="common::nav('technologyTrading','achievement')"></div>
+	</header>
+	<!--主体内容区域开始-->
+	<div id="all_achievement">
+		<div class="detail">
+			<div class="detail_top">
+				<div class="detail_topimg">
+					<a href="#"><img
+						th:src="${portalHost + '/img/detail_facebook.jpg'}" alt="" /></a> <a
+						href="#"><img
+						th:src="${portalHost + '/img/detail_weixin.jpg'}" alt="" /></a> <a
+						href="#"><img th:src="${portalHost + '/img/detail_weibo.jpg'}"
+						alt="" /></a>
+				</div>
+				<div class="detail_toptitle">
+					<a href="#">技术交易</a> <a href="#">技术专利</a> <a href="#"
+						class="a_detail">专利详情</a>
+				</div>
+			</div>
+			<div class="detail_center">
+				<div class="detail_centerimg">
+					<div>
+						<!-- <div class="small_img" th:each="detail:${achievementdetail}">
+						    <ul th:if="#{!detail.pictureList.empty}">
+								<li th:each="pic:${detail.pictureList}">
+									<img alt="" th:src="${globalConfig.avatarUploadHost + pic}">
+								</li>
+							</ul>
+							<ul th:if="#{detail.pictureList.empty}">
+							</ul>
+						</div> -->
+						<div class="big_img" th:each="achievementdetail:${achievementdetail}">
+							<img th:src= "${avatarUploadHost+achievementdetail.technicalPictureUrl}"alt="" />
+						</div>
+					</div>
+					<div class="basic"  th:each="achievementdetail:${achievementdetail}">
+						<div class="basic_left">
+							<h5>行业</h5>
+							<p th:text="${achievementdetail.field}"></p>
+						</div>
+						<div class="basic_center">
+							<h5>名称</h5>
+							<p th:text="${achievementdetail.name}"></p>
+						</div>
+						<div class="basic_right">
+							<h5>交易方式</h5>
+							<p th:text="${achievementdetail.transferModeS}"></p>
+						</div>
+						<!-- <span><img th:src="${portalHost + '/img/detail_img5.png'}"alt="" /> <span  >8</span> </span> -->
+						<div class="detail_btn">我要咨询</div>
+					</div>
+					<div class="fine" >
+						<div class="fine_title">精品专利</div>
+						<div th:each="reboutiqueachievement:${reboutiqueachievement}">
+							<img th:src="${avatarUploadHost+reboutiqueachievement.technicalpictureurl}" alt="" />
+							<p th:text="${reboutiqueachievement.name}"></p>
+						</div>
+					</div>
+				</div>
+				<div class="detail_centertext" th:each="achievementdetail:${achievementdetail}">
+					<div class="text_left">
+						<div>
+							<h5 class="left_p">技术成熟度:</h5>
+							<p >可以量产</p>
+						</div>
+						<div>
+							<h5>类型:</h5>
+							<p  th:text="${achievementdetail.categoryS}">发明专利</p>
+						</div>
+						<div>
+							<h5>最近更新</h5>
+							<p  th:text="${achievementdetail.releaseDate}">2017-09-17</p>
+						</div>
+					</div>
+					<div class="text_right">
+						<div>技术简介</div>
+						<p th:text="${achievementdetail.introduction}"></p>
+					</div>
+				</div>
+			</div>
+			<div class="detail_bottom">
+				<div class="line">猜你喜欢</div>
+				<div class="main_introduce" >
+					<ul>
+						<li th:each="reachievementlist:${reachievementlist}">
+							<img th:src="${avatarUploadHost+reachievementlist.technicalpictureurl}" alt="" />
+							<div class="list_text">
+								<p>
+									行业:<span th:text="${reachievementlist.field}"></span>
+								</p>
+								<p >
+									名称:<span th:text="${reachievementlist.name}"></span>
+								</p>
+							    <p >
+									类型<span th:text="${reachievementlist.ownerTypeS}"></span>
+								</p> 
+								<p >
+									交易方式:<span th:text="${reachievementlist.transferModeS}"></span>
+								</p>
+								<a href="#">了解详情</a>
+							</div>
+							<div class="star">
+								<p >成熟度:<span th:text="${reachievementlist.maturityS}"></span></p>
+							</div>
+						</li>
+					</ul>
+				</div>
+			</div>
+		</div>
+	</div>
+	<!--主体内容区域结束-->
+	<div class="pub_fix">
+		<span class="index_blur"></span>
+		<ul class="ret_top">
+			<li><a href=""> <img th:src="${portalHost + '/img/index_fix1.png'}" alt="" />
+					<p>发布需求</p>
+			</a></li>
+			<li><a href=""><img th:src="${portalHost + '/img/index_fix2.png'}" alt="" />
+					<p>发布技术</p>
+			</a></li>
+			<li><a
+				href="tencent://Message/?Uin=2035994611&websiteName=q-zone.qq.com&Menu=yes">
+					<img th:src="${portalHost + '/img/index_fix3.png'}" alt="" />
+					<p>联系客服</p>
+			</a></li>
+			<li><a href="" class="pendent_box"> <img th:src="${portalHost + '/img/index_fix4.png'}" alt="" />
+					<p>返回顶部</p>
+			</a></li>
+		</ul>
+		<span class="index_orange"></span>
+	</div>
+	<div th:replace="common::copyright"></div>
+	<div th:replace="common::footer(~{::script})">
+		<script type="text/javascript" th:src="${portalHost + '/vendors.js'}"></script>
+		<script type="text/javascript"
+			th:src="${portalHost + '/technologyTrading/achievementDetail.js'}"></script>
+	</div>
+</body>
+
+</html>

+ 121 - 0
src/main/webapp/WEB-INF/views/portal/technologyTrading/demandDetail.html

@@ -0,0 +1,121 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:th="http://www.thymeleaf.org"
+	xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+
+<head th:replace="common::header(~{::title},~{::link})">
+<title>科技需求详情</title>
+<link th:href="${portalHost + '/vendors.css'}" rel="stylesheet">
+<link th:href="${portalHost + '/technologyTrading/demandDetail.css'}" rel="stylesheet">
+</head>
+
+<body>
+	<header>
+		<div th:replace="common::nav('technologyTrading','demand')"></div>
+	</header>
+	<div id="all_achievement">
+		<div class="detail">
+			<div class="detail_top">
+				<div class="detail_topimg">
+					<a href="#"> <img th:src="${portalHost + '/img/detail_facebook.jpg'}" alt="" /></a> 
+					<a href="#"> <img th:src="${portalHost + '/img/detail_weixin.jpg'}" alt="" /></a> 
+					<a href="#"> <img th:src="${portalHost + '/img/detail_weibo.jpg'}" alt="" /></a>
+				</div>
+				<div class="detail_toptitle" th:each="demand:${demand}">
+					<a href="#">技术交易</a>  <a href="#">技术需求</a>  <a href="#"class="a_detail" th:text="${demand.name}">关于超细颗粒金属碳化物的制造技术</a>
+				</div>
+			</div>
+			<div class="detail_center">
+				<div class="detail_centerimg" th:each="demand:${demand}">
+					<div class="big_text">
+						<h3 th:text="${demand.name}"></h3>
+					</div>
+					<div class="big_img">
+						<img th:src= "${avatarUploadHost+demand.pictureUrl}"alt="" />
+					</div>
+					<div class="basic">
+						<div>
+							<h5>名称:</h5>
+							<p th:text="${demand.name}?${demand.name}:暂无名称"></p>
+						</div>
+						<div>
+							<h5>联系人:</h5>
+							<p th:text="${demand.employerName}?${demand.employerName}:未公开"></p>
+						</div>
+						<div>
+							<h5>联系人地址:</h5>
+							<p th:text="${demand.employerAddress}?${demand.employerAddress}:未公开"></p>
+						</div>
+						<div class="inline_span">
+							<span>行业:</span>  <span th:text="${demand.industryCategoryAS}?${demand.industryCategoryAS}:暂无行业分类"></span>
+						</div>
+						<div class="inline_span" >
+							<span>需求预算:</span> <span th:text="${demand.fixedbudget}?${demand.fixedbudget}:价格面议"></span>
+						</div>
+						<div class="inline_span">
+							<span>有效日期:</span> <span th:text="${demand.validityPeriod}"></span>
+						</div>
+						<!-- <span> <img src="../../img/detail_img5.jpg" alt="" /> <span>8</span></span> -->
+						<div class="detail_btn">我要咨询</div>
+					</div>
+					<div class="fine">
+						<div class="fine_title">精品需求</div>
+						<div th:each="reboutiquedemand:${reboutiquedemand}">
+							<img th:src="${avatarUploadHost+reboutiquedemand.pictureUrl}" alt="" />
+							<p th:text="${reboutiquedemand.name}"></p>
+						</div>
+					</div>
+				</div>
+				<div class="detail_centertext">
+					<div class="text_right" th:each="demand:${demand}">
+						<div>问题描述</div>
+						<p th:text="${demand.problemDes}?${demand.problemDes}:Sorry还没有相关描述"></p>
+					</div>
+				</div>
+			</div>
+			<div class="detail_bottom">
+				<div class="line">猜你喜欢</div>
+				<div class="main_introduce">
+					<ul>
+						<li th:each="redemandlist:${redemandlist}"><img th:src="${avatarUploadHost+redemandlist.pictureUrl}" alt="" />
+							<div class="list_text">
+								<p>
+									行业:<span th:text="${redemandlist.industryCategoryAS}?${redemandlist.industryCategoryAS}:暂无行业分类"></span>
+								</p>
+								<p >
+									名称:<span th:text="${redemandlist.name}?${redemandlist.name}:暂无名称"></span>
+								</p>
+								<p>
+									类型:<span th:text="${redemandlist.demandTypeS}?${redemandlist.demandTypeS}:暂无分类"></span>
+								</p>
+								<p class="money">
+									预算:<span th:text="${redemandlist.fixedbudget}?${redemandlist.fixedbudget}:价格面议"></span>
+								</p>
+								<a href="#">了解详情</a>
+							</div>
+							<div class="star">
+								<p>精品:</p>
+								<ol>
+									<li></li>
+									<li></li>
+									<li></li>
+									<li></li>
+									<li></li>
+								</ol>
+							</div></li>
+					</ul>
+				</div>
+			</div>
+		</div>
+	</div>
+	<footer>
+		<div th:replace="common::copyright"></div>
+	</footer>
+	<div th:replace="common::footer(~{::script})">
+		<script type="text/javascript" th:src="${portalHost + '/vendors.js'}"></script>
+		<script type="text/javascript"
+			th:src="${portalHost + '/technologyTrading/demandDetail.js'}"></script>
+	</div>
+</body>
+
+</html>

+ 162 - 7
src/main/webapp/WEB-INF/views/user/subscriberDetail.html

@@ -1,16 +1,171 @@
 <!DOCTYPE html>
 <html xmlns="http://www.w3.org/1999/xhtml"
-	xmlns:th="http://www.thymeleaf.org">
+	xmlns:th="http://www.thymeleaf.org"
+	xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
 <head th:replace="common::header(~{::title},~{::link})">
-	<title>用户详情页</title>
-	<link th:href="${staticHost+'/user/subscriberDetail.css'}" rel="stylesheet">
+<title>用户详情页</title>
+<link th:href="${portalHost + '/vendors.css'}" rel="stylesheet">
+<link th:href="${portalHost + '/thinkTank/thinkerDetail.css'}" rel="stylesheet">
 </head>
 <body>
-	<div id="root"></div>
-	
+	<header>
+		<div th:replace="common::nav('user','subscriberDetail')"></div>
+	</header>
+
+	<div id="all_thinkerDetail">
+		<div class="thinkerdetail_top" th:each="rePartnerDetail:${rePartnerDetail}">
+			 <div>
+				<div class="detailtop_text">
+					<div>
+						<h4 th:text="${rePartnerDetail.workUnit}?${rePartnerDetail.workUnit}:${rePartnerDetail.username}"></h4><h4 th:text="${rePartnerDetail.position}?${rePartnerDetail.position}:''"></h4>
+						<p th:text="${rePartnerDetail.achievement}"></p>
+					</div>
+				</div> 
+				<div class="detailtop_img">
+					<div class="head_img">
+						<img th:src= "${avatarUploadHost+rePartnerDetail.personPortraitUrl}"alt="" />
+					</div>
+					<div class="people_name" th:text="${rePartnerDetail.username}"></div>
+				</div>
+			</div>
+		</div>
+		<div class="thinkerdetail_center">
+			<div class="detailcenter_left">
+				<div th:each="partnerAchievementList:${partnerAchievementList}">
+					<div class="fruit_title">
+						<p th:text="${partnerAchievementList.maturityS}"></p>
+						<h4  th:text="${partnerAchievementList.name}"></h4>
+					</div>
+					<div class="fruit_text">
+						<p  th:text="${partnerAchievementList.introduction}">
+						</p>
+					</div>
+					<div class="fruit_bottom">
+						<span class="text_spanimg"> 
+							<img th:src="${portalHost + '/img/thinker_detail1.jpg'}" alt="" />
+						</span> 
+						<!-- <span>约1小时|</span> <span>0人约过</span> -->
+					</div>
+				</div> 
+			</div>
+			<div class="detailcenter_right">
+				<div class="right_img">
+					<img th:src="${portalHost + '/img/thinker_detail2.jpg'}" alt="" />
+					<div>
+						线下约见 <span>32次</span>
+					</div> 
+				</div>
+				<div class="right_text" th:each="rePartnerDetail:${rePartnerDetail}">
+					<h3>关于智者</h3>
+					<div>
+						<h5>专业领域:</h5>
+						<p th:text="${rePartnerDetail.abilityLabel}?${rePartnerDetail.abilityLabel}:未知"></p>
+					</div>
+					<div>
+						<h5>所在地:</h5>
+						<p th:text="${rePartnerDetail.provinceS}?${rePartnerDetail.provinceS}:未公开"></p>
+					</div>
+					<div class="summary">
+						<h5>智者简介:</h5>
+						<p th:text="${rePartnerDetail.personalProfile}?${rePartnerDetail.personalProfile}:无"></p>
+					</div>
+					<div class="right_btn">
+						<div class="btn_right">在线咨询</div>
+						<div>线下约见</div>
+					</div>
+				</div>
+					<h3>相关智者</h3>
+				<div class="right_bottom"  th:each="reuserPartner:${reuserPartner}">
+					<div>
+						<div class="people_img"> <img th:src= "${avatarUploadHost+reuserPartner.personPortraitUrl}"alt="" /> </div>
+						<div class="people_text">
+							<h5 th:text="${reuserPartner.username}?${reuserPartner.username}:11111111">纣洪涛</h5>
+							<span th:text="${reuserPartner.position}?${reuserPartner.position}:1111111"></span>
+							<p th:text="${reuserPartner.personalProfile}?${reuserPartner.personalProfile}:暂无简介">哈佛舒服舒服返回上返回是否合适覅和双飞粉石灰粉长沙长沙</p>
+						</div>
+					</div>
+				</div>
+			</div>
+		</div>
+		<!-- <div class="thinkdetail_bottom">
+			<div class="bottom_title">
+				<div>
+					一起来倾听客户的声音
+					<h3>智者评价</h3>
+					<div></div>
+				</div>
+			</div>
+			<div class="bottom_cont">
+				<div>
+					<div class="bottom_conttext">很符合我是否合法 即佛了辐射服 接送费聚四氟及反思和方式飞
+						就爱减肥 佛啊减肥</div>
+					<img src="../../img/thinker_detail5.png" alt="" />
+					<div>
+						<div class="bottompeople_img"></div>
+						<div class="bottompeople_text">
+							<h5>纣洪涛</h5>
+							<span>妇女协会会长</span>
+						</div>
+					</div>
+				</div>
+				<div>
+					<div class="bottom_conttext">非常牛逼</div>
+					<img src="../../img/thinker_detail3.png" alt="" />
+					<div>
+						<div class="bottompeople_img"></div>
+						<div class="bottompeople_text">
+							<h5>纣洪涛</h5>
+							<span>妇女协会会长</span>
+						</div>
+					</div>
+				</div>
+				<div>
+					<div class="bottom_conttext">很好</div>
+					<img src="../../img/thinker_detail5.png" alt="" />
+					<div>
+						<div class="bottompeople_img"></div>
+						<div class="bottompeople_text">
+							<h5>纣洪涛</h5>
+							<span>妇女协会会长</span>
+						</div>
+					</div>
+				</div>
+				<div>
+					<div class="bottom_conttext">太厉害了</div>
+					<img src="../../img/thinker_detail5.png" alt="" />
+					<div>
+						<div class="bottompeople_img"></div>
+						<div class="bottompeople_text">
+							<h5>纣洪涛</h5>
+							<span>妇女协会会长</span>
+						</div>
+					</div>
+				</div>
+				<div>
+					<div class="bottom_conttext">看着就想买</div>
+					<img src="../../img/thinker_detail5.png" alt="" />
+					<div>
+						<div class="bottompeople_img"></div>
+						<div class="bottompeople_text">
+							<h5>纣洪涛</h5>
+							<span>妇女协会会长</span>
+						</div>
+					</div>
+				</div>
+			</div>
+		</div> -->
+	</div>
+
+	<footer>
+		<div th:replace="common::copyright"></div>
+		<div th:replace="common::login"></div>
+	</footer>
+	<div class="smg">
+		<input type="text" name="msg" value="" id="msg" />
+	</div>
 	<div th:replace="common::footer(~{::script})">
-		<script type="text/javascript" th:src="${staticHost+'/vendors.js'}"></script>
-		<script type="text/javascript" th:src="${staticHost+'/user/subscriberDetail.js'}"></script>
+		<script type="text/javascript" th:src="${portalHost + '/vendors.js'}"></script>
+		<script type="text/javascript" th:src="${portalHost + '/thinkTank/thinkerDetail.js'}"></script>
 	</div>
 </body>
 </html>