Browse Source

Merge branch 'dev' of http://git.ycjcjy.com/zhiyuxing/estateagents into dev

张延森 5 years ago
parent
commit
a28295851a
19 changed files with 647 additions and 246 deletions
  1. 10
    0
      src/main/java/com/huiju/estateagents/controller/StatisticalController.java
  2. 14
    11
      src/main/java/com/huiju/estateagents/controller/TdCityController.java
  3. 2
    0
      src/main/java/com/huiju/estateagents/excel/ActivityStatistics/ActivityDetailShareRecord.java
  4. 4
    0
      src/main/java/com/huiju/estateagents/excel/ActivityStatistics/ShareNum.java
  5. 3
    0
      src/main/java/com/huiju/estateagents/excel/ActivityStatistics/SharePersonNum.java
  6. 14
    0
      src/main/java/com/huiju/estateagents/excel/PrivateCustomerExport.java
  7. 14
    0
      src/main/java/com/huiju/estateagents/excel/PublicCustomerExport.java
  8. 8
    0
      src/main/java/com/huiju/estateagents/mapper/TaOrgCityMapper.java
  9. 2
    0
      src/main/java/com/huiju/estateagents/mapper/TaPersonMapper.java
  10. 7
    0
      src/main/java/com/huiju/estateagents/service/IStatisticalService.java
  11. 18
    0
      src/main/java/com/huiju/estateagents/service/impl/StatisticalServiceImpl.java
  12. 0
    1
      src/main/java/com/huiju/estateagents/service/impl/TaShareServiceImpl.java
  13. 10
    4
      src/main/java/com/huiju/estateagents/statistic/controller/ActivityStatisticController.java
  14. 38
    15
      src/main/java/com/huiju/estateagents/statistic/mapper/TaActicityStaticMapper.java
  15. 35
    21
      src/main/java/com/huiju/estateagents/statistic/service/impl/TaActivityStaticServiceImpl.java
  16. 11
    0
      src/main/resources/mapper/TaOrgCity.xml
  17. 26
    0
      src/main/resources/mapper/TaPersonMapper.xml
  18. 11
    4
      src/main/resources/mapper/TaRecommendCustomerMapper.xml
  19. 420
    190
      src/main/resources/mapper/statistic/TaActivityStaticMapper.xml

+ 10
- 0
src/main/java/com/huiju/estateagents/controller/StatisticalController.java View File

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

+ 14
- 11
src/main/java/com/huiju/estateagents/controller/TdCityController.java View File

1
 package com.huiju.estateagents.controller;
1
 package com.huiju.estateagents.controller;
2
 
2
 
3
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
3
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
-import com.baomidou.mybatisplus.core.metadata.IPage;
5
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
4
+import com.huiju.estateagents.base.BaseController;
6
 import com.huiju.estateagents.base.ResponseBean;
5
 import com.huiju.estateagents.base.ResponseBean;
7
-import com.huiju.estateagents.common.CommConstant;
8
 import com.huiju.estateagents.entity.TaMiniapp;
6
 import com.huiju.estateagents.entity.TaMiniapp;
9
 import com.huiju.estateagents.entity.TaOrgCity;
7
 import com.huiju.estateagents.entity.TaOrgCity;
10
 import com.huiju.estateagents.entity.TdCity;
8
 import com.huiju.estateagents.entity.TdCity;
14
 import org.slf4j.Logger;
12
 import org.slf4j.Logger;
15
 import org.slf4j.LoggerFactory;
13
 import org.slf4j.LoggerFactory;
16
 import org.springframework.beans.factory.annotation.Autowired;
14
 import org.springframework.beans.factory.annotation.Autowired;
17
-import org.springframework.web.bind.annotation.PathVariable;
18
-import org.springframework.web.bind.annotation.RequestBody;
19
-import org.springframework.web.bind.annotation.RequestMapping;
20
-import org.springframework.web.bind.annotation.RequestMethod;
21
-import org.springframework.web.bind.annotation.RequestParam;
22
-import org.springframework.web.bind.annotation.ResponseBody;
23
-import org.springframework.web.bind.annotation.RestController;
24
-import com.huiju.estateagents.base.BaseController;
15
+import org.springframework.web.bind.annotation.*;
25
 
16
 
26
 import javax.servlet.http.HttpServletRequest;
17
 import javax.servlet.http.HttpServletRequest;
27
 import java.util.List;
18
 import java.util.List;
78
         return responseBean;
69
         return responseBean;
79
     }
70
     }
80
 
71
 
72
+    /**
73
+     * 业务端城市
74
+     */
75
+    @RequestMapping(value = "/admin/tdCityList/tdAreaCity", method = RequestMethod.GET)
76
+    public ResponseBean adminTdAreaCityList(@RequestParam(value = "cityId", required = false) Integer cityId,
77
+                                    HttpServletRequest request) {
78
+        ResponseBean responseBean = new ResponseBean<>();
79
+        List<TaOrgCity> taOrgCityList = taOrgCityMapper.selectAdminTdAreaCityList(getOrgId(request),cityId);
80
+        responseBean.addSuccess(taOrgCityList);
81
+        return responseBean;
82
+    }
83
+
81
 
84
 
