傅行帆 преди 5 години
родител
ревизия
ea0bd87ba7

+ 10
- 0
src/main/java/com/huiju/estateagents/controller/StatisticalController.java Целия файл

179
         return iStatisticalService.selectCityUser(orgId);
179
         return iStatisticalService.selectCityUser(orgId);
180
     }
180
     }
181
 
181
 
182
+    /**
183
+     * 人员分布城市比例
184
+     * @return
185
+     */
186
+    @GetMapping(value = "/admin/selectCityPerson")
187
+    public ResponseBean selectCityPerson(HttpServletRequest request) {
188
+        Integer orgId = getOrgId(request);
189
+        return iStatisticalService.selectCityPerson(orgId);
190
+    }
191
+
182
     /**
192
     /**
183
      * 意向用户  首页
193
      * 意向用户  首页
184
      * @return
194
      * @return

+ 2
- 0
src/main/java/com/huiju/estateagents/mapper/TaPersonMapper.java Целия файл

254
      * @return
254
      * @return
255
      */
255
      */
256
     Integer selectTodayRecentlyCount(@Param("orgId") Integer orgId, @Param("nowDate") LocalDateTime nowDate);
256
     Integer selectTodayRecentlyCount(@Param("orgId") Integer orgId, @Param("nowDate") LocalDateTime nowDate);
257
+
258
+    List<Map<String, Object>> selectCityPerson(@Param("orgId") Integer orgId);
257
 }
259
 }

+ 7
- 0
src/main/java/com/huiju/estateagents/service/IStatisticalService.java Целия файл

215
      * @return
215
      * @return
216
      */
216
      */
217
     ResponseBean changeNewsUserCount(Integer orgId, LocalDate startDate, LocalDate endDate);
217
     ResponseBean changeNewsUserCount(Integer orgId, LocalDate startDate, LocalDate endDate);
218
+
219
+    /**
220
+     * 人员城市分布
221
+     * @param orgId
222
+     * @return
223
+     */
224
+    ResponseBean selectCityPerson(Integer orgId);
218
 }
225
 }

+ 18
- 0
src/main/java/com/huiju/estateagents/service/impl/StatisticalServiceImpl.java Целия файл

579
         return ResponseBean.success(tableList);
579
         return ResponseBean.success(tableList);
580
     }
580
     }
581
 
581
 
582
+    /**
583
+     * 人员城市分布
584
+     *
585
+     * @param orgId
586
+     * @return
587
+     */
588
+    @Override
589
+    public ResponseBean selectCityPerson(Integer orgId) {
590
+        ResponseBean responseBean = new ResponseBean();
591
+
592
+        // 城市比例
593
+        List<Map<String, Object>> selectCityUser = taPersonMapper.selectCityPerson(orgId);
594
+        Map<String, Object> map = new HashMap<>();
595
+        map.put("selectCityUser", selectCityUser);
596
+        responseBean.addSuccess(map);
597
+        return responseBean;
598
+    }
599
+
582
     /**
600
     /**
583
      * 项目公客排行折线图获取
601
      * 项目公客排行折线图获取
584
      * @param orgId
602
      * @param orgId

+ 26
- 0
src/main/resources/mapper/TaPersonMapper.xml Целия файл

615
         AND DATE_FORMAT(tp.create_date,'%Y-%m-%d') = DATE_FORMAT(#{nowDate},'%Y-%m-%d')
615
         AND DATE_FORMAT(tp.create_date,'%Y-%m-%d') = DATE_FORMAT(#{nowDate},'%Y-%m-%d')
616
     </select>
616
     </select>
617
 
617
 
618
+    <select id="selectCityPerson" resultType="java.util.Map">
619
+        SELECT
620
+            d.*,
621
+            count( d.person_id ) AS cityCount
622
+        FROM
623
+        (
624
+            SELECT
625
+                t.city AS city,
626
+                b.shortname AS NAME,
627
+                b.lng,
628
+                b.lat,
629
+                t.person_id
630
+            FROM
631
+            ( SELECT * FROM ta_person_position ORDER BY create_time DESC ) t
632
+                LEFT JOIN ta_person a ON t.person_id = a.person_id
633
+                INNER JOIN td_city b ON t.citycode = b.citycode
634
+            WHERE
635
+                a.org_id = #{orgId}
636
+                AND a.person_type IN ( 'customer', 'drift', 'estate agent' )
637
+            GROUP BY
638
+                t.person_id
639
+        ) d
640
+        GROUP BY
641
+        d.city
642
+    </select>
643
+
618
     <insert id="savePersonPosition" parameterType="com.huiju.estateagents.entity.TaPersonPositon">
644
     <insert id="savePersonPosition" parameterType="com.huiju.estateagents.entity.TaPersonPositon">
619
         insert into ta_person_position
645
         insert into ta_person_position
620
         <trim prefix="(" suffix=")" suffixOverrides=",">
646
         <trim prefix="(" suffix=")" suffixOverrides=",">