|
@@ -56,21 +56,21 @@ public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfo> i
|
|
|
|
|
|
@Override
|
|
|
public Map<String, Object> uploadVideoToBytedance(String accountId, String videoUrl) {
|
|
|
- Map<String, Object> resultMap = new HashMap<>();
|
|
|
- //TODO查询是否已经上传过头条平台
|
|
|
- CtopOauthToken token = tokenService.getOauthTokenByAccountId(accountId);
|
|
|
- JSONObject resultObject = uploadAdvideo(token, videoUrl, token.getAccountId() + "");
|
|
|
- Integer code = resultObject.getInteger("code");
|
|
|
- String message = resultObject.getString("message");
|
|
|
- if (null == code || code != 0) {
|
|
|
- ResultMapUtils.setResultMap(resultMap, StatusCode.BYTEDANCE_VIDEO_UPLOAD_FAIL.getCode());
|
|
|
- return resultMap;
|
|
|
+
|
|
|
+
|
|
|
+ try {
|
|
|
+ CtopOauthToken token = tokenService.getOauthTokenByAccountId(accountId);
|
|
|
+ uploadAdvideo(token, videoUrl, token.getAccountId() + "");
|
|
|
+ String localUrl = LoadFileUtil.downLoadFromUrl(videoUrl, PropertiesUtils.getValue("kuaishou_config", "video_sava_path"));
|
|
|
+ JSONObject jsonObject = videoUpload(token, localUrl);
|
|
|
+ log.info("快手上传素材返回信息:{},accountId:{}", jsonObject, accountId);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.info("头条上传文件失败");
|
|
|
+ e.printStackTrace();
|
|
|
}
|
|
|
- FileInfo fileInfo = (FileInfo) resultObject.get("file");
|
|
|
- ResultMapUtils.setResultMap(resultMap, StatusCode.COMMON_SUCCESS.getCode());
|
|
|
- resultMap.put("videoId", fileInfo.getFileId());
|
|
|
- log.info("头条素材同步后台成功,accountId:{}", accountId);
|
|
|
- return resultMap;
|
|
|
+
|
|
|
+ return new HashMap<>();
|
|
|
+
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -333,52 +333,18 @@ public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfo> i
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public JSONObject uploadAdvideo(CtopOauthToken token, String videoUrl, String advertiserId) {
|
|
|
+ public void uploadAdvideo(CtopOauthToken token, String videoUrl, String advertiserId) {
|
|
|
JSONObject result = new JSONObject();
|
|
|
//1:下载文件到本地
|
|
|
- String videoPath = downLoadByUrl(videoUrl);
|
|
|
- //2: 获取MD5值
|
|
|
- String md5Hex = null;
|
|
|
- try {
|
|
|
- md5Hex = DigestUtils.md5Hex(new FileInputStream(videoPath));
|
|
|
- } catch (IOException e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- //3: 根据MD5值查询是否已经上传过服务器
|
|
|
- // List<FileInfo> getFileInfo = getFileInfoByMd5(md5Hex);
|
|
|
- //表示已经上传过服务器
|
|
|
- /* if (null != getFileInfo && getFileInfo.size() > 0) {
|
|
|
- log.info("头条文件已上传,accountId:{}", token.getAccountId());
|
|
|
- result.put("code", 0);
|
|
|
- result.put("file", getFileInfo.get(0));
|
|
|
- result.put("message", "视频上传成功");
|
|
|
- result.put("success", true);
|
|
|
- return result;
|
|
|
- }*/
|
|
|
|
|
|
- QueryWrapper<FileInfo> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.eq("md5", md5Hex);
|
|
|
- fileInfoMapper.delete(queryWrapper);
|
|
|
|
|
|
//文件上传
|
|
|
- JSONObject bytedanceObject = videoUpload(token, advertiserId, videoPath);
|
|
|
- log.info("头条上传返回信息:{},accountId:{}", bytedanceObject, advertiserId);
|
|
|
- if (null == bytedanceObject) {
|
|
|
- result.put("code", -1);
|
|
|
- result.put("message", "今日头条视频上传失败");
|
|
|
- return result;
|
|
|
- }
|
|
|
- JSONObject data = bytedanceObject.getJSONObject("data");
|
|
|
- FileInfo fileInfo = new FileInfo(md5Hex, data, advertiserId, token, videoUrl, videoPath, "VIDEO", "1");
|
|
|
- fileInfoMapper.insert(fileInfo);
|
|
|
- result.put("code", 0);
|
|
|
- result.put("file", fileInfo);
|
|
|
- result.put("message", "视频上传成功");
|
|
|
- result.put("success", true);
|
|
|
- return result;
|
|
|
+ // JSONObject bytedanceObject = videoUpload(token, advertiserId, videoPath);
|
|
|
+ // log.info("头条上传返回信息:{},accountId:{}", bytedanceObject, advertiserId);
|
|
|
+
|
|
|
}
|
|
|
|
|
|
- private JSONObject videoUpload(CtopOauthToken token, String advertiserId, String videoPath) {
|
|
|
+ private JSONObject videoUpload(CtopOauthToken token, String videoPath) {
|
|
|
CloseableHttpResponse response = null;
|
|
|
CloseableHttpClient client = null;
|
|
|
// 请求地址
|
|
@@ -392,7 +358,7 @@ public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfo> i
|
|
|
MultipartEntityBuilder entityBuilder = MultipartEntityBuilder.create()
|
|
|
.addPart("video_file", file);
|
|
|
// 其他参数
|
|
|
- entityBuilder.addTextBody("advertiser_id", advertiserId);
|
|
|
+ entityBuilder.addTextBody("advertiser_id", String.valueOf(token.getAccountId()));
|
|
|
entityBuilder.addTextBody("video_signature", DigestUtils.md5Hex(new FileInputStream(new File(videoPath))));
|
|
|
HttpEntity entity = entityBuilder.build();
|
|
|
client = HttpClientBuilder.create().build();
|