Bläddra i källkod

调整目录结构

yumeng 5 år sedan
förälder
incheckning
4fd1717725
16 ändrade filer med 163 tillägg och 21 borttagningar
  1. 12 0
      jeecg-boot-base-common/src/main/java/org/jeecg/common/util/LoadFileUtil.java
  2. 2 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/fileupload/controller/FileController.java
  3. 1 1
      module-ctop/src/main/java/cn/com/ctop/manage/modules/material/entity/MaterialInfo.java
  4. 2 2
      module-ctop/src/main/java/cn/com/ctop/manage/modules/material/mapper/MaterialInfoMapper.java
  5. 1 1
      module-ctop/src/main/java/cn/com/ctop/manage/modules/material/mapper/xml/MaterialInfoMapper.xml
  6. 2 2
      module-ctop/src/main/java/cn/com/ctop/manage/modules/material/service/IMaterialInfoService.java
  7. 4 4
      module-ctop/src/main/java/cn/com/ctop/manage/modules/material/service/impl/MaterialInfoServiceImpl.java
  8. 1 1
      module-common/src/main/java/cn/com/ctop/common/module/utils/KuaishouInterfaceConstant.java
  9. 3 2
      module-ctop/src/main/java/cn/com/ctop/manage/modules/material/controller/MaterialInfoController.java
  10. 9 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/entity/KuaiShouVideoUpload.java
  11. 35 7
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/KuaishouInterfaceServiceImpl.java
  12. 37 0
      module-report/src/main/java/cn/com/ctop/bytedance/controller/MaterialReportController.java
  13. 7 0
      module-report/src/main/java/cn/com/ctop/bytedance/mapper/MaterialReportMapper.java
  14. 23 0
      module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/MaterialReportMapper.xml
  15. 7 0
      module-report/src/main/java/cn/com/ctop/bytedance/service/IMaterialReportService.java
  16. 17 0
      module-report/src/main/java/cn/com/ctop/bytedance/service/impl/MaterialReportServiceImpl.java

+ 12 - 0
jeecg-boot-base-common/src/main/java/org/jeecg/common/util/LoadFileUtil.java

@@ -1,5 +1,6 @@
 package org.jeecg.common.util;
 
+import org.apache.commons.codec.digest.DigestUtils;
 import org.jeecg.common.util.encryption.AesEncryptUtil;
 
 import java.io.*;
@@ -94,5 +95,16 @@ public class LoadFileUtil {
         return flag;
     }
 
+    /**
+     * 获取文件md5
+     *
+     * @param path
+     * @return
+     * @throws IOException
+     */
+    public static String getMD5(String path) throws IOException {
+        return DigestUtils.md5Hex(new FileInputStream(path));
+    }
+
 
 }

+ 2 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/fileupload/controller/FileController.java

@@ -1,6 +1,6 @@
 package org.jeecg.modules.fileupload.controller;
 
-import cn.com.ctop.manage.modules.material.service.IMaterialInfoService;
+import cn.com.ctop.common.module.service.IMaterialInfoService;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.system.vo.LoginUser;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -12,6 +12,7 @@ import java.util.Map;
 
 /**
  * 素材库工具接口
+ *
  * @author jeecg-boot
  */
 @RestController

+ 1 - 1
module-ctop/src/main/java/cn/com/ctop/manage/modules/material/entity/MaterialInfo.java

@@ -1,4 +1,4 @@
-package cn.com.ctop.manage.modules.material.entity;
+package cn.com.ctop.common.module.entity;
 
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;

+ 2 - 2
module-ctop/src/main/java/cn/com/ctop/manage/modules/material/mapper/MaterialInfoMapper.java

@@ -1,6 +1,6 @@
-package cn.com.ctop.manage.modules.material.mapper;
+package cn.com.ctop.common.module.mapper;
 
-import cn.com.ctop.manage.modules.material.entity.MaterialInfo;
+import cn.com.ctop.common.module.entity.MaterialInfo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 /**

+ 1 - 1
module-ctop/src/main/java/cn/com/ctop/manage/modules/material/mapper/xml/MaterialInfoMapper.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="cn.com.ctop.manage.modules.material.mapper.MaterialInfoMapper">
+<mapper namespace="cn.com.ctop.common.module.mapper.MaterialInfoMapper">
 
 </mapper>

+ 2 - 2
module-ctop/src/main/java/cn/com/ctop/manage/modules/material/service/IMaterialInfoService.java

@@ -1,6 +1,6 @@
-package cn.com.ctop.manage.modules.material.service;
+package cn.com.ctop.common.module.service;
 
-import cn.com.ctop.manage.modules.material.entity.MaterialInfo;
+import cn.com.ctop.common.module.entity.MaterialInfo;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 import java.util.Map;

+ 4 - 4
module-ctop/src/main/java/cn/com/ctop/manage/modules/material/service/impl/MaterialInfoServiceImpl.java

@@ -1,10 +1,10 @@
-package cn.com.ctop.manage.modules.material.service.impl;
+package cn.com.ctop.common.module.service.impl;
 
+import cn.com.ctop.common.module.entity.MaterialInfo;
+import cn.com.ctop.common.module.mapper.MaterialInfoMapper;
+import cn.com.ctop.common.module.service.IMaterialInfoService;
 import cn.com.ctop.common.module.utils.ResultMapUtils;
 import cn.com.ctop.common.module.utils.StatusCode;
-import cn.com.ctop.manage.modules.material.entity.MaterialInfo;
-import cn.com.ctop.manage.modules.material.mapper.MaterialInfoMapper;
-import cn.com.ctop.manage.modules.material.service.IMaterialInfoService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;

+ 1 - 1
module-common/src/main/java/cn/com/ctop/common/module/utils/KuaishouInterfaceConstant.java

@@ -58,7 +58,7 @@ public class KuaishouInterfaceConstant {
     /**
      * 视频文件上传
      */
