weichaochao 5 years ago
parent
commit
7347807e28

+ 1
- 1
src/main/java/com/huiju/estateagents/mapper/TaShareCountMapper.java View File

23
      * @param personId
23
      * @param personId
24
      * @return
24
      * @return
25
      */
25
      */
26
-    Integer countShare(@Param("personId") String personId, @Param("orgId")Integer orgId);
26
+    Integer countShare(@Param("personId") String personId, @Param("orgId")Integer orgId, @Param("startCreateDate") String startCreateDate, @Param("endCreateDate") String endCreateDate);
27
 
27
 
28
     /**
28
     /**
29
      * 根据条件查询分享内容
29
      * 根据条件查询分享内容

+ 1
- 1
src/main/java/com/huiju/estateagents/mapper/TaSharePersonFromMapper.java View File

15
  */
15
  */
16
 @Mapper
16
 @Mapper
17
 public interface TaSharePersonFromMapper extends BaseMapper<TaSharePersonFrom> {
17
 public interface TaSharePersonFromMapper extends BaseMapper<TaSharePersonFrom> {
18
-    Integer countViewNum(@Param("userId") Integer userId, @Param("orgId")Integer orgId, @Param("personId")String personId);
18
+    Integer countViewNum(@Param("userId") Integer userId, @Param("orgId")Integer orgId, @Param("personId")String personId, @Param("startCreateDate") String startCreateDate, @Param("endCreateDate") String endCreateDate);
19
 }
19
 }

+ 9
- 9
src/main/java/com/huiju/estateagents/service/impl/StatisticalServiceImpl.java View File

330
     @Override
330
     @Override
331
     public ResponseBean selectPersonFrom(Integer orgId, LocalDate startDate, LocalDate endDate) {
331
     public ResponseBean selectPersonFrom(Integer orgId, LocalDate startDate, LocalDate endDate) {
332
         ResponseBean responseBean = new ResponseBean();
332
         ResponseBean responseBean = new ResponseBean();
333
-//        List<TsPersonFromStatistic> list = tsPersonFromStatisticMapper.selectPersonFrom(orgId,startDate,endDate);
333
+        List<TsPersonFromStatistic> list = tsPersonFromStatisticMapper.selectPersonFrom(orgId,startDate,endDate);
334
         QueryWrapper<TdWxDict> tdWxDictQueryWrapper = new QueryWrapper<>();
334
         QueryWrapper<TdWxDict> tdWxDictQueryWrapper = new QueryWrapper<>();
335
         tdWxDictQueryWrapper.groupBy("scene_type");
335
         tdWxDictQueryWrapper.groupBy("scene_type");
336
         List<TdWxDict> tdWxDicts = tdWxDictMapper.selectList(tdWxDictQueryWrapper);
336
         List<TdWxDict> tdWxDicts = tdWxDictMapper.selectList(tdWxDictQueryWrapper);
337
-//        tdWxDicts.forEach(e -> {
338
-//            int fromSum = list.stream().filter(l -> e.getSceneType().equals(l.getSceneType())).mapToInt(TsPersonFromStatistic::getFromNum).sum();
339
-//            int registerSum = list.stream().filter(l -> e.getSceneType().equals(l.getSceneType())).mapToInt(TsPersonFromStatistic::getRegisteredNum).sum();
340
-//            e.setFromData(fromSum);
341
-//            e.setRegisterSum(registerSum);
342
-//        });
337
+        tdWxDicts.forEach(e -> {
338
+            int fromSum = list.stream().filter(l -> e.getSceneType().equals(l.getSceneType())).mapToInt(TsPersonFromStatistic::getFromNum).sum();
339
+            int registerSum = list.stream().filter(l -> e.getSceneType().equals(l.getSceneType())).mapToInt(TsPersonFromStatistic::getRegisteredNum).sum();
340
+            e.setFromData(fromSum);
341
+            e.setRegisterSum(registerSum);
342
+        });
343
         Map<String,Object> map = new HashMap<>();
343
         Map<String,Object> map = new HashMap<>();
344
         map.put("tdWxDicts",tdWxDicts);
344
         map.put("tdWxDicts",tdWxDicts);
345
-//        List<TsPersonFromStatistic> tableList = tsPersonFromStatisticMapper.selectPersonFromGroupByData(orgId,startDate,endDate);
346
-//        map.put("list",tableList);
345
+        List<TsPersonFromStatistic> tableList = tsPersonFromStatisticMapper.selectPersonFromGroupByData(orgId,startDate,endDate);
346
+        map.put("list",tableList);
347
         responseBean.addSuccess(map);
347
         responseBean.addSuccess(map);
348
         return responseBean;
348
         return responseBean;
349
     }
349
     }

