linwei
2024-01-19 d46ca134f82fd106bfbbbd71aef7184805e6d7e7
src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
@@ -8,6 +8,7 @@
        <collection property="placePoiLabelVOList" javaType="java.util.List" ofType="org.springblade.modules.place.vo.PlacePoiLabelVO"
        autoMapping="true">
            <id property="id" column="plid"/>
            <result property="remark" column="cremark"/>
        </collection>
    </resultMap>
@@ -65,13 +66,23 @@
            and jp.source = #{place.source}
        </if>
        <if test="place.isPerfect==1">
            and jpe.confirm_flag = 4
            and jp.status = 1
        </if>
        <if test="place.isPerfect==2">
            and jpe.confirm_flag >= 1 and jpe.confirm_flag &lt; 4
            and jp.status = 2
        </if>
        <if test="place.regionCode != null and place.regionCode !='' ">
            and jg.community_code like concat('%',#{place.regionCode},'%')
        <if test="isAdministrator==2">
            <choose>
                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                    and jg.community_code in
                    <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                        #{code}
                    </foreach>
                </when>
                <otherwise>
                    and jg.community_code in ('')
                </otherwise>
            </choose>
        </if>
        order by jp.create_time desc,jp.id desc
    </select>
@@ -121,7 +132,13 @@
        select
        jp.*,
        bu.real_name as username,bu.phone as phone,
        jppl.id as plid,jppl.*,jc.category_name as labelName,
        jppl.id as plid,
        jppl.place_id,
        jppl.poi_code,
        jppl.type,
        jppl.color,
        jppl.remark as cremark,
        jc.category_name as labelName,
        br.code as neiCode,jg.id as gridId
        from jczz_place jp
        left join blade_user bu on bu.id = jp.principal_user_id and bu.is_deleted = 0
@@ -187,10 +204,15 @@
    <!--根据标签编号集合查询对应的场所-->
    <select id="getPlaceListByParam" resultType="org.springblade.modules.place.vo.PlaceVO">
        select jp.* from jczz_place jp
        select jp.*,jppl.poi_code as label from jczz_place jp
        left join jczz_place_poi_label jppl on jppl.place_id = jp.id
        where jp.is_deleted = 0 and jppl.type = 3
        and jppl.color = #{color}
        and jppl.color = 'green'
        and jp.principal_user_id is not null
        and jp.house_code != ''
        and jp.id in (
            select place_id from ${tableName} where is_deleted = 0 and source = 2 and TIMESTAMPDIFF( day, now(), create_time )=30
        )
        <choose>
            <when test="list!=null and list.size()>0">
                and jppl.poi_code in
@@ -202,5 +224,74 @@
                and jppl.poi_code in ('')
            </otherwise>
        </choose>
        union all
        (
        select jp.*,jppl.poi_code as label from jczz_place jp
        left join jczz_place_poi_label jppl on jppl.place_id = jp.id
        where jp.is_deleted = 0 and jppl.type = 3
        and jppl.color = 'yellow'
        and jp.principal_user_id is not null
        and jp.house_code != ''
        and jp.id in (
            select place_id from ${tableName} where is_deleted = 0 and source = 2 and TIMESTAMPDIFF( day, now(), create_time )=14
        )
        <choose>
            <when test="list!=null and list.size()>0">
                and jppl.poi_code in
                <foreach collection="list" item="id" separator="," open="(" close=")">
                    #{id}
                </foreach>
            </when>
            <otherwise>
                and jppl.poi_code in ('')
            </otherwise>
        </choose>
        )
        union all
        (
        select jp.*,jppl.poi_code as label from jczz_place jp
        left join jczz_place_poi_label jppl on jppl.place_id = jp.id
        where jp.is_deleted = 0 and jppl.type = 3
        and jppl.color = 'red'
        and jp.principal_user_id is not null
        and jp.house_code != ''
        and jp.id in (
            select place_id from ${tableName} where is_deleted = 0 and source = 2 and TIMESTAMPDIFF( day, now(), create_time )=7
        )
        <choose>
            <when test="list!=null and list.size()>0">
                and jppl.poi_code in
                <foreach collection="list" item="id" separator="," open="(" close=")">
                    #{id}
                </foreach>
            </when>
            <otherwise>
                and jppl.poi_code in ('')
            </otherwise>
        </choose>
        )
        union all
        (
        select jp.*,jppl.poi_code as label from jczz_place jp
        left join jczz_place_poi_label jppl on jppl.place_id = jp.id
        where jp.is_deleted = 0 and jppl.type = 3
        and jp.principal_user_id is not null
        and jp.house_code != ''
        and (jppl.color = 'green' or jppl.color = 'yellow' or jppl.color = 'red')
        and jp.id not in (
            select place_id from ${tableName} where is_deleted = 0 and source = 2 and place_id is not null group by place_id
        )
        <choose>
            <when test="list!=null and list.size()>0">
                and jppl.poi_code in
                <foreach collection="list" item="id" separator="," open="(" close=")">
                    #{id}
                </foreach>
            </when>
            <otherwise>
                and jppl.poi_code in ('')
            </otherwise>
        </choose>
        )
    </select>
</mapper>