傅行帆 3 years ago
parent
commit
2f830c59e6

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

3
 import lombok.Data;
3
 import lombok.Data;
4
 
4
 
5
 import java.time.LocalDateTime;
5
 import java.time.LocalDateTime;
6
+import java.util.List;
6
 
7
 
7
 @Data
8
 @Data
8
 public class PcStatisticsDTO {
9
 public class PcStatisticsDTO {
22
     /**
23
     /**
23
      * 组织机构code
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
 import com.yunzhi.marketing.base.ResponseBean;
5
 import com.yunzhi.marketing.base.ResponseBean;
6
 import com.yunzhi.marketing.center.taUser.entity.TaTagUser;
6
 import com.yunzhi.marketing.center.taUser.entity.TaTagUser;
7
 import com.yunzhi.marketing.center.taUser.entity.TaUser;
7
 import com.yunzhi.marketing.center.taUser.entity.TaUser;
8
+import com.yunzhi.marketing.center.taUser.mapper.TaUserMapper;
8
 import com.yunzhi.marketing.common.CommConstant;
9
 import com.yunzhi.marketing.common.CommConstant;
9
 import com.yunzhi.marketing.dto.StatisticsDTO;
10
 import com.yunzhi.marketing.dto.StatisticsDTO;
10
 import com.yunzhi.marketing.entity.TaRecommendCustomer;
11
 import com.yunzhi.marketing.entity.TaRecommendCustomer;
21
 import org.springframework.beans.factory.annotation.Autowired;
22
 import org.springframework.beans.factory.annotation.Autowired;
22
 import org.springframework.stereotype.Service;
23
 import org.springframework.stereotype.Service;
23
 
24
 
25
+import javax.servlet.http.HttpServletRequest;
24
 import java.time.LocalDateTime;
26
 import java.time.LocalDateTime;
25
 import java.util.HashMap;
27
 import java.util.HashMap;
26
 import java.util.List;
28
 import java.util.List;
27
 import java.util.Map;
29
 import java.util.Map;
30
+import java.util.stream.Collectors;
28
 
31
 
29
 @Service
32
 @Service
30
 public class IPcStatisticsServiceimpl implements IPcStatisticsService {
33
 public class IPcStatisticsServiceimpl implements IPcStatisticsService {
35
     @Autowired
38
     @Autowired
36
     private InstitutionMapper institutionMapper;
39
     private InstitutionMapper institutionMapper;
37
 
40
 
41
+    @Autowired
42
+    private TaUserMapper taUserMapper;
43
+
38
     /**
44
     /**
39
      * 获取首页六个卡片的数值
45
      * 获取首页六个卡片的数值
40
      *
46
      *
44
     @Override
50
     @Override
45
     public ResponseBean getUserStatistics(TaUser taUser) {
51
     public ResponseBean getUserStatistics(TaUser taUser) {
46
         // 获取当前人员的渠道code
52
         // 获取当前人员的渠道code
47
-        Institution institution = institutionMapper.selectById(taUser.getInstitutionId());
48
-
49
         PcStatisticsDTO statisticsDTO = new PcStatisticsDTO();
53
         PcStatisticsDTO statisticsDTO = new PcStatisticsDTO();
50
         statisticsDTO.setOrgId(taUser.getOrgId());
54
         statisticsDTO.setOrgId(taUser.getOrgId());
51
         statisticsDTO.setTodayTime(LocalDateTime.now());
55
         statisticsDTO.setTodayTime(LocalDateTime.now());
52
-        statisticsDTO.setInstitutionCode(institution.getInstitutionCode());
56
+        statisticsDTO.setInstitutionIds(getInstitutionIds(taUser.getUserId()));
53
         // 总用户
57
         // 总用户
54
         int allPersonNum = pcStatisticsMapper.selectAllPerson(statisticsDTO);
58
         int allPersonNum = pcStatisticsMapper.selectAllPerson(statisticsDTO);
55
         // 总注册用户
59
         // 总注册用户
112
     @Override
116
     @Override
113
     public ResponseBean getUserAuthorStatistics(TaUser taUser) {
117
     public ResponseBean getUserAuthorStatistics(TaUser taUser) {
114
         // 获取当前人员的渠道code
118
         // 获取当前人员的渠道code
115
-        Institution institution = institutionMapper.selectById(taUser.getInstitutionId());
116
         PcStatisticsDTO statisticsDTO = new PcStatisticsDTO();
119
         PcStatisticsDTO statisticsDTO = new PcStatisticsDTO();
117
         statisticsDTO.setOrgId(taUser.getOrgId());
120
         statisticsDTO.setOrgId(taUser.getOrgId());
118
         statisticsDTO.setTodayTime(LocalDateTime.now());
121
         statisticsDTO.setTodayTime(LocalDateTime.now());
119
-        statisticsDTO.setInstitutionCode(institution.getInstitutionCode());
122
+        statisticsDTO.setInstitutionIds(getInstitutionIds(taUser.getUserId()));
120
         // 总用户
123
         // 总用户
121
         int allPersonNum = pcStatisticsMapper.selectAllPerson(statisticsDTO);
124
         int allPersonNum = pcStatisticsMapper.selectAllPerson(statisticsDTO);
122
         // 总注册用户
125
         // 总注册用户
136
      */
139
      */
137
     @Override
140
     @Override
138
     public ResponseBean getStatsBarList(TaUser taUser, PcStatisticsDTO pcStatisticsDTO) {
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
         List<PcStatisticsLeaderboardVO> gkList = pcStatisticsMapper.getGkLeaderboard(pcStatisticsDTO);
144
         List<PcStatisticsLeaderboardVO> gkList = pcStatisticsMapper.getGkLeaderboard(pcStatisticsDTO);
143
         // 获取私客排行榜
145
         // 获取私客排行榜
164
      */
166
      */
165
     @Override
167
     @Override
166
     public ResponseBean selectActivityList(TaUser taUser, PcStatisticsDTO pcStatisticsDTO) {
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
         IPage<PcStatisticsActivityVO> page = new Page<>(pcStatisticsDTO.getPageNum(),pcStatisticsDTO.getPageSize());
171
         IPage<PcStatisticsActivityVO> page = new Page<>(pcStatisticsDTO.getPageNum(),pcStatisticsDTO.getPageSize());
171
         IPage<PcStatisticsActivityVO> result = pcStatisticsMapper.selectActivityList(page,pcStatisticsDTO);
172
         IPage<PcStatisticsActivityVO> result = pcStatisticsMapper.selectActivityList(page,pcStatisticsDTO);
172
         return ResponseBean.success(result);
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
             COUNT(1)
30
             COUNT(1)
31
         FROM
31
         FROM
32
             ta_channel t
32
             ta_channel t
33
-            LEFT JOIN xlk_institution i ON t.institution_id = i.institution_id
34
         WHERE
33
         WHERE
35
             t.org_id = #{params.orgId}
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
     </select>
41
     </select>
38
     <select id="selectEstateAgentNum" resultType="java.lang.Integer">
42
     <select id="selectEstateAgentNum" resultType="java.lang.Integer">
39
         SELECT
43
         SELECT
66
         FROM
70
         FROM
67
             ta_recommend_customer b
71
             ta_recommend_customer b
68
             LEFT JOIN ta_building d ON b.building_id = d.building_id
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
         WHERE
73
         WHERE
71
             b.STATUS > 0
74
             b.STATUS > 0
72
             AND b.org_id = #{params.orgId}
75
             AND b.org_id = #{params.orgId}
82
             <if test="params.endTime != null">
85
             <if test="params.endTime != null">
83
                 and  TO_DAYS(b.create_date) &lt;= TO_DAYS(#{params.endTime})
86
                 and  TO_DAYS(b.create_date) &lt;= TO_DAYS(#{params.endTime})
84
             </if>
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
         GROUP BY b.building_id
94
         GROUP BY b.building_id
87
         ORDER BY num desc
95
         ORDER BY num desc
88
         LIMIT 6
96
         LIMIT 6
95
         FROM
103
         FROM
96
             ta_recommend_customer b
104
             ta_recommend_customer b
97
         LEFT JOIN ta_building d ON b.building_id = d.building_id
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
         WHERE
106
         WHERE
100
             b.STATUS > 0
107
             b.STATUS > 0
101
         AND b.org_id = #{params.orgId}
108
         AND b.org_id = #{params.orgId}
112
         <if test="params.endTime != null">
119
         <if test="params.endTime != null">
113
             and  TO_DAYS(b.create_date) &lt;= TO_DAYS(#{params.endTime})
120
             and  TO_DAYS(b.create_date) &lt;= TO_DAYS(#{params.endTime})
114
         </if>
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
         GROUP BY b.building_id
128
         GROUP BY b.building_id
117
         ORDER BY num desc
129
         ORDER BY num desc
118
         LIMIT 6
130
         LIMIT 6
125
         FROM
137
         FROM
126
             ta_uv a
138
             ta_uv a
127
             LEFT JOIN ta_building d ON a.be_uv = d.building_id
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
         WHERE
140
         WHERE
130
             a.tagert_type = 'project'
141
             a.tagert_type = 'project'
131
             AND d.org_id = #{params.orgId}
142
             AND d.org_id = #{params.orgId}
139
         <if test="params.endTime != null">
150
         <if test="params.endTime != null">
140
             and  TO_DAYS(a.create_date) &lt;= TO_DAYS(#{params.endTime})
151
             and  TO_DAYS(a.create_date) &lt;= TO_DAYS(#{params.endTime})
141
         </if>
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
         GROUP BY
159
         GROUP BY
144
             a.be_uv
160
             a.be_uv
145
         ORDER BY
161
         ORDER BY
169
         <if test="params.endTime != null">
185
         <if test="params.endTime != null">
170
             and  TO_DAYS(b.create_date) &lt;= TO_DAYS(#{params.endTime})
186
             and  TO_DAYS(b.create_date) &lt;= TO_DAYS(#{params.endTime})
171
         </if>
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
         GROUP BY b.building_id
194
         GROUP BY b.building_id
174
         ORDER BY num desc
195
         ORDER BY num desc
175
         LIMIT 6
196
         LIMIT 6
223
         <if test="params.buildingId != null and params.buildingId != ''">
244
         <if test="params.buildingId != null and params.buildingId != ''">
224
             and  t.building_id = #{params.buildingId}
245
             and  t.building_id = #{params.buildingId}
225
         </if>
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
         order by t.create_date desc
253
         order by t.create_date desc
228
     </select>
254
     </select>
229
 </mapper>
255
 </mapper>