张延森 5 年前
父节点
当前提交
8026ec81e5

+ 3
- 0
src/main/java/com/huiju/estateagents/mapper/TaShareMapper.java 查看文件

7
 import org.apache.ibatis.annotations.Param;
7
 import org.apache.ibatis.annotations.Param;
8
 
8
 
9
 import java.util.List;
9
 import java.util.List;
10
+import java.util.Map;
10
 
11
 
11
 /**
12
 /**
12
  * <p>
13
  * <p>
21
     List<TaShare> selectHouseShareList(Page page, @Param("orgId") Integer orgId, @Param("personType") String personType, @Param("shareType")String shareType, @Param("phone")String phone, @Param("saleBatchId")Integer saleBatchId);
22
     List<TaShare> selectHouseShareList(Page page, @Param("orgId") Integer orgId, @Param("personType") String personType, @Param("shareType")String shareType, @Param("phone")String phone, @Param("saleBatchId")Integer saleBatchId);
22
 
23
 
23
     List<TaShare> listLiveShare(Page page, @Param("orgId") Integer orgId, @Param("personType") String personType, @Param("shareType")String shareType, @Param("phone")String phone, @Param("liveActivityId")Integer liveActivityId);
24
     List<TaShare> listLiveShare(Page page, @Param("orgId") Integer orgId, @Param("personType") String personType, @Param("shareType")String shareType, @Param("phone")String phone, @Param("liveActivityId")Integer liveActivityId);
25
+
26
+    Map<String, Object> statTopShare(@Param("targetType") String targetType, @Param("targetId") String targetId, @Param("orgId") Integer orgId);
24
 }
27
 }

+ 11
- 0
src/main/java/com/huiju/estateagents/service/ITaShareService.java 查看文件

4
 import com.huiju.estateagents.base.ResponseBean;
4
 import com.huiju.estateagents.base.ResponseBean;
5
 import com.huiju.estateagents.entity.TaShare;
5
 import com.huiju.estateagents.entity.TaShare;
6
 
6
 
7
+import java.util.Map;
8
+
7
 /**
9
 /**
8
  * <p>
10
  * <p>
9
  * 用户访问表 服务类
11
  * 用户访问表 服务类
23
     ResponseBean selectHouseShareList(Integer pageNum, Integer pageSize, Integer orgId, String personType, String shareType, String phone, Integer saleBatchId);
25
     ResponseBean selectHouseShareList(Integer pageNum, Integer pageSize, Integer orgId, String personType, String shareType, String phone, Integer saleBatchId);
24
 
26
 
25
     ResponseBean listLiveShare(Integer pageNum, Integer pageSize, Integer orgId, String personType, String shareType, String phone, Integer liveActivityId);
27
     ResponseBean listLiveShare(Integer pageNum, Integer pageSize, Integer orgId, String personType, String shareType, String phone, Integer liveActivityId);
28
+
29
+    /**
30
+     * 统计分享 Top
31
+     * @param targetType
32
+     * @param targetId
33
+     * @param top
34
+     * @return
35
+     */
36
+    Map<String, Object> statTopShare(String targetType, String targetId, Integer top);
26
 }
37
 }

+ 6
- 0
src/main/java/com/huiju/estateagents/service/impl/TaShareServiceImpl.java 查看文件

19
 import javax.annotation.Resource;
19
 import javax.annotation.Resource;
20
 import java.time.LocalDateTime;
20
 import java.time.LocalDateTime;
21
 import java.util.List;
21
 import java.util.List;
22
+import java.util.Map;
22
 
23
 
23
 /**
24
 /**
24
  * <p>
25
  * <p>
214
         return ResponseBean.success(page);
215
         return ResponseBean.success(page);
215
     }
216
     }
216
 
217
 
218
+    @Override
219
+    public Map<String, Object> statTopShare(String targetType, String targetId, Integer top) {
220
+        return taShareMapper.statTopShare(targetType, targetId, top);
221
+    }
222
+
217
     List<TaPerson> getPersonsByOpenId(String openid) {
223
     List<TaPerson> getPersonsByOpenId(String openid) {
218
         return taPersonMapper.getPersonByOpenId(openid);
224
         return taPersonMapper.getPersonByOpenId(openid);
219
     }
225
     }

+ 39
- 7
src/main/java/com/huiju/estateagents/third/controller/TaThirdPartyMiniappConfigController.java 查看文件

5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
 import com.huiju.estateagents.base.BaseController;
6
 import com.huiju.estateagents.base.BaseController;
7
 import com.huiju.estateagents.base.ResponseBean;
7
 import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.common.CommConstant;
9
+import com.huiju.estateagents.common.StringUtils;
8
 import com.huiju.estateagents.entity.TaPerson;
10
 import com.huiju.estateagents.entity.TaPerson;
9
 import com.huiju.estateagents.entity.TaPersonVisitRecord;
11
 import com.huiju.estateagents.entity.TaPersonVisitRecord;
10
 import com.huiju.estateagents.service.IMiniAppService;
12
 import com.huiju.estateagents.service.IMiniAppService;
11
 import com.huiju.estateagents.service.ITaPersonService;
13
 import com.huiju.estateagents.service.ITaPersonService;
12
 import com.huiju.estateagents.service.ITaPersonVisitRecordService;
14
 import com.huiju.estateagents.service.ITaPersonVisitRecordService;
15
+import com.huiju.estateagents.service.ITaShareService;
13
 import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
16
 import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
14
 import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
17
 import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
15
 import org.slf4j.Logger;
18
 import org.slf4j.Logger;
18
 import org.springframework.web.bind.annotation.*;
21
 import org.springframework.web.bind.annotation.*;
19
 
22
 
20
 import javax.servlet.http.HttpServletRequest;
23
 import javax.servlet.http.HttpServletRequest;
24
+import java.util.Map;
21
 
25
 
22
 /**
26
 /**
23
  * <p>
27
  * <p>
45
     @Autowired
49
     @Autowired
46
     private ITaPersonService iTaPersonService;
50
     private ITaPersonService iTaPersonService;
47
 
51
 
52
+    @Autowired
53
+    private ITaShareService taShareService;
54
+
48
     /**
55
     /**
49
      * 分页查询列表
56
      * 分页查询列表
50
      * @param pageNum
57
      * @param pageNum
162
      */
