yumeng 5 年之前
父节点
当前提交
454bd2877b

+ 22 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/MaterialImageInfoController.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.entity.MaterialCutFrame;
 import cn.com.ctop.common.module.entity.MaterialImageInfo;
 import cn.com.ctop.common.module.service.IMaterialImageInfoService;
 import cn.com.ctop.common.module.utils.Check;
@@ -7,6 +8,8 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -52,6 +55,25 @@ public class MaterialImageInfoController {
     @Autowired
     private IMaterialImageInfoService MaterialImageInfoService;
 
+
+
+
+    @ApiOperation(value = "截屏-分页列表查询", notes = "截屏-分页列表查询")
+    @GetMapping(value = "/pageList")
+    public Result<IPage<MaterialImageInfo>> pageList(MaterialImageInfo materialImageInfo,
+                                                         @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                         @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                         HttpServletRequest req) {
+        Result<IPage<MaterialCutFrame>> result = new Result<IPage<MaterialCutFrame>>();
+        QueryWrapper<MaterialCutFrame> queryWrapper = QueryGenerator.initQueryWrapper(materialCutFrame, req.getParameterMap());
+        Page<MaterialCutFrame> page = new Page<MaterialCutFrame>(pageNo, pageSize);
+        IPage<MaterialCutFrame> pageList = materialCutFrameService.page(page, queryWrapper);
+        result.setSuccess(true);
+        result.setResult(pageList);
+        return result;
+    }
+
+
     /**
      * 分页列表查询
      *

+ 21 - 12
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/MaterialInfoController.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.ctop.controller;
 
 
+import cn.com.ctop.common.module.entity.MaterialImageInfo;
 import cn.com.ctop.common.module.entity.MaterialInfo;
 import cn.com.ctop.common.module.service.*;
 import cn.com.ctop.common.module.utils.Check;
@@ -44,8 +45,10 @@ import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * 素材信息
@@ -75,7 +78,6 @@ public class MaterialInfoController {
     private IVideoWatermarkTaskService watermarkTaskService;
 
 
-
     @PostMapping("/correlationUpload")
     public Map<String, Object> insertFile(@RequestBody JSONObject json) {
         LoginUser user = (LoginUser) SecurityUtils.getSubject()
@@ -86,10 +88,6 @@ public class MaterialInfoController {
     }
 
 
-
-
-
-
     @GetMapping(value = "/report")
     public JSONObject report(String userId) {
         return materialInfoService.report(userId);
@@ -165,6 +163,9 @@ public class MaterialInfoController {
         return result;
     }
 
+    @Autowired
+    private IMaterialImageInfoService iMaterialImageInfoService;
+
     @AutoLog(value = "素材信息-分页列表查询")
     @ApiOperation(value = "素材信息-分页列表查询", notes = "素材信息-分页列表查询")
     @GetMapping(value = "/list")
@@ -196,7 +197,6 @@ public class MaterialInfoController {
                         return result;
                     }
                 }
-
             } else {
                 queryWrapper = QueryGenerator.initQueryWrapper(materialInfo, req.getParameterMap());
             }
@@ -211,12 +211,9 @@ public class MaterialInfoController {
                 }
             }
         }
-
         Page<MaterialInfo> page = new Page<>(pageNo, pageSize);
         IPage<MaterialInfo> pageList = materialInfoService.page(page, queryWrapper);
-
         List<MaterialInfo> materialInfoList = pageList.getRecords();
-
         if (materialInfoList.size() != 0) {
             for (MaterialInfo material : materialInfoList) {
                 //判断是否已经同步到快手平台
@@ -252,7 +249,20 @@ public class MaterialInfoController {
                     material.setGeneralization(generalizationJson);
                 }*/
 
+
+                QueryWrapper<MaterialImageInfo> imageInfoQueryWrapper = new QueryWrapper<>();
+                imageInfoQueryWrapper.eq("video_id", material.getId());
+                imageInfoQueryWrapper.eq("status", 0);
+                List<MaterialImageInfo> imageInfoList = iMaterialImageInfoService.list(imageInfoQueryWrapper);
+                if (Check.isNull(imageInfoList)) {
+                    material.setWhetherUnaudited(false);
+                } else {
+                    material.setWhetherUnaudited(true);
+                }
+
             }
+
+
         }
 
         result.setSuccess(true);
@@ -261,7 +271,6 @@ public class MaterialInfoController {
     }
 
 
