linwe
2023-11-12 8d8c7da4e91028fc877f101dcd244bef3e18c197
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<?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="org.springblade.modules.place.mapper.PlaceMapper">
 
    <!--详情map-->
    <resultMap id="detailMap" type="org.springblade.modules.place.vo.PlaceVO" autoMapping="true">
        <id property="id" column="id"/>
        <collection property="placePoiLabelVOList" javaType="java.util.List" ofType="org.springblade.modules.place.vo.PlacePoiLabelVO"
        autoMapping="true">
            <id property="id" column="plid"/>
        </collection>
    </resultMap>
 
    <!--自定义分页查询-->
    <select id="selectPlacePage" resultType="org.springblade.modules.place.vo.PlaceVO">
        select
        jp.*,
        bu.real_name as username,bu.phone as phone,
        bx.real_name as createUserName
         from jczz_place jp
        left join blade_user bu on bu.id = jp.principal_user_id and bu.is_deleted = 0
        left join blade_user bx on bx.id = jp.create_user and bx.is_deleted = 0
        left join (
            select a.* from jczz_place_poi_label a inner join
            (
            select place_id,max(id) as id from jczz_place_poi_label b group by place_id
            ) b on a.id = b.id
        ) jppl on jppl.place_id = jp.id
        where jp.is_deleted = 0
        <if test="place.roleName!=null and place.roleName!=''">
            <choose>
                <when test="place.roleName=='网格员'">
                    and
                    (
                    jp.create_user = #{place.createUser}
                    <if test="houseCodeList != null and houseCodeList.size()>0">
                        or jp.house_code in
                        <foreach collection="houseCodeList" item="houseCode" separator ="," open="("  close=")">
                            #{houseCode}
                        </foreach>
                    </if>
                    )
                </when>
                <otherwise>
                    and jp.principal_user_id = #{place.createUser}
                </otherwise>
            </choose>
        </if>
        <if test="place.placeName!=null and place.placeName!=''">
            and jp.place_name like concat('%',#{place.placeName},'%')
        </if>
        <if test="place.isPerfect==1">
            and
            (
            jp.place_name is null
            or jp.image_urls is null
            or jppl.poi_code is not null
            or bu.real_name is null
            or bu.phone is null
            )
        </if>
        <if test="place.isPerfect==2">
            and jp.place_name != ""
            and jp.image_urls != ""
            and jppl.poi_code is not null
            and bu.real_name != ""
            and bu.phone != ""
        </if>
    </select>
 
    <!--查询场所集合信息-->
    <select id="selectPlaceNodeList" resultType="org.springblade.common.node.TreeNode" >
        select jp.id,
               jp.house_code      houseCode,
               jp.place_name as   name,
               jda.doorplate_type doorplateType,
               jda.address_level  addressLevel,
               false         as   hasChildren
        from jczz_place jp
                 left join jczz_doorplate_address jda on jp.house_code = jda.address_code
        where 1 = 1
          and jp.is_deleted = 0
          and jp.principal_user_id = #{userId}
    </select>
 
 
    <!--插入用户标签-->
    <insert id="saveUserLabel">
        insert into jczz_user_label(user_id,label_id,create_time,update_time)
        values(#{userId},#{labelId},now(),now())
    </insert>
 
    <!--查询所有的场所(手机号不为空)-->
    <select id="getPlaceNotNullPhone" resultType="org.springblade.modules.place.vo.PlaceVO">
        select link_person as username,link_tel as phone,std_id as houseCode from wgccp_place
        WHERE link_person !='' and link_tel!=''
    </select>
 
    <!--查询所有的场所-->
    <select id="getAllHistoryPlace" resultType="org.springblade.modules.place.vo.PlaceVO">
        select place_id as id,third_level_id as label,std_id as houseCode from wgccp_place
    </select>
 
    <!--更新场所信息-->
    <update id="updatePlaceEntity">
        update jczz_place set principal_user_id = #{place.principalUserId}
        WHERE house_code = #{place.houseCode}
    </update>
 
    <!--查询场所详情数据-->
    <select id="getDetail" resultMap="detailMap">
        select
        jp.*,
        bu.real_name as username,bu.phone as phone,
        jppl.id as plid,jppl.*,jcl.category_name as labelName
        from jczz_place jp
        left join blade_user bu on bu.id = jp.principal_user_id and bu.is_deleted = 0
        left join jczz_place_poi_label jppl on jppl.place_id = jp.id
        left join jczz_category_label jcl on jcl.category_no = jppl.poi_code
        where jp.is_deleted = 0
        <if test="place.houseCode!=null and place.houseCode!=''">
            and jp.house_code = #{place.houseCode}
        </if>
        <if test="place.id!=null">
            and jp.id = #{place.id}
        </if>
    </select>
</mapper>