-    public static final String VIDEO_UPLOAD = "/rest/openapi/v1/file/ad/video/upload";
+    public static final String VIDEO_UPLOAD = "/rest/openapi/v2/file/ad/video/upload";
     /**
      * 视频文件获取
      */

+ 3 - 2
module-ctop/src/main/java/cn/com/ctop/manage/modules/material/controller/MaterialInfoController.java

@@ -1,7 +1,8 @@
 package cn.com.ctop.manage.modules.material.controller;
 
-import cn.com.ctop.manage.modules.material.entity.MaterialInfo;
-import cn.com.ctop.manage.modules.material.service.IMaterialInfoService;
+
+import cn.com.ctop.common.module.entity.MaterialInfo;
+import cn.com.ctop.common.module.service.IMaterialInfoService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

+ 9 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/entity/KuaiShouVideoUpload.java

@@ -51,6 +51,15 @@ public class KuaiShouVideoUpload {
     @Excel(name = "本地保存地址", width = 15)
     @ApiModelProperty(value = "本地保存地址")
     private Object savaPath;
+
+    /**
+     * 本地保存地址
+     */
+    @Excel(name = "md5", width = 15)
+    @ApiModelProperty(value = "md5")
+    private Object signature;
+
+
     /**
      * 视频大小
      */

+ 35 - 7
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/KuaishouInterfaceServiceImpl.java

@@ -1,7 +1,12 @@
 package cn.com.ctop.kuaishou.modules.batch.service.impl;
 
 import cn.com.ctop.common.module.entity.CtopOauthToken;
-import cn.com.ctop.common.module.utils.*;
+import cn.com.ctop.common.module.entity.MaterialInfo;
+import cn.com.ctop.common.module.mapper.MaterialInfoMapper;
+import cn.com.ctop.common.module.utils.Check;
+import cn.com.ctop.common.module.utils.HttpUtils;
+import cn.com.ctop.common.module.utils.KuaishouInterfaceConstant;
+import cn.com.ctop.common.module.utils.PropertiesUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.*;
 import cn.com.ctop.kuaishou.modules.batch.mapper.*;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouCreativeService;
@@ -854,9 +859,9 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
     /**
      * 创建广告计划
      *
-     * @param accessToken token信息
-     * @param advertiserId  广告主id
-     * @param requestJson 请求参数拼装
+     * @param accessToken  token信息
+     * @param advertiserId 广告主id
+     * @param requestJson  请求参数拼装
      */
     @Override
     public Map<String, Object> campaignCreate(String accessToken, Long advertiserId, JSONObject requestJson) {
@@ -1580,6 +1585,9 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
 
     }
 
+    @Autowired
+    private MaterialInfoMapper materialInfoMapper;
+
     @Override
     public Map<String, Object> videoUpload(Long advertiserId, String accessToken, String videoUrl) {
         Map<String, Object> returnMap = new HashMap<>();
@@ -1600,11 +1608,25 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
                 log.error("下载文件到本地文件夹失败,filePath:{},accountId:{}", videoUrl, advertiserId);
                 throw new Exception("下载文件到本地失败");
             }
+
+            QueryWrapper<MaterialInfo> materialInfoQueryWrapper = new QueryWrapper<>();
+            materialInfoQueryWrapper.eq("url", videoUrl);
+            materialInfoQueryWrapper.eq("status", 1);
+            materialInfoQueryWrapper.orderByDesc("create_time");
+            materialInfoQueryWrapper.last("limit 1");
+            MaterialInfo materialInfo = materialInfoMapper.selectOne(materialInfoQueryWrapper);
+            String signature;
+            if (Check.isNull(materialInfo) || Check.isNull(materialInfo.getCode())) {
+                signature = LoadFileUtil.getMD5(localUrl);
+            } else {
+                signature = materialInfo.getCode();
+            }
             Long startTime = System.currentTimeMillis();
             String url = PropertiesUtils.getConfig("kuaishou_api_url") + KuaishouInterfaceConstant.VIDEO_UPLOAD;
             JSONObject requestJson = new JSONObject();
             requestJson.put("advertiser_id", advertiserId);
-            Map<String, String> headerMap = new HashMap<String, String>();
+            requestJson.put("signature", signature);
+            Map<String, String> headerMap = new HashMap<>();
             headerMap.put("Access-Token", accessToken);
             headerMap.put("Content-Type", "multipart/form-data");
             String result = exceptInfoForRestTemplate(url, requestJson, headerMap, localUrl);
@@ -1615,12 +1637,18 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
                     JSONObject dataJson = resultJson.getJSONObject("data");
                     if (!Check.isNull(dataJson)) {
                         KuaiShouVideoUpload kuaiShouVideoUpload = new KuaiShouVideoUpload();
-                        kuaiShouVideoUpload.setPhotoId(dataJson.getString("photo_id"));
+                        String photoId = dataJson.getString("photo_id");
+                        kuaiShouVideoUpload.setPhotoId(photoId);
                         kuaiShouVideoUpload.setAccountId(advertiserId);
                         kuaiShouVideoUpload.setSavaPath(videoUrl);
+                        kuaiShouVideoUpload.setSignature(dataJson.getString("signature"));
                         kuaiShouVideoUpload.setSize(null);
                         kuaiShouVideoUpload.setType(null);
                         kuaiShouVideoUpload.setUploadTime(DateUtils.timeStamp2Date(System.currentTimeMillis()));
+                        Map<String, Object> deleteMap = new HashMap<>();
+                        deleteMap.put("photo_id", photoId);
+                        deleteMap.put("account_id", advertiserId);
+                        videoUploadMapper.deleteByMap(deleteMap);
                         int i = videoUploadMapper.insert(kuaiShouVideoUpload);
                         if (i > 0) {
                             log.info("上传快手视频完成");
@@ -1639,7 +1667,7 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
                         returnMap.put("code", 0);
                         returnMap.put("message", "视频已上传文件");
                         returnMap.put("success", true);
-                        returnMap.put("photoId", dataJson.getString("photo_id"));
+                        returnMap.put("photoId", photoId);
                         return returnMap;
                     }
                 } else {

+ 37 - 0
module-report/src/main/java/cn/com/ctop/bytedance/controller/MaterialReportController.java

@@ -0,0 +1,37 @@
+package cn.com.ctop.bytedance.controller;
+
+
+import cn.com.ctop.bytedance.service.IMaterialReportService;
+import com.alibaba.fastjson.JSONObject;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@Slf4j
+@RestController
+@RequestMapping("/materialReport")
+public class MaterialReportController {
+    @Autowired
+    private IMaterialReportService materialReportService;
+
+
+    @GetMapping(value = "/getKuaiShouMaterialReport")
+    public JSONObject getKuaiShouMaterialReport(@RequestBody String userId) {
+        String roleCode = materialReportService.getRoleCodeByUserId(userId);
+        if ("operator".equals(roleCode)) {
+            // 根据创建人查询accountId
+
+        } else {
+            // 查询所有
+        }
+
+
+        return null;
+
+    }
+
+
+}

+ 7 - 0
module-report/src/main/java/cn/com/ctop/bytedance/mapper/MaterialReportMapper.java

@@ -0,0 +1,7 @@
+package cn.com.ctop.bytedance.mapper;
+
+import org.apache.ibatis.annotations.Param;
+
+public interface MaterialReportMapper {
+    String getRoleCodeByUserId(@Param("userId") String userId);
+}

+ 23 - 0
module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/MaterialReportMapper.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.ctop.bytedance.mapper.MaterialReportMapper">
+
+
+    <select id="getRoleCodeByUserId" parameterType="Object" resultType="java.lang.String">
+	SELECT
+    role_code
+    FROM
+    sys_role
+    WHERE
+    id = (
+    SELECT
+    t2.role_id
+    FROM
+    sys_user t1
+    LEFT JOIN sys_user_role t2 ON t1.id = t2.user_id
+    WHERE
+    t1.id = #{userId,jdbcType=VARCHAR}
+    )
+	</select>
+
+</mapper>

+ 7 - 0
module-report/src/main/java/cn/com/ctop/bytedance/service/IMaterialReportService.java

@@ -0,0 +1,7 @@
+package cn.com.ctop.bytedance.service;
+
+public interface IMaterialReportService {
+    String getRoleCodeByUserId(String userId);
+
+
+}

+ 17 - 0
module-report/src/main/java/cn/com/ctop/bytedance/service/impl/MaterialReportServiceImpl.java

@@ -0,0 +1,17 @@
+package cn.com.ctop.bytedance.service.impl;
+
+import cn.com.ctop.bytedance.mapper.MaterialReportMapper;
+import cn.com.ctop.bytedance.service.IMaterialReportService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class MaterialReportServiceImpl implements IMaterialReportService {
+    @Autowired
+    private MaterialReportMapper materialReportMapper;
+
+    @Override
+    public String getRoleCodeByUserId(String userId) {
+        return materialReportMapper.getRoleCodeByUserId(userId);
+    }
+}