Browse Source

项目管理增加项目地址字段(用于特殊跳转)

anderx 8 years ago
parent
commit
e64e980058

+ 15 - 0
src/main/java/com/goafanti/achievement/service/impl/AchievementInterestServiceImpl.java

@@ -15,11 +15,13 @@ import com.goafanti.achievement.service.AchievementInterestService;
 import com.goafanti.common.dao.AchievementInterestMapper;
 import com.goafanti.common.dao.DemandInterestMapper;
 import com.goafanti.common.dao.NewsInterestMapper;
+import com.goafanti.common.dao.ProjectInterestMapper;
 import com.goafanti.common.dao.UserInterestMapper;
 import com.goafanti.common.enums.InterestType;
 import com.goafanti.common.model.AchievementInterest;
 import com.goafanti.common.model.DemandInterest;
 import com.goafanti.common.model.NewsInterest;
+import com.goafanti.common.model.ProjectInterest;
 import com.goafanti.common.model.User;
 import com.goafanti.common.model.UserInterest;
 import com.goafanti.common.utils.StringUtils;
@@ -41,6 +43,8 @@ public class AchievementInterestServiceImpl extends BaseMybatisDao<AchievementIn
 	private UserInterestMapper userInterestMapper;
 	@Autowired
 	private NewsInterestMapper	newsInterestMapper;
+	@Autowired
+	private ProjectInterestMapper projectInterestMapper;
 	
 	
 	@Override
@@ -123,6 +127,14 @@ public class AchievementInterestServiceImpl extends BaseMybatisDao<AchievementIn
 			a.setCreateTime(new Date());
 			i=	achievementInterestMapper.insert(a);
 		}
+		if (type==InterestType.PROJECT.getCode()) {
+			ProjectInterest p=new ProjectInterest();
+			p.setId(UUID.randomUUID().toString());
+			p.setUid(uid);
+			p.setProjectId(objectId);
+			p.setCreateTime(new Date());
+			i=projectInterestMapper.insert(p);
+		}
 		if (i==1) {
 			return "关注成功";
 		}
@@ -148,6 +160,9 @@ public class AchievementInterestServiceImpl extends BaseMybatisDao<AchievementIn
 		if (type==InterestType.ACHIEVEMENT.getCode()) {
 			 i=achievementInterestMapper.deleteInterest(uid,objectId);
 		}
+		if (type==InterestType.PROJECT.getCode()) {
+			 i=projectInterestMapper.deleteInterest(uid,objectId);
+		}
 		if (i==1) {
 			return "取消关注成功";
 		}

+ 0 - 1
src/main/java/com/goafanti/app/controller/AppUserController.java