+ 2
- 2
src/main/java/com/huiju/estateagents/service/impl/TaPersonBuildingServiceImpl.java View File

49
             QueryWrapper<TaPerson> taPersonQueryWrapper = new QueryWrapper<>();
49
             QueryWrapper<TaPerson> taPersonQueryWrapper = new QueryWrapper<>();
50
             taPersonQueryWrapper.eq("person_id", taPersonBuilding.getPersonId());
50
             taPersonQueryWrapper.eq("person_id", taPersonBuilding.getPersonId());
51
             TaPerson taPerson = taPersonMapper.selectOne(taPersonQueryWrapper);
51
             TaPerson taPerson = taPersonMapper.selectOne(taPersonQueryWrapper);
52
-            taPersonBuilding.setShareCount(taShareCountMapper.countShare(taPersonBuilding.getPersonId(), orgId));
53
-            taPersonBuilding.setClickNum(taPerson != null ? taSharePersonFromMapper.countViewNum(taPerson.getUserId(), taPerson.getOrgId(), taPerson.getPersonId()) : 0);
52
+            taPersonBuilding.setShareCount(taShareCountMapper.countShare(taPersonBuilding.getPersonId(), orgId, startCreateDate, endCreateDate));
53
+            taPersonBuilding.setClickNum(taPerson != null ? taSharePersonFromMapper.countViewNum(taPerson.getUserId(), taPerson.getOrgId(), taPerson.getPersonId(), startCreateDate, endCreateDate) : 0);
54
         }
54
         }
55
         page.setRecords(list);
55
         page.setRecords(list);
56
         return ResponseBean.success(page);
56
         return ResponseBean.success(page);

+ 23
- 15
src/main/resources/mapper/TaShareCountMapper.xml View File

4
     <select id="countShare" resultType="java.lang.Integer">
4
     <select id="countShare" resultType="java.lang.Integer">
5
         select count(1) from ta_share_count t
5
         select count(1) from ta_share_count t
6
         left join ta_person a on t.person_id = a.person_id
6
         left join ta_person a on t.person_id = a.person_id
