Browse Source

Merge branch '20250815-wyp-weComThirdParty' into test

wangyunpeng 2 weeks ago
parent
commit
5c16c29250

+ 3 - 1
api-module/src/main/java/com/tzld/piaoquan/api/job/wecom/thirdpart/WeComAccountJob.java

@@ -43,7 +43,9 @@ public class WeComAccountJob {
             String response = apiClient.getRunClientByUuid(new UuidRequest(uuid));
             CommonResponse<LoginInfo> commonResponse =
                     JSONObject.parseObject(response, new TypeReference<CommonResponse<LoginInfo>>() {});
-            if (commonResponse.getErrcode() != 0 && Objects.isNull(commonResponse.getData().getUser_info())) {
+            if (commonResponse.getErrcode() != 0
+                    && (Objects.isNull(commonResponse.getData().getUser_info())
+                    || Objects.isNull(commonResponse.getData().getUser_info().getObject()))) {
                 redisUtils.set(offLineKey, "1", 30 * 60);
                 LarkRobotUtil.sendWeComThirdPartMessage(
                         "【账号掉线检测通知】\n" +

+ 28 - 21
api-module/src/main/java/com/tzld/piaoquan/api/job/wecom/thirdpart/WeComSendMsgJob.java

@@ -83,26 +83,7 @@ public class WeComSendMsgJob {
                         List<CgiReplyBucketData> cgiReplyBucketDataList = getCgiReplyBucketData(room.getThirdRoomId(), staff);
                         for (CgiReplyBucketData cgiReplyBucketData : cgiReplyBucketDataList) {
                             // build发送体
-                            SendAppMsgRequest request = new SendAppMsgRequest();
-                            request.setUuid(staff.getThirdUuid());
-                            request.setSend_userid(Long.valueOf(room.getThirdRoomId()));
-                            request.setIsRoom(true);
-                            request.setAppid("wx89e7eb06478361d7");
-                            request.setUsername("gh_ecd1ea0b84cf@app");
-                            request.setAppName("票圈 l 3亿人喜欢的视频平台");
-                            request.setTitle("票圈 l 3亿人喜欢的视频平台");
-                            request.setWeappIconUrl("http://rescdn.yishihui.com/temp/1755515422185_%E7%A5%A8%E5%9C%88Vlog_logo.jpg");
-                            // 填充视频信息
-                            request.setDesc(cgiReplyBucketData.getTitle());
-                            request.setPagepath(cgiReplyBucketData.getMiniPagePath());
-                            CdnUploadImgLinkRequest cdnUploadImgLinkRequest = new CdnUploadImgLinkRequest();
-                            cdnUploadImgLinkRequest.setUuid(staff.getThirdUuid());
-                            cdnUploadImgLinkRequest.setUrl(cgiReplyBucketData.getCoverUrl());
-                            CdnUploadImgLinkResponse uploadResponse = weComThirdPartyService.cdnUploadImgLink(cdnUploadImgLinkRequest);
-                            request.setCdnkey(uploadResponse.getCdn_key());
-                            request.setMd5(uploadResponse.getMd5());
-                            request.setAeskey(uploadResponse.getAes_key());
-                            request.setFileSize(uploadResponse.getSize().intValue());
+                            SendAppMsgRequest request = buildSendAppMsgRequest(cgiReplyBucketData, staff, room.getThirdRoomId());
                             // 发送消息
                             weComThirdPartyService.sendAppMsg(request);
                             // 存储消息
@@ -115,6 +96,32 @@ public class WeComSendMsgJob {
         return ReturnT.SUCCESS;
     }
 
+    private SendAppMsgRequest buildSendAppMsgRequest(CgiReplyBucketData cgiReplyBucketData,
+                                                     ThirdPartWeComStaff staff,
+                                                     String thirdRoomId) {
+        SendAppMsgRequest request = new SendAppMsgRequest();
+        request.setUuid(staff.getThirdUuid());
+        request.setSend_userid(Long.valueOf(thirdRoomId));
+        request.setIsRoom(true);
+        request.setAppid("wx89e7eb06478361d7");
+        request.setUsername("gh_ecd1ea0b84cf@app");
+        request.setAppName("票圈 l 3亿人喜欢的视频平台");
+        request.setTitle("票圈 l 3亿人喜欢的视频平台");
+        request.setWeappIconUrl("http://rescdn.yishihui.com/temp/1755515422185_%E7%A5%A8%E5%9C%88Vlog_logo.jpg");
+        // 填充视频信息
+        request.setDesc(cgiReplyBucketData.getTitle());
+        request.setPagepath(cgiReplyBucketData.getMiniPagePath());
+        CdnUploadImgLinkRequest cdnUploadImgLinkRequest = new CdnUploadImgLinkRequest();
+        cdnUploadImgLinkRequest.setUuid(staff.getThirdUuid());
+        cdnUploadImgLinkRequest.setUrl(cgiReplyBucketData.getCoverUrl());
+        CdnUploadImgLinkResponse uploadResponse = weComThirdPartyService.cdnUploadImgLink(cdnUploadImgLinkRequest);
+        request.setCdnkey(uploadResponse.getCdn_key());
+        request.setMd5(uploadResponse.getMd5());
+        request.setAeskey(uploadResponse.getAes_key());
+        request.setFileSize(uploadResponse.getSize().intValue());
+        return request;
+    }
+
     private List<CgiReplyBucketData> getCgiReplyBucketData(String roomId, ThirdPartWeComStaff thirdPartWeComStaff) {
         String dt = planMapperExt.getVideoMaxDt();
         String datastatDt = planMapperExt.getVideoDatastatMaxDt();
@@ -135,7 +142,7 @@ public class WeComSendMsgJob {
             Staff staff = new Staff();
             staff.setCarrierId(String.valueOf(thirdPartWeComStaff.getThirdStaffId()));
             staff.setRemark(thirdPartWeComStaff.getName());
-            String page = messageAttachmentService.getPage(staff, video.getVideoId());
+            String page = messageAttachmentService.getPage(staff, video.getVideoId(), "企微", "社群");
 
             CgiReplyBucketData cgiReplyBucketData = new CgiReplyBucketData();
             cgiReplyBucketData.setMiniVideoId(video.getVideoId());

+ 11 - 11
common-module/src/main/java/com/tzld/piaoquan/growth/common/service/Impl/MessageAttachmentServiceImpl.java

@@ -3,7 +3,6 @@ package com.tzld.piaoquan.growth.common.service.Impl;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.tzld.piaoquan.growth.common.common.base.CommonResponse;
-import com.tzld.piaoquan.growth.common.common.constant.MessageConstant;
 import com.tzld.piaoquan.growth.common.common.enums.ExceptionCodeEnum;
 import com.tzld.piaoquan.growth.common.common.enums.MessageAttachmentTypeEnum;
 import com.tzld.piaoquan.growth.common.common.exception.CustomizeException;
@@ -16,12 +15,14 @@ import com.tzld.piaoquan.growth.common.model.bo.VideoDetail;
 import com.tzld.piaoquan.growth.common.model.bo.VideoParam;
 import com.tzld.piaoquan.growth.common.model.po.*;
 import com.tzld.piaoquan.growth.common.model.vo.GuaranteedParam;
-import com.tzld.piaoquan.growth.common.service.WeComAccessTokenService;
 import com.tzld.piaoquan.growth.common.service.MessageAttachmentService;
+import com.tzld.piaoquan.growth.common.service.WeComAccessTokenService;
 import com.tzld.piaoquan.growth.common.service.WeComSendService;
-import com.tzld.piaoquan.growth.common.utils.*;
+import com.tzld.piaoquan.growth.common.utils.DateUtil;
+import com.tzld.piaoquan.growth.common.utils.FileUtils;
+import com.tzld.piaoquan.growth.common.utils.ImageUrlValidator;
+import com.tzld.piaoquan.growth.common.utils.LarkRobotUtil;
 import lombok.extern.slf4j.Slf4j;
-import lombok.val;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -36,7 +37,6 @@ import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.HttpURLConnection;
 import java.net.URL;
-import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.Paths;
 import java.util.*;
@@ -388,31 +388,31 @@ public class MessageAttachmentServiceImpl implements MessageAttachmentService {
 
 
     @Override
-    public String getPage(Staff staff, Long videoId) {
+    public String getPage(Staff staff, Long videoId, String typeOne, String typeTwo) {
         try {
             if (staff == null || staff.getCarrierId() == null) {
                 return "";
             }
-            String page = selectPage(videoId, staff.getCarrierId(), "企微", "日常推送");
+            String page = selectPage(videoId, staff.getCarrierId(), typeOne, typeTwo);
             if (StringUtils.isNotEmpty(page)) {
                 return page;
             }
-            return insertPage(staff.getCarrierId(), videoId, staff.getRemark());
+            return insertPage(staff.getCarrierId(), videoId, staff.getRemark(), typeOne, typeTwo);
         } catch (IOException e) {
             log.error("MessageAttachmentService getPage error", e);
         }
         return null;
     }
 
-    private String insertPage(String carrierId, Long videoId, String remark) throws IOException {
+    private String insertPage(String carrierId, Long videoId, String remark, String typeOne, String typeTwo) throws IOException {
         AdPutFlowParam param = new AdPutFlowParam();
         param.setChannel("tencentqw");
         param.setPath("pages/category.html");
         param.setPutCarrierId(carrierId);
         param.setPutScene("touliu");
         param.setPutStartDate(DateUtil.getDayDateString("yyyy-MM-dd"));
-        param.setPutTypeOne("企微");
-        param.setPutTypeTwo("日常推送");
+        param.setPutTypeOne(typeOne);
+        param.setPutTypeTwo(typeTwo);
         param.setPutTypeThree("位置X");
         param.setRemark(remark);
         param.setVideoId(videoId);

+ 1 - 1
common-module/src/main/java/com/tzld/piaoquan/growth/common/service/MessageAttachmentService.java

@@ -25,7 +25,7 @@ public interface MessageAttachmentService {
 
     String getPicMediaId(String cover, Long corpId, Long miniprogramVideoId);
 
-    String getPage(Staff staff, Long videoId);
+    String getPage(Staff staff, Long videoId, String typeOne, String typeTwo);
 
     String getPage(String channel, String carrierId, String scene, String putTypeOne, String putTypeTwo, String putTypeThree, Long videoId);
 

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

@@ -546,7 +546,7 @@ public class WeComMessageDataJob {
             if (pageMap.containsKey(key)) {
                 page = pageMap.get(key);
             } else {
-                page = messageAttachmentService.getPage(staff, videoId);
+                page = messageAttachmentService.getPage(staff, videoId, "企微", "日常推送");
                 pageMap.put(key, page);
             }
             if (StringUtils.isEmpty(page)) {