@@ -252,7 +252,6 @@ public class AppUserController extends BaseApiController {
 		if (StringUtils.isNotBlank(TokenManager.getUserId())) {
 			uid=TokenManager.getUserId();
 		}
-		
 		if (Integer.valueOf(interest)==0) {
 			res.setData(achievementInterestService.saveInterest( uid, type, objectId,interest));
 		}else {

+ 15 - 0
src/main/java/com/goafanti/business/bo/BusinessProjectBo.java

@@ -125,6 +125,9 @@ public class BusinessProjectBo {
 	 */
 	private String minLogo;
 	
+	
+	private String projectUrl;
+	
 	/**
 	 * 分类名称
 	 */
@@ -610,5 +613,17 @@ public class BusinessProjectBo {
 	public void setBoutique(Integer boutique) {
 		this.boutique = boutique;
 	}
+
+
+
+	public String getProjectUrl() {
+		return projectUrl;
+	}
+
+
+
+	public void setProjectUrl(String projectUrl) {
+		this.projectUrl = projectUrl;
+	}
 	
 }

+ 2 - 10
src/main/java/com/goafanti/business/service/impl/BusinessProjectServiceImpl.java

@@ -140,15 +140,12 @@ public class BusinessProjectServiceImpl extends BaseMybatisDao<BusinessProjectMa
 	@Override
 	public BusinessProjectBo orgProjects(String id) {
 		BusinessProject bp=businessProjectMapper.selectByPrimaryKey(id);
-		
 		BusinessProjectBo bpo=new BusinessProjectBo();
 		BeanUtils.copyProperties(bp,bpo);
 		String cname=getAllCname(bpo.getCid());
 		String createId=bpo.getCreateId();
 		bpo.setCreateName(businessProjectMapper.getCreateName(createId));
 		bpo.setCname(cname);
-		
-		
 		return bpo;
 	}
 	@Override
@@ -253,6 +250,7 @@ public class BusinessProjectServiceImpl extends BaseMybatisDao<BusinessProjectMa
 		bp.setMinLogo(s.getMinLogo());
 		bp.setMaxLogo(s.getMaxLogo());
 		bp.setBoutique(s.getBoutique());
+		bp.setProjectUrl(s.getProjectUrl());
 		if (null!=(s.getStatus())) {
 			bp.setStatus(s.getStatus());
 		}
@@ -401,14 +399,8 @@ public class BusinessProjectServiceImpl extends BaseMybatisDao<BusinessProjectMa
 			pSize = 10;
 		}
 		Map<String, Object> params = new HashMap<>();
-		
-		Pagination<ProjectBo> p=(Pagination<ProjectBo>)findPage("findRecommendProjectListByPage", "findRecommendProjectListCount",
+		return (Pagination<ProjectBo>)findPage("findRecommendProjectListByPage", "findRecommendProjectListCount",
 				params,pNo,pSize);
-		List<ProjectBo> l=(List<ProjectBo>) p.getList();
-		for (ProjectBo pb : l) {
-			pb.setInterestCount(String.valueOf(projectInterestMapper.countInterest(pb.getId())));
-		}
-		return p;
 	}
 	@Override
 	public boolean checkProject(String id) {

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

@@ -97,4 +97,6 @@ public interface ProjectInterestMapper {
 	int  countInterest(String id);
 
 	int checkUidAndDid(@Param("projectId")String projectId,@Param("id") String id);
+
+	int deleteInterest(@Param("uid")String uid, @Param("objectId")String objectId);
 }

+ 2 - 1
src/main/java/com/goafanti/common/enums/InterestType.java

@@ -11,7 +11,8 @@ public enum InterestType {
 	EXPERTS(2, "专家"),
 	POLICY(3,"政策"),
 	UNAUDITED(4,"活动"),
-	OTHER(5, "其他");
+	PROJECT(5,"项目"),
+	OTHER(6, "其他");
 
 	private InterestType(Integer code, String desc) {
 		this.code = code;

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

@@ -1168,7 +1168,7 @@
 	   and  a.release_status = #{releaseStatus,jdbcType=INTEGER}
 	</if>
 	
-	order by serial_number desc
+	order by a.boutique desc
 	<if test="page_sql!=null">
 			${page_sql}
 	</if>

+ 11 - 8
src/main/java/com/goafanti/common/mapper/BusinessProjectMapper.xml

@@ -738,11 +738,12 @@
   
   
   <select id="findRecommendProjectListByPage" resultType="com.goafanti.app.bo.ProjectBo">
- 		select id,bname as name,min_logo as minLogoUrl,introduce
-  		from business_project 
-  		where delete_sign=0 
-  		and status=0
-  		and boutique=1
+ 		select b.id,b.bname as name,b.min_logo as minLogoUrl,b.introduce,ifnull(t.interestCount,0) as interestCount
+  		from business_project b
+  		left join (select count(0)  as interestCount ,project_id from project_interest 
+				group by project_id) t on b.id=t.project_id
+  		where b.delete_sign=0 
+  		and b.status=0
   		<if test="page_sql!=null">
 			${page_sql}
 		</if>
@@ -750,9 +751,11 @@
   <select id="findRecommendProjectListCount" resultType="Integer">
  		select 
   			count(0)
-  		from business_project 
-  		where delete_sign=0 
-  		and status=0
+  		from business_project  b
+  		left join (select count(0)  as interestCount ,project_id from project_interest 
+				group by project_id) t on b.id=t.project_id
+  		where b.delete_sign=0 
+  		and b.status=0
   </select>
   
   <select id="selectAppProjectDetail" resultType="com.goafanti.app.bo.ProjectDetailBo">

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

@@ -1506,7 +1506,7 @@
 	<if test="rEnd != null">
 	   and d.release_date <![CDATA[ < ]]> #{rEnd,jdbcType=TIMESTAMP}
 	</if>
-  	order by d.serial_number desc
+  	order by d.boutique desc
   	<if test="page_sql!=null">
 		${page_sql}
 	</if>
@@ -1679,4 +1679,27 @@
 	left join  achievement a on t.achievement_id=a.id
 	where  t.uid=#{uid,jdbcType=VARCHAR}
 	</select>
+	
+	<select id="findAppProjectInterestByPage" parameterType="String" resultType="com.goafanti.demand.bo.ObjectInterestListBo">
+  	 select b.id ,b.bname as name,t.uid,t.create_time as createTime,ifnull(x.countInterest,0) as countInterest
+	from project_interest t
+	left join (select id,count(0)  as countInterest ,project_id from project_interest
+				group by project_id
+				) x on t.id=x.id  
+	left join business_project  b on t.project_id=b.id
+	where  t.uid=#{uid,jdbcType=VARCHAR}
+  	<if test="page_sql!=null">
+		${page_sql}
+	</if>
+  </select>
+  
+  <select id="findAppProjectInterestCount" parameterType="String" resultType="java.lang.Integer">
+  	select count(1)
+	from project_interest t
+	left join (select id,count(0)  as countInterest ,project_id from project_interest
+				group by project_id
+				) x on t.id=x.id  
+	left join business_project  b on t.project_id=b.id
+	where  t.uid=#{uid,jdbcType=VARCHAR}
+	</select>
 </mapper>

+ 5 - 0
src/main/java/com/goafanti/common/mapper/ProjectInterestMapper.xml

@@ -280,4 +280,9 @@
 	where uid=#{id,jdbcType=VARCHAR}
 	and project_id= #{projectId,jdbcType=VARCHAR}
   </select>
+  <delete id="deleteInterest" parameterType="java.lang.String" >
+    delete from project_interest
+    where uid = #{uid,jdbcType=VARCHAR}
+    and project_id=#{objectId,jdbcType=VARCHAR}
+  </delete>
 </mapper>

+ 5 - 0
src/main/java/com/goafanti/common/model/BusinessProject.java

@@ -3,6 +3,8 @@ package com.goafanti.common.model;
 import java.math.BigDecimal;
 import java.util.Date;
 
+import com.goafanti.common.utils.StringUtils;
+
 public class BusinessProject {
 
 	/**
@@ -569,6 +571,9 @@ public class BusinessProject {
 	 * @mbg.generated  Tue Jan 09 15:08:39 CST 2018
 	 */
 	public String getProjectUrl() {
+		if (StringUtils.isAnyBlank(projectUrl)) {
+			return "";
+		}
 		return projectUrl;
 	}
 

+ 3 - 3
src/main/java/com/goafanti/common/model/ProjectInterest.java

@@ -28,7 +28,7 @@ public class ProjectInterest {
      *
      * @mbg.generated Sat Dec 23 16:12:24 CST 2017
      */
-    private Long projectId;
+    private String projectId;
 
     /**
      *
@@ -95,7 +95,7 @@ public class ProjectInterest {
      *
      * @mbg.generated Sat Dec 23 16:12:24 CST 2017
      */
-    public Long getProjectId() {
+    public String getProjectId() {
         return projectId;
     }
 
@@ -107,7 +107,7 @@ public class ProjectInterest {
      *
      * @mbg.generated Sat Dec 23 16:12:24 CST 2017
      */
-    public void setProjectId(Long projectId) {
+    public void setProjectId(String projectId) {
         this.projectId = projectId;
     }
 

+ 14 - 1
src/main/java/com/goafanti/demand/service/impl/DemandServiceImpl.java

@@ -33,6 +33,7 @@ import com.goafanti.common.dao.NewsInterestMapper;
 
 import com.goafanti.common.dao.NoticeMapper;
 import com.goafanti.common.dao.OrganizationIdentityMapper;
+import com.goafanti.common.dao.ProjectInterestMapper;
 import com.goafanti.common.dao.UserIdentityMapper;
 import com.goafanti.common.dao.UserInterestMapper;
 import com.goafanti.common.dao.UserMapper;
@@ -110,7 +111,8 @@ public class DemandServiceImpl extends BaseMybatisDao<DemandMapper> implements D
 	private NewsInterestMapper	newsInterestMapper;
 	@Autowired
 	private UserInterestMapper	userInterestMapper;
-
+	@Autowired
+	ProjectInterestMapper	projectInterestMapper; 
 
 	@SuppressWarnings("unchecked")
 	@Override
@@ -869,6 +871,7 @@ public class DemandServiceImpl extends BaseMybatisDao<DemandMapper> implements D
 		if (StringUtils.isNotBlank(TokenManager.getUserId())) {
 			params.put("uid", TokenManager.getUserId());
 		}
+		params.put("uid", "904d1d5a-30f6-4813-b632-1ff07a1ad317");
 		if (type==InterestType.POLICY.getCode()) {
 			Pagination<ObjectInterestListBo> p=(Pagination<ObjectInterestListBo>) findPage("findAppNewsInterestByPage", "findAppNewsInterestCount", params, pNo, pSize);
 			List<ObjectInterestListBo> l=(List<ObjectInterestListBo>) p.getList();
@@ -909,6 +912,16 @@ public class DemandServiceImpl extends BaseMybatisDao<DemandMapper> implements D
 			}
 			return p;
 		}
+		if (null==type||type==InterestType.PROJECT.getCode()) {
+			Pagination<ObjectInterestListBo> p=(Pagination<ObjectInterestListBo>) findPage("findAppProjectInterestByPage", "findAppProjectInterestCount", params, pNo, pSize);
+			List<ObjectInterestListBo> l=(List<ObjectInterestListBo>) p.getList();
+			for (ObjectInterestListBo o : l) {
+				int i=projectInterestMapper.countInterest(o.getId());
+				o.setCountInterest(String.valueOf(i));
+				o.setType(type);
+			}
+			return p;
+		}
 		return null;
 	}