lin
2024-04-16 2b1a74f4faa5a00a294bdc6a6d956c2e009cf467
src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
@@ -23,7 +23,7 @@
        <result column="update_user" property="updateUser"/>
        <result column="create_user" property="createUser"/>
        <result column="is_deleted" property="isDeleted"/>
        <result property="articleRange"    column="article_range"    />
        <result property="articleRange" column="article_range"/>
        <collection property="countNumber" column="id" javaType="int" select="selectStlCount">
        </collection>
@@ -40,30 +40,29 @@
    </select>
    <sql id="selectArticle">
        select
            id,
            title,
            type,
            content,
            url,
            video_url,
            source_id,
            source_name,
            article_type,
            recommend,
            publish,
            iscomment,
            view_number,
            create_time,
            update_time,
            update_user,
            create_user,
            is_deleted,
            article_range
        from
            jczz_article
        select id,
               title,
               type,
               content,
               url,
               video_url,
               source_id,
               source_name,
               article_type,
               recommend,
               publish,
               iscomment,
               view_number,
               create_time,
               update_time,
               update_user,
               create_user,
               is_deleted,
               article_range,
               building,
               unit
        from jczz_article
    </sql>
@@ -87,9 +86,9 @@
            ja.update_user,
            ja.create_user,
            ja.is_deleted,
            jpd.id pdId,
            (select bdb.dict_value from blade_dict_biz bdb where bdb.parent_id='1722966265111248897' and ja.article_type = bdb.dict_key) dictValue,
            jpd.event_type
            (select bdb.dict_value from blade_dict_biz bdb where bdb.parent_id='1740566650527752194' and ja.article_type
            = bdb.dict_key) dictValue,
            jpd.id pdId
            from jczz_article ja
            LEFT JOIN jczz_public_discuss jpd on jpd.article_id=ja.id
            where ja.is_deleted = 0
