Antiloveg 8 years ago
parent
commit
1698da9ab1
1 changed files with 30 additions and 64 deletions
  1. 30 64
      src/main/java/com/goafanti/common/mapper/UserInterestMapper.xml

+ 30 - 64
src/main/java/com/goafanti/common/mapper/UserInterestMapper.xml

@@ -89,73 +89,39 @@
   </select>
   
   <select id="findInterestUserListByPage" parameterType="java.lang.String" resultType="com.goafanti.user.bo.InterestUserListBo">
-	  	SELECT
-		x.interestId,
-		x.uid,
-	    x.userProvince,
-	    x.orgProvince,
-		x.username,
-		x.unitName,
-		x.type,
-		x.createTime, 
-		count(a.id) AS achievementNum,
-		count(d.id) AS demandNum
+	SELECT
+			uii.username,
+			oi.unit_name AS unitName,
+			u.type,
+			u.id AS uid,
+			ui.id AS interestId,
+			ui.create_time AS createTime,
+			uii.province AS userProvince,
+			oi.licence_province AS orgProvince,
+			uinfo.person_portrait_url AS personPortraitUrl,
+			oinfo.logo_url AS logoUrl,
+			adc.achievement_count AS achievementNum,
+			adc.demand_count AS demandNum
 	FROM
-		(
-			SELECT
-				uii.username,
-				oi.unit_name AS unitName,
-				u.type,
-				u.id AS uid,
-				ui.id AS interestId,
-				ui.create_time AS createTime,
-	      uii.province as userProvince,
-	      oi.licence_province as orgProvince,
-	      uinfo.person_portrait_url as personPortraitUrl,
-	      oinfo.logo_url as logoUrl
-			FROM
-				user_interest ui
-			LEFT JOIN user_identity uii ON uii.uid = ui.to_uid
-			LEFT JOIN organization_identity oi ON oi.uid = ui.to_uid
-			LEFT JOIN user u ON u.id = ui.to_uid
-			LEFT JOIN user_info uinfo on uinfo.uid = ui.to_uid
-			LEFT JOIN organization_info oinfo on oinfo.uid = ui.to_uid 
-			WHERE
-				ui.from_uid = #{fromUid,jdbcType=VARCHAR}
-		) x
-	LEFT JOIN achievement a ON a.owner_id = x.uid
-	LEFT JOIN demand d ON d.employer_id = x.uid
-	AND d.deleted_sign = 0
-	AND d.audit_status = 3
-	AND d.release_status = 1
-	AND a.deleted_sign = 0
-	AND a.audit_status = 3
-	AND a.release_status = 1
-	GROUP BY
-		x.uid
-	ORDER BY x.createTime
+		user_interest ui
+	LEFT JOIN user_identity uii ON uii.uid = ui.to_uid
+	LEFT JOIN organization_identity oi ON oi.uid = ui.to_uid
+	LEFT JOIN USER u ON u.id = ui.to_uid
+	LEFT JOIN user_info uinfo ON uinfo.uid = ui.to_uid
+	LEFT JOIN organization_info oinfo ON oinfo.uid = ui.to_uid
+	LEFT JOIN achievement_demand_count adc ON adc.uid = ui.to_uid
+	WHERE
+		ui.from_uid = #{fromUid,jdbcType=VARCHAR}
+	ORDER BY
+		ui.createTime DESC
   </select>
   
   <select id="findInterestUserCount" resultType="java.lang.Integer" parameterType="java.lang.String">
-  		SELECT
-		count(distinct(x.uid))
-	FROM
-		(
-			SELECT
-				u.id AS uid
-			FROM
-				user_interest ui
-			LEFT JOIN user u ON u.id = ui.to_uid
-			WHERE
-				ui.from_uid = #{fromUid,jdbcType=VARCHAR}
-		) x
-	LEFT JOIN achievement a ON a.owner_id = x.uid
-	LEFT JOIN demand d ON d.employer_id = x.uid
-	AND d.deleted_sign = 0
-	AND d.audit_status = 3
-	AND d.release_status = 1
-	AND a.deleted_sign = 0
-	AND a.audit_status = 3
-	AND a.release_status = 1
+  	SELECT
+	  count(1)
+    FROM
+	 user_interest ui
+    WHERE
+	 ui.from_uid = #{fromUid,jdbcType=VARCHAR}
   </select>
 </mapper>