xueyiming 5 months ago
parent
commit
483b6ea864

+ 13 - 8
common-module/src/main/java/com/tzld/piaoquan/growth/common/service/Impl/WeComUserServiceImpl.java

@@ -215,15 +215,20 @@ public class WeComUserServiceImpl implements WeComUserService {
     }
 
 
-    public JSONObject getUserDetail(String externalUserId, Long corpId) throws IOException {
-        String weComAccessToken = weComAccessTokenService.getWeComAccessToken(corpId);
-        String url = String.format(GET_WE_COM_EXTERNAL_CONTACT_GET + "?access_token=%s&external_userid=%s", weComAccessToken, externalUserId);
-        String res = httpPoolClient.get(url);
-        JSONObject jsonObject = JSONObject.parseObject(res);
-        Integer errcode = jsonObject.getInteger("errcode");
-        if (errcode == 0) {
-            return jsonObject;
+    public JSONObject getUserDetail(String externalUserId, Long corpId) {
+        try {
+            String weComAccessToken = weComAccessTokenService.getWeComAccessToken(corpId);
+            String url = String.format(GET_WE_COM_EXTERNAL_CONTACT_GET + "?access_token=%s&external_userid=%s", weComAccessToken, externalUserId);
+            String res = httpPoolClient.get(url);
+            JSONObject jsonObject = JSONObject.parseObject(res);
+            Integer errcode = jsonObject.getInteger("errcode");
+            if (errcode == 0) {
+                return jsonObject;
+            }
+        } catch (Exception e) {
+            log.error("getUserDetail error", e);
         }
+
         return null;
     }
 

+ 3 - 0
common-module/src/main/java/com/tzld/piaoquan/growth/common/service/WeComUserService.java

@@ -1,5 +1,6 @@
 package com.tzld.piaoquan.growth.common.service;
 
+import com.alibaba.fastjson.JSONObject;
 import com.tzld.piaoquan.growth.common.model.bo.GroupSendWeComUserParam;
 import com.tzld.piaoquan.growth.common.model.po.Staff;
 import com.tzld.piaoquan.growth.common.model.po.WeComUser;
@@ -22,4 +23,6 @@ public interface WeComUserService {
     List<WeComUserVo> getWeComUserByNameAvatar(String name, String avatar);
 
     List<WeComUserVo> getGroupSendWeComUser(GroupSendWeComUserParam param);
+
+    JSONObject getUserDetail(String externalUserId, Long corpId);
 }

+ 36 - 36
offline-module/src/main/java/com/tzld/piaoquan/offline/job/WeComMessageDataJob.java

@@ -81,44 +81,44 @@ public class WeComMessageDataJob {
     //初始化操作
     private void init(List<Long> staffIds) {
         List<PushMessage> list = new ArrayList<>();
-        try {
-            //历史优质视频获取分页获取
-            String countSql = String.format("SELECT count(*) FROM loghubods.history_good_video_can_push_user_list where dt = %s;",
-                    DateUtil.getBeforeDayDateString());
-            List<Record> countData = OdpsUtil.getOdpsData(countSql);
-            int size = 10;
-            if (!CollectionUtils.isEmpty(countData)) {
-                int count = Integer.parseInt((String) countData.get(0).get(0));
-                if (count > 0) {
-                    List<Record> dataList = new ArrayList<>();
-                    for (int i = 0; i < count; i += 10) {
-                        String sql = String.format("SELECT * FROM loghubods.history_good_video_can_push_user_list where dt = %s order by score desc limit %s,%s;",
-                                DateUtil.getBeforeDayDateString(), i, size);
-                        List<Record> data = OdpsUtil.getOdpsData(sql);
-                        if (!CollectionUtils.isEmpty(data)) {
-                            dataList.addAll(data);
-                        }
-                    }
-                    for (Record record : dataList) {
-                        PushMessage pushMessage = new PushMessage();
-                        Long videoId = Long.parseLong((String) record.get(0));
-                        Set<Long> userIds = new HashSet<>(JSONObject.parseArray((String) record.get(1), Long.class));
-                        Long staffId = Long.parseLong((String) record.get(2));
-                        Double score = Double.parseDouble((String) record.get(3));
-                        pushMessage.setVideoId(videoId);
-                        pushMessage.setUserIds(userIds);
-                        pushMessage.setStaffId(staffId);
-                        pushMessage.setScore(score);
-                        list.add(pushMessage);
-                    }
-                }
-            }
-        } catch (Exception e) {
-            log.error("history good video error", e);
-        }
+//        try {
+//            //历史优质视频获取分页获取
+//            String countSql = String.format("SELECT count(*) FROM loghubods.history_good_video_can_push_user_list where dt = %s;",
+//                    DateUtil.getBeforeDayDateString());
+//            List<Record> countData = OdpsUtil.getOdpsData(countSql);
+//            int size = 10;
+//            if (!CollectionUtils.isEmpty(countData)) {
+//                int count = Integer.parseInt((String) countData.get(0).get(0));
+//                if (count > 0) {
+//                    List<Record> dataList = new ArrayList<>();
+//                    for (int i = 0; i < count; i += 10) {
+//                        String sql = String.format("SELECT * FROM loghubods.history_good_video_can_push_user_list where dt = %s order by score desc limit %s,%s;",
+//                                DateUtil.getBeforeDayDateString(), i, size);
+//                        List<Record> data = OdpsUtil.getOdpsData(sql);
+//                        if (!CollectionUtils.isEmpty(data)) {
+//                            dataList.addAll(data);
+//                        }
+//                    }
+//                    for (Record record : dataList) {
+//                        PushMessage pushMessage = new PushMessage();
+//                        Long videoId = Long.parseLong((String) record.get(0));
+//                        Set<Long> userIds = new HashSet<>(JSONObject.parseArray((String) record.get(1), Long.class));
+//                        Long staffId = Long.parseLong((String) record.get(2));
+//                        Double score = Double.parseDouble((String) record.get(3));
+//                        pushMessage.setVideoId(videoId);
+//                        pushMessage.setUserIds(userIds);
+//                        pushMessage.setStaffId(staffId);
+//                        pushMessage.setScore(score);
+//                        list.add(pushMessage);
+//                    }
+//                }
+//            }
+//        } catch (Exception e) {
+//            log.error("history good video error", e);
+//        }
 
         if (CollectionUtils.isEmpty(list)) {
-            LarkRobotUtil.sendMessage("历史优质视频为空");
+//            LarkRobotUtil.sendMessage("历史优质视频为空");
         } else {
             historicalTopMap = list.stream()
                     .collect(Collectors.groupingBy(PushMessage::getStaffId,

+ 37 - 0
offline-module/src/main/java/com/tzld/piaoquan/offline/job/WeComUserDataJob.java

@@ -357,6 +357,43 @@ public class WeComUserDataJob {
         return result;
     }
 
+    @XxlJob("getUserTagJob")
+    public ReturnT<String> getUserTag(String param) {
+        try {
+            XxlJobParam xxlJobParam = new XxlJobParam();
+            if (StringUtils.isNotEmpty(param)) {
+                xxlJobParam = JSONObject.parseObject(param, XxlJobParam.class);
+            }
+            CorpExample corpExample = new CorpExample();
+            CorpExample.Criteria corpCriteria = corpExample.createCriteria();
+            if (xxlJobParam.getCorpId() != null) {
+                corpCriteria.andIdEqualTo(xxlJobParam.getCorpId());
+            }
+            List<Corp> corps = corpMapper.selectByExample(corpExample);
+            for (Corp corp : corps) {
+                StaffExample staffExample = new StaffExample();
+                StaffExample.Criteria staffCriteria = staffExample.createCriteria();
+                staffCriteria.andCorpIdEqualTo(corp.getId());
+                if (xxlJobParam.getStaffId() != null) {
+                    staffCriteria.andIdEqualTo(xxlJobParam.getStaffId());
+                }
+                List<Staff> staffList = staffMapper.selectByExample(staffExample);
+                for (Staff staff : staffList) {
+                    List<String> existExternalUserIds = getUserList(staff.getCarrierId(), corp.getId());
+                    for (String externalUserId : existExternalUserIds) {
+                        weComUserService.getUserDetail(externalUserId, corp.getId());
+                    }
+                }
+            }
+        } catch (Exception e) {
+            LarkRobotUtil.sendMessage("insertStaffWithUserJob error" + e);
+            log.error("insertStaffWithUserJob error", e);
+        }
+
+        return ReturnT.SUCCESS;
+
+    }
+
 
     public void refreshTag() throws IOException {
         String weComAccessToken = weComAccessTokenService.getWeComAccessToken(1L);