zhouzeyu@c-top.com.cn пре 3 година
родитељ
комит
4fcbd7f1bc

+ 2 - 2
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/document/controller/AuditRejectedResubmitController.java

@@ -12,7 +12,7 @@ import org.springframework.web.multipart.MultipartFile;
 import java.util.List;
 
 /**
- * @Description: 文档库管理
+ * @Description: 拒审重提
  * @Author: zzy
  * @Date: 2021-09-06
  * @Version: V1.0
@@ -25,7 +25,7 @@ public class AuditRejectedResubmitController {
     AuditRejectedResubmitService auditRejectedResubmitService;
 
     /**
-     * 创建文案
+     * 拒审重提
      *
      * @param
      * @return

+ 4 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/document/mapper/AuditRejectedResubmitMapper.java

@@ -13,4 +13,8 @@ public interface AuditRejectedResubmitMapper {
     List<String> getRejectThesaurusListByStatus(@Param("status") int status);
 
     void updateCreativeResubmit(@Param("creativeId") String creativeId,@Param("status") int status);
+
+    void updateCreativeResubmitSize(@Param("creativeId") Long creativeId);
+
+
 }

+ 2 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/document/mapper/DocumentLibraryMapper.java

@@ -21,4 +21,6 @@ public interface DocumentLibraryMapper {
     List<String> getAcoountId(@Param("copyWriterId")String copyWriterId);
 
     List<String> getDataByAccountId(@Param("accountId")String accountId, @Param("copyWriterId")String copyWriterId);
+
+    List<String> getDocumentByAccountId(@Param("accountId")String accountId,@Param("description")String description);
 }

+ 3 - 1
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/document/mapper/xml/AuditRejectedResubmitMapper.xml

@@ -18,5 +18,7 @@
         update ctop_kuaishou_creative set resubmit=#{status} where creative_id=#{creativeId}
     </update>
 
-
+    <update id="updateCreativeResubmitSize">
+        update ctop_kuaishou_creative set submit_size=submit_size+1 where creative_id=#{creativeId}
+    </update>
 </mapper>

+ 4 - 0
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/document/mapper/xml/DocumentLibraryMapper.xml

@@ -56,4 +56,8 @@
         select id from ctop_document_library  where account_id=#{accountId} and copy_writer_id=#{copyWriterId}
      </select>
 
+    <select id="getDocumentByAccountId" resultType="String">
+        select copy_writer from ctop_document_library  where account_id=#{accountId} and copy_writer!=#{description}
+     </select>
+
 </mapper>

+ 92 - 13
jeecg-boot-module-system/src/main/java/cn/com/ctop/kuaishou/modules/document/service/impl/AuditRejectedResubmitServiceImpl.java

@@ -1,18 +1,27 @@
 package cn.com.ctop.kuaishou.modules.document.service.impl;
 
+import cn.com.ctop.common.module.entity.CtopOauthToken;
+import cn.com.ctop.common.module.service.ICtopOauthTokenService;
+import cn.com.ctop.common.module.service.IMaterialCutFrameService;
+import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouCreative;
+import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouImageGet;
+import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouImageGetService;
+import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouMaterialUploadService;
+import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouUpdateService;
 import cn.com.ctop.kuaishou.modules.document.mapper.AuditRejectedResubmitMapper;
+import cn.com.ctop.kuaishou.modules.document.mapper.DocumentLibraryMapper;
 import cn.com.ctop.kuaishou.modules.document.service.AuditRejectedResubmitService;
+import cn.com.ctop.kuaishou.modules.document.service.DocumentLibraryService;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 /**
  * @Description: 拒审重提
@@ -27,6 +36,24 @@ public class AuditRejectedResubmitServiceImpl implements AuditRejectedResubmitSe
     @Autowired
     AuditRejectedResubmitMapper auditRejectedResubmitMapper;
 
+    @Autowired
+    private IMaterialCutFrameService cutFrameService;
+
+    @Autowired
+    private IKuaiShouImageGetService imageGetService;
+
+    @Autowired
+    private IKuaiShouMaterialUploadService uploadService;
+
+    @Autowired
+    private ICtopOauthTokenService tokenService;
+
+    @Autowired
+    private IKuaiShouUpdateService updateService;
+
+    @Autowired
+    private DocumentLibraryMapper documentLibraryMapper;
+
     /**
      * 重新提交创意
      *
@@ -37,10 +64,13 @@ public class AuditRejectedResubmitServiceImpl implements AuditRejectedResubmitSe
     public Result resubmit() {
         Result result = new Result();
         List<KuaiShouCreative> creativeList = new ArrayList<>();
-        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(new Date());
+        calendar.roll(Calendar.DAY_OF_YEAR, -1);
         try {
-            //creativeList = auditRejectedResubmitMapper.getCreativeList(42,formatter.format(new Date()));
-            creativeList = auditRejectedResubmitMapper.getCreativeList(42,null);
+            log.info(formatter.format(calendar.getTime()));
+            creativeList = auditRejectedResubmitMapper.getCreativeList(42,formatter.format(calendar.getTime()));
             //可重提词组
             List<String> submit = auditRejectedResubmitMapper.getRejectThesaurusListByStatus(0);
             //不可重提词组
@@ -51,16 +81,48 @@ public class AuditRejectedResubmitServiceImpl implements AuditRejectedResubmitSe
                 Boolean flag = isSubmit(strings, resubmit);
                 if (!flag) {
                     //不可重提
-                    log.info("修改为不可重提:{}",reviewDetail);
-                    auditRejectedResubmitMapper.updateCreativeResubmit(String.valueOf(obj.getCreativeId()),1);
+                    log.info("修改为不可重提:{}", reviewDetail);
+                    auditRejectedResubmitMapper.updateCreativeResubmit(String.valueOf(obj.getCreativeId()), 1);
                 } else {
                     Boolean flag2 = isNotSubmit(strings, submit);
-                    if(flag2){
+                    if (flag2) {
                         //重提
-                        log.info("进行重提:{}",reviewDetail);
-                    }else {
+                        log.info("进行重提:{}", reviewDetail);
+                        Integer submit_size = obj.getSubmitSize();
+                        if(submit_size<2){
+                            JSONObject updateJson = new JSONObject();
+                            updateJson.put("creativeId", obj.getCreativeId());
+                            //更换封面
+                            CtopOauthToken oauthToken = tokenService.getTokenByAccountId(obj.getAccountId());
+                            JSONObject cutJson = cutFrameService.getCutFrameByVideoMd5(obj.getPhotoId(), obj.getImageToken());
+                            if (!Check.isNull(cutJson)) {
+                                String signature = cutJson.getString("signature");
+                                String url = cutJson.getString("url");
+                                String imageToken = getImageToken(signature, obj.getAccountId(), oauthToken.getAccessToken(), url);
+                                if (!Check.isNull(imageToken)) {
+                                    updateJson.put("imageToken", imageToken);
+                                }
+                            }
+                            //更换文案
+                            List<String> documentByAccountId = documentLibraryMapper.getDocumentByAccountId(String.valueOf(obj.getAccountId()),obj.getDescription());
+                            if(!documentByAccountId.isEmpty()){
+                                updateJson.put("description", documentByAccountId.get(0));
+                            }
+                            Map<String, Object> creativeMap = updateService.updateCreative(oauthToken.getAccessToken(), obj.getAccountId(), updateJson);
+                            Integer code = (Integer) creativeMap.get("code");
+                            if (code == 0) {
+                                auditRejectedResubmitMapper.updateCreativeResubmitSize(obj.getCreativeId());
+                                log.info("拒审重提成功,accountId:{},creativeId:{}", obj.getAccountId(), obj.getCreativeId());
+                            } else {
+                                log.info("拒审重提失败,accountId:{},creativeId:{}",  obj.getAccountId(), obj.getCreativeId());
+                            }
+                        }else {
+                            log.info("重提次数已达上限:accountId:{},creativeId:{}",obj.getAccountId(), obj.getCreativeId());
+                        }
+
+                    } else {
                         //手动重提
-                        log.info("手动重提:{}",reviewDetail);
+                        log.info("手动重提:{}", reviewDetail);
                     }
                 }
             });
@@ -117,4 +179,21 @@ public class AuditRejectedResubmitServiceImpl implements AuditRejectedResubmitSe
         }
         return true;
     }
+
+
+    private String getImageToken(String md5, Long accountId, String accessToken, String url) {
+        String imageToken = null;
+        QueryWrapper<KuaiShouImageGet> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("account_id", accountId);
+        queryWrapper.eq("signature", md5);
+        queryWrapper.last("limit 1");
+        KuaiShouImageGet imageGet = imageGetService.getOne(queryWrapper);
+        if (!Check.isNull(imageGet)) {
+            imageToken = imageGet.getImageToken();
+        } else {
+            imageToken = uploadService.kuauiShouImageUpload(url, md5, accountId, accessToken);
+        }
+        return imageToken;
+
+    }
 }