Ver código fonte

快手 推送素材成功通知

yumeng 4 anos atrás
pai
commit
7a33dc08e2

+ 13 - 1
module-common/src/main/java/cn/com/ctop/common/module/service/IMessageTemplate.java

@@ -2,7 +2,19 @@ package cn.com.ctop.common.module.service;
 
 
 public interface IMessageTemplate {
 public interface IMessageTemplate {
 
 
-    String getMaterialSyncTemplate(String projectName, Long accountId, String accountName, String materialName, String reason);
+    String getMaterialSyncTemplate(String projectName, String accountId, String accountName, String materialName, String reason);
+
+    /**
+     * 同步成功发送消息
+     *
+     * @param projectName
+     * @param accountId
+     * @param accountName
+     * @param materialName
+     * @param reason
+     * @return
+     */
+    String getMaterialSyncSucessTemplate(String projectName, String accountId, String accountName, String materialName, String reason);
 
 
 
 
     String getMaterialRejectTemplate(String projectName, String materialName, String refuseReason);
     String getMaterialRejectTemplate(String projectName, String materialName, String refuseReason);

+ 1 - 1
module-common/src/main/java/cn/com/ctop/common/module/service/impl/FileInfoServiceImpl.java

@@ -77,7 +77,7 @@ public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfo> i
                     log.error("头条上传素材失败,返回信息:{},accountId:{}", jsonObject, accountId);
                     log.error("头条上传素材失败,返回信息:{},accountId:{}", jsonObject, accountId);
                     UserAllocation allocation = userAllocationService.getByAccountId(Long.valueOf(accountId));
                     UserAllocation allocation = userAllocationService.getByAccountId(Long.valueOf(accountId));
                     Project project = projectService.getById(allocation.getProjectId());
                     Project project = projectService.getById(allocation.getProjectId());
-                    String message = messageTemplate.getMaterialSyncTemplate(project.getProjectName(), Long.valueOf(accountId), allocation.getAuthName(), materialName, jsonObject.getString("message"));
+                    String message = messageTemplate.getMaterialSyncTemplate(project.getProjectName(), accountId, allocation.getAuthName(), materialName, jsonObject.getString("message"));
                     sendMessageService.sendMessage(userId, message);
                     sendMessageService.sendMessage(userId, message);
                 }
                 }
 
 

+ 13 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/impl/MessageTemplateImpl.java

@@ -32,6 +32,19 @@ public class MessageTemplateImpl implements IMessageTemplate {
     }
     }
 
 
     @Override
     @Override
