魏熙美 5 年 前
コミット
21a833f68c

+ 45
- 0
src/main/java/com/huiju/estateagents/common/CommConstant.java ファイルの表示

@@ -250,4 +250,49 @@ public class CommConstant {
250 250
     public static final String MONTH = "month";
251 251
 
252 252
     // ----     查询条件 end ------
253
+
254
+    // -----   转化率 start -------
255
+
256
+    /**
257
+     * 项目收藏
258
+     */
259
+    public static final String BUILDING_SAVE = "building_save";
260
+
261
+    /**
262
+     * 项目转发
263
+     */
264
+    public static final String BUILDING_SHARE = "building_share";
265
+
266
+    /**
267
+     * 活动收藏
268
+     */
269
+    public static final String ACTIVITY_SAVE = "activity_save";
270
+
271
+    /**
272
+     * 活动转发
273
+     */
274
+    public static final String ACTIVITY_SHARE = "activity_share";
275
+
276
+    /**
277
+     * 咨迅收藏
278
+     */
279
+    public static final String NEWS_SAVE = "news_save";
280
+
281
+    /**
282
+     * 咨迅转发
283
+     */
284
+    public static final String NEWS_SHARE = "news_share";
285
+
286
+    /**
287
+     * 活动报名
288
+     */
289
+    public static final String ACTIVITY_SIGN = "activity_sign";
290
+
291
+    /**
292
+     * 授权手机号
293
+     */
294
+    public static final String AUTHORIZATION_PHONE = "authorization_phone";
295
+
296
+
297
+    // ------   转化率 end ---------
253 298
 }

+ 18
- 0
src/main/java/com/huiju/estateagents/controller/StatisticalController.java ファイルの表示

@@ -45,6 +45,15 @@ public class StatisticalController {
45 45
         return iStatisticalService.selectNewsUserCount(startDate, endDate);
46 46
     }
47 47
 
48
+    /**
49
+     * 转化率 统计
50
+     * @return
51
+     */
52
+    @GetMapping(value = "/selectConversion")
53
+    public ResponseBean selectConversion(String conversion) {
54
+        return iStatisticalService.selectConversion(conversion);
55
+    }
56
+
48 57
     /**
49 58
      * 用户行为
50 59
      * @return
@@ -76,4 +85,13 @@ public class StatisticalController {
76 85
         return iStatisticalService.selectEventAll(event, personId);
77 86
     }
78 87
 
88
+    /**
89
+     * 行为分析的 具体数据列表
90
+     * @return
91
+     */
92
+    @GetMapping(value = "/selectConversion")
93
+    public ResponseBean selectConversionAll(@RequestParam(value = "conversion") String conversion) {
94
+        return iStatisticalService.selectConversion(conversion);
95
+    }
96
+
79 97
 }

+ 5
- 0
src/main/java/com/huiju/estateagents/entity/TaBuildingDynamic.java ファイルの表示

@@ -161,4 +161,9 @@ public class TaBuildingDynamic implements Serializable {
161 161
     private  String personNum;
162 162
 
163 163
     private Integer cityId;
164
+
165
+    /**
166
+     * 活动报名人数
167
+     */
168
+    private Integer enlistNum;
164 169
 }

+ 6
- 0
src/main/java/com/huiju/estateagents/mapper/TaBuildingDynamicMapper.java ファイルの表示

@@ -63,4 +63,10 @@ public interface TaBuildingDynamicMapper extends BaseMapper<TaBuildingDynamic> {
63 63
      * @return
64 64
      */
65 65
     Map<String, Object> selectBuildingDynamicStatistical(String saveOrShare);
66
+
67
+    /**
68
+     * 转化率 活动报名
69
+     * @return
70
+     */
71
+    Map<String, Object> selectBuildingDynamicEnlistStatistical();
66 72
 }

+ 7
- 0
src/main/java/com/huiju/estateagents/service/IStatisticalService.java ファイルの表示

@@ -52,4 +52,11 @@ public interface IStatisticalService {
52 52
      * @return
53 53
      */
54 54
     ResponseBean selectEventAll(String event, Integer personId);
55
+
56
+    /**
57
+     * 转换率 统计
58
+     * @param conversion
59
+     * @return
60
+     */
61
+    ResponseBean selectConversion(String conversion);
55 62
 }

+ 63
- 3
src/main/java/com/huiju/estateagents/service/impl/StatisticalServiceImpl.java ファイルの表示

@@ -6,9 +6,7 @@ import com.huiju.estateagents.base.ResponseBean;
6 6
 import com.huiju.estateagents.common.CommConstant;
7 7
 import com.huiju.estateagents.entity.TaPersonVisitRecord;
8 8
 import com.huiju.estateagents.exception.EstaException;