82
     /**
85
     /**
83
      * 查询列表
86
      * 查询列表

+ 2
- 0
src/main/java/com/huiju/estateagents/excel/ActivityStatistics/ActivityDetailShareRecord.java View File

1
 package com.huiju.estateagents.excel.ActivityStatistics;
1
 package com.huiju.estateagents.excel.ActivityStatistics;
2
 
2
 
3
+import com.alibaba.excel.annotation.ExcelIgnore;
3
 import com.alibaba.excel.annotation.ExcelProperty;
4
 import com.alibaba.excel.annotation.ExcelProperty;
4
 import com.alibaba.excel.annotation.write.style.ColumnWidth;
5
 import com.alibaba.excel.annotation.write.style.ColumnWidth;
5
 import lombok.Data;
6
 import lombok.Data;
7
 @Data
8
 @Data
8
 public class ActivityDetailShareRecord {
9
 public class ActivityDetailShareRecord {
9
 
10
 
11
+    @ExcelIgnore
10
     private String activityId;
12
     private String activityId;
11
 
13
 
12
     /**
14
     /**

+ 4
- 0
src/main/java/com/huiju/estateagents/excel/ActivityStatistics/ShareNum.java View File

1
 package com.huiju.estateagents.excel.ActivityStatistics;
1
 package com.huiju.estateagents.excel.ActivityStatistics;
2
 
2
 
3
+import com.alibaba.excel.annotation.ExcelIgnore;
3
 import com.alibaba.excel.annotation.ExcelProperty;
4
 import com.alibaba.excel.annotation.ExcelProperty;
4
 import com.alibaba.excel.annotation.write.style.ColumnWidth;
5
 import com.alibaba.excel.annotation.write.style.ColumnWidth;
5
 import lombok.Data;
6
 import lombok.Data;
42
     @ColumnWidth(15)
43
     @ColumnWidth(15)
43
     @ExcelProperty(value = "访问人数", index = 4)
44
     @ExcelProperty(value = "访问人数", index = 4)
44
     private Integer visitPersonNum;
45
     private Integer visitPersonNum;
46
+
47
+    @ExcelIgnore
48
+    private String sharePersonId;
45
 }
49
 }

+ 3
- 0
src/main/java/com/huiju/estateagents/excel/ActivityStatistics/SharePersonNum.java View File

1
 package com.huiju.estateagents.excel.ActivityStatistics;
1
 package com.huiju.estateagents.excel.ActivityStatistics;
2
 
2
 
3
+import com.alibaba.excel.annotation.ExcelIgnore;
3
 import com.alibaba.excel.annotation.ExcelProperty;
4
 import com.alibaba.excel.annotation.ExcelProperty;
4
 import com.alibaba.excel.annotation.write.style.ColumnWidth;
5
 import com.alibaba.excel.annotation.write.style.ColumnWidth;
5
 import lombok.Data;
6
 import lombok.Data;
48
     @ExcelProperty(value = "访问次数", index = 5)
49
     @ExcelProperty(value = "访问次数", index = 5)
49
     private Integer visitNum;
50
     private Integer visitNum;
50
 
51
 
52
+    @ExcelIgnore
53
+    private String personId;
51
 }
54
 }

+ 14
- 0
src/main/java/com/huiju/estateagents/excel/PrivateCustomerExport.java View File

86
     @ColumnWidth(15)
86
     @ColumnWidth(15)
87
     @ExcelProperty(value = "意向度(意向值)", index = 8)
87
     @ExcelProperty(value = "意向度(意向值)", index = 8)
88
     private String intention ;
88
     private String intention ;
89
+
90
+    /**
91
+     * 意向度
92
+     */
93
+    @ColumnWidth(15)
94
+    @ExcelProperty(value = "推广人员", index = 10)
95
+    private String sharePersonName ;
96
+
97
+    /**
98
+     * 意向度
99
+     */
100
+    @ColumnWidth(15)
101
+    @ExcelProperty(value = "积分值", index = 11)
102
+    private String points ;
89
 }
103
 }

+ 14
- 0
src/main/java/com/huiju/estateagents/excel/PublicCustomerExport.java View File

72
     @ColumnWidth(15)
72
     @ColumnWidth(15)
73
     @ExcelProperty(value = "项目名称", index = 3)
73
     @ExcelProperty(value = "项目名称", index = 3)
74
     private String buildingName;
74
     private String buildingName;
75
+
76
+    /**
77
+     * 意向度
78
+     */
79
+    @ColumnWidth(15)
80
+    @ExcelProperty(value = "推广人员", index = 8)
81
+    private String sharePersonName ;
82
+
83
+    /**
84
+     * 意向度
85
+     */
86
+    @ColumnWidth(15)
87
+    @ExcelProperty(value = "积分值", index = 9)
88
+    private String points ;
75
 }
89
 }

+ 8
- 0
src/main/java/com/huiju/estateagents/mapper/TaOrgCityMapper.java View File

27
      * @return
27
      * @return
28
      */
28
      */
29
     List<TaOrgCity> selectAdminTdCityList(Integer orgId);
29
     List<TaOrgCity> selectAdminTdCityList(Integer orgId);
30
+
31
+    /**
32
+     * 查询市下的区信息
33
+     * @param orgId
34
+     * @param cityId
35
+     * @return
36
+     */
37
+    List<TaOrgCity> selectAdminTdAreaCityList(Integer orgId, Integer cityId);
30
 }
38
 }

+ 2
- 0
src/main/java/com/huiju/estateagents/mapper/TaPersonMapper.java View File

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 View File

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 View File

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

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

71
             taBuildingDynamicQuery.eq("dynamic_id",id);
71
             taBuildingDynamicQuery.eq("dynamic_id",id);
72
             TaBuildingDynamic taBuildingDynamic = taBuildingDynamicMapper.selectOne(taBuildingDynamicQuery);
72
             TaBuildingDynamic taBuildingDynamic = taBuildingDynamicMapper.selectOne(taBuildingDynamicQuery);
73
             taBuildingDynamicMapper.updateById( taBuildingDynamic.setShareNum(taBuildingDynamic.getShareNum() == null ? 1:taBuildingDynamic.getShareNum()+1));
73
             taBuildingDynamicMapper.updateById( taBuildingDynamic.setShareNum(taBuildingDynamic.getShareNum() == null ? 1:taBuildingDynamic.getShareNum()+1));
74
-//            return ResponseBean.success("成功");
75
         }
74
         }
76
 
75
 
77
         TaShareCount taShareCount = new TaShareCount();
76
         TaShareCount taShareCount = new TaShareCount();

+ 10
- 4
src/main/java/com/huiju/estateagents/statistic/controller/ActivityStatisticController.java View File

148
                                                    @RequestParam(value = "activityType", required = false)String activityType,
148
                                                    @RequestParam(value = "activityType", required = false)String activityType,
149
                                                    @RequestParam(value = "sort", required = false)String sort,
149
                                                    @RequestParam(value = "sort", required = false)String sort,
150
                                                    @RequestParam(value = "colKey", required = false)String colKey,
150
                                                    @RequestParam(value = "colKey", required = false)String colKey,
