傅行帆 5 years ago
parent
commit
b766bd59ce

+ 5
- 3
src/main/java/com/huiju/estateagents/entity/TaPersonPositon.java View File

1
 package com.huiju.estateagents.entity;
1
 package com.huiju.estateagents.entity;
2
 
2
 
3
 import com.baomidou.mybatisplus.annotation.IdType;
3
 import com.baomidou.mybatisplus.annotation.IdType;
4
-import com.baomidou.mybatisplus.annotation.TableField;
5
 import com.baomidou.mybatisplus.annotation.TableId;
4
 import com.baomidou.mybatisplus.annotation.TableId;
6
-import com.baomidou.mybatisplus.core.metadata.IPage;
7
 import lombok.Data;
5
 import lombok.Data;
8
 import lombok.EqualsAndHashCode;
6
 import lombok.EqualsAndHashCode;
9
 import lombok.experimental.Accessors;
7
 import lombok.experimental.Accessors;
10
 
8
 
11
 import java.io.Serializable;
9
 import java.io.Serializable;
12
 import java.time.LocalDateTime;
10
 import java.time.LocalDateTime;
13
-import java.util.List;
14
 
11
 
15
 /**
12
 /**
16
  * <p>
13
  * <p>
78
      */
75
      */
79
     private String address;
76
     private String address;
80
 
77
 
78
+    /**
79
+     * 公司id
80
+     */
81
+    private Integer orgId;
82
+
81
 
83
 
82
     /**
84
     /**
83
      * 创建时间
85
      * 创建时间

+ 1
- 1
src/main/java/com/huiju/estateagents/service/impl/TdCityServiceImpl.java View File

6
 import com.huiju.estateagents.common.CommConstant;
6
 import com.huiju.estateagents.common.CommConstant;
7
 import com.huiju.estateagents.entity.TaPersonPositon;
7
 import com.huiju.estateagents.entity.TaPersonPositon;
8
 import com.huiju.estateagents.entity.TdCity;
8
 import com.huiju.estateagents.entity.TdCity;
9
-import com.huiju.estateagents.mapper.TaOrgCityMapper;
10
 import com.huiju.estateagents.mapper.TdCityMapper;
9
 import com.huiju.estateagents.mapper.TdCityMapper;
11
 import com.huiju.estateagents.service.ITdCityService;
10
 import com.huiju.estateagents.service.ITdCityService;
12
 import org.apache.commons.lang3.StringUtils;
11
 import org.apache.commons.lang3.StringUtils;
91
                         record.setDistrict(addressComponent.getString("district"));
90
                         record.setDistrict(addressComponent.getString("district"));
92
                         record.setAddress(address);
91
                         record.setAddress(address);
93
                         record.setCreateTime(LocalDateTime.now());
92
                         record.setCreateTime(LocalDateTime.now());
93
+                        record.setOrgId(orgId);
94
                         Integer positionResult = taPersonService.savePersonPosition(record);
94
                         Integer positionResult = taPersonService.savePersonPosition(record);
95
                         logger.info("保存用户位置信息返回:{}", positionResult);
95
                         logger.info("保存用户位置信息返回:{}", positionResult);
96
                     } catch (Exception e) {
96
                     } catch (Exception e) {

+ 26
- 22
src/main/resources/mapper/TaPersonMapper.xml View File

618
 
618
 
619
     <select id="selectCityPerson" resultType="java.util.Map">
619
     <select id="selectCityPerson" resultType="java.util.Map">
620
         SELECT
620
         SELECT
621
-            d.*,
622
-            count( d.person_id ) AS cityCount
621
+            a.city AS city,
622
+            b.shortname AS NAME,
623
+            b.lng,
624
+            b.lat,
625
+            a.cityCount
623
         FROM
626
         FROM
624
-        (
625
-            SELECT
626
-                t.city AS city,
627
-                b.shortname AS NAME,
628
-                b.lng,
629
-                b.lat,
630
-                t.person_id
631
-            FROM
632
-            ( SELECT * FROM ta_person_position ORDER BY create_time asc ) t
633
-                LEFT JOIN ta_person a ON t.person_id = a.person_id
634
-                INNER JOIN td_city b ON t.citycode = b.citycode
635
-            WHERE
636
-                a.org_id = #{orgId}
637
-                AND a.person_type IN ( 'customer', 'drift', 'estate agent' )
638
-            GROUP BY
639
-                t.person_id
640
-        ) d
641
-        GROUP BY
642
-        d.city
627
+            (
628
+                SELECT
629
+                t.*,
630
+                count( DISTINCT t.person_id ) AS cityCount
631
+                FROM
632
+                ta_person_position t
633
+                INNER JOIN ta_person s ON s.person_id = t.person_id
634
+                WHERE
635
+                t.org_id = #{orgId}
636
+                GROUP BY
637
+                t.citycode
638
+            ) a
639
+            INNER JOIN td_city b ON b.citycode = a.citycode
640
+            AND b.leveltype = 2
643
     </select>
641
     </select>
644
 
642
 
645
     <insert id="savePersonPosition" parameterType="com.huiju.estateagents.entity.TaPersonPositon">
643
     <insert id="savePersonPosition" parameterType="com.huiju.estateagents.entity.TaPersonPositon">
678
             <if test="createTime != null">
676
             <if test="createTime != null">
679
                 create_time,
677
                 create_time,
680
             </if>
678
             </if>
679
+            <if test="orgId != null">
680
+                org_id,
681
+            </if>
681
         </trim>
682
         </trim>
682
         <trim prefix="values (" suffix=")" suffixOverrides=",">
683
         <trim prefix="values (" suffix=")" suffixOverrides=",">
683
             <if test="id != null">
684
             <if test="id != null">
711
                 #{address},
712
                 #{address},
712
             </if>
713
             </if>
713
             <if test="createTime != null">
714
             <if test="createTime != null">
714
-                #{createTime}
715
+                #{createTime},
716
+            </if>
717
+            <if test="orgId != null">
718
+                #{orgId}
715
             </if>
719
             </if>
716
         </trim>
720
         </trim>
717
     </insert>
721
     </insert>