+    public String getMaterialSyncSucessTemplate(String projectName, Long accountId, String accountName, String materialName, String reason) {
+        StringBuilder text = new StringBuilder();
+        text.append("素材同步成功通知:").append("<br/>")
+                .append("您的项目:").append(projectName + ",").append("<br/>")
+                .append("下的快手账户:").append(accountId + ",").append("<br/>")
+                .append("授权名称为:" + accountName).append("<br/>")
+                .append("同步素材成功。").append("<br/>")
+                .append("素材名称为:").append(materialName).append("<br/>")
+                .append("请您前往查看。");
+        return text.toString();
+    }
+
+    @Override
     public String getFeishuMaterialSyncTemplate(String projectName, Long accountId, String accountName, String materialName, String reason) {
     public String getFeishuMaterialSyncTemplate(String projectName, Long accountId, String accountName, String materialName, String reason) {
         StringBuilder text = new StringBuilder();
         StringBuilder text = new StringBuilder();
         text.append("素材同步失败").append("\n\r")
         text.append("素材同步失败").append("\n\r")

+ 25 - 38
module-ctop/src/main/java/cn/com/ctop/manage/modules/material/service/impl/MaterialUploadServiceImpl.java

@@ -10,6 +10,8 @@ import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.common.module.utils.KuaishouInterfaceConstant;
 import cn.com.ctop.common.module.utils.KuaishouInterfaceConstant;
 import cn.com.ctop.common.module.utils.LoadFileUtil;
 import cn.com.ctop.common.module.utils.LoadFileUtil;
 import cn.com.ctop.common.module.utils.PropertiesUtils;
 import cn.com.ctop.common.module.utils.PropertiesUtils;
+import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouAdvertiserBaseInfo;
+import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouAdvertiserBaseInfoService;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaishouInterfaceService;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaishouInterfaceService;
 import cn.com.ctop.manage.modules.material.service.IMaterialUploadImageService;
 import cn.com.ctop.manage.modules.material.service.IMaterialUploadImageService;
 import cn.com.ctop.manage.modules.material.service.IMaterialUploadService;
 import cn.com.ctop.manage.modules.material.service.IMaterialUploadService;
@@ -91,16 +93,16 @@ public class MaterialUploadServiceImpl implements IMaterialUploadService {
         for (int j = 0; j < materialArray.size(); j++) {
         for (int j = 0; j < materialArray.size(); j++) {
             String materialId = materialArray.getString(j);
             String materialId = materialArray.getString(j);
             MaterialInfo materialInfo = materialInfoMapper.selectById(materialId);
             MaterialInfo materialInfo = materialInfoMapper.selectById(materialId);
-            MaterialImageInfo materialImageInfo= materialImageInfoMapper.selectById(materialId);
-            if (Check.isNull(materialInfo)&&Check.isNull(materialImageInfo)) {
+            MaterialImageInfo materialImageInfo = materialImageInfoMapper.selectById(materialId);
+            if (Check.isNull(materialInfo) && Check.isNull(materialImageInfo)) {
                 continue;
                 continue;
             }
             }
             try {
             try {
                 String url = "";
                 String url = "";
-                if(Check.isNull(materialInfo)){
-                    url= (String) materialImageInfo.getUrl();
-                }else {
-                    url= materialInfo.getUrl();
+                if (Check.isNull(materialInfo)) {
+                    url = (String) materialImageInfo.getUrl();
+                } else {
+                    url = materialInfo.getUrl();
                 }
                 }
                 String localUrl = LoadFileUtil.downLoadFromUrl(url, downloadUrl);
                 String localUrl = LoadFileUtil.downLoadFromUrl(url, downloadUrl);
 
 
@@ -115,7 +117,7 @@ public class MaterialUploadServiceImpl implements IMaterialUploadService {
                         public void run() {
                         public void run() {
                             try {
                             try {
                                 log.info("头条文件多线程上传:{},accountId:{}", Thread.currentThread().getName(), accountId);
                                 log.info("头条文件多线程上传:{},accountId:{}", Thread.currentThread().getName(), accountId);
-                                if (materialInfo!=null&&"VIDEO".equals(materialInfo.getType())) {
+                                if (materialInfo != null && "VIDEO".equals(materialInfo.getType())) {
                                     fileInfoService.uploadVideoToBytedance(String.valueOf(accountId), localUrl, userId, materialInfo.getMaterialName());
                                     fileInfoService.uploadVideoToBytedance(String.valueOf(accountId), localUrl, userId, materialInfo.getMaterialName());
 
 
                                 } else if ("IMAGE".equals(materialImageInfo.getType())) {
                                 } else if ("IMAGE".equals(materialImageInfo.getType())) {
@@ -133,6 +135,9 @@ public class MaterialUploadServiceImpl implements IMaterialUploadService {
         }
         }
     }
     }
 
 
+    @Autowired
+    private IKuaiShouAdvertiserBaseInfoService advertiserBaseInfoService;
+
     private void kuaiShouUpload(String mediaId, JSONArray materialArray, JSONArray accountArray, String userId) {
     private void kuaiShouUpload(String mediaId, JSONArray materialArray, JSONArray accountArray, String userId) {
         for (int j = 0; j < materialArray.size(); j++) {
         for (int j = 0; j < materialArray.size(); j++) {
             String materialId = materialArray.getString(j);
             String materialId = materialArray.getString(j);
@@ -182,41 +187,23 @@ public class MaterialUploadServiceImpl implements IMaterialUploadService {
                                 String result = exceptInfoForRestTemplate(url, requestJson, headerMap);
                                 String result = exceptInfoForRestTemplate(url, requestJson, headerMap);
                                 JSONObject resultJson = JSONObject.parseObject(result);
                                 JSONObject resultJson = JSONObject.parseObject(result);
                                 if (!Check.isNull(resultJson)) {
                                 if (!Check.isNull(resultJson)) {
+                                    KuaiShouAdvertiserBaseInfo baseInfo = advertiserBaseInfoService.getBaseInfo(accountId);
+
                                     if (resultJson.getInteger("code") == 0) {
                                     if (resultJson.getInteger("code") == 0) {
                                         JSONObject dataJson = resultJson.getJSONObject("data");
                                         JSONObject dataJson = resultJson.getJSONObject("data");
                                         if (!Check.isNull(dataJson)) {
                                         if (!Check.isNull(dataJson)) {
-
                                             String signature = dataJson.getString("signature");
                                             String signature = dataJson.getString("signature");
-                                           /*
-                                             String photoId = dataJson.getString("photo_id");
-                                            KuaiShouVideoGet videoGet = new KuaiShouVideoGet();
-                                            videoGet.setAccountId(accountId);
-                                            videoGet.setId(accountId + photoId);
-                                            videoGet.setUrl(materialInfo.getUrl());
-                                            QueryWrapper<MaterialParameter> parameterQueryWrapper = new QueryWrapper<>();
-                                            parameterQueryWrapper.eq("material_id", signature);
-                                            parameterQueryWrapper.last("limit 1");
-
-                                            MaterialParameter materialParameter = parameterMapper.selectOne(parameterQueryWrapper);
-                                            if (!Check.isNull(materialParameter)) {
-                                                String width = materialParameter.getWidth();
-                                                String height = materialParameter.getHeight();
-                                                videoGet.setWidth(Integer.valueOf(width));
-                                                videoGet.setHeight(Integer.valueOf(height));
-                                                Integer type = MaterialEnum.getTypeBySize(Integer.valueOf(width), Integer.valueOf(height));
-                                                if (!Check.isNull(type)) {
-                                                    videoGet.setMaterialType(type);
-                                                }
-                                            }
-                                            videoGet.setPhotoId(photoId);
-                                            videoGet.setSignature(signature);
-                                            String nowDate = DateUtils.getNowDate("yyyy-MM-dd");
-                                            videoGet.setStatDate(DateUtils.parseDate(nowDate, "yyyy-MM-dd"));
-                                            videoGet.setCoverUrl(materialInfo.getUrl() + "?x-oss-process=video/snapshot,t_0,m_fast");
-                                            videoGet.setUploadDate(new Date());
-                                            kuaiShouVideoGetService.saveOrUpdate(videoGet);*/
+                                            //同步 视频关联的封面
                                             materialUploadImageService.uploadImage(signature, accountId, ctopOauthToken.getAccessToken());
                                             materialUploadImageService.uploadImage(signature, accountId, ctopOauthToken.getAccessToken());
+                                            // 发送推送成功通知
+                                            UserAllocation allocation = userAllocationService.getByAccountId(accountId);
+                                            Project project = projectService.getById(allocation.getProjectId());
+                                            String message = messageTemplate.getMaterialSyncSucessTemplate(project.getProjectName(), baseInfo.getUserId(), baseInfo.getUserName(), materialInfo.getMaterialName(), resultJson.getString("message"));
+                                            sendMessageService.sendMessage(userId, message);
 
 
+                                            /**
+                                             * 异步获取视频信息
+                                             */
                                             Thread thread = new Thread() {
                                             Thread thread = new Thread() {
                                                 @Override
                                                 @Override
                                                 public void run() {
                                                 public void run() {
@@ -233,10 +220,10 @@ public class MaterialUploadServiceImpl implements IMaterialUploadService {
                                         log.info("快手素材同步完成,accountId:{},code:{},返回信息:{}", accountId, materialInfo.getCode(), resultJson);
                                         log.info("快手素材同步完成,accountId:{},code:{},返回信息:{}", accountId, materialInfo.getCode(), resultJson);
                                     } else {
                                     } else {
                                         log.error("快手同步素材失败,返回信息:{},请求参数:{}", resultJson, requestJson);
                                         log.error("快手同步素材失败,返回信息:{},请求参数:{}", resultJson, requestJson);
-                                        //  发送消息到上传人
+                                        //  发送推送失败消息到上传人
                                         UserAllocation allocation = userAllocationService.getByAccountId(accountId);
                                         UserAllocation allocation = userAllocationService.getByAccountId(accountId);
                                         Project project = projectService.getById(allocation.getProjectId());
                                         Project project = projectService.getById(allocation.getProjectId());
-                                        String message = messageTemplate.getMaterialSyncTemplate(project.getProjectName(), accountId, allocation.getAuthName(), materialInfo.getMaterialName(), resultJson.getString("message"));
+                                        String message = messageTemplate.getMaterialSyncTemplate(project.getProjectName(), baseInfo.getUserId(), baseInfo.getUserName(), materialInfo.getMaterialName(), resultJson.getString("message"));
                                         sendMessageService.sendMessage(userId, message);
                                         sendMessageService.sendMessage(userId, message);
                                     }
                                     }
                                 }
                                 }