151
+                                                   @RequestParam(value = "buildingId", required = false)String buildingId,
151
                                                    HttpServletRequest request) {
152
                                                    HttpServletRequest request) {
152
-        return taActivityStaticService.selectActivitySharePersonNum(pageNum, pageSize, getOrgId(request), startDate, endDate, sharePersonType, sharePersonName, sharePhone, activityId, activityType, sort, colKey);
153
+        return taActivityStaticService.selectActivitySharePersonNum(pageNum, pageSize, getOrgId(request), startDate, endDate, sharePersonType, sharePersonName, sharePhone, activityId, activityType, buildingId, sort, colKey);
153
     }
154
     }
154
 
155
 
155
     /**
156
     /**
190
                                                      @RequestParam(value = "sharePhone", required = false)String sharePhone,
191
                                                      @RequestParam(value = "sharePhone", required = false)String sharePhone,
191
                                                      @RequestParam(value = "activityId", required = false)String activityId,
192
                                                      @RequestParam(value = "activityId", required = false)String activityId,
192
                                                      @RequestParam(value = "activityType", required = false)String activityType,
193
                                                      @RequestParam(value = "activityType", required = false)String activityType,
194
+                                                     @RequestParam(value = "personId", required = false)String personId,
195
+                                                     @RequestParam(value = "buildingId", required = false)String buildingId,
193
                                                      @RequestParam(value = "sort", required = false)String sort,
196
                                                      @RequestParam(value = "sort", required = false)String sort,
194
                                                      @RequestParam(value = "colKey", required = false)String colKey,
197
                                                      @RequestParam(value = "colKey", required = false)String colKey,
195
                                                      HttpServletRequest request) {
198
                                                      HttpServletRequest request) {
196
-        return taActivityStaticService.selectActivityShareNum(pageNum, pageSize, getOrgId(request), startDate, endDate, sharePersonType, sharePersonName, sharePhone, activityId, activityType, sort, colKey);
199
+        return taActivityStaticService.selectActivityShareNum(pageNum, pageSize, getOrgId(request), startDate, endDate, sharePersonType, sharePersonName, sharePhone, activityId, activityType, personId, buildingId, sort, colKey);
197
     }
200
     }
198
 
201
 
199
     /**
202
     /**
271
                                                    @RequestParam(value = "realtyConsultantPhone", required = false)String realtyConsultantPhone,
274
                                                    @RequestParam(value = "realtyConsultantPhone", required = false)String realtyConsultantPhone,
272
                                                    @RequestParam(value = "activityId", required = false)String activityId,
275
                                                    @RequestParam(value = "activityId", required = false)String activityId,
273
                                                    @RequestParam(value = "activityType", required = false)String activityType,
276
                                                    @RequestParam(value = "activityType", required = false)String activityType,
277
+                                                   @RequestParam(value = "personId", required = false)String personId,
274
                                                    HttpServletRequest request) {
278
                                                    HttpServletRequest request) {
275
-        return taActivityStaticService.selectActivityVisitNum(pageNum, pageSize, getOrgId(request), startDate, endDate, personFrom, province, realtyConsultant, realtyConsultantPhone, activityId, activityType);
279
+        return taActivityStaticService.selectActivityVisitNum(pageNum, pageSize, getOrgId(request), startDate, endDate, personFrom, province, realtyConsultant, realtyConsultantPhone, activityId, activityType, personId);
276
     }
280
     }
277
 
281
 
278
     /**
282
     /**
311
                                                @RequestParam(value = "province", required = false)String province,
315
                                                @RequestParam(value = "province", required = false)String province,
312
                                                @RequestParam(value = "realtyConsultant", required = false)String realtyConsultant,
316
                                                @RequestParam(value = "realtyConsultant", required = false)String realtyConsultant,
313
                                                @RequestParam(value = "realtyConsultantPhone", required = false)String realtyConsultantPhone,
317
                                                @RequestParam(value = "realtyConsultantPhone", required = false)String realtyConsultantPhone,
318
+                                               @RequestParam(value = "personId", required = false)String personId,
314
                                                @RequestParam(value = "activityId", required = false)String activityId,
319
                                                @RequestParam(value = "activityId", required = false)String activityId,
315
                                                @RequestParam(value = "activityType", required = false)String activityType,
320
                                                @RequestParam(value = "activityType", required = false)String activityType,
316
                                                HttpServletRequest request) {
321
                                                HttpServletRequest request) {
317
-        return taActivityStaticService.selectActivityVisitPersonNum(pageNum, pageSize, getOrgId(request), startDate, endDate, personFrom, province, realtyConsultant, realtyConsultantPhone, activityId, activityType);
322
+        return taActivityStaticService.selectActivityVisitPersonNum(pageNum, pageSize, getOrgId(request), startDate, endDate, personFrom, province, realtyConsultant, realtyConsultantPhone, activityId, activityType, personId);
318
     }
323
     }
319
 
324
 
320
     /**
325
     /**
340
         // finish 会帮忙关闭流
345
         // finish 会帮忙关闭流
341
         excelWriter.finish();
346
         excelWriter.finish();
342
     }
347
     }
348
+
343
 }
349
 }

+ 38
- 15
src/main/java/com/huiju/estateagents/statistic/mapper/TaActicityStaticMapper.java View File

12
 
12
 
13
 @Mapper
13
 @Mapper
14
 public interface TaActicityStaticMapper {
14
 public interface TaActicityStaticMapper {
15
-    Integer selectSharePersonNum(@Param("startDate") LocalDate startDate, @Param("endDate") LocalDate endDate, @Param("buildingId") String buildingId, @Param("targetType") String targetType, @Param("orgId") Integer orgId);
15
+    Integer selectSharePersonNum(@Param("startDate") LocalDateTime startDate, @Param("endDate") LocalDateTime endDate, @Param("buildingId") String buildingId, @Param("targetType") String targetType, @Param("orgId") Integer orgId);
16
 
16
 
17
-    Integer selectShareNum(@Param("startDate") LocalDate startDate, @Param("endDate") LocalDate endDate, @Param("buildingId") String buildingId, @Param("targetType") String targetType, @Param("orgId") Integer orgId);
17
+    Integer selectShareNum(@Param("startDate") LocalDateTime startDate, @Param("endDate") LocalDateTime endDate, @Param("buildingId") String buildingId, @Param("targetType") String targetType, @Param("orgId") Integer orgId);
18
 
18
 
19
-    Integer selectVisitPersonNum(@Param("startDate") LocalDate startDate, @Param("endDate") LocalDate endDate, @Param("buildingId") String buildingId, @Param("targetType") String targetType, @Param("orgId") Integer orgId);
19
+    Integer selectVisitPersonNum(@Param("startDate") LocalDateTime startDate, @Param("endDate") LocalDateTime endDate, @Param("buildingId") String buildingId, @Param("targetType") String targetType, @Param("orgId") Integer orgId);
20
 
20
 
21
-    Integer selectVisitNum(@Param("startDate") LocalDate startDate, @Param("endDate") LocalDate endDate, @Param("buildingId") String buildingId, @Param("targetType") String targetType, @Param("orgId") Integer orgId);
21
+    Integer selectVisitNum(@Param("startDate") LocalDateTime startDate, @Param("endDate") LocalDateTime endDate, @Param("buildingId") String buildingId, @Param("targetType") String targetType, @Param("orgId") Integer orgId);
22
 
22
 
23
-    List<Map<String, Object>> selectShareCount(@Param("orgId") Integer orgId, @Param("startDate") LocalDate startDate, @Param("endDate") LocalDate endDate, @Param("buildingId") String buildingId, @Param("targetType") String targetType);
23
+    List<Map<String, Object>> selectShareCount(@Param("orgId") Integer orgId, @Param("startDate") LocalDateTime startDate, @Param("endDate") LocalDateTime endDate, @Param("buildingId") String buildingId, @Param("targetType") String targetType);
24
 
24
 
25
-    List<Map<String, Object>> selectSharePersonCount(@Param("orgId") Integer orgId, @Param("startDate") LocalDate startDate, @Param("endDate") LocalDate endDate, @Param("buildingId") String buildingId, @Param("targetType") String targetType);
25
+    List<Map<String, Object>> selectSharePersonCount(@Param("orgId") Integer orgId, @Param("startDate") LocalDateTime startDate, @Param("endDate") LocalDateTime endDate, @Param("buildingId") String buildingId, @Param("targetType") String targetType);
26
 
26
 
27
-    List<Map<String, Object>> selectVisitCount(@Param("orgId") Integer orgId, @Param("startDate") LocalDate startDate, @Param("endDate") LocalDate endDate, @Param("buildingId") String buildingId, @Param("targetType") String targetType);
27
+    List<Map<String, Object>> selectVisitCount(@Param("orgId") Integer orgId, @Param("startDate") LocalDateTime startDate, @Param("endDate") LocalDateTime endDate, @Param("buildingId") String buildingId, @Param("targetType") String targetType);
28
 
28
 
29
-    List<Map<String, Object>> selectVisitPersonCount(@Param("orgId") Integer orgId, @Param("startDate") LocalDate startDate, @Param("endDate") LocalDate endDate, @Param("buildingId") String buildingId, @Param("targetType") String targetType);
29
+    List<Map<String, Object>> selectVisitPersonCount(@Param("orgId") Integer orgId, @Param("startDate") LocalDateTime startDate, @Param("endDate") LocalDateTime endDate, @Param("buildingId") String buildingId, @Param("targetType") String targetType);
30
 
30
 
31
-    List<Map<String, Object>> selectAddRegistCount(@Param("orgId") Integer orgId, @Param("startDate") LocalDate startDate, @Param("endDate") LocalDate endDate, @Param("buildingId") String buildingId, @Param("targetType") String targetType);
31
+    List<Map<String, Object>> selectAddRegistCount(@Param("orgId") Integer orgId, @Param("startDate") LocalDateTime startDate, @Param("endDate") LocalDateTime endDate, @Param("buildingId") String buildingId, @Param("targetType") String targetType);
32
 
32
 
33
     IPage<StatisicAttractUser> selectTableData(
33
     IPage<StatisicAttractUser> selectTableData(
34
             IPage<StatisicAttractUser> attractUserIPage,
34
             IPage<StatisicAttractUser> attractUserIPage,
35
             @Param("orgId") Integer orgId,
35
             @Param("orgId") Integer orgId,
36
-            @Param("startDate") LocalDate startDate,
37
-            @Param("endDate") LocalDate endDate,
36
+            @Param("startDate") LocalDateTime startDate,
37
+            @Param("endDate") LocalDateTime endDate,
38
             @Param("buildingId") String buildingId,
38
             @Param("buildingId") String buildingId,
39
             @Param("targetType") String targetType,
39
             @Param("targetType") String targetType,
40
             @Param("sortType") String sortType,
40
             @Param("sortType") String sortType,
42
 
42
 
43
     List<StatisicAttractUser> selectExportTableData(
43
     List<StatisicAttractUser> selectExportTableData(
44
             @Param("orgId") Integer orgId,
44
             @Param("orgId") Integer orgId,
45
-            @Param("startDate") LocalDate startDate,
46
-            @Param("endDate") LocalDate endDate,
45
+            @Param("startDate") LocalDateTime startDate,
46
+            @Param("endDate") LocalDateTime endDate,
47
             @Param("buildingId") String buildingId,
47
             @Param("buildingId") String buildingId,
48
             @Param("targetType") String targetType,
48
             @Param("targetType") String targetType,
49
             @Param("sortType") String sortType,
49
             @Param("sortType") String sortType,
52
     IPage<ActivityDetailShareRecord> selectActivityStatisDetail(
52
     IPage<ActivityDetailShareRecord> selectActivityStatisDetail(
53
             IPage<ActivityDetailShareRecord> attractUserIPage,
53
             IPage<ActivityDetailShareRecord> attractUserIPage,
54
             @Param("orgId") Integer orgId,
54
             @Param("orgId") Integer orgId,
55
-            @Param("startDate") LocalDate startDate,
56
-            @Param("endDate") LocalDate endDate,
55
+            @Param("startDate") LocalDateTime startDate,
56
+            @Param("endDate") LocalDateTime endDate,
57
             @Param("buildingId") String buildingId,
57
             @Param("buildingId") String buildingId,
58
             @Param("targetType") String targetType,
58
             @Param("targetType") String targetType,
59
             @Param("activityName") String activityName,
59
             @Param("activityName") String activityName,
82
             @Param("sharePhone") String sharePhone,
82
             @Param("sharePhone") String sharePhone,
83
             @Param("activityId") String activityId,
83
             @Param("activityId") String activityId,
84
             @Param("activityType") String activityType,
84
             @Param("activityType") String activityType,
85
+            @Param("buildingId") String buildingId,
85
             @Param("sort") String sort,
86
             @Param("sort") String sort,
86
             @Param("colKey") String colKey
87
             @Param("colKey") String colKey
87
     );
88
     );
107
             @Param("sharePhone") String sharePhone,
108
             @Param("sharePhone") String sharePhone,
108
             @Param("activityId") String activityId,
109
             @Param("activityId") String activityId,
109
             @Param("activityType") String activityType,
110
             @Param("activityType") String activityType,
111
+            @Param("personId") String personId,
112
+            @Param("buildingId") String buildingId,
110
             @Param("sort") String sort,
113
             @Param("sort") String sort,
111
             @Param("colKey") String colKey
114
             @Param("colKey") String colKey
112
     );
115
     );
185
             @Param("realtyConsultantPhone") String realtyConsultantPhone
188
             @Param("realtyConsultantPhone") String realtyConsultantPhone
186
     );
189
     );
187
 
190
 
191
+    IPage<VisitPersonNum> selectActivityVisitPersonNumByPersonId(
192
+            IPage<VisitPersonNum> iPage,
193
+            @Param("orgId") Integer orgId,
194
+            @Param("startDate") LocalDateTime startDate,
195
+            @Param("endDate") LocalDateTime endDate,
196
+            @Param("personId") String personId,
197
+            @Param("activityId") String activityId,
198
+            @Param("activityType") String activityType
199
+    );
200
+
201
+    IPage<VisitNum> selectActivityVisitNumByPersonId(
202
+            IPage<VisitNum> iPage,
203
+            @Param("orgId") Integer orgId,
204
+            @Param("startDate") LocalDateTime startDate,
205
+            @Param("endDate") LocalDateTime endDate,
206
+            @Param("personId") String personId,
207
+            @Param("activityId") String activityId,
208
+            @Param("activityType") String activityType
209
+    );
210
+
188
 }
211
 }

+ 35
- 21
src/main/java/com/huiju/estateagents/statistic/service/impl/TaActivityStaticServiceImpl.java View File

3
 import com.baomidou.mybatisplus.core.metadata.IPage;
3
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
4
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
 import com.huiju.estateagents.base.ResponseBean;
5
 import com.huiju.estateagents.base.ResponseBean;
6
+import com.huiju.estateagents.common.StringUtils;
6
 import com.huiju.estateagents.excel.ActivityStatistics.*;
7
 import com.huiju.estateagents.excel.ActivityStatistics.*;
7
 import com.huiju.estateagents.statistic.mapper.TaActicityStaticMapper;
8
 import com.huiju.estateagents.statistic.mapper.TaActicityStaticMapper;
8
 import org.springframework.beans.factory.annotation.Autowired;
9
 import org.springframework.beans.factory.annotation.Autowired;
20
     @Autowired
21
     @Autowired
21
     private TaActicityStaticMapper taActicityStaticMapper;
22
     private TaActicityStaticMapper taActicityStaticMapper;
22
 
23
 
23
-    public ResponseBean activityStatistical(LocalDate startDate, LocalDate endDate, String buidling, String targetType, Integer orgId){
24
+    public ResponseBean activityStatistical(LocalDate startDate, LocalDate endDate, String building, String targetType, Integer orgId){
24
 
25
 
25
         ResponseBean responseBean = new ResponseBean();
26
         ResponseBean responseBean = new ResponseBean();
26
         Map<String, Object> map = new HashMap<>();
27
         Map<String, Object> map = new HashMap<>();
27
 
28
 
28
-        Integer sharePersonNum = taActicityStaticMapper.selectSharePersonNum(startDate, endDate, buidling, targetType, orgId);
29
+        Integer sharePersonNum = taActicityStaticMapper.selectSharePersonNum(LocalDateTime.of(startDate, LocalTime.MIN), LocalDateTime.of(endDate, LocalTime.MAX.withNano(0)), building, targetType, orgId);
29
 
30
 
30
-        Integer shareNum = taActicityStaticMapper.selectShareNum(startDate, endDate, buidling, targetType, orgId);
31
+        Integer shareNum = taActicityStaticMapper.selectShareNum(LocalDateTime.of(startDate, LocalTime.MIN), LocalDateTime.of(endDate, LocalTime.MAX.withNano(0)), building, targetType, orgId);
31
 
32
 
32
-        Integer visitPersonNum = taActicityStaticMapper.selectVisitPersonNum(startDate, endDate, buidling, targetType, orgId);
33
+        Integer visitPersonNum = taActicityStaticMapper.selectVisitPersonNum(LocalDateTime.of(startDate, LocalTime.MIN), LocalDateTime.of(endDate, LocalTime.MAX.withNano(0)), building, targetType, orgId);
33
 
34
 
34
-        Integer visitNum = taActicityStaticMapper.selectVisitNum(startDate, endDate, buidling, targetType, orgId);
35
+        Integer visitNum = taActicityStaticMapper.selectVisitNum(LocalDateTime.of(startDate, LocalTime.MIN), LocalDateTime.of(endDate, LocalTime.MAX.withNano(0)), building, targetType, orgId);
35
 
36
 
36
         map.put("sharePersonNum", sharePersonNum);
37
         map.put("sharePersonNum", sharePersonNum);
37
         map.put("shareNum", shareNum);
38
         map.put("shareNum", shareNum);
47
         ResponseBean responseBean = new ResponseBean();
48
         ResponseBean responseBean = new ResponseBean();
48
 
49
 
49
         // 新增用户数
50
         // 新增用户数
50
-        List<Map<String, Object>> selectShareCount = taActicityStaticMapper.selectShareCount(orgId, startDate, endDate, buildingId, targetType);
51
-        List<Map<String, Object>> selectSharePersonCount = taActicityStaticMapper.selectSharePersonCount(orgId, startDate, endDate, buildingId, targetType);
52
-        List<Map<String, Object>> selectVisitCount = taActicityStaticMapper.selectVisitCount(orgId, startDate, endDate, buildingId, targetType);
53
-        List<Map<String, Object>> selectVisitPersonCount = taActicityStaticMapper.selectVisitPersonCount(orgId, startDate, endDate, buildingId, targetType);
54
-        List<Map<String, Object>> selectAddRegistCount = taActicityStaticMapper.selectAddRegistCount(orgId, startDate, endDate, buildingId, targetType);
51
+        List<Map<String, Object>> selectShareCount = taActicityStaticMapper.selectShareCount(orgId, LocalDateTime.of(startDate, LocalTime.MIN), LocalDateTime.of(endDate, LocalTime.MAX.withNano(0)), buildingId, targetType);
52
+        List<Map<String, Object>> selectSharePersonCount = taActicityStaticMapper.selectSharePersonCount(orgId, LocalDateTime.of(startDate, LocalTime.MIN), LocalDateTime.of(endDate, LocalTime.MAX.withNano(0)), buildingId, targetType);
53
+        List<Map<String, Object>> selectVisitCount = taActicityStaticMapper.selectVisitCount(orgId, LocalDateTime.of(startDate, LocalTime.MIN), LocalDateTime.of(endDate, LocalTime.MAX.withNano(0)), buildingId, targetType);
54
+        List<Map<String, Object>> selectVisitPersonCount = taActicityStaticMapper.selectVisitPersonCount(orgId, LocalDateTime.of(startDate, LocalTime.MIN), LocalDateTime.of(endDate, LocalTime.MAX.withNano(0)), buildingId, targetType);
55
+        List<Map<String, Object>> selectAddRegistCount = taActicityStaticMapper.selectAddRegistCount(orgId, LocalDateTime.of(startDate, LocalTime.MIN), LocalDateTime.of(endDate, LocalTime.MAX.withNano(0)), buildingId, targetType);
55
 
56
 
56
 
57
 
57
         for (Map<String, Object> ssc : selectShareCount){
58
         for (Map<String, Object> ssc : selectShareCount){
91
     public ResponseBean selectTableData(Integer pageNum, Integer pageSize, Integer orgId, LocalDate startDate, LocalDate endDate, String buildingId, String targetType, String sort, String colKey){
92
     public ResponseBean selectTableData(Integer pageNum, Integer pageSize, Integer orgId, LocalDate startDate, LocalDate endDate, String buildingId, String targetType, String sort, String colKey){
92
         IPage<StatisicAttractUser> iPage = new Page<>(pageNum, pageSize);
93
         IPage<StatisicAttractUser> iPage = new Page<>(pageNum, pageSize);
93
         String sortType = "ascend".equals(sort) ? "asc" : "desc";
94
         String sortType = "ascend".equals(sort) ? "asc" : "desc";
94
-        IPage<StatisicAttractUser> data = taActicityStaticMapper.selectTableData(iPage, orgId, startDate, endDate, buildingId, targetType, sortType, colKey);
95
+        IPage<StatisicAttractUser> data = taActicityStaticMapper.selectTableData(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MIN), LocalDateTime.of(endDate, LocalTime.MAX.withNano(0)), buildingId, targetType, sortType, colKey);
95
         return ResponseBean.success(data);
96
         return ResponseBean.success(data);
96
     }
97
     }
97
 
98
 
98
     public List<StatisicAttractUser> selectExportTableData(Integer orgId, LocalDate startDate, LocalDate endDate, String buildingId, String targetType, String sort, String colKey){
99
     public List<StatisicAttractUser> selectExportTableData(Integer orgId, LocalDate startDate, LocalDate endDate, String buildingId, String targetType, String sort, String colKey){
99
         String sortType = "ascend".equals(sort) ? "asc" : "desc";
100
         String sortType = "ascend".equals(sort) ? "asc" : "desc";
100
-        return taActicityStaticMapper.selectExportTableData(orgId, startDate, endDate, buildingId, targetType, sortType, colKey);
101
+        return taActicityStaticMapper.selectExportTableData(orgId, LocalDateTime.of(startDate, LocalTime.MIN), LocalDateTime.of(endDate, LocalTime.MAX.withNano(0)), buildingId, targetType, sortType, colKey);
101
     }
102
     }
102
 
103
 
103
     public ResponseBean selectActivityStatisDetail(Integer pageNum, Integer pageSize, Integer orgId, LocalDate startDate, LocalDate endDate, String buildingId, String targetType, String activityName, String sort, String colKey){
104
     public ResponseBean selectActivityStatisDetail(Integer pageNum, Integer pageSize, Integer orgId, LocalDate startDate, LocalDate endDate, String buildingId, String targetType, String activityName, String sort, String colKey){
104
         IPage<ActivityDetailShareRecord> iPage = new Page<>(pageNum, pageSize);
105
         IPage<ActivityDetailShareRecord> iPage = new Page<>(pageNum, pageSize);
105
         String sortType = "ascend".equals(sort) ? "asc" : "desc";
106
         String sortType = "ascend".equals(sort) ? "asc" : "desc";
106
-        IPage<ActivityDetailShareRecord> data = taActicityStaticMapper.selectActivityStatisDetail(iPage, orgId, startDate, endDate, buildingId, targetType, activityName, sortType, colKey);
107
+        IPage<ActivityDetailShareRecord> data = taActicityStaticMapper.selectActivityStatisDetail(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MIN), LocalDateTime.of(endDate, LocalTime.MAX.withNano(0)), buildingId, targetType, activityName, sortType, colKey);
107
         return ResponseBean.success(data);
108
         return ResponseBean.success(data);
108
     }
109
     }
109
 
110
 
112
         return taActicityStaticMapper.selectActivityStatisDetailExport(orgId, startDate, endDate, buildingId, targetType, activityName, sortType, colKey);
113
         return taActicityStaticMapper.selectActivityStatisDetailExport(orgId, startDate, endDate, buildingId, targetType, activityName, sortType, colKey);
113
     }
114
     }
114
 
115
 
115
-    public ResponseBean selectActivitySharePersonNum(Integer pageNum, Integer pageSize, Integer orgId, LocalDate startDate, LocalDate endDate, String sharePersonType, String sharePersonName, String sharePhone, String activityId, String activityType, String sort, String colKey){
116
+    public ResponseBean selectActivitySharePersonNum(Integer pageNum, Integer pageSize, Integer orgId, LocalDate startDate, LocalDate endDate, String sharePersonType, String sharePersonName, String sharePhone, String activityId, String activityType, String buildingId, String sort, String colKey){
116
         IPage<SharePersonNum> iPage = new Page<>(pageNum, pageSize);
117
         IPage<SharePersonNum> iPage = new Page<>(pageNum, pageSize);
117
         String sortType = "ascend".equals(sort) ? "asc" : "desc";
118
         String sortType = "ascend".equals(sort) ? "asc" : "desc";
118
 
119
 
119
-        IPage<SharePersonNum> data = taActicityStaticMapper.selectActivitySharePersonNum(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), sharePersonType, sharePersonName, sharePhone, activityId, activityType, sortType, colKey);
120
+        IPage<SharePersonNum> data = taActicityStaticMapper.selectActivitySharePersonNum(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), sharePersonType, sharePersonName, sharePhone, activityId, activityType, buildingId, sortType, colKey);
120
         return ResponseBean.success(data);
121
         return ResponseBean.success(data);
121
     }
122
     }
122
 
123
 
125
         return taActicityStaticMapper.selectActivitySharePersonNumExport(orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), sharePersonType, sharePersonName, sharePhone, sortType, colKey);
126
         return taActicityStaticMapper.selectActivitySharePersonNumExport(orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), sharePersonType, sharePersonName, sharePhone, sortType, colKey);
126
     }
127
     }
127
 
128
 
128
-    public ResponseBean selectActivityShareNum(Integer pageNum, Integer pageSize, Integer orgId, LocalDate startDate, LocalDate endDate, String sharePersonType, String sharePersonName, String sharePhone, String activityId, String activityType, String sort, String colKey){
129
+    public ResponseBean selectActivityShareNum(Integer pageNum, Integer pageSize, Integer orgId, LocalDate startDate, LocalDate endDate, String sharePersonType, String sharePersonName, String sharePhone, String activityId, String activityType, String personId, String buildingId, String sort, String colKey){
129
         IPage<ShareNum> iPage = new Page<>(pageNum, pageSize);
130
         IPage<ShareNum> iPage = new Page<>(pageNum, pageSize);
130
         String sortType = "ascend".equals(sort) ? "asc" : "desc";
131
         String sortType = "ascend".equals(sort) ? "asc" : "desc";
131
 
132
 
132
-        IPage<ShareNum> data = taActicityStaticMapper.selectActivityShareNum(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), sharePersonType, sharePersonName, sharePhone, activityId, activityType, sortType, colKey);
133
+        IPage<ShareNum> data = taActicityStaticMapper.selectActivityShareNum(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), sharePersonType, sharePersonName, sharePhone, activityId, activityType, personId, buildingId, sortType, colKey);
133
         return ResponseBean.success(data);
134
         return ResponseBean.success(data);
134
     }
135
     }
135
 
136
 
148
         return taActicityStaticMapper.selectActivityAddRegistNumExport(orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personFrom);
149
         return taActicityStaticMapper.selectActivityAddRegistNumExport(orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personFrom);
149
     }
150
     }
150
 
151
 
151
-    public ResponseBean selectActivityVisitNum(Integer pageNum, Integer pageSize, Integer orgId, LocalDate startDate, LocalDate endDate, String personFrom, String provice, String realtyConsultant, String realtyConsultantPhone, String activityId, String activityType){
152
+    public ResponseBean selectActivityVisitNum(Integer pageNum, Integer pageSize, Integer orgId, LocalDate startDate, LocalDate endDate, String personFrom, String provice, String realtyConsultant, String realtyConsultantPhone, String activityId, String activityType, String personId){
152
         IPage<VisitNum> iPage = new Page<>(pageNum, pageSize);
153
         IPage<VisitNum> iPage = new Page<>(pageNum, pageSize);
153
-        IPage<VisitNum> data = taActicityStaticMapper.selectActivityVisitNum(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, provice, realtyConsultant, realtyConsultantPhone, activityId, activityType);
154
+        IPage<VisitNum> data;
155
+        if (StringUtils.isEmpty(personId)){
156
+            data = taActicityStaticMapper.selectActivityVisitNum(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, provice, realtyConsultant, realtyConsultantPhone, activityId, activityType);
157
+        }else{
158
+            data = taActicityStaticMapper.selectActivityVisitNumByPersonId(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personId, activityId, activityType);
159
+        }
160
+
154
         return ResponseBean.success(data);
161
         return ResponseBean.success(data);
155
     }
162
     }
156
 
163
 
158
         return taActicityStaticMapper.selectActivityVisitNumExport(orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, provice, realtyConsultant, realtyConsultantPhone);
165
         return taActicityStaticMapper.selectActivityVisitNumExport(orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, provice, realtyConsultant, realtyConsultantPhone);
159
     }
166
     }
160
 
167
 
161
-    public ResponseBean selectActivityVisitPersonNum(Integer pageNum, Integer pageSize, Integer orgId, LocalDate startDate, LocalDate endDate, String personFrom, String provice, String realtyConsultant, String realtyConsultantPhone, String activityId, String activityType){
168
+    public ResponseBean selectActivityVisitPersonNum(Integer pageNum, Integer pageSize, Integer orgId, LocalDate startDate, LocalDate endDate, String personFrom, String provice, String realtyConsultant, String realtyConsultantPhone, String activityId, String activityType, String personId){
162
         IPage<VisitPersonNum> iPage = new Page<>(pageNum, pageSize);
169
         IPage<VisitPersonNum> iPage = new Page<>(pageNum, pageSize);
163
-        IPage<VisitPersonNum> data = taActicityStaticMapper.selectActivityVisitPersonNum(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, provice, realtyConsultant, realtyConsultantPhone, activityId, activityType);
170
+        IPage<VisitPersonNum> data;
171
+        if (StringUtils.isEmpty(personId)){
172
+            data = taActicityStaticMapper.selectActivityVisitPersonNum(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, provice, realtyConsultant, realtyConsultantPhone, activityId, activityType);
173
+        }else{
174
+            data = taActicityStaticMapper.selectActivityVisitPersonNumByPersonId(iPage, orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personId, activityId, activityType);
175
+        }
176
+
164
         return ResponseBean.success(data);
177
         return ResponseBean.success(data);
165
     }
178
     }
166
 
179
 
167
     public List<VisitPersonNum> selectActivityVisitPersonNumExport(Integer orgId, LocalDate startDate, LocalDate endDate, String personFrom, String provice, String realtyConsultant, String realtyConsultantPhone){
180
     public List<VisitPersonNum> selectActivityVisitPersonNumExport(Integer orgId, LocalDate startDate, LocalDate endDate, String personFrom, String provice, String realtyConsultant, String realtyConsultantPhone){
168
         return taActicityStaticMapper.selectActivityVisitPersonNumExport(orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, provice, realtyConsultant, realtyConsultantPhone);
181
         return taActicityStaticMapper.selectActivityVisitPersonNumExport(orgId, LocalDateTime.of(startDate, LocalTime.MAX), LocalDateTime.of(endDate, LocalTime.MAX), personFrom, provice, realtyConsultant, realtyConsultantPhone);
169
     }
182
     }
183
+
170
 }
184
 }

+ 11
- 0
src/main/resources/mapper/TaOrgCity.xml View File

23
                 ORDER BY
23
                 ORDER BY
24
                 c.pinyin
24
                 c.pinyin
25
     </select>
25
     </select>
26
+    <select id="selectAdminTdAreaCityList" resultType="com.huiju.estateagents.entity.TaOrgCity">
27
+        SELECT
28
+        id,
29
+        NAME,
30
+        parentid,
31
+        LEFT ( pinyin, 1 ) AS initial
32
+        FROM
33
+        td_city
34
+        WHERE
35
+        parentid = #{cityId}
36
+    </select>
26
 </mapper>
37
 </mapper>

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

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=",">

+ 11
- 4
src/main/resources/mapper/TaRecommendCustomerMapper.xml View File

551
           concat(b.country, b.province) as province,
551
           concat(b.country, b.province) as province,
552
           z.intention,
552
           z.intention,
553
           d.scene_alias as sceneType,
553
           d.scene_alias as sceneType,
554
-          t.building_name
554
+          t.building_name,
555
+          ifnull( c.nickname, c.NAME ) AS sharePersonName ,
556
+          s.points
555
         FROM
557
         FROM
556
         ta_person b
558
         ta_person b
557
         LEFT JOIN ta_person_from_record r ON b.person_id = r.person_id AND r.is_first_time = 1 and r.org_id = #{orgId}
559
         LEFT JOIN ta_person_from_record r ON b.person_id = r.person_id AND r.is_first_time = 1 and r.org_id = #{orgId}
558
         left join ta_building t on b.building_id = t.building_id
560
         left join ta_building t on b.building_id = t.building_id
561
+        LEFT JOIN ta_person c ON b.recommend_person = c.person_id AND c.org_id = #{orgId}
562
+        left JOIN (select sum(points_amount) as points,person_id from ta_points_records where org_id = #{orgId} GROUP BY person_id) s on b.person_id = s.person_id
559
         left join (select sum(t.intention) as intention,t.person_id From ta_person_intention_record t where t.org_id = #{orgId} group by t.person_id) z on z.person_id = b.person_id
563
         left join (select sum(t.intention) as intention,t.person_id From ta_person_intention_record t where t.org_id = #{orgId} group by t.person_id) z on z.person_id = b.person_id
560
         left join td_wx_dict d on r.scene_id = d.scene_id
564
         left join td_wx_dict d on r.scene_id = d.scene_id
561
         <where>
565
         <where>
591
             <if test="consultTel != null and consultTel !=''">
595
             <if test="consultTel != null and consultTel !=''">
592
                 and b.tel like CONCAT('%',#{consultTel}, '%')
596
                 and b.tel like CONCAT('%',#{consultTel}, '%')
593
             </if>
597
             </if>
594
-            and NOT EXISTS ( select * from ta_recommend_customer a where a.org_id = #{orgId} and a.recommend_person = b.person_id)
598
+<!--            and NOT EXISTS ( select * from ta_recommend_customer a where a.org_id = #{orgId} and a.recommend_person = b.person_id)-->
595
             AND b.person_id not IN ( SELECT c.person_id FROM ta_recommend_customer c WHERE c.org_id = #{orgId} AND person_id is not null AND person_id != ''  )
599
             AND b.person_id not IN ( SELECT c.person_id FROM ta_recommend_customer c WHERE c.org_id = #{orgId} AND person_id is not null AND person_id != ''  )
596
         </where>
600
         </where>
597
         order by b.create_date desc
601
         order by b.create_date desc
667
         z.intention,
671
         z.intention,
668
         a.create_date,
672
         a.create_date,
669
         concat(a.country,a.province) as province,
673
         concat(a.country,a.province) as province,
670
-        w.scene_alias as scene_type
674
+        w.scene_alias as scene_type,
675
+        IFNULL( c.NAME, c.nickname ) AS sharePersonName,
676
+        s.points
671
         FROM
677
         FROM
672
         ta_recommend_customer a
678
         ta_recommend_customer a
673
         LEFT JOIN ta_person b ON a.realty_consultant = b.person_id
679
         LEFT JOIN ta_person b ON a.realty_consultant = b.person_id
674
-        LEFT JOIN ta_person c ON a.realty_consultant = c.user_id
675
         LEFT JOIN ta_user d on d.user_id = a.realty_consultant
680
         LEFT JOIN ta_user d on d.user_id = a.realty_consultant
676
         LEFT JOIN ta_person_from_record p ON a.person_id = p.person_id AND p.is_first_time = 1 and p.org_id = #{orgId}
681
         LEFT JOIN ta_person_from_record p ON a.person_id = p.person_id AND p.is_first_time = 1 and p.org_id = #{orgId}
682
+        LEFT JOIN ta_person c ON p.share_person_id = c.person_id
677
         left join ta_building t on a.building_id = t.building_id
683
         left join ta_building t on a.building_id = t.building_id
678
         LEFT JOIN td_wx_dict w ON p.scene_id = w.scene_id
684
         LEFT JOIN td_wx_dict w ON p.scene_id = w.scene_id
685
+        left JOIN (select sum(points_amount) as points,person_id from ta_points_records where org_id = #{orgId} GROUP BY person_id) s on a.person_id = s.person_id
679
         left join (select sum(t.intention) as intention,t.person_id From ta_person_intention_record t where t.org_id = #{orgId} group by t.person_id) z on z.person_id = a.person_id
686
         left join (select sum(t.intention) as intention,t.person_id From ta_person_intention_record t where t.org_id = #{orgId} group by t.person_id) z on z.person_id = a.person_id
680
         <where>
687
         <where>
681
             a.status > 0
688
             a.status > 0

+ 420
- 190
src/main/resources/mapper/statistic/TaActivityStaticMapper.xml
File diff suppressed because it is too large
View File