Browse Source

素材同步

yumeng 3 years ago
parent
commit
566a00ec88

+ 58 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/SyncMaterialUploadJob.java

@@ -0,0 +1,58 @@
+package cn.com.ctop.job.kuaishou.handler;
+
+import cn.com.ctop.common.module.utils.Check;
+import cn.com.ctop.common.module.utils.HttpUtils2;
+import cn.com.ctop.kuaishou.modules.batch.service.IMaterialUploadTaskService;
+import com.alibaba.fastjson.JSONObject;
+import com.xxl.job.core.handler.annotation.XxlJob;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Slf4j
+@Component
+public class SyncMaterialUploadJob {
+
+
+    @Autowired
+    private IMaterialUploadTaskService taskService;
+
+    private static String uploadUrl = "http://upload.tjyourong.com.cn/material/materialUploadTask/uploadMateria";
+
+    /**
+     * 快手自动创建组
+     */
+    @XxlJob("syncMaterialUpload")
+    public void execute() {
+
+        List<String> md5List = taskService.getMd5List();
+        if (Check.isNull(md5List)) {
+            log.error("没有待上传的素材");
+            return;
+        }
+        for (int i = 0; i < md5List.size(); i++) {
+            String signature = md5List.get(i);
+            Map<String, Object> requestMap = new HashMap<>();
+            requestMap.put("signature", signature);
+            try {
+                String s = HttpUtils2.httpGet(uploadUrl, requestMap, null);
+                if (!Check.isNull(s)) {
+                    JSONObject result = JSONObject.parseObject(s);
+                    Integer code = result.getInteger("code");
+                    if (code == 0) {
+                        taskService.updateBySignature(signature);
+                    }
+                }
+            } catch (Exception e) {
+                log.error("请求同步素材服务失败,signature:{}", signature);
+                e.printStackTrace();
+            }
+
+        }
+
+    }
+}

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

@@ -0,0 +1,83 @@
+package cn.com.ctop.kuaishou.modules.batch.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.util.Date;
+
+/**
+ * 同步素材任务
+ *
+ * @author jeecg-boot
+ * @version V1.0
+ * @date 2021-10-21
+ */
+@Data
+@TableName("ctop_material_upload_task")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class MaterialUploadTask {
+
+    /**
+     * id
+     */
+    @TableId(type = IdType.UUID)
+    private Long id;
+    /**
+     * 媒体
+     */
+    private Integer mediaId;
+    /**
+     * 素材md5
+     */
+    private String signature;
+    /**
+     * 账户id
+     */
+    private Long accountId;
+    /**
+     * 快手账户id
+     */
+    private Long kuaishouUserId;
+    /**
+     * 上传人id
+     */
+    private String userId;
+    /**
+     * 上传人姓名
+     */
+    private String userName;
+    /**
+     * 素材名称
+     */
+    private String materialName;
+    /**
+     * 素材链接
+     */
+    private String materialUrl;
+    /**
+     * 上传状态
+     */
+    private Integer taskStatus;
+    /**
+     * remarks
+     */
+    private String remarks;
+    /**
+     * 上传成功时间
+     */
+    private Date uploadTime;
+    /**
+     * updateTime
+     */
+    private Date updateTime;
+    /**
+     * createTime
+     */
+    private Date createTime;
+    private Integer shieldBackwardSwitch;
+}

+ 20 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/mapper/MaterialUploadTaskMapper.java

@@ -0,0 +1,20 @@
+package cn.com.ctop.kuaishou.modules.batch.mapper;
+
+import cn.com.ctop.kuaishou.modules.batch.entity.MaterialUploadTask;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 同步素材任务
+ *
+ * @author jeecg-boot
+ * 2021-10-21
+ * @version V1.0
+ */
+public interface MaterialUploadTaskMapper extends BaseMapper<MaterialUploadTask> {
+    List<String> getMd5List();
+
+    void updateBySignature(@Param("signature") String signature);
+}

+ 25 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/mapper/xml/MaterialUploadTaskMapper.xml

@@ -0,0 +1,25 @@
+<?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.kuaishou.modules.batch.mapper.MaterialUploadTaskMapper">
+    <update id="updateBySignature">
+	UPDATE ctop_material_upload_task
+	SET task_status = 1,
+	remarks = '同步中'
+	WHERE signature = #{signature}
+	AND task_status = 0
+	</update>
+
+    <select id="getMd5List" resultType="java.lang.String">
+    SELECT
+	signature
+	FROM
+	ctop_material_upload_task
+	WHERE
+	task_status = 0
+	GROUP BY
+	signature
+	ORDER BY
+	create_time ASC
+	LIMIT 9
+    </select>
+</mapper>

+ 36 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/MaterialUploadTaskServiceImpl.java

@@ -0,0 +1,36 @@
+package cn.com.ctop.kuaishou.modules.batch.service.impl;
+
+import cn.com.ctop.kuaishou.modules.batch.entity.MaterialUploadTask;
+import cn.com.ctop.kuaishou.modules.batch.mapper.MaterialUploadTaskMapper;
+import cn.com.ctop.kuaishou.modules.batch.service.IMaterialUploadTaskService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 同步素材任务
+ *
+ * @author jeecg-boot
+ * 2021-10-21
+ * @version V1.0
+ */
+@Service
+@Slf4j
+public class MaterialUploadTaskServiceImpl extends ServiceImpl<MaterialUploadTaskMapper, MaterialUploadTask> implements IMaterialUploadTaskService {
+    @Autowired
+    private MaterialUploadTaskMapper taskMapper;
+
+
+    @Override
+    public List<String> getMd5List() {
+        return taskMapper.getMd5List();
+    }
+
+    @Override
+    public void updateBySignature(String signature) {
+        taskMapper.updateBySignature(signature);
+    }
+}