lin
2024-04-17 2af148a7b15f1273d12be7b910bc6d9e4e41d2c2
src/main/java/org/springblade/modules/discuss/mapper/UserTopicsMapper.xml
@@ -5,7 +5,7 @@
    <!-- 通用查询映射结果 -->
    <resultMap id="userTopicsResultMap" type="org.springblade.modules.discuss.vo.UserTopicsVO">
        <result property="id" column="id"/>
        <result property="userId" column="user_id"/>
        <result property="householdId" column="household_id"/>
        <result property="topicsId" column="topics_id"/>
        <result property="createTime" column="create_time"/>
        <result property="updateTime" column="update_time"/>
@@ -17,7 +17,7 @@
    <sql id="selectUserTopics">
        select
            id,
            user_id,
            household_id,
            topics_id,
            create_time,
            update_time,
@@ -30,21 +30,25 @@
    <select id="selectUserTopicsPage" resultMap="userTopicsResultMap">
        SELECT distinct
        SELECT
        jut.article_id,
        jut.delete_flag,
        jut.signature_path,
        jut.create_time,
        jut.household_id,
        bu.avatar,
        bu.`name`,
        bu.phone,
        jh.name,
        jh.phone_number phone,
        jda.address_name,
        jda.aoi_name
        <if test="userTopics.articleId != null ">,
        group_concat(jt.option_content) optionContent  </if>
        FROM
        jczz_user_topics as jut
        LEFT JOIN blade_user bu ON jut.user_id = bu.id AND bu.is_deleted = 0
        LEFT JOIN jczz_household jh ON jh.associated_user_id = jut.user_id AND jh.is_deleted = 0
        LEFT JOIN jczz_household jh ON jh.id = jut.household_id and jh.is_deleted = 0
        LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
        LEFT JOIN jczz_topics jt on jt.id = jut.topics_id
        LEFT JOIN blade_user bu ON jh.associated_user_id = bu.id AND bu.is_deleted = 0
        <where>
            <if test="userTopics.id != null ">and jut.id = #{userTopics.id}</if>
            <if test="userTopics.name != null and userTopics.name != ''">
