傅行帆 3 years ago
parent
commit
2f830c59e6

+ 2
- 1
src/main/java/com/yunzhi/marketing/xlk/dto/PcStatisticsDTO.java View File

@@ -3,6 +3,7 @@ package com.yunzhi.marketing.xlk.dto;
3 3
 import lombok.Data;
4 4
 
5 5
 import java.time.LocalDateTime;
6
+import java.util.List;
6 7
 
7 8
 @Data
8 9
 public class PcStatisticsDTO {
@@ -22,7 +23,7 @@ public class PcStatisticsDTO {
22 23
     /**
23 24
      * 组织机构code
24 25
      */
25
-    private String institutionCode;
26
+    private List<String> institutionIds;
26 27
 
27 28
     /**
28 29
      * 开始时间

+ 21
- 9
src/main/java/com/yunzhi/marketing/xlk/service/impl/IPcStatisticsServiceimpl.java View File

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5 5
 import com.yunzhi.marketing.base.ResponseBean;
6 6
 import com.yunzhi.marketing.center.taUser.entity.TaTagUser;
7 7
 import com.yunzhi.marketing.center.taUser.entity.TaUser;
8
+import com.yunzhi.marketing.center.taUser.mapper.TaUserMapper;
8 9
 import com.yunzhi.marketing.common.CommConstant;
9 10
 import com.yunzhi.marketing.dto.StatisticsDTO;
10 11
 import com.yunzhi.marketing.entity.TaRecommendCustomer;
@@ -21,10 +22,12 @@ import com.yunzhi.marketing.xlk.vo.PcStatisticsVO;
21 22
 import org.springframework.beans.factory.annotation.Autowired;
22 23
 import org.springframework.stereotype.Service;
23 24
 
25
+import javax.servlet.http.HttpServletRequest;
24 26
 import java.time.LocalDateTime;
25 27
 import java.util.HashMap;
26 28
 import java.util.List;
27 29
 import java.util.Map;
30
+import java.util.stream.Collectors;
28 31
 
29 32
 @Service
30 33
 public class IPcStatisticsServiceimpl implements IPcStatisticsService {
@@ -35,6 +38,9 @@ public class IPcStatisticsServiceimpl implements IPcStatisticsService {
35 38
     @Autowired
36 39
     private InstitutionMapper institutionMapper;
37 40
 
41
+    @Autowired
42
+    private TaUserMapper taUserMapper;
43
+
38 44
     /**
39 45
      * 获取首页六个卡片的数值
40 46
      *
@@ -44,12 +50,10 @@ public class IPcStatisticsServiceimpl implements IPcStatisticsService {
44 50
     @Override
45 51
     public ResponseBean getUserStatistics(TaUser taUser) {
46 52
         // 获取当前人员的渠道code
47
-        Institution institution = institutionMapper.selectById(taUser.getInstitutionId());
48
-
49 53
         PcStatisticsDTO statisticsDTO = new PcStatisticsDTO();
50 54
         statisticsDTO.setOrgId(taUser.getOrgId());
51 55
         statisticsDTO.setTodayTime(LocalDateTime.now());
52
-        statisticsDTO.setInstitutionCode(institution.getInstitutionCode());
56
+        statisticsDTO.setInstitutionIds(getInstitutionIds(taUser.getUserId()));
53 57
         // 总用户
54 58
         int allPersonNum = pcStatisticsMapper.selectAllPerson(statisticsDTO);
55 59
         // 总注册用户
@@ -112,11 +116,10 @@ public class IPcStatisticsServiceimpl implements IPcStatisticsService {
112 116
     @Override
113 117
     public ResponseBean getUserAuthorStatistics(TaUser taUser) {
114 118
         // 获取当前人员的渠道code
115
-        Institution institution = institutionMapper.selectById(taUser.getInstitutionId());
116 119
         PcStatisticsDTO statisticsDTO = new PcStatisticsDTO();
117 120
         statisticsDTO.setOrgId(taUser.getOrgId());
118 121
         statisticsDTO.setTodayTime(LocalDateTime.now());
119
-        statisticsDTO.setInstitutionCode(institution.getInstitutionCode());
122
+        statisticsDTO.setInstitutionIds(getInstitutionIds(taUser.getUserId()));
120 123
         // 总用户
121 124
         int allPersonNum = pcStatisticsMapper.selectAllPerson(statisticsDTO);
122 125
         // 总注册用户
@@ -136,8 +139,7 @@ public class IPcStatisticsServiceimpl implements IPcStatisticsService {
136 139
      */
137 140
     @Override
138 141
     public ResponseBean getStatsBarList(TaUser taUser, PcStatisticsDTO pcStatisticsDTO) {
139
-        Institution institution = institutionMapper.selectById(taUser.getInstitutionId());
140
-        pcStatisticsDTO.setInstitutionCode(institution.getInstitutionCode());
142
+        pcStatisticsDTO.setInstitutionIds(getInstitutionIds(taUser.getUserId()));
141 143
         // 获取公客排行榜
142 144
         List<PcStatisticsLeaderboardVO> gkList = pcStatisticsMapper.getGkLeaderboard(pcStatisticsDTO);
143 145
         // 获取私客排行榜
@@ -164,11 +166,21 @@ public class IPcStatisticsServiceimpl implements IPcStatisticsService {
164 166
      */
165 167
     @Override
166 168
     public ResponseBean selectActivityList(TaUser taUser, PcStatisticsDTO pcStatisticsDTO) {
167
-        Institution institution = institutionMapper.selectById(taUser.getInstitutionId());
168
-        pcStatisticsDTO.setInstitutionCode(institution.getInstitutionCode());
169
+        pcStatisticsDTO.setInstitutionIds(getInstitutionIds(taUser.getUserId()));
169 170
 
170 171
         IPage<PcStatisticsActivityVO> page = new Page<>(pcStatisticsDTO.getPageNum(),pcStatisticsDTO.getPageSize());
171 172
         IPage<PcStatisticsActivityVO> result = pcStatisticsMapper.selectActivityList(page,pcStatisticsDTO);
172 173
         return ResponseBean.success(result);
173 174
     }
175
+
176
+    /**
177
+     * 获取组织机构id
178
+     *
179
+     * @param userId
180
+     * @return
181
+     */
182
+    public List<String> getInstitutionIds(Integer userId) {
183
+        List<Institution> list = institutionMapper.getAllByUser(userId);
184
+        return list.stream().map(Institution::getInstitutionId).collect(Collectors.toList());
185
+    }
174 186
 }

+ 36
- 10
src/main/resources/mapper/xlk/PcStatisticsMapper.xml View File

@@ -30,10 +30,14 @@
30 30
             COUNT(1)
31 31
         FROM
32 32
             ta_channel t
33
-            LEFT JOIN xlk_institution i ON t.institution_id = i.institution_id
34 33
         WHERE
35 34
             t.org_id = #{params.orgId}
36
-<!--            AND i.institution_code like CONCAT(#{params.institutionCode}, '%')-->
35
+        <if test="params.institutionIds != null and params.institutionIds.size > 0">
36
+            AND t.institution_id in
37
+            <foreach collection="params.institutionIds" item="item" open="(" close=")" separator=",">
38
+                #{item}
39
+            </foreach>
40
+        </if>
37 41
     </select>
38 42
     <select id="selectEstateAgentNum" resultType="java.lang.Integer">
39 43
         SELECT
@@ -66,7 +70,6 @@
66 70
         FROM
67 71
             ta_recommend_customer b
68 72
             LEFT JOIN ta_building d ON b.building_id = d.building_id
69
-            LEFT JOIN xlk_institution i ON b.institution_id = i.institution_id
70 73
         WHERE
71 74
             b.STATUS > 0
72 75
             AND b.org_id = #{params.orgId}
@@ -82,7 +85,12 @@
82 85
             <if test="params.endTime != null">
83 86
                 and  TO_DAYS(b.create_date) &lt;= TO_DAYS(#{params.endTime})
84 87
             </if>
85
-<!--            AND i.institution_code like CONCAT(#{params.institutionCode}, '%')-->
88
+            <if test="params.institutionIds != null and params.institutionIds.size > 0">
89
+                AND b.institution_id in
90
+                <foreach collection="params.institutionIds" item="item" open="(" close=")" separator=",">
91
+                    #{item}
92
+                </foreach>
93
+            </if>
86 94
         GROUP BY b.building_id
87 95
         ORDER BY num desc
88 96
         LIMIT 6
@@ -95,7 +103,6 @@
95 103
         FROM
96 104
             ta_recommend_customer b
97 105
         LEFT JOIN ta_building d ON b.building_id = d.building_id
98
-        LEFT JOIN xlk_institution i ON b.institution_id = i.institution_id
99 106
         WHERE
100 107
             b.STATUS > 0
101 108
         AND b.org_id = #{params.orgId}
@@ -112,7 +119,12 @@
112 119
         <if test="params.endTime != null">
113 120
             and  TO_DAYS(b.create_date) &lt;= TO_DAYS(#{params.endTime})
114 121
         </if>
115
-<!--        AND i.institution_code like CONCAT(#{params.institutionCode}, '%')-->
122
+        <if test="params.institutionIds != null and params.institutionIds.size > 0">
123
+            AND b.institution_id in
124
+            <foreach collection="params.institutionIds" item="item" open="(" close=")" separator=",">
125
+                #{item}
126
+            </foreach>
127
+        </if>
116 128
         GROUP BY b.building_id
117 129
         ORDER BY num desc
118 130
         LIMIT 6
@@ -125,7 +137,6 @@
125 137
         FROM
126 138
             ta_uv a
127 139
             LEFT JOIN ta_building d ON a.be_uv = d.building_id
128
-            LEFT JOIN xlk_institution i ON d.institution_id = i.institution_id
129 140
         WHERE
130 141
             a.tagert_type = 'project'
131 142
             AND d.org_id = #{params.orgId}
@@ -139,7 +150,12 @@
139 150
         <if test="params.endTime != null">
140 151
             and  TO_DAYS(a.create_date) &lt;= TO_DAYS(#{params.endTime})
141 152
         </if>
142
-<!--        AND i.institution_code like CONCAT(#{params.institutionCode}, '%')-->
153
+        <if test="params.institutionIds != null and params.institutionIds.size > 0">
154
+            AND d.institution_id in
155
+            <foreach collection="params.institutionIds" item="item" open="(" close=")" separator=",">
156
+                #{item}
157
+            </foreach>
158
+        </if>
143 159
         GROUP BY
144 160
             a.be_uv
145 161
         ORDER BY
@@ -169,7 +185,12 @@
169 185
         <if test="params.endTime != null">
170 186
             and  TO_DAYS(b.create_date) &lt;= TO_DAYS(#{params.endTime})
171 187
         </if>
172
-<!--        AND i.institution_code like CONCAT(#{params.institutionCode}, '%')-->
188
+        <if test="params.institutionIds != null and params.institutionIds.size > 0">
189
+            AND b.institution_id in
190
+            <foreach collection="params.institutionIds" item="item" open="(" close=")" separator=",">
191
+                #{item}
192
+            </foreach>
193
+        </if>
173 194
         GROUP BY b.building_id
174 195
         ORDER BY num desc
175 196
         LIMIT 6
@@ -223,7 +244,12 @@
223 244
         <if test="params.buildingId != null and params.buildingId != ''">
224 245
             and  t.building_id = #{params.buildingId}
225 246
         </if>
226
-<!--        AND i.institution_code like CONCAT(#{params.institutionCode}, '%')-->
247
+        <if test="params.institutionIds != null and params.institutionIds.size > 0">
248
+            AND t.institution_id in
249
+            <foreach collection="params.institutionIds" item="item" open="(" close=")" separator=",">
250
+                #{item}
251
+            </foreach>
252
+        </if>
227 253
         order by t.create_date desc
228 254
     </select>
229 255
 </mapper>