@ -58,38 +58,117 @@
AND gp.ID = #{id}
</select>
<!-- <select id="selectListGroupsOfMine" resultType="com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO"> -->
<!-- SELECT -->
<!-- gp.ID, -->
<!-- gp.GROUP_NAME, -->
<!-- gp.GROUP_AVATAR, -->
<!-- gp.GROUP_CATEGORY, -->
<!-- gp.STATE, -->
<!-- COUNT( DISTINCT ugp1.ID ) AS totalNum, -->
<!-- COUNT(DISTINCT ugp2.ID) AS partyMemberNum, -->
<!-- COUNT( DISTINCT ugpr.ID ) AS unreadTopicNum, -->
<!-- MAX( tp.CREATED_TIME ) AS latestTopicTime, -->
<!-- CASE -->
<!-- WHEN gp.STATE = 0 THEN -->
<!-- '网格长会尽快审核您创建的社群,请耐心等待' -->
<!-- WHEN gp.STATE = 5 THEN -->
<!-- gp.PROCESSING_OPINIONS -->
<!-- WHEN ( gp.STATE = 10 AND COUNT( DISTINCT ugp1.ID ) <![CDATA[ <= ]]> 1 AND gp.GROUP_CATEGORY = '1' AND COUNT(DISTINCT tp.ID) = 0 ) THEN -->
<!-- '您的社群审核已通过,快加好友进来吧' ELSE '' -->
<!-- END AS description -->
<!-- FROM -->
<!-- epdc_group gp -->
<!-- RIGHT JOIN epdc_user_group ugp ON gp.ID = ugp.GROUP_ID -->
<!-- AND ugp.DEL_FLAG = '0' -->
<!-- AND ugp.USER_ID = #{userId} -->
<!-- AND ugp.STATE = 10 -->
<!-- LEFT JOIN epdc_user_group ugp1 ON gp.ID = ugp1.GROUP_ID -->
<!-- AND ugp1.DEL_FLAG = '0' -->
<!-- AND ugp1.STATE = 10 -->
<!-- LEFT JOIN epdc_user_group ugp2 ON gp.ID = ugp2.GROUP_ID -->
<!-- AND ugp2.DEL_FLAG = '0' -->
<!-- AND ugp2.STATE = 10 -->
<!-- AND ugp2.PARTY_MEMBER = '1' -->
<!-- LEFT JOIN epdc_group_topic_user_read ugpr ON gp.ID = ugpr.GROUP_ID -->
<!-- AND ugpr.DEL_FLAG = '0' -->
<!-- AND ugpr.USER_ID = #{userId} -->
<!-- AND ugpr.READ_FLAG = '0' -->
<!-- LEFT JOIN epdc_topic tp ON gp.ID = tp.GROUP_ID -->
<!-- AND tp.DEL_FLAG = '0' -->
<!-- WHERE -->
<!-- gp.DEL_FLAG = '0' -->
<!-- AND gp.GRID_ID = #{gridId} -->
<!-- <![CDATA[ AND gp.STATE <> ]]> 20 -->
<!-- GROUP BY -->
<!-- gp.ID -->
<!-- ORDER BY -->
<!-- MAX( tp.CREATED_TIME ) DESC -->
<!-- </select> -->
<select id= "selectListGroupsOfMine" resultType= "com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO" >
SELECT
tmp.ID,
tmp.GROUP_NAME,
tmp.GROUP_AVATAR,
tmp.GROUP_CATEGORY,
tmp.STATE,
tmp.totalNum,
tmp.partyMemberNum,
tmp.unreadTopicNum,
tmp.latestTopicTime,
CASE
WHEN tmp.STATE = 0 THEN
'网格长会尽快审核您创建的社群,请耐心等待'
WHEN tmp.STATE = 5 THEN
tmp.PROCESSING_OPINIONS
WHEN (
tmp.STATE = 10
AND totalNum <![CDATA[ <= ]]> 1
AND tmp.GROUP_CATEGORY = '1'
AND tmp.topicNum = 0
) THEN
'您的社群审核已通过,快加好友进来吧' ELSE ''
END AS description
FROM
(
SELECT
gp.ID,
gp.GROUP_NAME,
gp.GROUP_AVATAR,
gp.GROUP_CATEGORY,
gp.STATE,
COUNT( DISTINCT ugp1.ID ) AS totalNum,
COUNT(DISTINCT ugp2.ID) AS partyMemberNum,
gp.PROCESSING_OPINIONS,
(
SELECT
COUNT( t.ID )
FROM
epdc_user_group t
WHERE
t.GROUP_ID = gp.ID
AND t.DEL_FLAG = '0'
AND t.STATE = 10
) AS totalNum,
(
SELECT
COUNT( t1.ID )
FROM
epdc_user_group t1
WHERE
t1.GROUP_ID = gp.ID
AND t1.DEL_FLAG = '0'
AND t1.STATE = 10
AND t1.PARTY_MEMBER = '1'
) AS partyMemberNum,
COUNT( DISTINCT ugpr.ID ) AS unreadTopicNum,
MAX( tp.CREATED_TIME ) AS latestTopicTime,
CASE
WHEN gp.STATE = 0 THEN
'网格长会尽快审核您创建的社群,请耐心等待'
WHEN gp.STATE = 5 THEN
gp.PROCESSING_OPINIONS
WHEN ( gp.STATE = 10 AND COUNT( DISTINCT ugp1.ID ) <![CDATA[ <= ]]> 1 AND gp.GROUP_CATEGORY = '1' AND COUNT(DISTINCT tp.ID) = 0 ) THEN
'您的社群审核已通过,快加好友进来吧' ELSE ''
END AS description
COUNT( DISTINCT tp.ID ) AS topicNum
FROM
epdc_group gp
RIGHT JOIN epdc_user_group ugp ON gp.ID = ugp.GROUP_ID
AND ugp.DEL_FLAG = '0'
AND ugp.USER_ID = #{userId}
AND ugp.STATE = 10
LEFT JOIN epdc_user_group ugp1 ON gp.ID = ugp1.GROUP_ID
AND ugp1.DEL_FLAG = '0'
AND ugp1.STATE = 10
LEFT JOIN epdc_user_group ugp2 ON gp.ID = ugp2.GROUP_ID
AND ugp2.DEL_FLAG = '0'
AND ugp2.STATE = 10
AND ugp2.PARTY_MEMBER = '1'
LEFT JOIN epdc_group_topic_user_read ugpr ON gp.ID = ugpr.GROUP_ID
AND ugpr.DEL_FLAG = '0'
AND ugpr.USER_ID = #{userId}
@ -104,24 +183,50 @@
gp.ID
ORDER BY
MAX( tp.CREATED_TIME ) DESC
) tmp
ORDER BY
latestTopicTime DESC
</select>
<!-- <select id="selectListGroupsOfRecommend" resultType="com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO"> -->
<!-- SELECT -->
<!-- gp.ID, -->
<!-- gp.GROUP_NAME, -->
<!-- gp.GROUP_AVATAR, -->
<!-- COUNT( DISTINCT ugp1.ID ) AS totalNum, -->
<!-- COUNT( DISTINCT ugp2.ID ) AS partyMemberNum -->
<!-- FROM -->
<!-- epdc_group gp -->
<!-- LEFT JOIN epdc_user_group ugp1 ON gp.ID = ugp1.GROUP_ID -->
<!-- AND ugp1.DEL_FLAG = '0' -->
<!-- AND ugp1.STATE = 10 -->
<!-- LEFT JOIN epdc_user_group ugp2 ON gp.ID = ugp2.GROUP_ID -->
<!-- AND ugp2.DEL_FLAG = '0' -->
<!-- AND ugp2.STATE = 10 -->
<!-- AND ugp2.PARTY_MEMBER = '1' -->
<!-- LEFT JOIN epdc_topic tp ON gp.ID = tp.GROUP_ID -->
<!-- AND tp.DEL_FLAG = '0' -->
<!-- WHERE -->
<!-- gp.DEL_FLAG = '0' -->
<!-- AND gp.STATE IN ( 10, 15 ) -->
<!-- AND gp.GRID_ID = #{gridId} -->
<!-- AND gp.GROUP_CATEGORY = '1' -->
<!-- AND gp.ID NOT IN ( SELECT ugp.GROUP_ID FROM epdc_user_group ugp WHERE ugp.USER_ID = #{userId} AND ugp.DEL_FLAG = '0' AND ugp.STATE = 10 ) -->
<!-- GROUP BY -->
<!-- gp.ID -->
<!-- ORDER BY -->
<!-- MAX( tp.CREATED_TIME ) DESC -->
<!-- </select> -->
<select id= "selectListGroupsOfRecommend" resultType= "com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO" >
SELECT
gp.ID,
gp.GROUP_NAME,
gp.GROUP_AVATAR,
COUNT( DISTINCT ugp1.ID ) AS totalNum,
COUNT( DISTINCT ugp2.ID ) AS partyMemberNum
(SELECT COUNT(ugp1.ID) FROM epdc_user_group ugp1 WHERE gp.ID = ugp1.GROUP_ID AND ugp1.DEL_FLAG = '0' AND ugp1.STATE = 10 ) AS totalNum,
(SELECT COUNT(ugp2.ID) FROM epdc_user_group ugp2 WHERE gp.ID = ugp2.GROUP_ID AND ugp2.DEL_FLAG = '0' AND ugp2.STATE = 10 AND ugp2.PARTY_MEMBER = '1' ) AS partyMemberNum
FROM
epdc_group gp
LEFT JOIN epdc_user_group ugp1 ON gp.ID = ugp1.GROUP_ID
AND ugp1.DEL_FLAG = '0'
AND ugp1.STATE = 10
LEFT JOIN epdc_user_group ugp2 ON gp.ID = ugp2.GROUP_ID
AND ugp2.DEL_FLAG = '0'
AND ugp2.STATE = 10
AND ugp2.PARTY_MEMBER = '1'
LEFT JOIN epdc_topic tp ON gp.ID = tp.GROUP_ID
AND tp.DEL_FLAG = '0'
WHERE