Antiloveg 8 years ago
parent
commit
72fbb3a51d

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

@@ -13,6 +13,7 @@ import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.demand.bo.DemandAchievementListBo;
 import com.goafanti.portal.bo.AchievementDetailBo;
 import com.goafanti.portal.bo.AchievementPortalDetailBo;
+import com.goafanti.portal.bo.AchievementPortalSimilarListBo;
 import com.goafanti.portal.bo.AchievementSearchListBo;
 
 public interface AchievementService {
@@ -63,5 +64,7 @@ public interface AchievementService {
 
 	AchievementPortalDetailBo findOrgPortalAchievementDetail(String id);
 
+	List<AchievementPortalSimilarListBo> findByFieldA(Integer fieldA, String id, Integer type);
+
 
 }

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

@@ -48,6 +48,7 @@ import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.demand.bo.DemandAchievementListBo;
 import com.goafanti.portal.bo.AchievementDetailBo;
 import com.goafanti.portal.bo.AchievementPortalDetailBo;
+import com.goafanti.portal.bo.AchievementPortalSimilarListBo;
 import com.goafanti.portal.bo.AchievementSearchListBo;
 
 @Service
@@ -489,4 +490,14 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
 		return achievementMapper.findOrgPortalAchievementDetail(id);
 	}
 
+	@Override
+	public List<AchievementPortalSimilarListBo> findByFieldA(Integer fieldA, String id, Integer type) {
+		if (UserType.PERSONAL.getCode().equals(type)){
+			return achievementMapper.findUserPortalSimilarByFieldA(fieldA, id);
+		} else if(UserType.ORGANIZATION.getCode().equals(type)){
+			return achievementMapper.findOrgPortalSimilarByFieldA(fieldA, id);
+		}
+		return null;
+	}
+
 }

+ 83 - 2
src/main/java/com/goafanti/common/controller/PortalController.java

@@ -1,20 +1,101 @@
 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.UserType;
+import com.goafanti.demand.service.DemandService;
+import com.goafanti.portal.bo.AchievementPortalDetailBo;
+import com.goafanti.portal.bo.AchievementPortalSimilarListBo;
+import com.goafanti.portal.bo.DemandPortalDetailBo;
+import com.goafanti.portal.bo.DemandPortalSimilarListBo;
+
 @Controller
 public class PortalController extends BaseController {
-	
+	@Resource
+	private AchievementService	achievementService;
+	@Resource
+	private DemandService		demandService;
+
 	@RequestMapping(value = "/index", method = RequestMethod.GET)
 	public String index(ModelAndView modelview) {
 		return "/index";
 	}
-	
+
 	@RequestMapping(value = "/", method = RequestMethod.GET)
 	public String home(ModelAndView modelview) {
 		return "/index";
 	}
+
+	/**
+	 * 科技需求详情
+	 */
+	@RequestMapping(value = "/portal/detail/demandDetail", method = RequestMethod.GET)
+	public ModelAndView portalDemandDetail(String id, Integer type) {
+		ModelAndView mv = new ModelAndView();
+		DemandPortalDetailBo demand = null;
+		if (UserType.PERSONAL.getCode().equals(type)) {
+			demand = demandService.findUserPortalDemandDetail(id);
+		} else if (UserType.ORGANIZATION.getCode().equals(type)) {
+			demand = demandService.findOrgPortalDemandDetail(id);
+		}
+		if (null != demand) {
+			String keyword = demand.getKeyword();
+			if (StringUtils.isNotBlank(keyword)) {
+				demand.setKeywordList(Arrays.asList(keyword.trim().split(",|,")));
+			}
+			Integer industryCategoryA = demand.getIndustryCategoryA();
+			if (null != industryCategoryA) {
+				List<DemandPortalSimilarListBo> similarList = demandService.findByIndustryCategoryA(industryCategoryA,
+						demand.getId());
+				mv.addObject("similarList", similarList);
+			}
+		}
+		mv.setViewName("/portal/detail/demandDetail");
+		mv.addObject("demand", demand);
+
+		return mv;
+	}
+
+	/**
+	 * 科技成果详情
+	 */
+	@RequestMapping(value = "/portal/detail/achievementDetail", method = RequestMethod.GET)
+	public ModelAndView portalAchievementDetail(String id, Integer type) {
+		ModelAndView mv = new ModelAndView();
+		AchievementPortalDetailBo achievement = null;
+		if (UserType.PERSONAL.getCode().equals(type)) {
+			achievement = achievementService.findUserPortalAchievementDetail(id);
+		} else if (UserType.ORGANIZATION.getCode().equals(type)) {
+			achievement = achievementService.findOrgPortalAchievementDetail(id);
+		}
+		if (null != achievement) {
+			String keyword = achievement.getKeyword();
+			if (StringUtils.isNotBlank(keyword)) {
+				achievement.setKeywordList(Arrays.asList(keyword.trim().split(",|,")));
+			}
+			Integer fieldA = achievement.getFieldA();
+			if (null != fieldA) {
+				List<AchievementPortalSimilarListBo> similarList = achievementService.findByFieldA(fieldA,
+						achievement.getId(), type);
+				mv.addObject("similarList", similarList);
+			}
+			String technicalPictureUrl = achievement.getTechnicalPictureUrl();
+			if (StringUtils.isNotBlank(technicalPictureUrl)) {
+				achievement.setPictureList(Arrays.asList(technicalPictureUrl.trim().split(",|,")));
+			}
+		}
+		mv.setViewName("/portal/detail/achievementDetail");
+		mv.addObject("achievement", achievement);
+		return mv;
+	}
 }