-
     /**
      * 添加
      *

+ 5 - 0
module-common/src/main/java/cn/com/ctop/common/module/entity/MaterialInfo.java

@@ -148,4 +148,9 @@ public class MaterialInfo {
 
     @TableField(exist = false)
     private String realname;
+
+    @TableField(exist = false)
+    private Boolean whetherUnaudited;  // 是否有未审核封面
+
+
 }

+ 2 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/IMaterialImageInfoService.java

@@ -21,4 +21,6 @@ public interface IMaterialImageInfoService extends IService<MaterialImageInfo> {
     void insertImage(JSONObject imageJson);
 
     Map<String, Object> checkMaterialInfo(String code, Long projectId);
+
+    void uploadImage(String signature, Long accountId, String accessToken);
 }

+ 94 - 5
module-common/src/main/java/cn/com/ctop/common/module/service/impl/MaterialImageInfoServiceImpl.java

@@ -1,20 +1,24 @@
 package cn.com.ctop.common.module.service.impl;
 
+import cn.com.ctop.common.module.entity.CtopOauthToken;
 import cn.com.ctop.common.module.entity.MaterialImageInfo;
+import cn.com.ctop.common.module.entity.MaterialParameter;
+import cn.com.ctop.common.module.enums.MaterialEnum;
 import cn.com.ctop.common.module.mapper.MaterialImageInfoMapper;
 import cn.com.ctop.common.module.service.IMaterialImageInfoService;
-import cn.com.ctop.common.module.utils.Check;
-import cn.com.ctop.common.module.utils.ResultMapUtils;
-import cn.com.ctop.common.module.utils.StatusCode;
+import cn.com.ctop.common.module.utils.*;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.io.FileSystemResource;
 import org.springframework.stereotype.Service;
 
+import java.io.File;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -42,7 +46,6 @@ public class MaterialImageInfoServiceImpl extends ServiceImpl<MaterialImageInfoM
         String userId = imageJson.getString("userId");
         Long projectId = imageJson.getLong("projectId");
         JSONArray imageArr = imageJson.getJSONArray("imageArr");
-        System.err.println(imageArr);
         for (int i = 0; i < imageArr.size(); i++) {
             JSONObject json = imageArr.getJSONObject(i);
             if (!Check.isNull(json)) {
@@ -92,5 +95,91 @@ public class MaterialImageInfoServiceImpl extends ServiceImpl<MaterialImageInfoM
 
     }
 
+    /**
+     * 上传封面
+     *
+     * @param videoId
+     * @param accountId
+     * @param accessToken
+     */
+    @Override
+    public void uploadImage(String videoId, Long accountId, String accessToken) {
+
+
+        QueryWrapper<MaterialImageInfo> imageInfoQueryWrapper = new QueryWrapper<>();
+        imageInfoQueryWrapper.eq("video_id", videoId);
+        imageInfoQueryWrapper.eq("status", 0);
+        List<MaterialImageInfo> imageList = this.list(imageInfoQueryWrapper);
+        if(){
+        }
+    }
+
+
+/*
+
+        String localUrl = LoadFileUtil.downLoadFromUrl(url, downloadUrl);
+        FileSystemResource resource = new FileSystemResource(new File(localUrl));
+        Map<String, String> headerMap = new HashMap<>();
+        headerMap.put("Content-Type", "multipart/form-data");
+        JSONObject requestJson = new JSONObject();
+        requestJson.put("file", resource);
+        requestJson.put("signature", materialInfo.getCode());
+        QueryWrapper<MaterialParameter> parameterQueryWrapper = new QueryWrapper<>();
+        parameterQueryWrapper.eq("material_id", materialInfo.getId());
+        parameterQueryWrapper.orderByDesc("create_time").last("limit 1");
+        MaterialParameter materialParameter = materialParameterService.getOne(parameterQueryWrapper);
+        if (!Check.isNull(materialParameter)) {
+            Integer type = MaterialEnum.getTypeBySize(Integer.valueOf(materialParameter.getWidth()), Integer.valueOf(materialParameter.getHeight()));
+            if (!Check.isNull(type) && type != 0) {
+                requestJson.put("type", type);
+            }
+        }
 
-}
+
+        String url = PropertiesUtils.getConfig("kuaishou_api_url") + KuaishouInterfaceConstant.IMAGE_UPLOAD;
+        requestJson.put("type", "2");
+        requestJson.put("upload_type", "1");
+
+
+        for (int i = 0; i < accountArray.size(); i++) {
+            Long accountId = accountArray.getLong(i);
+            QueryWrapper<CtopOauthToken> tokenQueryWrapper = new QueryWrapper<>();
+            tokenQueryWrapper.eq("account_id", accountId);
+            tokenQueryWrapper.eq("media_id", mediaId);
+            tokenQueryWrapper.orderByDesc("create_time");
+            tokenQueryWrapper.last("limit 1");
+            CtopOauthToken ctopOauthToken = oauthTokenMapper.selectOne(tokenQueryWrapper);
+            if (Check.isNull(ctopOauthToken)) {
+                continue;
+            }
+            requestJson.put("advertiser_id", accountId);
+            headerMap.put("Access-Token", ctopOauthToken.getAccessToken());
+
+
+            if ("IMAGE".equals(materialInfo.getType())) {
+                //   kuaishouInterfaceService.imageGet(accountId, ctopOauthToken.getAccessToken(), dataJson.getString("image_token"));
+                if (!Check.isNull(dataJson)) {
+                    String signature = dataJson.getString("signature");
+                    String image_token = dataJson.getString("image_token");
+                    KuaiShouImageGet imageGet = new KuaiShouImageGet();
+                    imageGet.setId(accountId + image_token);
+                    imageGet.setAccountId(accountId);
+                    imageGet.setUrl(dataJson.getString("url"));
+                    imageGet.setWidth(dataJson.getInteger("width"));
+                    imageGet.setHeight(dataJson.getInteger("height"));
+                    imageGet.setSize(dataJson.getInteger("size"));
+                    imageGet.setFormat(dataJson.getString("format"));
+                    Integer type = MaterialEnum.getTypeBySize(dataJson.getInteger("width"), dataJson.getInteger("height"));
+                    if (!Check.isNull(type)) {
+                        imageGet.setMaterialType(type);
+                    }
+                    imageGet.setSignature(signature);
+                    imageGet.setImageToken(image_token);
+                    iKuaiShouImageGetService.saveOrUpdate(imageGet);
+                }
+
+            }
+*/
+
+
+        }

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