@@ -97,13 +96,47 @@
            <if test="article.articleType != null and article.articleType != ''">
                and ja.article_type = #{article.articleType}
            </if>
            <if test="article.eventType != null">
                and jpd.event_type = #{article.eventType}
            </if>
            <if test="article.type != null">
                and ja.type = #{article.type}
            </if>
            <if test="article.type == null">
                and ja.type = 0
            </if>
            <if test="article.districtId != null and article.districtId != ''">
                and (ja.article_range like concat('%',#{article.districtId},'%')
                or ja.article_range is null)
                or ja.article_range is null or ja.article_range = '')
            </if>
            <if test="article.districtIdList != null and article.districtIdList.size() > 0 ">
                and (ja.article_range like
                <foreach collection="article.districtIdList" separator=" or article_range like" item="id">'%${id}%'
                </foreach>
                ) or ja.article_range is null
            </if>
            <if test="article.districtId == null ">
                and ja.article_range is  null
            </if>
            <if test="article.householdId != null">
                and (FIND_IN_SET ( #{article.householdId}, jpd.user_ids )
                OR jpd.user_ids IS NULL or jpd.user_ids = '')
            </if>
            <if test="article.building != null and article.building != ''">
                and (ja.building = #{article.building}
                or ja.building is null)
            </if>
            <if test="article.unit != null and article.unit != ''">
                and (ja.unit = #{article.unit}
                or ja.unit is null)
            </if>
        </if>
        <!-- 查询文章 -->
@@ -134,9 +167,34 @@
                and ja.article_type = #{article.articleType}
            </if>
            <if test="article.type != null">
                and ja.type = #{article.type}
            </if>
            <if test="article.type == null">
                and ja.type = 0
            </if>
            <if test="article.districtId != null and article.districtId != ''">
                and ja.article_range like concat('%',#{article.districtId},'%')
                or ja.article_range is null
                and (ja.article_range like concat('%',#{article.districtId},'%')
                or ja.article_range is null)
            </if>
            <if test="article.districtIdList != null and article.districtIdList.size() > 0 ">
                and (ja.article_range like
                <foreach collection="article.districtIdList" separator=" or article_range like" item="id">'%${id}%'
                </foreach>
                ) or ja.article_range is null
            </if>
            <if test="article.building != null and article.building != ''">
                and (ja.building = #{article.building}
                or ja.building is null)
            </if>
            <if test="article.unit != null and article.unit != ''">
                and (ja.unit = #{article.unit}
                or ja.unit is null)
            </if>
        </if>
@@ -144,34 +202,60 @@
    </select>
    <!--查询资讯分页列表信息-->
    <select id="selectArticlePage" resultType="org.springblade.modules.article.entity.Article">
        select * from jczz_article
    <select id="selectArticlePage" resultType="org.springblade.modules.article.vo.ArticleVO">
        SELECT
        ja.*,
        br.`village_name` communityName,
        br.town_name streetName
        FROM
        jczz_article ja
        LEFT JOIN jczz_district jd ON ja.district_id = jd.id
        LEFT JOIN blade_region br on br.`code` = jd.community_code
        where 1=1
        <if test="article.title!=null and article.title!=''">
            and title like concat('%',#{article.title},'%')
        </if>
        <if test="article.sourceName!=null and article.sourceName!=''">
            and source_name like concat('%',#{article.sourceName},'%')
        </if>
        <if test="article.startTime!=null and article.startTime!=''">
            and create_time&gt;=#{article.startTime}
        </if>
        <if test="article.endTime!=null and article.endTime!=''">
            and create_time&lt;=#{article.endTime}
        </if>
        <if test="article.publish!=null and article.publish!=''">
            and publish = #{article.publish}
        </if>
        <if test="article.articleType!=null and article.articleType!=''">
            and article_type like concat('%',#{article.articleType},'%')
        </if>
        <if test="article.keyword!=null and article.keyword!=''">
            AND CONCAT(title,source_name)
            LIKE CONCAT ('%', #{article.keyword},'%')
        and ja.is_deleted = 0
        <if test="article.communityName!=null and article.communityName!=''">
            and br.`village_name` like concat('%',#{article.communityName},'%')
        </if>
        and is_deleted = 0
        order by id desc
        <if test="article.streetName!=null and article.streetName!=''">
            and br.town_name like concat('%',#{article.streetName},'%')
        </if>
        <if test="article.title!=null and article.title!=''">
            and ja.title like concat('%',#{article.title},'%')
        </if>
        <if test="article.sourceName!=null and article.sourceName!=''">
            and ja.source_name like concat('%',#{article.sourceName},'%')
        </if>
        <if test="article.startTime!=null and article.startTime!=''">
            and ja.create_time&gt;=#{article.startTime}
        </if>
        <if test="article.endTime!=null and article.endTime!=''">
            and ja.create_time&lt;=#{article.endTime}
        </if>
        <if test="article.publish!=null and article.publish!=''">
            and ja.publish = #{article.publish}
        </if>
        <if test="article.articleType!=null and article.articleType!=''">
            and ja.article_type like concat('%',#{article.articleType},'%')
        </if>
        <if test="article.type != null ">and ja.type = #{article.type}</if>
        <if test="article.keyword!=null and article.keyword!=''">
            AND CONCAT(ja.title,ja.source_name)
            LIKE CONCAT ('%', #{article.keyword},'%')
        </if>
        <if test="article.districtIdList != null and article.districtIdList.size() > 0 ">
            and (ja.article_range like
            <foreach collection="article.districtIdList" separator=" or article_range like" item="id">'%${id}%'
            </foreach>
            )
            <!--            and ja.district_id in-->
            <!--            <foreach collection="article.districtIdList" index="index" item="item" open="(" separator="," close=")">-->
            <!--                #{item}-->
            <!--            </foreach>-->
        </if>
        order by ja.create_time desc
    </select>
    <!--查询资讯敏感词预警-->
@@ -227,7 +311,7 @@
        sys_collect col
        LEFT JOIN jczz_article art on art.id = col.collect_article
        WHERE
        1 = 1 AND collect_user =  #{article.userid}
        1 = 1 AND collect_user = #{article.userid}
        <if test="article.articleType!=null and article.articleType!=''">
            and article_type LIKE CONCAT ('%', #{article.articleType},'%')
        </if>
@@ -372,8 +456,9 @@
    </select>
    <update id="upcomment">
        update jczz_article set iscomment = #{type}
        where id in(${ids})
        update jczz_article
        set iscomment = #{type}
        where id in (${ids})
    </update>
    <!--个人资讯-->
@@ -427,7 +512,7 @@
        ja.create_user,
        ja.is_deleted,
        ja.article_range,
        ((select bdb.dict_value from blade_dict_biz bdb where bdb.parent_id='1722966265111248897' and ja.article_type
        ((select bdb.dict_value from blade_dict_biz bdb where bdb.parent_id=#{parentId} and ja.article_type
        = bdb.dict_key)) dictValue
        from jczz_article ja
        <where>
@@ -463,4 +548,91 @@
        WHERE jda.address_code = #{houseCode}
    </select>
    <select id="getArticleByDistrictId" resultType="org.springblade.modules.article.vo.ArticleVO"
            parameterType="org.springblade.modules.article.vo.ArticleVO">
        SELECT
        ja.*,
        br.`village_name` communityName,
        br.town_name streetName
        FROM
        jczz_article ja
        LEFT JOIN jczz_district jd ON ja.district_id = jd.id
        LEFT JOIN blade_region br on br.`code` = jd.community_code
        LEFT JOIN jczz_public_discuss jpd on jpd.article_id=ja.id
        where 1=1
        and ja.is_deleted = 0
        <if test="article.eventType != null">
            and jpd.event_type = #{article.eventType}
            and jpd.end_time is not null
        </if>
        <if test="article.propertyFlag!=null ">
            <if test="article.communityName!=null and article.communityName!=''">
                and br.`village_name` like concat('%',#{article.communityName},'%')
            </if>
            <if test="article.streetName!=null and article.streetName!=''">
                and br.town_name like concat('%',#{article.streetName},'%')
            </if>
        </if>
        <if test="article.title!=null and article.title!=''">
            and ja.title like concat('%',#{article.title},'%')
        </if>
        <if test="article.sourceName!=null and article.sourceName!=''">
            and ja.source_name like concat('%',#{article.sourceName},'%')
        </if>
        <if test="article.startTime!=null and article.startTime!=''">
            and ja.create_time&gt;=#{article.startTime}
        </if>
        <if test="article.endTime!=null and article.endTime!=''">
            and ja.create_time&lt;=#{article.endTime}
        </if>
        <if test="article.publish!=null and article.publish!=''">
            and ja.publish = #{article.publish}
        </if>
        <if test="article.articleType!=null and article.articleType!=''">
            and ja.article_type like concat('%',#{article.articleType},'%')
        </if>
        <if test="article.type != null ">
          and ja.type = #{article.type}
          </if>
        <if test="article.keyword!=null and article.keyword!=''">
            AND CONCAT(ja.title,ja.source_name)
            LIKE CONCAT ('%', #{article.keyword},'%')
        </if>
        <if test="article.districtIdList != null and article.districtIdList.size() > 0 ">
            and (ja.article_range like
            <foreach collection="article.districtIdList" separator=" or article_range like" item="id">'%${id}%'
            </foreach>
            )
        </if>
        order by ja.create_time desc
    </select>
    <select id="getAllList" resultType="org.springblade.modules.article.entity.Article">
        SELECT
        ja.*
        FROM
        jczz_article ja
        where 1=1
        and ja.is_deleted = 0
        and ja.publish = 1
        and ja.type = 0
        limit #{i},#{size}
    </select>
    <select id="getAllListTotal" resultType="java.lang.Integer">
        SELECT
        count(*)
        FROM
        jczz_article ja
        where 1=1
        and ja.is_deleted = 0
        and ja.publish = 1
        and ja.type = 0
    </select>
</mapper>