Przeglądaj źródła

快手操作记录获取接口

sunzhen 4 lat temu
rodzic
commit
dcd7777e4c

+ 5 - 6
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/TestController.java

@@ -859,8 +859,6 @@ public class TestController {
     }
 
 
-
-
     @GetMapping(value = "/getOperationRecord")
     public Result getOperationRecord(@Param("accountId")Long accountId, @Param("operationTarget")Integer operationTarget, @Param("startDate")String startDate, @Param("endDate")String endDate){
         Result result = new Result();
@@ -890,15 +888,15 @@ public class TestController {
                     return result;
                 }
 
-                executorService = Executors.newFixedThreadPool(3);
+                executorService = Executors.newFixedThreadPool(8);
                 tokens.forEach(token -> {
                     executorService.submit(new Runnable() {
                         @Override
                         public void run() {
                             log.info("获取操作记录开始:accountId:{},startDate:{},endDate:{}", token.getAccountId(), startDate, endDate);
                             kuaishouInterfaceService2.getOperationRecord(token.getAccountId(), token.getAccessToken(), operationTarget, startDate, endDate);
-                            log.info("获取操作记录开始:accountId:{}", token.getAccountId());
-                     }
+                            log.info("获取操作记录结束:accountId:{}", token.getAccountId());
+                        }
                     });
                 });
             }else{
@@ -911,8 +909,9 @@ public class TestController {
                     result.setMessage("定时获取快手操作记录数据异常:未获取到可用的toke");
                     return result;
                 }
+                log.info("获取快手操作记录开始:accountId:{},startDate:{},endDate:{}", token.getAccountId(), startDate, endDate);
                 kuaishouInterfaceService2.getOperationRecord(token.getAccountId(), token.getAccessToken(), operationTarget, startDate, endDate);
-
+                log.info("获取快手操作记录结束:accountId:{},startDate:{},endDate:{}", token.getAccountId(), startDate, endDate);
             }
 
 

+ 97 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouInterfaceController.java

@@ -0,0 +1,97 @@
+package cn.com.ctop.kuaishou.modules.batch.controller;
+
+import cn.com.ctop.common.module.entity.CtopOauthToken;
+import cn.com.ctop.common.module.service.ICtopOauthTokenService;
+import cn.com.ctop.kuaishou.modules.batch.service.IKuaishouInterfaceService2;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import io.swagger.annotations.Api;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.common.api.vo.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+
+@Slf4j
+@Api(tags = "快手对接接口类")
+@RestController
+@RequestMapping("/kuaishou/interface")
+public class KuaiShouInterfaceController {
+    @Autowired
+    private IKuaishouInterfaceService2 kuaishouInterfaceService2;
+    @Autowired
+    private ICtopOauthTokenService tokenService;
+    static ExecutorService executorService = Executors.newFixedThreadPool(5);
+
+    @GetMapping(value = "/getOperationRecord")
+    public Result getOperationRecord(@Param("accountId")Long accountId, @Param("operationTarget")Integer operationTarget, @Param("startDate")String startDate, @Param("endDate")String endDate){
+        Result result = new Result();
+        try {
+            if(StringUtils.isBlank(startDate) || StringUtils.isBlank(endDate)){
+                result.setSuccess(false);
+                result.setMessage("时间参数不能为空");
+                return result;
+            }
+
+            if(operationTarget == null){
+                result.setSuccess(false);
+                result.setMessage("类型不能为空");
+                return result;
+            }
+
+            if(accountId == null){
+                //1:查询当日数据
+                QueryWrapper<CtopOauthToken> queryWrapper = new QueryWrapper<>();
+                queryWrapper.eq("media_id", 2);
+                queryWrapper.orderByDesc("create_time");
+                List<CtopOauthToken> tokens = tokenService.list(queryWrapper);
+                if (null == tokens || tokens.size() <= 0) {
+                    log.error("定时获取快手操作记录数据异常:未获取到可用的token");
+                    result.setSuccess(false);
+                    result.setMessage("定时获取快手操作记录数据异常:未获取到可用的toke");
+                    return result;
+                }
+
+                executorService = Executors.newFixedThreadPool(8);
+                tokens.forEach(token -> {
+                    executorService.submit(new Runnable() {
+                        @Override
+                        public void run() {
+                            log.info("获取操作记录开始:accountId:{},startDate:{},endDate:{}", token.getAccountId(), startDate, endDate);
+                            kuaishouInterfaceService2.getOperationRecord(token.getAccountId(), token.getAccessToken(), operationTarget, startDate, endDate);
+                            log.info("获取操作记录结束:accountId:{}", token.getAccountId());
+                        }
+                    });
+                });
+            }else{
+                QueryWrapper<CtopOauthToken> queryWrapper = new QueryWrapper<>();
+                queryWrapper.eq("account_id", accountId);
+                CtopOauthToken token = tokenService.getOauthTokenByAccountId(String.valueOf(accountId));
+                if (null == token) {
+                    log.error("定时获取快手操作记录数据异常:未获取到可用的token");
+                    result.setSuccess(false);
+                    result.setMessage("定时获取快手操作记录数据异常:未获取到可用的toke");
+                    return result;
+                }
+                log.info("获取快手操作记录开始:accountId:{},startDate:{},endDate:{}", token.getAccountId(), startDate, endDate);
+                kuaishouInterfaceService2.getOperationRecord(token.getAccountId(), token.getAccessToken(), operationTarget, startDate, endDate);
+                log.info("获取快手操作记录结束:accountId:{},startDate:{},endDate:{}", token.getAccountId(), startDate, endDate);
+            }
+
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        return result;
+    }
+
+
+}