소스 검색

素材库 调整

yumeng 5 년 전
부모
커밋
fe929e6a7e

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

@@ -25,4 +25,6 @@ public interface IMaterialImageInfoService extends IService<MaterialImageInfo> {
 
 
     List<String> getCodeList();
+
+    void getImageFile(String url, Long id);
 }

+ 92 - 24
module-common/src/main/java/cn/com/ctop/common/module/service/impl/MaterialImageInfoServiceImpl.java

@@ -4,17 +4,24 @@ import cn.com.ctop.common.module.entity.MaterialImageInfo;
 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.LoadFileUtil;
 import cn.com.ctop.common.module.utils.ResultMapUtils;
 import cn.com.ctop.common.module.utils.StatusCode;
 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 it.sauronsoftware.jave.Encoder;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
+import java.io.File;
+import java.io.FileInputStream;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.nio.channels.FileChannel;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -32,6 +39,11 @@ public class MaterialImageInfoServiceImpl extends ServiceImpl<MaterialImageInfoM
 
     @Value("${oss.replace.download}")
     private String downloadUrl;
+    @Value("${oss.replace.replace-value}")
+    private String replaceValue;
+    @Value("${oss.replace.replace-old-value}")
+    private String replaceOldValue;
+
 
     @Autowired
     private MaterialImageInfoMapper materialImageInfoMapper;