169
      */
163
     @PostMapping("/third/qrcode")
170
     @PostMapping("/third/qrcode")
164
     public ResponseBean thirdQrcode(@RequestBody String paramsStr,
171
     public ResponseBean thirdQrcode(@RequestBody String paramsStr,
165
-                                    @RequestParam String buildingId,
166
-                                    @RequestParam String personId,
172
+                                    @RequestParam (required = false) String targetType,
173
+                                    @RequestParam (required = false) String targetId,
174
+                                    @RequestParam (required = false) String buildingId,
175
+                                    @RequestParam (required = false) String personId,
176
+                                    @RequestParam (required = false) String consultant,
167
                                     HttpServletRequest request) {
177
                                     HttpServletRequest request) {
168
         //获取H5项目相关信息
178
         //获取H5项目相关信息
169
         String xAppid = request.getHeader("x-appid");
179
         String xAppid = request.getHeader("x-appid");
181
         // 埋點流程, 不影響主流程
191
         // 埋點流程, 不影響主流程
182
 
192
 
183
         try {
193
         try {
194
+            if (!StringUtils.isEmpty(personId)) {
195
+                return res;
196
+            }
197
+
184
             TaPerson taPerson = iTaPersonService.getById(personId);
198
             TaPerson taPerson = iTaPersonService.getById(personId);
185
 
199
 
186
             TaPersonVisitRecord taPersonVisitRecord = new TaPersonVisitRecord();
200
             TaPersonVisitRecord taPersonVisitRecord = new TaPersonVisitRecord();
187
-            taPersonVisitRecord.setPropertyName("生成H5海报");
188
-            taPersonVisitRecord.setActivity("生成H5海报");
201
+            taPersonVisitRecord.setPropertyName("H5海报");
202
+            taPersonVisitRecord.setActivity("H5海报");
189
             taPersonVisitRecord.setOrgId(taPerson.getOrgId().toString());
203
             taPersonVisitRecord.setOrgId(taPerson.getOrgId().toString());
190
-            taPersonVisitRecord.setPersonId(taPerson.getPersonId());
191
-            taPersonVisitRecord.setTargetId(buildingId);
204
+            taPersonVisitRecord.setPersonId(personId);
205
+            taPersonVisitRecord.setTargetId(targetId);
206
+            taPersonVisitRecord.setTargetType(targetType);
192
             taPersonVisitRecord.setData("{}");
207
             taPersonVisitRecord.setData("{}");
193
             taPersonVisitRecord.setEvent("poster");
208
             taPersonVisitRecord.setEvent("poster");
194
-            taPersonVisitRecord.setEventType("building");
209
+            taPersonVisitRecord.setEventType(CommConstant.EVENT_H5);
210
+            taPersonVisitRecord.setConsultantId(consultant);
211
+            taPersonVisitRecord.setSharePersonId(personId);
212
+            taPersonVisitRecord.setBuildingId(buildingId);
195
 
213
 
196
             taPersonVisitRecordService.newRecord(taPersonVisitRecord, taPerson);
214
             taPersonVisitRecordService.newRecord(taPersonVisitRecord, taPerson);
215
+
216
+            taShareService.saveData(taPerson.getMiniOpenid(), CommConstant.EVENT_H5, targetId);
197
         } catch (Exception e) {}
217
         } catch (Exception e) {}
198
 
218
 
199
         return res;
219
         return res;
200
     }
220
     }
221
+
222
+    @GetMapping("/third/stat-top-share")
223
+    public ResponseBean genQRcode(
224
+            @RequestParam (required = false) String h5Id,
225
+            @RequestParam (required = false) String personId,
226
+            @RequestParam (required = false, defaultValue = "10") Integer top
227
+    ) {
228
+        // 暂时没有任何校验
229
+
230
+        Map<String, Object> res = taShareService.statTopShare("h5_share", h5Id, top);
231
+        return ResponseBean.success(res);
232
+    }
201
 }
233
 }

+ 26
- 0
src/main/resources/mapper/TaShareMapper.xml 查看文件

50
         ORDER BY
50
         ORDER BY
51
         t.create_date DESC
51
         t.create_date DESC
52
     </select>
52
     </select>
53
+
54
+    <select id="statTopShare" resultType="java.util.Map">
55
+        SELECT
56
+            *
57
+        FROM
58
+        (
59
+            SELECT
60
+                t.share_person as sharePerson,
61
+                s.nickname,
62
+                s.avatarurl,
63
+                IFNULL(s.tel,s.phone) as phone,
64
+                COUNT( 1 ) AS top
65
+            FROM
66
+                ta_share_person_from t
67
+                LEFT JOIN ta_person s on t.share_person = s.person_id
68
+            WHERE
69
+                t.target_type = #{targetType}
70
+                AND t.target_id = #{targetId}
71
+                AND t.is_first_time = 1
72
+        GROUP BY
73
+                t.share_person
74
+        ) AS t
75
+            ORDER BY
76
+            t.top DESC
77
+            LIMIT #{top}
78
+    </select>
53
 </mapper>
79
 </mapper>