@@ -53,17 +57,26 @@
            <if test="userTopics.phone != null and userTopics.phone != ''">
                and bu.phone like concat('%',#{userTopics.phone},'%')
            </if>
            <if test="userTopics.userId != null ">and jut.user_id = #{userTopics.userId}</if>
            <if test="userTopics.aoiCodeList != null and userTopics.aoiCodeList.size() > 0">
                and jda.aoi_code in
                <foreach collection="userTopics.aoiCodeList" item="code" open="(" close=")" separator=",">
                    #{code}
                </foreach>
            </if>
            <if test="userTopics.householdId != null ">and jut.household_id = #{userTopics.householdId}</if>
            <if test="userTopics.topicsId != null ">and jut.topics_id = #{userTopics.topicsId}</if>
            <if test="userTopics.createTime != null ">and jut.create_time = #{userTopics.createTime}</if>
            <if test="userTopics.updateTime != null ">and jut.update_time = #{userTopics.updateTime}</if>
            <if test="userTopics.deleteFlag != null ">and jut.delete_flag = #{userTopics.deleteFlag}</if>
            <if test="userTopics.articleId != null ">and jut.article_id = #{userTopics.articleId}
            <if test="userTopics.articleId != null ">
                and jut.article_id = #{userTopics.articleId}
                and jut.delete_flag = 0
                GROUP BY jut.article_id, jut.signature_path,jut.create_time,jut.delete_flag,
                GROUP BY jut.article_id, jut.signature_path,jut.create_time,jut.household_id,jut.delete_flag,
                bu.avatar,
                bu.`name`,
                bu.phone,
                jh.name,
                jh.phone_number,
                jda.address_name,
                jda.aoi_name
            </if>
@@ -85,4 +98,175 @@
    </select>
    <select id="exportUser" resultType="org.springblade.modules.discuss.excel.UserTopicsExcel">
        SELECT
        jut.article_id,
        jut.delete_flag,
        jut.signature_path,
        jut.create_time,
        jut.household_id,
        bu.avatar,
        jh.name,
        jh.phone_number phone,
        jda.address_name,
        jhs.area,
        jhs.remark,
        jda.address_code houseCode,
        jda.aoi_name
        <if test="articleId != null ">,
            group_concat(jt.option_content) optionContent  </if>
        FROM
        jczz_user_topics as jut
        LEFT JOIN jczz_household jh ON jh.id = jut.household_id and jh.is_deleted = 0
        LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
        LEFT JOIN jczz_topics jt on jt.id = jut.topics_id
        LEFT JOIN blade_user bu ON jh.associated_user_id = bu.id AND bu.is_deleted = 0
        LEFT JOIN jczz_house jhs on jhs.house_code= jda.address_code
        <where>
            <if test="id != null ">and jut.id = #{id}</if>
            <if test="name != null and name != ''">
                and bu.name like concat('%',#{name},'%')
            </if>
            <if test="phone != null and phone != ''">
                and bu.phone like concat('%',#{phone},'%')
            </if>
            <if test="aoiCodeList != null and aoiCodeList.size() > 0">
                and jda.aoi_code in
                <foreach collection="aoiCodeList" item="code" open="(" close=")" separator=",">
                    #{code}
                </foreach>
            </if>
            <if test="householdId != null ">and jut.household_id = #{householdId}</if>
            <if test="topicsId != null ">and jut.topics_id = #{topicsId}</if>
            <if test="createTime != null ">and jut.create_time = #{createTime}</if>
            <if test="updateTime != null ">and jut.update_time = #{updateTime}</if>
            <if test="deleteFlag != null ">and jut.delete_flag = #{deleteFlag}</if>
            <if test="articleId != null ">
                and jut.article_id = #{articleId}
                and jut.delete_flag = 0
                GROUP BY jut.article_id, jut.signature_path,jut.create_time,jut.household_id,jut.delete_flag,
                bu.avatar,
                jh.name,
                jh.phone_number,
                jda.address_name,
                jhs.area,
                jhs.remark,
                jda.address_code,
                jda.aoi_name
            </if>
        </where>
    </select>
    <select id="getresult" resultMap="userTopicsResultMap">
        SELECT
            jts.option_content
        FROM
            jczz_user_topics jut
                LEFT JOIN jczz_topics jts ON jts.id = jut.topics_id
        WHERE
            jut.article_id = #{articleId}
          and jut.household_id=#{householdId}
          and jts.discuss_content=#{discussContent}
    </select>
    <select id="getresultTwo" resultType="org.springblade.modules.discuss.excel.UserTopicsExcel">
        SELECT
        jut.article_id,
        jut.delete_flag,
        jut.signature_path,
        jut.create_time,
        jut.household_id,
        bu.avatar,
        jh.name,
        jh.phone_number phone,
        jda.address_name,
        jhs.area,
        jhs.remark,
        jda.address_code houseCode,
        jda.aoi_name,
        jt.option_content,
        jhs.building,
        jhs.room,
        jhs.district_name
        FROM
        jczz_user_topics as jut
        LEFT JOIN jczz_household jh ON jh.id = jut.household_id
        LEFT JOIN jczz_doorplate_address jda ON jda.address_code = jh.house_code
        LEFT JOIN jczz_topics jt on jt.id = jut.topics_id
        LEFT JOIN blade_user bu ON jh.associated_user_id = bu.id AND bu.is_deleted = 0
        LEFT JOIN jczz_house jhs on jhs.house_code= jda.address_code
        <where>
            and jt.discuss_content != '议事规则'
            and jt.discuss_content != '管理公约'
            <if test="id != null ">and jut.id = #{id}</if>
            <if test="name != null and name != ''">
                and bu.name like concat('%',#{name},'%')
            </if>
            <if test="phone != null and phone != ''">
                and bu.phone like concat('%',#{phone},'%')
            </if>
            <if test="aoiCodeList != null and aoiCodeList.size() > 0">
                and jda.aoi_code in
                <foreach collection="aoiCodeList" item="code" open="(" close=")" separator=",">
                    #{code}
                </foreach>
            </if>
            <if test="householdId != null ">and jut.household_id = #{householdId}</if>
            <if test="topicsId != null ">and jut.topics_id = #{topicsId}</if>
            <if test="createTime != null ">and jut.create_time = #{createTime}</if>
            <if test="updateTime != null ">and jut.update_time = #{updateTime}</if>
            <if test="deleteFlag != null ">and jut.delete_flag = #{deleteFlag}</if>
            <if test="articleId != null ">
                and jut.article_id = #{articleId}
                and jut.delete_flag = 0
            </if>
        </where>
    </select>
    <select id="getHouseholdList" resultType="org.springblade.modules.discuss.excel.holdExcel">
        SELECT
        jh.id,
        jh.room,
        jh.building,
        jh.house_name,
        jh.district_name,
        jut.create_time,
        jh.area,
        (
        SELECT
        group_concat( jt.id ) AS optionContent
        FROM
        jczz_user_topics jut
        LEFT JOIN jczz_topics jt ON jt.id = jut.topics_id
        WHERE
        jut.house_code = jh.house_code
        AND jut.article_id = #{articleId}
        ) optionContent,
        (SELECT jhd.name from jczz_household jhd where  jhd.house_code = jh.house_code AND jhd.is_deleted = 0 and jhd.relationship = 1 limit 1 ) name,
        (SELECT jhd.phone_number from jczz_household jhd where  jhd.house_code = jh.house_code AND jhd.is_deleted = 0 and jhd.relationship = 1 limit 1 ) phone
        FROM
        jczz_house jh
        LEFT JOIN jczz_household jhd ON jhd.house_code = jh.house_code
        AND jh.is_deleted = 0 and jhd.relationship = 1
        LEFT JOIN jczz_user_topics jut on jut.household_id = jhd.id
        <where>
            <if test="aoiCodeList != null and aoiCodeList.size() > 0">
                and jh.district_code in
                <foreach collection="aoiCodeList" item="code" open="(" close=")" separator=",">
                    #{code}
                </foreach>
            </if>
        </where>
        GROUP BY id
    </select>
</mapper>