7
-        where t.person_id = #{personId} and a.org_id = #{orgId}
7
+        where
8
+        t.person_id = #{personId}
9
+        and a.org_id = #{orgId}
10
+        <if test="startCreateDate != null and startCreateDate != ''">
11
+            and  date_format(t.create_date,'%Y-%m-%d') >= date_format(#{startCreateDate},'%Y-%m-%d')
12
+        </if>
13
+        <if test="endCreateDate != null and endCreateDate != ''">
14
+            and  date_format(t.create_date,'%Y-%m-%d') &lt;= date_format(#{endCreateDate},'%Y-%m-%d')
15
+        </if>
8
     </select>
16
     </select>
9
     <select id="selectListByParams" resultType="com.huiju.estateagents.entity.TaShareCount">
17
     <select id="selectListByParams" resultType="com.huiju.estateagents.entity.TaShareCount">
10
         select
18
         select
21
         end as shareTitle,t.create_date
29
         end as shareTitle,t.create_date
22
 
30
 
23
         from ta_share_count t
31
         from ta_share_count t
24
-        left join ta_building_dynamic a on t.be_share = a.dynamic_id
25
-        left join ta_help_activity b on t.be_share = b.help_activity_id
26
-        left join ta_share_activity c on t.be_share = c.share_id
27
-        LEFT JOIN ta_drainage d on t.be_share = d.drainage_id
28
-        left join ta_building e on t.be_share = e.building_id
29
-        LEFT JOIN ta_news f on t.be_share = f.news_id
30
-        left JOIN ta_person g on t.be_share = g.person_id
32
+        left join ta_building_dynamic a on t.be_share = a.dynamic_id and t.tagert_type = 'activity'
33
+        left join ta_help_activity b on t.be_share = b.help_activity_id and t.tagert_type = 'help'
34
+        left join ta_share_activity c on t.be_share = c.share_id and t.tagert_type = 'group'
35
+        LEFT JOIN ta_drainage d on t.be_share = d.drainage_id and t.tagert_type = 'h5'
36
+        left join ta_building e on t.be_share = e.building_id and t.tagert_type = 'project'
37
+        LEFT JOIN ta_news f on t.be_share = f.news_id and t.tagert_type = 'news'
38
+        left JOIN ta_person g on t.be_share = g.person_id and t.tagert_type = 'consultant'
31
         where t.person_id = #{personId}
39
         where t.person_id = #{personId}
32
         <if test="shareType != null and shareType != ''">
40
         <if test="shareType != null and shareType != ''">
33
             and t.tagert_type = #{shareType}
41
             and t.tagert_type = #{shareType}
66
         FROM
74
         FROM
67
             ta_share_person_from t
75
             ta_share_person_from t
68
 
76
 
69
-        left join ta_building_dynamic g on t.target_id = g.dynamic_id
70
-                left join ta_help_activity b on t.target_id = b.help_activity_id
71
-                left join ta_share_activity c on t.target_id = c.group_activity_id
72
-                LEFT JOIN ta_drainage d on t.target_id = d.drainage_id
73
-                left join ta_building e on t.target_id = e.building_id
74
-                LEFT JOIN ta_news f on t.target_id = f.news_id
77
+        left join ta_building_dynamic g on t.target_id = g.dynamic_id and t.target_type = 'dynamic_share'
78
+                left join ta_help_activity b on t.target_id = b.help_activity_id and t.target_type = 'help_share'
79
+                left join ta_share_activity c on t.target_id = c.group_activity_id and t.target_type = 'group_share'
80
+                LEFT JOIN ta_drainage d on t.target_id = d.drainage_id and t.target_type = 'h5_share'
81
+                left join ta_building e on t.target_id = e.building_id and t.target_type = 'building_share'
82
+                LEFT JOIN ta_news f on t.target_id = f.news_id and t.target_type = 'news_share'
75
 
83
 
76
-        LEFT JOIN ta_person a ON t.person_id = a.person_id
84
+        LEFT JOIN ta_person a ON t.person_id = a.person_id and t.target_type = 'card_share'
77
         WHERE
85
         WHERE
78
             (t.share_person = (select user_id from ta_person where person_id = #{personId}) or t.share_person = #{personId})
86
             (t.share_person = (select user_id from ta_person where person_id = #{personId}) or t.share_person = #{personId})
79
         AND t.org_id = #{orgId}
87
         AND t.org_id = #{orgId}

+ 6
- 0
src/main/resources/mapper/TaSharePersonFromMapper.xml View File

13
         </if>
13
         </if>
14
         )
14
         )
15
         and t.org_id = #{orgId} and t.status = 1 and t.person_id != #{personId}
15
         and t.org_id = #{orgId} and t.status = 1 and t.person_id != #{personId}
16
+        <if test="startCreateDate != null and startCreateDate != ''">
17
+            and  date_format(t.create_date,'%Y-%m-%d') >= date_format(#{startCreateDate},'%Y-%m-%d')
18
+        </if>
19
+        <if test="endCreateDate != null and endCreateDate != ''">
20
+            and  date_format(t.create_date,'%Y-%m-%d') &lt;= date_format(#{endCreateDate},'%Y-%m-%d')
21
+        </if>
16
         GROUP BY t.person_id
22
         GROUP BY t.person_id
17
       ) t
23
       ) t
18
     </select>
24
     </select>