forked from rongchao/epmet-cloud-rizhao
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
192 lines
7.6 KiB
192 lines
7.6 KiB
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
|
|
<mapper namespace="com.epmet.modules.group.dao.ResiGroupDao">
|
|
|
|
<resultMap id="MyGroupResultDTOMap" type="com.epmet.resi.group.dto.group.result.MyGroupResultDTO">
|
|
<result property="groupId" column="id"/>
|
|
<result property="groupHeadPhoto" column="GROUP_HEAD_PHOTO"/>
|
|
<result property="groupName" column="GROUP_NAME"/>
|
|
<result property="totalMember" column="TOTAL_MEMBERS"/>
|
|
<result property="totalPartyMember" column="TOTAL_PARTY_MEMBERS"/>
|
|
<result property="groupState" column="STATE"/>
|
|
<result property="groupLeaderFlag" column="GROUP_LEADER_FLAG"/>
|
|
<association property="latestTopic" select="com.epmet.modules.group.dao.ResiGroupDao.selectLatestTopic" column="id">
|
|
</association>
|
|
</resultMap>
|
|
<!-- 我的小组查询(包含我创建的小组+我加入的小组),以各组的最新话题时间有近到远排序) -->
|
|
<select id="selectListMyGroup" parameterType="com.epmet.resi.group.dto.group.form.MyGroupFormDTO"
|
|
resultMap="MyGroupResultDTOMap">
|
|
SELECT
|
|
rg.id,
|
|
rg.GROUP_HEAD_PHOTO,
|
|
rg.GROUP_NAME ,
|
|
rgs.TOTAL_MEMBERS ,
|
|
rgs.TOTAL_PARTY_MEMBERS ,
|
|
rg.STATE ,
|
|
rgm.GROUP_LEADER_FLAG
|
|
FROM
|
|
resi_group_member rgm
|
|
LEFT JOIN resi_group rg ON ( rgm.RESI_GROUP_ID = rg.ID )
|
|
LEFT JOIN resi_group_statistical rgs ON ( rg.id = rgs.RESI_GROUP_ID )
|
|
WHERE
|
|
rg.DEL_FLAG = '0'
|
|
AND rgm.DEL_FLAG = '0'
|
|
AND rgs.DEL_FLAG = '0'
|
|
AND rg.CUSTOMER_ID = #{customerId}
|
|
AND rg.GRID_ID =#{gridId}
|
|
AND rgm.CUSTOMER_USER_ID = #{userId}
|
|
AND rgm.STATUS IN ( 'approved', 'silent' )
|
|
order by rg.LATEST_TOPIC_PUBLISH_DATE desc
|
|
LIMIT #{pageNo}, #{pageSize}
|
|
</select>
|
|
|
|
<!-- 查询当前组最新话题 -->
|
|
<select id="selectLatestTopic" resultType="com.epmet.resi.group.dto.group.result.LatestTopicDTO">
|
|
SELECT
|
|
rt.id as topicId,
|
|
rt.TOPIC_CONTENT as topicContent
|
|
FROM
|
|
resi_topic rt
|
|
WHERE
|
|
rt.DEL_FLAG = '0'
|
|
and rt.GROUP_ID=#{groupId}
|
|
AND rt.STATUS = 'discussing'
|
|
order by rt.CREATED_TIME desc
|
|
limit 1
|
|
</select>
|
|
|
|
<!-- 推荐小组列表查询 -->
|
|
<select id="selectListRecommendGroup" parameterType="com.epmet.resi.group.dto.group.form.RecommendGroupFormDTO"
|
|
resultType="com.epmet.resi.group.dto.group.result.RecommendGroupResultDTO">
|
|
SELECT
|
|
rg.id AS groupId,
|
|
rg.GROUP_HEAD_PHOTO AS groupHeadPhoto,
|
|
rg.GROUP_NAME AS groupName,
|
|
rgs.TOTAL_MEMBERS AS totalMember,
|
|
rgs.TOTAL_PARTY_MEMBERS AS totalPartyMember
|
|
FROM
|
|
resi_group rg
|
|
LEFT JOIN resi_group_statistical rgs ON ( rg.id = rgs.RESI_GROUP_ID )
|
|
WHERE
|
|
rg.DEL_FLAG = '0'
|
|
AND rgs.DEL_FLAG = '0'
|
|
and rg.id not in (
|
|
SELECT
|
|
rgm.RESI_GROUP_ID
|
|
FROM
|
|
resi_group_member rgm
|
|
WHERE
|
|
rgm.DEL_FLAG = '0'
|
|
AND rgm.`STATUS` !='removed'
|
|
AND rgm.CUSTOMER_USER_ID = #{userId}
|
|
)
|
|
and rg.CUSTOMER_ID=#{customerId}
|
|
and rg.GRID_ID=#{gridId}
|
|
and rg.STATE ='approved'
|
|
order by totalMember desc,rg.LATEST_TOPIC_PUBLISH_DATE desc
|
|
LIMIT #{pageNo}, #{pageSize}
|
|
</select>
|
|
|
|
<!-- 我创建的小组查询 -->
|
|
<select id="selectListMyCreated" parameterType="com.epmet.resi.group.dto.group.form.CreatedFormDTO"
|
|
resultType="com.epmet.resi.group.dto.group.result.CreatedResultDTO">
|
|
SELECT
|
|
rg.id AS groupId,
|
|
rg.GROUP_HEAD_PHOTO AS groupHeadPhoto,
|
|
rg.GROUP_NAME AS groupName,
|
|
rgs.TOTAL_MEMBERS AS totalMember,
|
|
rgs.TOTAL_PARTY_MEMBERS AS totalPartyMember,
|
|
rg.STATE AS groupState
|
|
FROM
|
|
resi_group_member rgm
|
|
LEFT JOIN resi_group rg ON ( rgm.RESI_GROUP_ID = rg.ID )
|
|
LEFT JOIN resi_group_statistical rgs ON ( rg.id = rgs.RESI_GROUP_ID )
|
|
WHERE
|
|
rg.DEL_FLAG = '0'
|
|
AND rgm.DEL_FLAG = '0'
|
|
AND rgs.DEL_FLAG = '0'
|
|
AND rg.CUSTOMER_ID = #{customerId}
|
|
AND rg.GRID_ID =#{gridId}
|
|
AND rgm.CUSTOMER_USER_ID = #{userId}
|
|
AND rgm.GROUP_LEADER_FLAG = 'leader'
|
|
ORDER BY
|
|
rg.CREATED_TIME DESC
|
|
LIMIT #{pageNo}, #{pageSize}
|
|
</select>
|
|
|
|
<!-- 修改组信息 -->
|
|
<update id="modifyGroupInfo" parameterType="com.epmet.resi.group.dto.group.form.ModifyGroupFormDTO">
|
|
UPDATE resi_group rg
|
|
SET rg.GROUP_NAME = #{groupName},
|
|
rg.GROUP_HEAD_PHOTO = #{groupHeadPhoto},
|
|
rg.GROUP_INTRODUCTION =#{groupIntroduction},
|
|
rg.UPDATED_BY=#{userId},
|
|
rg.UPDATED_BY=NOW()
|
|
WHERE
|
|
rg.id = #{groupId}
|
|
AND rg.DEL_FLAG = '0'
|
|
</update>
|
|
|
|
<!-- 查看小组管理界面信息 -->
|
|
<select id="selectGroupSummarize" parameterType="com.epmet.resi.group.dto.group.form.GroupSummarizeFormDTO"
|
|
resultType="com.epmet.resi.group.dto.group.result.GroupSummarizeResultDTO">
|
|
SELECT
|
|
rg.id AS groupId,
|
|
rg.GROUP_HEAD_PHOTO AS groupHeadPhoto,
|
|
rg.GROUP_NAME AS groupName,
|
|
rg.GROUP_INTRODUCTION AS groupIntroduction,
|
|
rgs.TOTAL_MEMBERS AS totalMember,
|
|
rgs.TOTAL_PARTY_MEMBERS AS totalPartyMember,
|
|
rgm.GROUP_LEADER_FLAG AS leaderFlag,
|
|
(
|
|
SELECT
|
|
count(1)
|
|
FROM
|
|
group_memeber_operation gmo
|
|
WHERE
|
|
gmo.DEL_FLAG = '0'
|
|
AND gmo.GROUP_ID = rg.id
|
|
AND gmo.OPERATE_STATUS = 'under_auditting'
|
|
) AS totalApplyingMember
|
|
FROM
|
|
resi_group rg
|
|
LEFT JOIN resi_group_statistical rgs ON ( rg.id = rgs.RESI_GROUP_ID )
|
|
LEFT JOIN resi_group_member rgm ON ( rg.id = rgm.RESI_GROUP_ID AND rgm.CUSTOMER_USER_ID =#{userId})
|
|
WHERE
|
|
rg.DEL_FLAG = '0'
|
|
AND rgs.DEL_FLAG = '0'
|
|
and rg.id=#{groupId}
|
|
</select>
|
|
|
|
<!-- 根据组信息查询组张信息 -->
|
|
<select id="selectGroupLeader" parameterType="java.lang.String" resultType="com.epmet.resi.group.dto.member.ResiGroupMemberDTO">
|
|
SELECT
|
|
*
|
|
FROM
|
|
resi_group_member rgm
|
|
WHERE
|
|
rgm.DEL_FLAG = '0'
|
|
AND rgm.GROUP_LEADER_FLAG = 'leader'
|
|
AND rgm.RESI_GROUP_ID = #{groupId}
|
|
</select>
|
|
|
|
<!-- 校验群名称是否存在 -->
|
|
<select id="checkResiGroupName" parameterType="com.epmet.resi.group.dto.group.form.ApplyCreateGroupFormDTO"
|
|
resultType="com.epmet.modules.group.entity.ResiGroupEntity">
|
|
SELECT
|
|
rg.*
|
|
FROM
|
|
resi_group rg
|
|
LEFT JOIN resi_group_member rgm ON ( rg.id = rgm.RESI_GROUP_ID )
|
|
WHERE
|
|
rg.DEL_FLAG = '0'
|
|
AND rgm.DEL_FLAG = '0'
|
|
AND rgm.GROUP_LEADER_FLAG = 'leader'
|
|
AND rgm.CUSTOMER_USER_ID = #{userId}
|
|
AND rg.GROUP_NAME = #{groupName}
|
|
AND rg.CUSTOMER_ID = #{customerId}
|
|
AND rg.GRID_ID = #{gridId}
|
|
AND rg.STATE in('approved','under_auditting')
|
|
</select>
|
|
</mapper>
|
|
|