|
@@ -1,27 +1,37 @@
|
|
package cn.com.ctop.job.kuaishou.handler;
|
|
package cn.com.ctop.job.kuaishou.handler;
|
|
|
|
|
|
|
|
+import cn.com.ctop.common.module.service.IMaterialInfoService;
|
|
import cn.com.ctop.common.module.utils.Check;
|
|
import cn.com.ctop.common.module.utils.Check;
|
|
import cn.com.ctop.common.module.utils.HttpUtils2;
|
|
import cn.com.ctop.common.module.utils.HttpUtils2;
|
|
import cn.com.ctop.kuaishou.modules.batch.service.IMaterialUploadTaskService;
|
|
import cn.com.ctop.kuaishou.modules.batch.service.IMaterialUploadTaskService;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.xxl.job.core.handler.annotation.XxlJob;
|
|
import com.xxl.job.core.handler.annotation.XxlJob;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
+import org.jeecg.common.util.DateUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
+import org.springframework.web.bind.annotation.GetMapping;
|
|
|
|
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
+import java.util.concurrent.ExecutorService;
|
|
|
|
+import java.util.concurrent.Executors;
|
|
|
|
|
|
@Slf4j
|
|
@Slf4j
|
|
@Component
|
|
@Component
|
|
public class SyncMaterialUploadJob {
|
|
public class SyncMaterialUploadJob {
|
|
@Autowired
|
|
@Autowired
|
|
private IMaterialUploadTaskService taskService;
|
|
private IMaterialUploadTaskService taskService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private IMaterialInfoService materialInfoService;
|
|
private static String uploadUrl = "http://upload.tjyourong.com.cn/material/materialUploadTask/uploadMaterial";
|
|
private static String uploadUrl = "http://upload.tjyourong.com.cn/material/materialUploadTask/uploadMaterial";
|
|
|
|
+ static ExecutorService kuaishouShouService = Executors.newFixedThreadPool(10);
|
|
|
|
+ static ExecutorService bytedanceervice = Executors.newFixedThreadPool(10);
|
|
|
|
+
|
|
|
|
|
|
/**
|
|
/**
|
|
- * 快手自动创建组
|
|
|
|
|
|
+ * 素材同步
|
|
*/
|
|
*/
|
|
@XxlJob("syncMaterialUpload")
|
|
@XxlJob("syncMaterialUpload")
|
|
public void execute() {
|
|
public void execute() {
|
|
@@ -51,4 +61,70 @@ public class SyncMaterialUploadJob {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 更新快手同步状态
|
|
|
|
+ */
|
|
|
|
+ @XxlJob("updateKuaiShouMaterialStatus")
|
|
|
|
+ public void updateKuaiShouMaterialStatus() {
|
|
|
|
+ String nowDate = DateUtils.getNowDate("yyyy-MM-dd");
|
|
|
|
+ String anotherDay = DateUtils.getAnotherDay("yyyy-MM-dd", nowDate, -30);
|
|
|
|
+ anotherDay += " 00:00:01";
|
|
|
|
+ log.info("查询快手未同步素材列表,开始时间:{}", anotherDay);
|
|
|
|
+ List<String> codeList = materialInfoService.getCodeList(anotherDay);
|
|
|
|
+ for (int i = 0; i < codeList.size(); i++) {
|
|
|
|
+ String code = codeList.get(i);
|
|
|
|
+ if (Check.isNull(code)) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ kuaishouShouService.submit(new Runnable() {
|
|
|
|
+ @Override
|
|
|
|
+ public void run() {
|
|
|
|
+ try {
|
|
|
|
+ Integer num = materialInfoService.getCountByCode(code);
|
|
|
|
+ if (num > 0) {
|
|
|
|
+ materialInfoService.updateByCode(code);
|
|
|
|
+ }
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 更新头条同步状态
|
|
|
|
+ */
|
|
|
|
+ @GetMapping(value = "/updateByteDanceMaterial")
|
|
|
|
+ public void updateByteDanceMaterial() {
|
|
|
|
+ String nowDate = DateUtils.getNowDate("yyyy-MM-dd");
|
|
|
|
+ String anotherDay = DateUtils.getAnotherDay("yyyy-MM-dd", nowDate, -30);
|
|
|
|
+ anotherDay += " 00:00:01";
|
|
|
|
+ log.info("查询头条未同步素材列表,开始时间:{}", anotherDay);
|
|
|
|
+ List<String> codeList = materialInfoService.getBytedanceCodeList(anotherDay);
|
|
|
|
+ for (int i = 0; i < codeList.size(); i++) {
|
|
|
|
+ String code = codeList.get(i);
|
|
|
|
+ if (Check.isNull(code)) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ bytedanceervice.submit(new Runnable() {
|
|
|
|
+ @Override
|
|
|
|
+ public void run() {
|
|
|
|
+ try {
|
|
|
|
+ Integer num = materialInfoService.getBytedanceCountByCode(code);
|
|
|
|
+ if (num > 0) {
|
|
|
|
+ materialInfoService.updateByteDanceByCode(code);
|
|
|
|
+ }
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|