@@ -39,34 +51,50 @@ public class MaterialImageInfoServiceImpl extends ServiceImpl<MaterialImageInfoM
 
     @Override
     public void insertImage(JSONObject imageJson) {
-        String videoId = imageJson.getString("videoId");
-        if (Check.isNull(videoId)) {
-            log.error("视频id不能为空");
+        try {
 
-        }
-        String userId = imageJson.getString("userId");
-        JSONArray imageArr = imageJson.getJSONArray("imageArr");
-        for (int i = 0; i < imageArr.size(); i++) {
-            JSONObject json = imageArr.getJSONObject(i);
-            if (!Check.isNull(json)) {
-                MaterialImageInfo materialImageInfo = new MaterialImageInfo();
-                materialImageInfo.setVideoId(videoId);
-                materialImageInfo.setCode(json.getString("code"));
-                materialImageInfo.setMaterialDescribe(json.getString("materialDescribe"));
-                materialImageInfo.setType("IMAGE");
-                materialImageInfo.setHeight(json.getString("height"));
-                materialImageInfo.setWidth(json.getString("width"));
-
-
-                materialImageInfo.setSize(String.valueOf(json.getLong("size") / 1024));
-                materialImageInfo.setUrl("https:" + json.getString("url"));
-                materialImageInfo.setMaterialName(json.getString("materialName"));
-                materialImageInfo.setStatus(0);
-                materialImageInfo.setUserId(userId);
-                materialImageInfoMapper.insertSelective(materialImageInfo);
+            String videoId = imageJson.getString("videoId");
+            if (Check.isNull(videoId)) {
+                log.error("视频id不能为空");
 
             }
+            String userId = imageJson.getString("userId");
+            JSONArray imageArr = imageJson.getJSONArray("imageArr");
+            for (int i = 0; i < imageArr.size(); i++) {
+                JSONObject json = imageArr.getJSONObject(i);
+                if (!Check.isNull(json)) {
+                    MaterialImageInfo materialImageInfo = new MaterialImageInfo();
+                    materialImageInfo.setVideoId(videoId);
+                    materialImageInfo.setCode(json.getString("code"));
+                    materialImageInfo.setMaterialDescribe(json.getString("materialDescribe"));
+                    materialImageInfo.setType("IMAGE");
+                    String url = "https:" + json.getString("url");
+                    materialImageInfo.setUrl(url);
+                    materialImageInfo.setMaterialName(json.getString("materialName"));
+                    materialImageInfo.setStatus(0);
+                    materialImageInfo.setUserId(userId);
+                    String replaceUrl = url.replace(replaceOldValue, replaceValue);
+                    log.info("图片replaceUrl:{}", url);
+                    String localUrl = LoadFileUtil.downLoadFromUrl(replaceUrl, downloadUrl);
+                    File file = new File(localUrl);
+                    it.sauronsoftware.jave.Encoder encoder = new Encoder();
+                    it.sauronsoftware.jave.MultimediaInfo m = encoder.getInfo(file);
+                    String width = String.valueOf((m.getVideo().getSize().getWidth()));
+                    String height = String.valueOf(m.getVideo().getSize().getHeight());
+                    FileInputStream fis = new FileInputStream(file);
+                    FileChannel fc = fis.getChannel();
+                    BigDecimal fileSize = new BigDecimal(fc.size());
+                    String size = String.valueOf(fileSize.divide(new BigDecimal(1024), 2, RoundingMode.HALF_UP));
+                    materialImageInfo.setSize(size);
+                    materialImageInfo.setWidth(width);
+                    materialImageInfo.setHeight(height);
+                    materialImageInfoMapper.insertSelective(materialImageInfo);
+                    LoadFileUtil.delFile(localUrl);
+                }
 
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
         }
 
     }
@@ -94,6 +122,46 @@ public class MaterialImageInfoServiceImpl extends ServiceImpl<MaterialImageInfoM
 
     }
 
+
+    @Override
+    public void getImageFile(String url, Long id) {
+
+        try {
+            if (!Check.isNull(url)) {
+                long l = System.currentTimeMillis();
+                String replaceUrl = url.replace(replaceOldValue, replaceValue);
+                log.info("图片replaceUrl:{}", url);
+                String localUrl = LoadFileUtil.downLoadFromUrl(replaceUrl, downloadUrl);
+                File file = new File(localUrl);
+                it.sauronsoftware.jave.Encoder encoder = new Encoder();
+                try {
+                    it.sauronsoftware.jave.MultimediaInfo m = encoder.getInfo(file);
+                    MaterialImageInfo imageInfo = new MaterialImageInfo();
+                    imageInfo.setId(id);
+                    String width = String.valueOf((m.getVideo().getSize().getWidth()));
+                    String height = String.valueOf(m.getVideo().getSize().getHeight());
+                    FileInputStream fis = new FileInputStream(file);
+                    FileChannel fc = fis.getChannel();
+                    BigDecimal fileSize = new BigDecimal(fc.size());
+                    String size = String.valueOf(fileSize.divide(new BigDecimal(1024), 2, RoundingMode.HALF_UP));
+                    imageInfo.setSize(size);
+                    imageInfo.setWidth(width);
+                    imageInfo.setHeight(height);
+                    this.updateById(imageInfo);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                } finally {
+                    file.delete();
+                }
+            }
+        } catch (
+                Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
+
     @Override
     public List<String> getCodeList() {
         return materialImageInfoMapper.getCodeList();

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

@@ -578,4 +578,7 @@ public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, Mat
     }
 
 
+
+
+
 }

+ 2 - 2
module-common/src/main/java/cn/com/ctop/common/module/utils/LoadFileUtil.java

@@ -38,7 +38,7 @@ public class LoadFileUtil {
         }
         String localPath = saveDir + File.separator + fileName;
         File file = new File(localPath);
-        if (!file.exists()){
+        if (!file.exists()) {
             file.getParentFile().mkdirs();
         }
         FileOutputStream fos = new FileOutputStream(file);
@@ -76,7 +76,7 @@ public class LoadFileUtil {
         boolean flag = false;
         File file = new File(path);
         if (!file.exists()) {
-            return flag;
+            return false;
         }
         try {
             flag = file.delete();

+ 0 - 1
module-ctop/src/main/java/cn/com/ctop/manage/modules/material/service/IMaterialUploadService.java

@@ -15,5 +15,4 @@ public interface IMaterialUploadService {
      */
     void uploadAccount(String mediaId, JSONArray materialArray, JSONArray accountArray) throws IOException;
 
-    String kuauiShouImageUpload(String url, String signature, Long accountId, String token);
 }

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

@@ -76,75 +76,6 @@ public class MaterialUploadServiceImpl implements IMaterialUploadService {
     private IMaterialUploadImageService materialUploadImageService;
 
 
-    public String kuauiShouImageUpload(String url, String signature, Long accountId, String token) {
-
-
-        try {
-            String replaceUrl = url.replace(replaceOldValue, replaceValue);
-            log.info("replaceUrl:{}", replaceUrl);
-            String localUrl = LoadFileUtil.downLoadFromUrl(replaceUrl, 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", signature);
-            QueryWrapper<MaterialParameter> parameterQueryWrapper = new QueryWrapper<>();
-            parameterQueryWrapper.eq("material_id", signature);
-            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);
-                }
-            }
-
-
-            requestJson.put("advertiser_id", accountId);
-            headerMap.put("Access-Token", token);
-
-
-            String requestUrl = PropertiesUtils.getConfig("kuaishou_api_url") + KuaishouInterfaceConstant.IMAGE_UPLOAD;
-            requestJson.put("upload_type", "1");
-
-
-            String result = exceptInfoForRestTemplate(requestUrl, requestJson, headerMap);
-            JSONObject resultJson = JSONObject.parseObject(result);
-            //         kuaishouInterfaceService.imageGet(accountId, ctopOauthToken.getAccessToken(), dataJson.getString("image_token"));
-
-            JSONObject dataJson = resultJson.getJSONObject("data");
-            if (!Check.isNull(dataJson)) {
-
-                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);
-                return dataJson.getString("image_token");
-            }
-
-        } catch (Exception e) {
-            e.printStackTrace();
-            return null;
-
-        }
-
-        return null;
-    }
-
-
     /**
      * 同步素材到账号下
      *

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

@@ -2266,10 +2266,8 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
                 returnMap.put("message", "上传图片失败失败");
                 returnMap.put("success", false);
             }
-            boolean trueOrFalse = LoadFileUtil.delFile(localUrl);
-            if (trueOrFalse) {
-                log.info("删除本地文件成功,accountId:{}", advertiserId);
-            }
+            LoadFileUtil.delFile(localUrl);
+
         } catch (Exception e) {
             log.error("上传图片失败,advertiser_id:{}", advertiserId);
             returnMap.put("code", -1);
@@ -2349,10 +2347,8 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
                 returnMap.put("desc", "Interface exception");
                 returnMap.put("success", false);
             }
-            boolean trueOrFalse = LoadFileUtil.delFile(localUrl);
-            if (trueOrFalse) {
-                log.info("删除本地文件成功,accountId:{}", advertiserId);
-            }
+            LoadFileUtil.delFile(localUrl);
+
         } catch (Exception e) {
             log.error("创建应用失败,advertiser_id:{}", advertiserId);
             returnMap.put("code", -1);