@@ -475,7 +475,7 @@ public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, Mat
             JSONArray imageArr = json.getJSONArray("imageArr");
             if (!Check.isNull(imageArr)) {
                 JSONObject imageJson = new JSONObject();
-                imageJson.put("videoId", info.getCode());
+                imageJson.put("videoId", info.getId());
                 imageJson.put("userId", userId);
                 imageJson.put("projectId", projectId);
                 imageJson.put("imageArr", imageArr);

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

@@ -8,12 +8,12 @@ import cn.com.ctop.common.module.mapper.CtopOauthTokenMapper;
 import cn.com.ctop.common.module.mapper.MaterialInfoMapper;
 import cn.com.ctop.common.module.mapper.MaterialParameterMapper;
 import cn.com.ctop.common.module.service.IFileInfoService;
+import cn.com.ctop.common.module.service.IMaterialImageInfoService;
 import cn.com.ctop.common.module.service.IMaterialParameterService;
 import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.common.module.utils.KuaishouInterfaceConstant;
 import cn.com.ctop.common.module.utils.LoadFileUtil;
 import cn.com.ctop.common.module.utils.PropertiesUtils;
-import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouImageGet;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouVideoGet;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouImageGetService;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouVideoGetService;
@@ -71,6 +71,8 @@ public class MaterialUploadServiceImpl implements IMaterialUploadService {
     private MaterialParameterMapper parameterMapper;
     @Autowired
     private IKuaiShouVideoGetService kuaiShouVideoGetService;
+    @Autowired
+    private IMaterialImageInfoService iMaterialImageInfoService;
 
 
     /**
@@ -211,7 +213,7 @@ public class MaterialUploadServiceImpl implements IMaterialUploadService {
                                     if (resultJson.getInteger("code") == 0) {
                                         JSONObject dataJson = resultJson.getJSONObject("data");
                                         if (!Check.isNull(dataJson)) {
-                                            if ("IMAGE".equals(materialInfo.getType())) {
+                                           /* if ("IMAGE".equals(materialInfo.getType())) {
                                                 //   kuaishouInterfaceService.imageGet(accountId, ctopOauthToken.getAccessToken(), dataJson.getString("image_token"));
                                                 if (!Check.isNull(dataJson)) {
                                                     String signature = dataJson.getString("signature");
@@ -233,7 +235,8 @@ public class MaterialUploadServiceImpl implements IMaterialUploadService {
                                                     iKuaiShouImageGetService.saveOrUpdate(imageGet);
                                                 }
 
-                                            } else if ("VIDEO".equals(materialInfo.getType())) {
+                                            } else*/
+                                            if ("VIDEO".equals(materialInfo.getType())) {
                                                 // kuaishouInterfaceService.videoGet(accountId, ctopOauthToken.getAccessToken(), dataJson.getString("photo_id"), dataJson.getString("signature"));
                                                 String photoId = dataJson.getString("photo_id");
                                                 String signature = dataJson.getString("signature");
@@ -260,6 +263,7 @@ public class MaterialUploadServiceImpl implements IMaterialUploadService {
                                                 //    videoGet.setCoverUrl(dataJson.getString("cover_url"));
                                                 videoGet.setSignature(signature);
                                                 kuaiShouVideoGetService.saveOrUpdate(videoGet);
+                                                iMaterialImageInfoService.uploadImage(videoGet.getId(), accountId, ctopOauthToken.getAccessToken());
                                             }
                                         }
                                         log.info("快手素材同步完成,accountId:{},code:{},返回信息:{}", accountId, materialInfo.getCode(), resultJson);

+ 2 - 1
module-report/src/main/java/cn/com/ctop/bytedance/service/impl/KuaiShouYiCheReportServiceImpl.java

@@ -65,11 +65,12 @@ public class KuaiShouYiCheReportServiceImpl implements IKuaiShouYiCheReportServi
 
             // ios
             requestMap.put("systemType", "IOS");
+            requestMap.put("statDate", statDate);
+
             // 账号
             List<JSONObject> iosReportArr = kuaiShouYiCheReportMapper.selectReportByMap(requestMap);
 
             // 今日
-            requestMap.put("statDate", statDate);
             requestMap.put("dateDesc", statDate + "整体数据");
             JSONObject iosNowJson = kuaiShouYiCheReportMapper.selectSumReportByMap(requestMap);
             iosReportArr.add(iosNowJson);