+ 1 - 64
src/main/java/com/goafanti/common/controller/WebpageController.java

@@ -1,12 +1,9 @@
 package com.goafanti.common.controller;
 
-import java.util.Arrays;
-import java.util.List;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 
-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;
@@ -15,14 +12,10 @@ import org.springframework.web.servlet.view.RedirectView;
 
 import com.goafanti.achievement.service.AchievementService;
 import com.goafanti.admin.service.AdminService;
-import com.goafanti.common.enums.UserType;
 import com.goafanti.common.model.Admin;
 import com.goafanti.common.model.User;
 import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.demand.service.DemandService;
-import com.goafanti.portal.bo.AchievementPortalDetailBo;
-import com.goafanti.portal.bo.DemandPortalDetailBo;
-import com.goafanti.portal.bo.DemandPortalSimilarListBo;
 import com.goafanti.user.service.UserService;
 
 @Controller
@@ -184,63 +177,7 @@ public class WebpageController extends BaseController {
 		return modelview;
 	}
 
-	/**
-	 * 科技需求详情
-	 */
-	@RequestMapping(value = "/portal/detail/demandDetail", method = RequestMethod.GET)
-	public ModelAndView portalDemandDetail(String id, Integer type) {
-		ModelAndView mv = new ModelAndView();
-		DemandPortalDetailBo demand = null;
-		if (UserType.PERSONAL.getCode().equals(type)) {
-			demand = demandService.findUserPortalDemandDetail(id);
-		} else if (UserType.ORGANIZATION.getCode().equals(type)) {
-			demand = demandService.findOrgPortalDemandDetail(id);
-		}
-		if (null != demand) {
-			String keyword = demand.getKeyword();
-			if (StringUtils.isNotBlank(keyword)) {
-				demand.setKeywordList(Arrays.asList(keyword.trim().split(",|,")));
-			}
-			Integer industryCategoryA = demand.getIndustryCategoryA();
-			if (null != industryCategoryA) {
-				List<DemandPortalSimilarListBo> similarList = demandService.findByIndustryCategoryA(industryCategoryA,
-						demand.getId());
-				mv.addObject("similarList", similarList);
-			}
-		}
-		mv.setViewName("/portal/detail/demandDetail");
-		mv.addObject("demand", demand);
-
-		return mv;
-	}
-
-	/**
-	 * 科技成果详情
-	 */
-	@RequestMapping(value = "/portal/detail/achievementDetail", method = RequestMethod.GET)
-	public ModelAndView portalAchievementDetail(String id, Integer type) {
-		ModelAndView mv = new ModelAndView();
-		AchievementPortalDetailBo achievement = null;
-		if (UserType.PERSONAL.getCode().equals(type)) {
-			achievement = achievementService.findUserPortalAchievementDetail(id);
-		} else if (UserType.ORGANIZATION.getCode().equals(type)) {
-			achievement = achievementService.findOrgPortalAchievementDetail(id);
-		}
-		if (null != achievement){
-			String keyword = achievement.getKeyword();
-			if (StringUtils.isNotBlank(keyword)) {
-				achievement.setKeywordList(Arrays.asList(keyword.trim().split(",|,")));
-			}
-			Integer fieldA = achievement.getFieldA();
-			if (null != fieldA){
-				//List<AchievementPortalSimilarListBo>
-			}
-		}
-		mv.setViewName("/portal/detail/achievementDetail");
-		
-		//if 
-		return mv;
-	}
+	
 
 	private ModelAndView userLogin(HttpServletRequest request, ModelAndView modelview, String next) {
 		String key = TokenManager.getUserId();

+ 15 - 6
src/main/java/com/goafanti/common/dao/AchievementMapper.java

@@ -2,24 +2,27 @@ package com.goafanti.common.dao;
 
 import java.util.List;
 
+import org.apache.ibatis.annotations.Param;
+
 import com.goafanti.achievement.bo.AchievementOrgOwnerDetailBo;
 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;
 
 public interface AchievementMapper {
-    int deleteByPrimaryKey(String id);
+	int deleteByPrimaryKey(String id);
 
-    int insert(Achievement record);
+	int insert(Achievement record);
 
-    int insertSelective(Achievement record);
+	int insertSelective(Achievement record);
 
-    Achievement selectByPrimaryKey(String id);
+	Achievement selectByPrimaryKey(String id);
 
-    int updateByPrimaryKeySelective(Achievement record);
+	int updateByPrimaryKeySelective(Achievement record);
 
-    int updateByPrimaryKey(Achievement record);
+	int updateByPrimaryKey(Achievement record);
 
 	int updateReleaseDate(String id);
 
@@ -38,4 +41,10 @@ public interface AchievementMapper {
 	AchievementPortalDetailBo findUserPortalAchievementDetail(String id);
 
 	AchievementPortalDetailBo findOrgPortalAchievementDetail(String id);
+
+	List<AchievementPortalSimilarListBo> findUserPortalSimilarByFieldA(@Param("fieldA") Integer fieldA,
+			@Param("id") String id);
+
+	List<AchievementPortalSimilarListBo> findOrgPortalSimilarByFieldA(@Param("fieldA") Integer fieldA,
+			@Param("id") String id);
 }

+ 10 - 11
src/main/java/com/goafanti/common/dao/UserMapper.java

@@ -11,19 +11,18 @@ import com.goafanti.user.bo.UserDownLoadBo;
 import com.goafanti.user.bo.UserPageHomeBo;
 import com.goafanti.user.bo.UserPartnerDetailBo;
 
-
 public interface UserMapper {
-    int deleteByPrimaryKey(String id);
+	int deleteByPrimaryKey(String id);
 
-    int insert(User record);
+	int insert(User record);
 
-    int insertSelective(User record);
+	int insertSelective(User record);
 
-    User selectByPrimaryKey(String id);
+	User selectByPrimaryKey(String id);
 
-    int updateByPrimaryKeySelective(User record);
+	int updateByPrimaryKeySelective(User record);
 
-    int updateByPrimaryKey(User record);
+	int updateByPrimaryKey(User record);
 
 	User selectByMobieAndType(String mobile, Integer type);
 
@@ -33,11 +32,11 @@ public interface UserMapper {
 
 	List<OrgListBo> selectUserByAid(String aid);
 
-	String findUserByNameAndMobile(@Param("name")String name, @Param("mobile")String mobile);
+	String findUserByNameAndMobile(@Param("name") String name, @Param("mobile") String mobile);
 
-	String findOrgByNameAndMobile(@Param("name")String name, @Param("mobile")String mobile);
+	String findOrgByNameAndMobile(@Param("name") String name, @Param("mobile") String mobile);
 
-	UserPartnerDetailBo findUserPartnerDetail(String uid);
+	UserPartnerDetailBo findUserPartnerDetail(@Param("uid") String uid, @Param("tokenId") String tokenId);
 
-	OrgPartnerDetailBo findOrgPartnerDetail(String uid);
+	OrgPartnerDetailBo findOrgPartnerDetail(@Param("uid") String uid, @Param("tokenId") String tokenId);
 }

+ 20 - 0
src/main/java/com/goafanti/common/mapper/AchievementMapper.xml

@@ -1179,4 +1179,24 @@
 	WHERE
 		a.id = #{id,jdbcType=VARCHAR}
   </select>
+  
+  <select id="findUserPortalSimilarByFieldA" resultType="com.goafanti.portal.bo.AchievementPortalSimilarListBo">
+  	SELECT
+		a.id,
+		a.name,
+		a.maturity,
+		ui.province,
+		ui.city
+	FROM
+		achievement a
+	LEFT JOIN user_identity ui ON ui.uid = a.owner_id
+	WHERE
+		a.audit_status = 3
+	AND a.deleted_sign = 0
+	AND a.release_status = 1
+	AND a.field_a = #{field,jdbcType=INTEGER}
+	AND a.id <![CDATA[ <> ]]> #{id,jdbcType=VARCHAR}
+	order by a.serial_number desc
+	limit 5 
+  </select>
 </mapper>

+ 5 - 1
src/main/java/com/goafanti/common/mapper/DemandMapper.xml

@@ -1079,8 +1079,12 @@
     	demand d
     left join user u on u.id = d.employer_id
     where 
-    	d.industry_category_a = #{industryCategoryA,jdbcType=INTEGER}
+    	d.audit_status = 3
+    and d.release_status = 1
+    and d.deleted_sign = 0
+    and	d.industry_category_a = #{industryCategoryA,jdbcType=INTEGER}
     and d.id <![CDATA[ <> ]]> #{id,jdbcType=VARCHAR}
+    order by d.serial_number desc
     limit 5
   </select>
 </mapper>

+ 2 - 0
src/main/java/com/goafanti/common/mapper/UserMapper.xml

@@ -592,6 +592,7 @@
 	LEFT JOIN user_career uc ON uc.uid = u.id
 	LEFT JOIN user_ability ua ON ua.uid = u.id
 	LEFT JOIN user_info info ON info.uid = u.id
+	LEFT JOIN user_interest interest on interest.to_uid = u.id and interest.from_uid = #{tokenId,jdbcType=VARCHAR}
 	WHERE
 		u.type = 0
 	and u.id = #{uid,jdbcType=VARCHAR}
@@ -613,6 +614,7 @@
 	LEFT JOIN organization_identity oi ON oi.uid = u.id
 	LEFT JOIN organization_info info ON info.uid = u.id
 	LEFT JOIN user_ability ua ON ua.uid = u.id
+	LEFT JOIN user_interest interest on interest.to_uid = u.id and interest.from_uid = #{tokenId,jdbcType=VARCHAR}
 	WHERE
 		u.type = 1
 	and u.id = #{uid,jdbcType=VARCHAR} 

+ 49 - 1
src/main/java/com/goafanti/portal/bo/AchievementPortalSimilarListBo.java

@@ -1,6 +1,54 @@
 package com.goafanti.portal.bo;
 
 public class AchievementPortalSimilarListBo {
-	//private 
+	private String	id;
+
+	private String	name;
+
+	private String	province;
+
+	private String	city;
+
+	private Integer	maturity;
+
+	public String getId() {
+		return id;
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getProvince() {
+		return province;
+	}
+
+	public void setProvince(String province) {
+		this.province = province;
+	}
+
+	public String getCity() {
+		return city;
+	}
+
+	public void setCity(String city) {
+		this.city = city;
+	}
+
+	public Integer getMaturity() {
+		return maturity;
+	}
+
+	public void setMaturity(Integer maturity) {
+		this.maturity = maturity;
+	}
 
 }

+ 10 - 2
src/main/java/com/goafanti/user/bo/OrgPartnerDetailBo.java

@@ -21,6 +21,16 @@ public class OrgPartnerDetailBo {
 
 	private String	companyIntroduction;
 
+	private String	interestId;
+	
+	public String getInterestId() {
+		return interestId;
+	}
+
+	public void setInterestId(String interestId) {
+		this.interestId = interestId;
+	}
+
 	public String getUnitName() {
 		return unitName;
 	}
@@ -100,7 +110,5 @@ public class OrgPartnerDetailBo {
 	public void setCompanyIntroduction(String companyIntroduction) {
 		this.companyIntroduction = companyIntroduction;
 	}
-	
-	
 
 }

+ 10 - 2
src/main/java/com/goafanti/user/bo/UserPartnerDetailBo.java

@@ -21,6 +21,16 @@ public class UserPartnerDetailBo {
 
 	private String	lifePhotoUrl;
 
+	private String	interestId;
+	
+	public String getInterestId() {
+		return interestId;
+	}
+
+	public void setInterestId(String interestId) {
+		this.interestId = interestId;
+	}
+
 	public String getUsername() {
 		return username;
 	}
@@ -100,7 +110,5 @@ public class UserPartnerDetailBo {
 	public void setLifePhotoUrl(String lifePhotoUrl) {
 		this.lifePhotoUrl = lifePhotoUrl;
 	}
-	
-	
 
 }

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

@@ -343,12 +343,12 @@ public class UserServiceImpl extends BaseMybatisDao<UserMapper> implements UserS
 
 	@Override
 	public UserPartnerDetailBo findUserPartnerDetail(String uid) {
-		return userMapper.findUserPartnerDetail(uid);
+		return userMapper.findUserPartnerDetail(uid, TokenManager.getUserId());
 	}
 
 	@Override
 	public OrgPartnerDetailBo findOrgPartnerDetail(String uid) {
-		return userMapper.findOrgPartnerDetail(uid);
+		return userMapper.findOrgPartnerDetail(uid, TokenManager.getUserId());
 	}
 
 }

File diff suppressed because it is too large
+ 1 - 0
src/main/webapp/WEB-INF/views/portal/detail/achievementDetail.html