9
-import com.huiju.estateagents.mapper.TaBuildingMapper;
10
-import com.huiju.estateagents.mapper.TaPersonMapper;
11
-import com.huiju.estateagents.mapper.TaPersonVisitRecordMapper;
9
+import com.huiju.estateagents.mapper.*;
12 10
 import com.huiju.estateagents.po.PersonPO;
13 11
 import com.huiju.estateagents.service.IStatisticalService;
14 12
 import lombok.extern.slf4j.Slf4j;
@@ -38,6 +36,14 @@ public class StatisticalServiceImpl implements IStatisticalService {
38 36
     @Autowired
39 37
     private TaPersonVisitRecordMapper taPersonVisitRecordMapper;
40 38
 
39
+    @Autowired
40
+    private TaBuildingDynamicMapper taBuildingDynamicMapper;
41
+
42
+    @Autowired
43
+    private TaNewsMapper taNewsMapper;
44
+
45
+
46
+
41 47
     @Override
42 48
     public ResponseBean indexStatistical() {
43 49
 
@@ -152,4 +158,58 @@ public class StatisticalServiceImpl implements IStatisticalService {
152 158
         responseBean.addSuccess(taPersonVisitRecords);
153 159
         return responseBean;
154 160
     }
161
+
162
+    @Override
163
+    public ResponseBean selectConversion(String conversion) {
164
+        ResponseBean responseBean = new ResponseBean();
165
+        Map<String, Object> result = new HashMap<>();
166
+
167
+        switch (conversion) {
168
+            case CommConstant.BUILDING_SAVE:
169
+                Map<String, Object> selectBuildingStatisticalSave = taBuildingMapper.selectBuildingStatistical("save");
170
+                result.put("data_count", selectBuildingStatisticalSave);
171
+                break;
172
+            case CommConstant.BUILDING_SHARE:
173
+                Map<String, Object> selectBuildingStatisticalShare = taBuildingMapper.selectBuildingStatistical("share");
174
+                result.put("data_count", selectBuildingStatisticalShare);
175
+                break;
176
+            case CommConstant.ACTIVITY_SAVE:
177
+                Map<String, Object> selectBuildingDynamicStatisticalSave = taBuildingDynamicMapper.selectBuildingDynamicStatistical("save");
178
+                result.put("data_count", selectBuildingDynamicStatisticalSave);
179
+                break;
180
+            case CommConstant.ACTIVITY_SHARE:
181
+                Map<String, Object> selectBuildingDynamicStatisticalShare = taBuildingDynamicMapper.selectBuildingDynamicStatistical("share");
182
+                result.put("data_count", selectBuildingDynamicStatisticalShare);
183
+                break;
184
+            case CommConstant.NEWS_SAVE:
185
+                Map<String, Object> selectNewsStatisticalSave = taNewsMapper.selectNewsStatistical("save");
186
+                result.put("data_count", selectNewsStatisticalSave);
187
+                break;
188
+
189
+            case CommConstant.NEWS_SHARE:
190
+                Map<String, Object> selectNewsStatisticalShare = taNewsMapper.selectNewsStatistical("share");
191
+                result.put("data_count", selectNewsStatisticalShare);
192
+                break;
193
+
194
+            case CommConstant.ACTIVITY_SIGN:
195
+                Map<String, Object> selectBuildingDynamicEnlistStatistical = taBuildingDynamicMapper.selectBuildingDynamicEnlistStatistical();
196
+                result.put("data_count", selectBuildingDynamicEnlistStatistical);
197
+                break;
198
+
199
+            case CommConstant.AUTHORIZATION_PHONE:
200
+                // 总用户数
201
+                Integer selectUserCount = taPersonMapper.selectUserCount(CommConstant.PERSON_REALTY_CONSULTANT);
202
+
203
+                // 注册数
204
+                Integer selectRegisteredCount = taPersonMapper.selectRegisteredCount(CommConstant.PERSON_REALTY_CONSULTANT);
205
+                Map<String, Object> user = new HashMap<>();
206
+                user.put("user_count", selectUserCount);
207
+                user.put("registered_count", selectRegisteredCount);
208
+                result.put("data_count", selectRegisteredCount);
209
+                break;
210
+        }
211
+
212
+        responseBean.addSuccess(result);
213
+        return responseBean;
214
+    }
155 215
 }

+ 12
- 0
src/main/resources/mapper/TaBuildingDynamicMapper.xml ファイルの表示

@@ -98,4 +98,16 @@
98 98
             from ta_building_dynamic
99 99
     </select>
100 100
 
101
+    <select id="selectBuildingDynamicEnlistStatistical" resultType="map">
102
+        select
103
+        sum(pv_num) as pvNum,
104
+        <if test="saveOrShare === 'save'">
105
+            sum(save_num) as saveNum
106
+        </if>
107
+        <if test="saveOrShare === 'share'">
108
+            sum(enlist_num) as enlistNum
109
+        </if>
110
+        from ta_building_dynamic
111
+    </select>
112
+
101 113
 </mapper>