yumeng 5 napja
szülő
commit
f7fb7d23f1
31 módosított fájl, 55 hozzáadás és 3480 törlés
  1. 0 187
      job-adq/src/main/java/cn/com/ctop/job/adq/controller/AdqAssetController.java
  2. 11 171
      job-adq/src/main/java/cn/com/ctop/job/adq/controller/AdqController.java
  3. 0 68
      job-adq/src/main/java/cn/com/ctop/job/adq/controller/HistoryController.java
  4. 0 37
      job-adq/src/main/java/cn/com/ctop/job/adq/data/mapper/AdqAdIncomeMapper.java
  5. 0 18
      job-adq/src/main/java/cn/com/ctop/job/adq/data/mapper/AdqAdminAdvertiserListMapper.java
  6. 0 23
      job-adq/src/main/java/cn/com/ctop/job/adq/data/mapper/AdqCreativeReportMapper.java
  7. 0 24
      job-adq/src/main/java/cn/com/ctop/job/adq/data/mapper/AdqFlowDetailsReportDailyMapper.java
  8. 0 10
      job-adq/src/main/java/cn/com/ctop/job/adq/data/mapper/DailyBalanceReportMapper.java
  9. 0 191
      job-adq/src/main/java/cn/com/ctop/job/adq/data/mapper/xml/AdqAdIncomeMapper.xml
  10. 0 72
      job-adq/src/main/java/cn/com/ctop/job/adq/data/mapper/xml/AdqAdminAdvertiserListMapper.xml
  11. 0 280
      job-adq/src/main/java/cn/com/ctop/job/adq/data/mapper/xml/AdqCreativeReportMapper.xml
  12. 0 75
      job-adq/src/main/java/cn/com/ctop/job/adq/data/mapper/xml/AdqFlowDetailsReportMapper.xml
  13. 0 45
      job-adq/src/main/java/cn/com/ctop/job/adq/data/mapper/xml/DailyBalanceReportMapper.xml
  14. 0 29
      job-adq/src/main/java/cn/com/ctop/job/adq/data/service/IAdqAdIncomeService.java
  15. 0 15
      job-adq/src/main/java/cn/com/ctop/job/adq/data/service/IAdqAdminAdvertiserListService.java
  16. 0 17
      job-adq/src/main/java/cn/com/ctop/job/adq/data/service/IAdqCreativeReportService.java
  17. 0 19
      job-adq/src/main/java/cn/com/ctop/job/adq/data/service/IAdqFlowDetailsReportService.java
  18. 0 15
      job-adq/src/main/java/cn/com/ctop/job/adq/data/service/IAdqRetryReportService.java
  19. 0 6
      job-adq/src/main/java/cn/com/ctop/job/adq/data/service/IDailyBalanceReportService.java
  20. 0 747
      job-adq/src/main/java/cn/com/ctop/job/adq/data/service/impl/AdqAdIncomeServiceImpl.java
  21. 0 147
      job-adq/src/main/java/cn/com/ctop/job/adq/data/service/impl/AdqAdminAdvertiserListServiceImpl.java
  22. 0 194
      job-adq/src/main/java/cn/com/ctop/job/adq/data/service/impl/AdqCreativeCreativeReportServiceImpl.java
  23. 0 177
      job-adq/src/main/java/cn/com/ctop/job/adq/data/service/impl/AdqFlowDetailsReportServiceImpl.java
  24. 42 7
      job-adq/src/main/java/cn/com/ctop/job/adq/data/service/impl/AdqMaterialReportServiceImpl.java
  25. 0 305
      job-adq/src/main/java/cn/com/ctop/job/adq/data/service/impl/AdqRetryReportServiceImpl.java
  26. 0 99
      job-adq/src/main/java/cn/com/ctop/job/adq/data/service/impl/DailyBalanceReportServiceImpl.java
  27. 2 6
      job-adq/src/main/java/cn/com/ctop/job/adq/handler/AdqAccountReportJob.java
  28. 0 72
      job-adq/src/main/java/cn/com/ctop/job/adq/handler/AdqAdminAdvertiserListJob.java
  29. 0 117
      job-adq/src/main/java/cn/com/ctop/job/adq/handler/AdqCreativeReportJob.java
  30. 0 54
      job-adq/src/main/java/cn/com/ctop/job/adq/handler/AdqFlowDetailsReportJob.java
  31. 0 253
      job-adq/src/main/java/cn/com/ctop/job/adq/handler/AdqRetryReportJob.java

+ 0 - 187
job-adq/src/main/java/cn/com/ctop/job/adq/controller/AdqAssetController.java

@@ -1,187 +0,0 @@
-package cn.com.ctop.job.adq.controller;
-
-import cn.com.ctop.job.adq.data.entity.MessageModel;
-import cn.com.ctop.job.adq.data.service.IAdqAdIncomeService;
-import cn.com.ctop.job.adq.data.service.IAdqCreativeReportService;
-import cn.com.ctop.job.adq.data.utils.Check;
-import cn.com.ctop.job.adq.data.utils.DateUtils;
-import com.alibaba.fastjson.JSONObject;
-import io.swagger.annotations.Api;
-import lombok.extern.slf4j.Slf4j;
-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.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.List;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-@RestController
-@RequestMapping("/adq/asset")
-@Api(tags = "adq")
-@Slf4j
-public class AdqAssetController {
-    private static ExecutorService dailyExecutorService = Executors.newFixedThreadPool(5);
-
-    @Autowired
-    private IAdqCreativeReportService adqCreativeReportService;
-
-    @Autowired
-    private IAdqAdIncomeService adqAdIncomeService;
-
-
-
-
-
-    @GetMapping("/miniAppAdIncome")
-    public MessageModel miniAppAdIncome(@RequestParam(required = false) String appId,
-                                        @RequestParam(required = false) String startDate,
-                                        @RequestParam(required = false) String endDate) {
-        List<JSONObject> adqMiniApp = adqAdIncomeService.getAdqAllMiniApp(appId);
-        String start = startDate == null ? DateUtils.getNowAddDate("yyyy-MM-dd", -1) : startDate;
-        String end = endDate == null ? DateUtils.getNowDate("yyyy-MM-dd") : endDate;
-        for (JSONObject jsonObject : adqMiniApp) {
-            String app = jsonObject.getString("app_id");
-            Long appletId = jsonObject.getLong("applet_id");
-            dailyExecutorService.submit(new Runnable() {
-                @Override
-                public void run() {
-                    adqAdIncomeService.getAdqAdIncome(start, end, app, appletId, 1, 1, null, null);
-                }
-            });
-        }
-        return MessageModel.ok();
-    }
-
-    @GetMapping("/miniAppAdPosIncome")
-    public MessageModel miniAppAdPosIncome(@RequestParam(required = false) String appId,
-                                        @RequestParam(required = false) String startDate,
-                                        @RequestParam(required = false) String endDate) {
-        List<JSONObject> adqMiniApp = adqAdIncomeService.getAdqAllMiniApp(appId);
-        String start = startDate == null ? DateUtils.getNowAddDate("yyyy-MM-dd", -1) : startDate;
-        String end = endDate == null ? DateUtils.getNowDate("yyyy-MM-dd") : endDate;
-        for (JSONObject jsonObject : adqMiniApp) {
-            String app = jsonObject.getString("app_id");
-            Long appletId = jsonObject.getLong("applet_id");
-            dailyExecutorService.submit(new Runnable() {
-                @Override
-                public void run() {
-                    adqAdIncomeService.getAdqAdPosIncome(start, end, app, appletId, 1, 1, null, null);
-                }
-            });
-        }
-        return MessageModel.ok();
-    }
-
-    @GetMapping("/miniAppAdUnitList")
-    public MessageModel miniAppAdUnitList(@RequestParam(required = false) String appId) {
-        List<JSONObject> adqMiniApp = adqAdIncomeService.getAdqAllMiniApp(appId);
-        for (JSONObject jsonObject : adqMiniApp) {
-            String app = jsonObject.getString("app_id");
-            Long appletId = jsonObject.getLong("applet_id");
-            dailyExecutorService.submit(new Runnable() {
-                @Override
-                public void run() {
-                    adqAdIncomeService.getAdqAdUnitList(app, appletId, 1);
-                }
-            });
-        }
-        return MessageModel.ok();
-    }
-
-    @GetMapping("/miniAppAdIncomeRate")
-    public MessageModel miniAppAdIncomeRate(@RequestParam(required = false) String appId,
-                                        String startDate, String endDate) {
-        List<JSONObject> adqMiniApp = adqAdIncomeService.getAdqAllMiniApp(appId);
-        for (JSONObject jsonObject : adqMiniApp) {
-            String app = jsonObject.getString("app_id");
-            Long appletId = jsonObject.getLong("applet_id");
-            dailyExecutorService.submit(new Runnable() {
-                @Override
-                public void run() {
-                    adqAdIncomeService.getAdqAdIncomeRate(app, appletId, startDate, endDate);
-                }
-            });
-        }
-        return MessageModel.ok();
-    }
-
-    @GetMapping("/gameGiftList")
-    public MessageModel gameGiftList(@RequestParam(required = false) String appId,
-                                        @RequestParam(required = false) String startDate,
-                                        @RequestParam(required = false) String endDate) {
-        List<JSONObject> adqMiniApp = adqAdIncomeService.getAdqAllMiniApp(appId);
-        String start = startDate == null ? DateUtils.getNowAddDate("yyyy-MM-dd", -1) : startDate;
-        String end = endDate == null ? DateUtils.getNowDate("yyyy-MM-dd") : endDate;
-        for (JSONObject jsonObject : adqMiniApp) {
-            String app = jsonObject.getString("app_id");
-            Long appletId = jsonObject.getLong("applet_id");
-            dailyExecutorService.submit(new Runnable() {
-                @Override
-                public void run() {
-                    adqAdIncomeService.getGameGiftList(start, end, app, appletId, 1, 1, null, null);
-                }
-            });
-        }
-        return MessageModel.ok();
-    }
-
-    @GetMapping("/gameDiviceSave")
-    public MessageModel gameDiviceSave(@RequestParam(required = false) String appId) {
-        List<JSONObject> adqMiniApp = adqAdIncomeService.getAdqAllMiniApp(appId);
-        for (JSONObject jsonObject : adqMiniApp) {
-            String app = jsonObject.getString("app_id");
-            Long appletId = jsonObject.getLong("applet_id");
-            dailyExecutorService.submit(new Runnable() {
-                @Override
-                public void run() {
-                    adqAdIncomeService.getGameDiviceSave(app, appletId, 1, 1, null, null);
-                }
-            });
-        }
-        return MessageModel.ok();
-    }
-
-    @GetMapping("/gameDiviceTransfer")
-    public MessageModel gameDiviceTransfer(@RequestParam(required = false) String appId,
-                                     @RequestParam(required = false) String startDate,
-                                     @RequestParam(required = false) String endDate) {
-        List<JSONObject> adqMiniApp = adqAdIncomeService.getAdqAllMiniApp(appId);
-        String start = startDate == null ? DateUtils.getNowAddDate("yyyy-MM-dd", -1) : startDate;
-        String end = endDate == null ? DateUtils.getNowDate("yyyy-MM-dd") : endDate;
-        for (JSONObject jsonObject : adqMiniApp) {
-            String app = jsonObject.getString("app_id");
-            Long appletId = jsonObject.getLong("applet_id");
-            dailyExecutorService.submit(new Runnable() {
-                @Override
-                public void run() {
-                    adqAdIncomeService.getGameDiviceTransfer(start, end, app, appletId, 1, 1, null, null);
-                }
-            });
-        }
-        return MessageModel.ok();
-    }
-
-    @GetMapping("/vpAdFunds")
-    public MessageModel vpAdFunds(@RequestParam(required = false) String appId,
-                                           @RequestParam(required = false) String startDate,
-                                           @RequestParam(required = false) String endDate) {
-        List<JSONObject> adqMiniApp = adqAdIncomeService.getAdqAllMiniApp(appId);
-        String start = startDate == null ? DateUtils.getNowAddDate("yyyy-MM-dd", -1) : startDate;
-        String end = endDate == null ? DateUtils.getNowDate("yyyy-MM-dd") : endDate;
-        for (JSONObject jsonObject : adqMiniApp) {
-            String app = jsonObject.getString("app_id");
-            Long appletId = jsonObject.getLong("applet_id");
-            String prodKey = jsonObject.getString("prod_key");
-            dailyExecutorService.submit(new Runnable() {
-                @Override
-                public void run() {
-                    adqAdIncomeService.queryVPAdFunds(start, end, app, appletId, prodKey, 1, 1, null, null);
-                }
-            });
-        }
-        return MessageModel.ok();
-    }
-}

+ 11 - 171
job-adq/src/main/java/cn/com/ctop/job/adq/controller/AdqController.java

@@ -31,189 +31,29 @@ import java.util.concurrent.Executors;
 @Slf4j
 public class AdqController {
     private static ExecutorService dailyExecutorService = Executors.newFixedThreadPool(5);
-    @Autowired
-    private IAdqCreativeReportService adqReportService;
 
-    @Autowired
-    private IAdqAccountReportService accountReportService;
-    @Autowired
-    private IAdqRetryReportService retryReportService;
-    @Autowired
-    private IAdqAdminAdvertiserListService adminAdvertiserListService;
 
     @Autowired
-    private IAdqFlowDetailsReportService adqFlowDetailsReportService;
-
-
+    private IAdqAccountReportService accountReportService;
     @Autowired
     private IAdqMaterialReportService adqMaterialReportService;
     @Autowired
-    private IDailyBalanceReportService dailyBalanceReportService;
-
-
-
-
-
-
-
-
-
-
-    @GetMapping("/getBalanceReport")
+    private IAdqMediaInfoService adqMediaInfoService;
+    @GetMapping("/getAdqAccountHour")
     public JSONObject getBalanceReport() throws InterruptedException {
-
-        dailyBalanceReportService.getAdqBalanceReport(56298095L, "a501cb39b83bd0dabe37c1a325f99e03", "2025-09-09", "2025-09-11", 1, 1L);
-
-
-        return null;
-
-    }
-
-    @GetMapping("/getAgentInfo")
-    public JSONObject getAgentInfo() {
-
-        List<JSONObject> list = adminAdvertiserListService.getAdvertiserList();
-        if (!Check.isNull(list)) {
-            for (JSONObject jsonObject : list) {
-                Long adminAdvertiserId = jsonObject.getLong("adminAdvertiserId");
-                Long advertiserId = jsonObject.getLong("advertiserId");
-                String accessToken = jsonObject.getString("accessToken");
-                dailyExecutorService.submit(new Runnable() {
-                    @Override
-                    public void run() {
-                        adminAdvertiserListService.getAgentInfo(adminAdvertiserId, advertiserId, accessToken, null);
-                    }
-                });
-            }
-
-        }
-
-
-        return null;
-
-    }
-
-
-    @GetMapping("/getReport")
-    public JSONObject getReport() {
+        Long advertiserId = 31179796L;
+        String accessToken = "48cc3290afa685f8be189c39b05c3a7d";
         String nowDate = DateUtils.getNowDate("yyyy-MM-dd");
-        String endDateStr = DateUtils.getAnotherDay("yyyy-MM-dd", nowDate, -1);
-        String startDateStr = DateUtils.getAnotherDay("yyyy-MM-dd", nowDate, -4);
-        Integer startDate = Integer.valueOf(startDateStr.replace("-", ""));
-        Integer endDate = Integer.valueOf(endDateStr.replace("-", ""));
-        List<JSONObject> dataJson = adqReportService.getAccountListByDate(startDate, endDate);
-        if (!Check.isNull(dataJson)) {
-            for (int i = 0; i < dataJson.size(); i++) {
-                JSONObject jsonObject = dataJson.get(i);
-                Long advertiserId = jsonObject.getLong("advertiserId");
-                String accessToken = jsonObject.getString("accessToken");
-                dailyExecutorService.submit(new Runnable() {
-                    @Override
-                    public void run() {
-                        adqReportService.getAdqCreativeDaily(advertiserId, accessToken, startDateStr, endDateStr, 1, 1);
-                        accountReportService.getAdqAccountDaily(advertiserId, accessToken, startDateStr, endDateStr, 1, 1);
-                    }
-                });
-            }
-        }
-        return null;
-
-    }
-
-
-
-
-
-    @GetMapping("/testCreativeDaily")
-    public void testCreativeDaily() {
-
-        adqReportService.getAdqCreativeHour(63071144L, "084dedee4e57493b0f39900cf14d0d6f", "2025-06-26", "2025-06-26", 1, 1);
-
-
-/*
-        List<JSONObject> accountList = adqReportService.getAccountList(null);
-        if (!Check.isNull(accountList)) {
-            for (int i = 0; i < accountList.size(); i++) {
-                JSONObject jsonObject = accountList.get(i);
-                Long advertiserId = jsonObject.getLong("advertiserId");
-
-                String accessToken = jsonObject.getString("accessToken");
-                dailyExecutorService.submit(new Runnable() {
-                    @Override
-                    public void run() {
-                        accountReportService.getAdqAccountDaily(advertiserId, accessToken, "2025-05-01", "2025-05-11", 1, 1);
-                    }
-                });
-
-
-            }
-        }*/
-    }
+       /* accountReportService.getAdqAccountHour(advertiserId, accessToken, nowDate, nowDate, 1, 1);
+        accountReportService.getAdqAccountDaily(advertiserId, accessToken, nowDate, nowDate, 1, 1);*/
+     //   adqMaterialReportService.getAdqMaterialDailyReport(advertiserId, accessToken, "2026-06-03", "2026-06-03", 1, 1, null, 0);
+        adqMediaInfoService.getVideoListIncrement(advertiserId, accessToken);
 
-
-    @GetMapping("/getList")
-    public JSONObject getList() {
-
-        adminAdvertiserListService.getAdminAdvertiserList(54431317L, "0aa32eb213924af9d6ef1335423ab605", null);
+   /*     adqMediaInfoService.getVideoListAll(advertiserId, accessToken);
+        adqMediaInfoService.getImageListAll(advertiserId, accessToken);*/
 
         return null;
-    }
-
-    @GetMapping("/flowDetailsReport")
-    public void flowDetailsReport(@RequestParam(required = false) Long advertiserId, String accessToken, String startDate, String endDate) {
-
-        adqFlowDetailsReportService.getAdqFlowDetailsDailyReport(advertiserId, accessToken, startDate, endDate, 1, null);
-
-    }
-
-    @GetMapping("/generateFlowDetailsReport")
-    public void generateFlowDetailsReport(String startDate, String endDate) {
-        List<AdvertiserAccount> adAccount = adqFlowDetailsReportService.getAdAccount();
-
-        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
-        LocalDate start = LocalDate.parse(startDate, formatter);
-        LocalDate end = LocalDate.parse(endDate, formatter);
-        while (!start.isAfter(end)) {
-            String startDateString = start.format(formatter);
-            System.out.println("startDateString:" + startDateString);
-            adAccount.forEach(advertiserAccount -> {
-                dailyExecutorService.submit(new Runnable() {
-
-                    @Override
-                    public void run() {
-                        if (!Check.isNull(advertiserAccount.getAccessToken())) {
-                            adqFlowDetailsReportService.getAdqFlowDetailsDailyReport(advertiserAccount.getAdvertiserId(), advertiserAccount.getAccessToken(), startDateString, startDateString, 1, null);
-                        }
-                    }
-                });
-
-            });
-            start = start.plusDays(1);
-
-
-        }
-
-    }
-
 
-    @GetMapping("/materialDaily")
-    public void materialDaily(String startDate, String endDate) {
-        Integer startDateInt = Integer.valueOf(startDate.replace("-", ""));
-        Integer endDateInt = Integer.valueOf(endDate.replace("-", ""));
-        List<JSONObject> dataJson = adqReportService.getAccountListByDate(startDateInt, endDateInt);
-        if (!Check.isNull(dataJson)) {
-            for (int i = 0; i < dataJson.size(); i++) {
-                JSONObject jsonObject = dataJson.get(i);
-                Long advertiserId = jsonObject.getLong("advertiserId");
-                String accessToken = jsonObject.getString("accessToken");
-                dailyExecutorService.submit(new Runnable() {
-                    @Override
-                    public void run() {
-                        adqMaterialReportService.getAdqMaterialDailyReport(advertiserId, accessToken, startDate, endDate, 1, 1, null, 0);
-                    }
-                });
-            }
-        }
     }
 
 

+ 0 - 68
job-adq/src/main/java/cn/com/ctop/job/adq/controller/HistoryController.java

@@ -1,68 +0,0 @@
-package cn.com.ctop.job.adq.controller;
-
-import cn.com.ctop.job.adq.data.entity.AdvertiserAccount;
-import cn.com.ctop.job.adq.data.service.*;
-import cn.com.ctop.job.adq.data.utils.Check;
-import cn.com.ctop.job.adq.data.utils.DateUtils;
-import com.alibaba.fastjson.JSONObject;
-import io.swagger.annotations.Api;
-import lombok.extern.slf4j.Slf4j;
-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.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.time.LocalDate;
-import java.time.format.DateTimeFormatter;
-import java.util.List;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-
-/**
- * zian Y
- * 2022/2/9
- **/
-
-@RestController
-@RequestMapping("/history")
-@Api(tags = "adq")
-@Slf4j
-public class HistoryController {
-    private static ExecutorService dailyExecutorService = Executors.newFixedThreadPool(5);
-    @Autowired
-    private IAdqCreativeReportService adqReportService;
-
-    @Autowired
-    private IAdqAccountReportService accountReportService;
-    @Autowired
-    private IDailyBalanceReportService dailyBalanceReportService;
-
-    @GetMapping("/getData")
-    public JSONObject getData(Long advertiserId, String startDate, String endDate) {
-        JSONObject json = new JSONObject();
-        dailyExecutorService.submit(new Runnable() {
-            @Override
-            public void run() {
-
-                String token = accountReportService.getTokenByAdvertiserId(advertiserId);
-                if (Check.isNull(token)) {
-                    return;
-                }
-                accountReportService.getAdqAccountDaily(advertiserId, token, startDate, endDate, 1, 1);
-                adqReportService.getAdqCreativeDaily(advertiserId, token, startDate, endDate, 1, 1);
-                try {
-                    dailyBalanceReportService.getAdqBalanceReport(advertiserId, token, startDate, endDate, 1, null);
-                } catch (InterruptedException e) {
-                    throw new RuntimeException(e);
-                }
-            }
-        });
-        json.put("code", 200);
-        json.put("message", "成功");
-        return json;
-    }
-
-
-}

+ 0 - 37
job-adq/src/main/java/cn/com/ctop/job/adq/data/mapper/AdqAdIncomeMapper.java

@@ -1,37 +0,0 @@
-package cn.com.ctop.job.adq.data.mapper;
-
-import cn.com.ctop.job.adq.data.entity.AdqPublisherAdunitGeneral;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.dynamic.datasource.annotation.DS;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public interface AdqAdIncomeMapper {
-
-    void insertAdqAdIncome(List<AdqPublisherAdunitGeneral> reports);
-
-    @DS("sd_group_commit")
-    void insertAdqAdIncomeSD(List<AdqPublisherAdunitGeneral> reports);
-
-    List<JSONObject> queryAdqIaaMiniApp(@Param("appId")String appId);
-    List<JSONObject> queryAdqAllMiniApp(@Param("appId")String appId);
-
-    List<JSONObject> queryAdqAdIncomeRetryJob();
-
-    void insertAdUnitList(@Param("list") JSONArray list);
-
-    void insertAdIncomeRate(@Param("list") JSONArray results);
-
-    void insertAdqGameGiftList(@Param("list") ArrayList<JSONObject> reports);
-
-    void insertAdqGameDiviceSave(@Param("list")ArrayList<JSONObject> reports);
-    void insertAdqGameDiviceSaveDetail(@Param("list")ArrayList<JSONObject> reports);
-    void insertAdqGameDiviceTransfer(@Param("list")ArrayList<JSONObject> reports);
-
-    void insertAdqAdPosIncome(@Param("list")List<JSONObject> reports);
-
-    void insertVPAdFunds(ArrayList<JSONObject> reports);
-}

+ 0 - 18
job-adq/src/main/java/cn/com/ctop/job/adq/data/mapper/AdqAdminAdvertiserListMapper.java

@@ -1,18 +0,0 @@
-package cn.com.ctop.job.adq.data.mapper;
-
-import cn.com.ctop.job.adq.data.entity.AdqAdvertiserList;
-import cn.com.ctop.job.adq.data.entity.AdqAgentAdvertiserList;
-import com.alibaba.fastjson.JSONObject;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-public interface AdqAdminAdvertiserListMapper {
-    void replaceAdqAccountList(@Param("adds") List<AdqAdvertiserList> addList);
-
-    void deleteAdvertiserListByAdminId(@Param("advertiserId") Long advertiserId);
-
-    void addAgent(AdqAgentAdvertiserList javaObject);
-
-    List<JSONObject> getAdvertiserList();
-}

+ 0 - 23
job-adq/src/main/java/cn/com/ctop/job/adq/data/mapper/AdqCreativeReportMapper.java

@@ -1,23 +0,0 @@
-package cn.com.ctop.job.adq.data.mapper;
-
-import cn.com.ctop.job.adq.data.entity.AdqCreativeReportDaily;
-import cn.com.ctop.job.adq.data.entity.AdqCreativeReportHour;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.dynamic.datasource.annotation.DS;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-public interface AdqCreativeReportMapper {
-    void addsHourList(@Param("adds") List<AdqCreativeReportHour> hourList);
-
-    @DS("sd_group_commit")
-    void addsHourListSD(@Param("adds") List<AdqCreativeReportHour> hourList);
-
-    List<JSONObject> getAccountList(@Param("accountId") Long accountId);
-
-    void addsDaily(@Param("adds") List<AdqCreativeReportDaily> dailies);
-    @DS("sd_group_commit")
-    void addsDailySD(@Param("adds") List<AdqCreativeReportDaily> dailies);
-
-}

+ 0 - 24
job-adq/src/main/java/cn/com/ctop/job/adq/data/mapper/AdqFlowDetailsReportDailyMapper.java

@@ -1,24 +0,0 @@
-package cn.com.ctop.job.adq.data.mapper;
-
-import cn.com.ctop.job.adq.data.entity.AdqFlowDetailsReportDaily;
-import cn.com.ctop.job.adq.data.entity.AdvertiserAccount;
-import com.baomidou.dynamic.datasource.annotation.DS;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-/**
- * @author lining
- * @ClassName AdqFlowDetailsReportDailyMapper
- * @description: TODO
- * @date 2025年04月21日
- * @version: 1.0
- */
-public interface AdqFlowDetailsReportDailyMapper {
-    List<AdvertiserAccount> getAdAccount();
-
-    void replaceFlowDetailsReportDailies(@Param("list") List<AdqFlowDetailsReportDaily> dailyList);
-    @DS("sd_group_commit")
-    void replaceFlowDetailsReportDailiesSD(@Param("list") List<AdqFlowDetailsReportDaily> dailyList);
-
-}

+ 0 - 10
job-adq/src/main/java/cn/com/ctop/job/adq/data/mapper/DailyBalanceReportMapper.java

@@ -1,10 +0,0 @@
-package cn.com.ctop.job.adq.data.mapper;
-
-import cn.com.ctop.job.adq.data.entity.AdqDailyBalance;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-public interface DailyBalanceReportMapper {
-    void addAdqDailyBalances(@Param("adds") List<AdqDailyBalance> adqDailyBalances);
-}

+ 0 - 191
job-adq/src/main/java/cn/com/ctop/job/adq/data/mapper/xml/AdqAdIncomeMapper.xml

@@ -1,191 +0,0 @@
-<?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.job.adq.data.mapper.AdqAdIncomeMapper">
-
-    <insert id="insertAdqAdIncome">
-        replace INTO media_api.adq_publisher_adunit_general (
-        app_id,ad_unit_id, ad_unit_name, ad_slot,ad_slot_name, agency_income,
-        click_count, click_rate, stat_date, ecpm,
-        exposure_count, exposure_rate, income, is_smart_ads,
-        parent_templ_type, publisher_income, req_succ_count, slot_str
-        ) VALUES
-        <foreach collection="list" item="item" separator=",">
-            (
-            #{item.appId}, #{item.adUnitId}, #{item.adUnitName}, #{item.adSlot}, #{item.adSlotName}, #{item.agencyIncome},
-            #{item.clickCount}, #{item.clickRate}, #{item.statDate}, #{item.ecpm},
-            #{item.exposureCount}, #{item.exposureRate}, #{item.income}, #{item.isSmartAds},
-            #{item.parentTemplType}, #{item.publisherIncome}, #{item.reqSuccCount}, #{item.slotStr}
-            )
-        </foreach>
-    </insert>
-
-    <insert id="insertAdqAdIncomeSD">
-        insert INTO media_api.adq_publisher_adunit_general (
-        app_id,ad_unit_id, ad_unit_name, ad_slot,ad_slot_name, agency_income,
-        click_count, click_rate, stat_date, ecpm,
-        exposure_count, exposure_rate, income, is_smart_ads,
-        parent_templ_type, publisher_income, req_succ_count, slot_str
-        ) VALUES
-        <foreach collection="list" item="item" separator=",">
-            (
-            #{item.appId}, #{item.adUnitId}, #{item.adUnitName}, #{item.adSlot}, #{item.adSlotName}, #{item.agencyIncome},
-            #{item.clickCount}, #{item.clickRate}, #{item.statDate}, #{item.ecpm},
-            #{item.exposureCount}, #{item.exposureRate}, #{item.income}, #{item.isSmartAds},
-            #{item.parentTemplType}, #{item.publisherIncome}, #{item.reqSuccCount}, #{item.slotStr}
-            )
-        </foreach>
-    </insert>
-    <insert id="insertAdUnitList">
-        replace into media_api.adq_ad_unit_list
-        (
-        app_id,
-        ad_unit_id,
-        ad_slot,
-        ad_slot_name,
-        active_value,
-        ad_form_type,
-        ad_unit_name,
-        ad_unit_size,
-        ad_unit_status,
-        ad_unit_type,
-        bid_floor,
-        bind_adunit,
-        bind_type,
-        is_allow_playable,
-        reward_hosted_status,
-        slot_id,
-        templ_hosted_status,
-        templ_type_list,
-        unlock_reward_duration,
-        video_duration_max,
-        video_duration_min
-        ) VALUES
-        <foreach collection="list" item="item" separator=",">
-            (
-            #{item.app_id},
-            #{item.ad_unit_id},
-            #{item.ad_slot},
-            #{item.ad_slot_name},
-            #{item.active_value},
-            #{item.ad_form_type},
-            #{item.ad_unit_name},
-            #{item.ad_unit_size},
-            #{item.ad_unit_status},
-            #{item.ad_unit_type},
-            #{item.bid_floor},
-            #{item.bind_adunit},
-            #{item.bind_type},
-            #{item.is_allow_playable},
-            #{item.reward_hosted_status},
-            #{item.slot_id},
-            #{item.templ_hosted_status},
-            #{item.templ_type_list},
-            #{item.unlock_reward_duration},
-            #{item.video_duration_max},
-            #{item.video_duration_min}
-            )
-        </foreach>
-    </insert>
-    <insert id="insertAdIncomeRate">
-        replace into media_api.adq_ad_income_rate
-        (stat_date,app_id,share_rate,ad_give_rate)
-        VALUES
-        <foreach collection="list" item="item" separator=",">
-        (#{item.stat_date}, #{item.app_id}, #{item.share_rate}, #{item.ad_give_rate})
-        </foreach>
-    </insert>
-
-    <insert id="insertAdqGameGiftList">
-        insert into media_api.adq_game_gift_save_list
-        (stat_date,app_id,ad_fund)
-        VALUES
-        <foreach collection="list" item="item" separator=",">
-            (${item.stat_date}, #{item.app_id}, #{item.ad_fund})
-        </foreach>
-        on duplicate key update ad_fund= VALUES(ad_fund)
-    </insert>
-
-    <insert id="insertAdqGameDiviceSave">
-        insert into media_api.adq_game_gift_save_list
-        (stat_date,app_id,expire_balance,expire_time,total_balance)
-        VALUES
-        <foreach collection="list" item="item" separator=",">
-            (${item.stat_date}, #{item.app_id}, #{item.expire_balance}, #{item.expire_time}, #{item.total_balance})
-        </foreach>
-        on duplicate key update
-        expire_balance= VALUES(expire_balance),
-        expire_time= VALUES(expire_time),
-        total_balance= VALUES(total_balance)
-    </insert>
-
-    <insert id="insertAdqGameDiviceSaveDetail">
-        insert into media_api.adq_game_gift_save_list
-        (stat_date,app_id,game_save_detail_amt,game_save_detail_expire_time,game_save_detail_sett_idx)
-        VALUES
-        <foreach collection="list" item="item" separator=",">
-            (${item.stat_date}, #{item.app_id}, #{item.game_save_detail_amt}, #{item.game_save_detail_expire_time}, #{item.game_save_detail_sett_idx})
-        </foreach>
-        on duplicate key update
-        game_save_detail_amt= VALUES(game_save_detail_amt),
-        game_save_detail_expire_time= VALUES(game_save_detail_expire_time),
-        game_save_detail_sett_idx= VALUES(game_save_detail_sett_idx)
-    </insert>
-    <insert id="insertAdqGameDiviceTransfer">
-        replace into media_api.adq_game_divice_transfer
-        (stat_date,app_id,`type`,amt,out_uuid,remark,src_account)
-        VALUES
-        <foreach collection="list" item="item" separator=",">
-            (${item.stat_date}, #{item.app_id}, #{item.type},
-          #{item.amt}, #{item.out_uuid}, #{item.remark}, #{item.src_account})
-        </foreach>
-    </insert>
-    <insert id="insertAdqAdPosIncome">
-        replace INTO media_api.adq_publisher_adpos_general (
-        app_id, ad_slot,ad_slot_name, stat_date,
-        click_count, click_rate, ecpm,
-        exposure_count, exposure_rate, income,
-        req_succ_count,slot_id, slot_str
-        ) VALUES
-        <foreach collection="list" item="item" separator=",">
-            (
-            #{item.app_id}, #{item.ad_slot}, #{item.ad_slot_name}, #{item.stat_date},
-            #{item.click_count}, #{item.click_rate}, #{item.ecpm},
-            #{item.exposure_count}, #{item.exposure_rate}, #{item.income},
-            #{item.req_succ_count}, #{item.slot_id}, #{item.slot_str}
-            )
-        </foreach>
-    </insert>
-    <insert id="insertVPAdFunds">
-        replace INTO media_api.adq_vp_ad_fund
-        ( app_id,fund_id, settle_begin, settle_end, total_amount, remain_amount, expire_time, fund_type )
-        VALUES
-        <foreach collection="list" item="item" separator=",">
-            ( #{item.app_id}, #{item.fund_id}, #{item.settle_begin}, #{item.settle_end},#{item.total_amount},
-              #{item.remain_amount}, #{item.expire_time}, #{item.fund_type} )
-        </foreach>
-    </insert>
-
-    <select id="queryAdqIaaMiniApp" resultType="com.alibaba.fastjson.JSONObject">
-        select m.app_id,l.id applet_id
-        from deepthink.mini_app_info m
-        join thirtpart.ly_applet l on m.app_id = l.app_id
-        where m.business_method in('IAA','MIX') and m.app_id like 'wx%'
-        <if test="appId != null">
-            and m.app_id = #{appId}
-        </if>
-    </select>
-    <select id="queryAdqAllMiniApp" resultType="com.alibaba.fastjson.JSONObject">
-        select m.app_id,l.id applet_id,l.prod_key
-        from deepthink.mini_app_info m
-        join thirtpart.ly_applet l on m.app_id = l.app_id
-        where  m.app_id like 'wx%'
-        <if test="appId != null">
-            and m.app_id = #{appId}
-        </if>
-    </select>
-    <select id="queryAdqAdIncomeRetryJob" resultType="com.alibaba.fastjson.JSONObject">
-        SELECT t1.msg as 'msg',t1.is_send AS 'isSend', t1.id AS 'id', t1.advertiser_id AS 'advertiserId', t1.start_date AS 'startDate', t1.end_date AS 'endDate', t1.data_dimension AS 'dataDimension', t1.data_type AS 'dataType', t1.msg
-        FROM media_api.adq_error_log t1
-        where data_dimension like 'adq_ma_%';
-    </select>
-</mapper>

+ 0 - 72
job-adq/src/main/java/cn/com/ctop/job/adq/data/mapper/xml/AdqAdminAdvertiserListMapper.xml

@@ -1,72 +0,0 @@
-<?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.job.adq.data.mapper.AdqAdminAdvertiserListMapper">
-
-
-    <insert id="replaceAdqAccountList">
-        INSERT into deepthink.adq_advertiser_list(
-        admin_advertiser_id,
-        advertiser_id,
-        advertiser_name,
-        `corporation_name`,
-        is_adx,
-        is_mp
-        )
-        values
-        <foreach collection="adds" item="add" separator=",">
-            (
-            #{add.adminAdvertiserId},
-            #{add.advertiserId},
-            #{add.advertiserName},
-            #{add.corporationName},
-            #{add.isAdx},
-            #{add.isMp}
-            )
-        </foreach>
-        on duplicate key update
-        advertiser_name= VALUES(advertiser_name)
-    </insert>
-    <insert id="addAgent">
-        replace into deepthink.adq_agent_advertiser_list
-        <trim prefix="(" suffix=")" suffixOverrides=",">
-            <if test="adminAdvertiserId != null">admin_advertiser_id,</if>
-            <if test="advertiserId != null">advertiser_id,</if>
-            <if test="mdmId != null">mdm_id,</if>
-            <if test="systemIndustryId != null">system_industry_id,</if>
-            <if test="mdmName != null">mdm_name,</if>
-            <if test="corporationLicence != null">corporation_licence,</if>
-            <if test="corporationName != null">corporation_name,</if>
-            <if test="agencyAccountId != null">agency_account_id,</if>
-            <if test="registrationType != null">registration_type,</if>
-            <if test="customizedIndustry != null">customized_industry,</if>
-            <if test="createAt != null">create_at,</if>
-            <if test="updateAt != null">update_at,</if>
-        </trim>
-        <trim prefix="values (" suffix=")" suffixOverrides=",">
-            <if test="adminAdvertiserId != null">#{adminAdvertiserId},</if>
-            <if test="advertiserId != null">#{advertiserId},</if>
-            <if test="mdmId != null">#{mdmId},</if>
-            <if test="systemIndustryId != null">#{systemIndustryId},</if>
-            <if test="mdmName != null">#{mdmName},</if>
-            <if test="corporationLicence != null">#{corporationLicence},</if>
-            <if test="corporationName != null">#{corporationName},</if>
-            <if test="agencyAccountId != null">#{agencyAccountId},</if>
-            <if test="registrationType != null">#{registrationType},</if>
-            <if test="customizedIndustry != null">#{customizedIndustry},</if>
-            <if test="createAt != null">#{createAt},</if>
-            <if test="updateAt != null">#{updateAt},</if>
-        </trim>
-    </insert>
-    <delete id="deleteAdvertiserListByAdminId" parameterType="java.lang.Long">
-        DELETE
-        FROM deepthink.adq_advertiser_list
-        WHERE admin_advertiser_id = #{advertiserId}
-    </delete>
-    <select id="getAdvertiserList" resultType="com.alibaba.fastjson.JSONObject">
-        select t1.admin_advertiser_id as 'adminAdvertiserId', t1.advertiser_id as 'advertiserId', t3.access_token as 'accessToken'
-        from deepthink.adq_advertiser_list t1
-                 left join deepthink.adq_agent_advertiser_list t2 on t1.advertiser_id = t2.advertiser_id
-                 left join deepthink.adq_auth_list t3 on t1.admin_advertiser_id = t3.admin_advertiser_id
-        where t2.advertiser_id is null;
-    </select>
-</mapper>

+ 0 - 280
job-adq/src/main/java/cn/com/ctop/job/adq/data/mapper/xml/AdqCreativeReportMapper.xml

@@ -1,280 +0,0 @@
-<?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.job.adq.data.mapper.AdqCreativeReportMapper">
-
-
-    <insert id="addsHourList">
-        replace into adq_creative_report_hour (
-        advertiser_id,
-        adgroup_id,
-        adgroup_name,
-        dynamic_creative_id,
-        dynamic_creative_name,
-        stat_time_day,
-        `hour`,
-        cost,
-        view_count,
-        valid_click_count,
-        conversions_count,
-        deep_conversions_count,
-        activated_count,
-        reg_pv,
-        retention_count,
-        video_outer_play_count,
-        video_outer_play100_count,
-        key_behavior_conversions_count,
-        purchase_pv,
-        purchase_amount,
-        first_pay_count,
-        ad_monetization_amount,
-        app_ad_paying_users,
-        income_pv_pla,
-        income_val_1,
-        ad_paying_users_d1,
-        income_pv_1d_pla,
-        income_val_3
-        )
-        values
-        <foreach collection="adds" item="item" separator=",">
-            (
-
-            #{item.advertiserId},
-            #{item.adgroupId},
-            #{item.adgroupName},
-            #{item.dynamicCreativeId},
-            #{item.dynamicCreativeName},
-            #{item.statTimeDay},
-            #{item.hour},
-            #{item.cost},
-            #{item.viewCount},
-            #{item.validClickCount},
-            #{item.conversionsCount},
-            #{item.deepConversionsCount},
-            #{item.activatedCount},
-            #{item.regPv},
-            #{item.retentionCount},
-            #{item.videoOuterPlayCount},
-            #{item.videoOuterPlay100Count},
-            #{item.keyBehaviorConversionsCount},
-            #{item.purchasePv},
-            #{item.purchaseAmount},
-            #{item.firstPayCount},
-            #{item.adMonetizationAmount},
-            #{item.appAdPayingUsers},
-            #{item.incomePvPla},
-            #{item.incomeVal1},
-            #{item.adPayingUsersD1},
-            #{item.incomePv1dPla},
-            #{item.incomeVal3}
-            )
-        </foreach>
-    </insert>
-
-    <insert id="addsHourListSD">
-        insert into adq_creative_report_hour (
-        advertiser_id,
-        adgroup_id,
-        adgroup_name,
-        dynamic_creative_id,
-        dynamic_creative_name,
-        stat_time_day,
-        `hour`,
-        cost,
-        view_count,
-        valid_click_count,
-        conversions_count,
-        deep_conversions_count,
-        activated_count,
-        reg_pv,
-        retention_count,
-        video_outer_play_count,
-        video_outer_play100_count,
-        key_behavior_conversions_count,
-        purchase_pv,
-        purchase_amount,
-        first_pay_count,
-        ad_monetization_amount,
-        app_ad_paying_users,
-        income_pv_pla,
-        income_val_1,
-        ad_paying_users_d1,
-        income_pv_1d_pla,
-        income_val_3
-        )
-        values
-        <foreach collection="adds" item="item" separator=",">
-            (
-
-            #{item.advertiserId},
-            #{item.adgroupId},
-            #{item.adgroupName},
-            #{item.dynamicCreativeId},
-            #{item.dynamicCreativeName},
-            #{item.statTimeDay},
-            #{item.hour},
-            #{item.cost},
-            #{item.viewCount},
-            #{item.validClickCount},
-            #{item.conversionsCount},
-            #{item.deepConversionsCount},
-            #{item.activatedCount},
-            #{item.regPv},
-            #{item.retentionCount},
-            #{item.videoOuterPlayCount},
-            #{item.videoOuterPlay100Count},
-            #{item.keyBehaviorConversionsCount},
-            #{item.purchasePv},
-            #{item.purchaseAmount},
-            #{item.firstPayCount},
-            #{item.adMonetizationAmount},
-            #{item.appAdPayingUsers},
-            #{item.incomePvPla},
-            #{item.incomeVal1},
-            #{item.adPayingUsersD1},
-            #{item.incomePv1dPla},
-            #{item.incomeVal3}
-            )
-        </foreach>
-    </insert>
-
-    <insert id="addsDaily">
-        replace into adq_creative_report_daily (
-        advertiser_id,
-        adgroup_id,
-        adgroup_name,
-        dynamic_creative_id,
-        dynamic_creative_name,
-        stat_time_day,
-        cost,
-        view_count,
-        valid_click_count,
-        conversions_count,
-        deep_conversions_count,
-        activated_count,
-        reg_pv,
-        retention_count,
-        video_outer_play_count,
-        video_outer_play100_count,
-        key_behavior_conversions_count,
-        purchase_pv,
-        purchase_amount,
-        first_pay_count,
-        ad_monetization_amount,
-        app_ad_paying_users,
-        income_pv_pla,
-        income_val_1,
-        ad_paying_users_d1,
-        income_pv_1d_pla,
-        income_val_3
-        )
-        values
-        <foreach collection="adds" item="item" separator=",">
-            (
-            #{item.advertiserId},
-            #{item.adgroupId},
-            #{item.adgroupName},
-            #{item.dynamicCreativeId},
-            #{item.dynamicCreativeName},
-            #{item.statTimeDay},
-            #{item.cost},
-            #{item.viewCount},
-            #{item.validClickCount},
-            #{item.conversionsCount},
-            #{item.deepConversionsCount},
-            #{item.activatedCount},
-            #{item.regPv},
-            #{item.retentionCount},
-            #{item.videoOuterPlayCount},
-            #{item.videoOuterPlay100Count},
-            #{item.keyBehaviorConversionsCount},
-            #{item.purchasePv},
-            #{item.purchaseAmount},
-            #{item.firstPayCount},
-            #{item.adMonetizationAmount},
-            #{item.appAdPayingUsers},
-            #{item.incomePvPla},
-            #{item.incomeVal1},
-            #{item.adPayingUsersD1},
-            #{item.incomePv1dPla},
-            #{item.incomeVal3}
-            )
-        </foreach>
-
-    </insert>
-
-    <insert id="addsDailySD">
-        insert into adq_creative_report_daily (
-        advertiser_id,
-        adgroup_id,
-        adgroup_name,
-        dynamic_creative_id,
-        dynamic_creative_name,
-        stat_time_day,
-        cost,
-        view_count,
-        valid_click_count,
-        conversions_count,
-        deep_conversions_count,
-        activated_count,
-        reg_pv,
-        retention_count,
-        video_outer_play_count,
-        video_outer_play100_count,
-        key_behavior_conversions_count,
-        purchase_pv,
-        purchase_amount,
-        first_pay_count,
-        ad_monetization_amount,
-        app_ad_paying_users,
-        income_pv_pla,
-        income_val_1,
-        ad_paying_users_d1,
-        income_pv_1d_pla,
-        income_val_3
-        )
-        values
-        <foreach collection="adds" item="item" separator=",">
-            (
-            #{item.advertiserId},
-            #{item.adgroupId},
-            #{item.adgroupName},
-            #{item.dynamicCreativeId},
-            #{item.dynamicCreativeName},
-            #{item.statTimeDay},
-            #{item.cost},
-            #{item.viewCount},
-            #{item.validClickCount},
-            #{item.conversionsCount},
-            #{item.deepConversionsCount},
-            #{item.activatedCount},
-            #{item.regPv},
-            #{item.retentionCount},
-            #{item.videoOuterPlayCount},
-            #{item.videoOuterPlay100Count},
-            #{item.keyBehaviorConversionsCount},
-            #{item.purchasePv},
-            #{item.purchaseAmount},
-            #{item.firstPayCount},
-            #{item.adMonetizationAmount},
-            #{item.appAdPayingUsers},
-            #{item.incomePvPla},
-            #{item.incomeVal1},
-            #{item.adPayingUsersD1},
-            #{item.incomePv1dPla},
-            #{item.incomeVal3}
-            )
-        </foreach>
-
-    </insert>
-
-    <select id="getAccountList" resultType="com.alibaba.fastjson.JSONObject">
-        SELECT t1.advertiser_id AS 'advertiserId', t2.access_token AS 'accessToken'
-        FROM deepthink.adq_advertiser_list t1
-                 LEFT JOIN deepthink.adq_auth_list t2 ON t1.admin_advertiser_id = t2.admin_advertiser_id
-        <if test="accountId != null">
-            where t1.advertiser_id = #{accountId}
-        </if>
-
-    </select>
-
-</mapper>

+ 0 - 75
job-adq/src/main/java/cn/com/ctop/job/adq/data/mapper/xml/AdqFlowDetailsReportMapper.xml

@@ -1,75 +0,0 @@
-<?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.job.adq.data.mapper.AdqFlowDetailsReportDailyMapper">
-
-    <select id="getAdAccount" resultType="cn.com.ctop.job.adq.data.entity.AdvertiserAccount">
-        select
-            tb1.advertiser_id as advertiserId,
-            tb2.access_token as accessToken
-        from
-            deepthink.adq_advertiser_list tb1
-                left join deepthink.adq_auth_list tb2 on
-                tb1.admin_advertiser_id = tb2.admin_advertiser_id
-    </select>
-
-    <insert id="replaceFlowDetailsReportDailies">
-        replace into adq_flow_details_report_daily (
-            advertiser_id,
-            stat_time_day,
-            fund_type,
-            deposit,
-            paid,
-            trans_in,
-            trans_out,
-            credit_modify,
-            balance,
-            preauth_balance
-        )
-        values
-        <foreach collection="list" item="item" separator=",">
-            (
-            #{item.advertiserId},
-            #{item.statTimeDay},
-            #{item.fundType},
-            #{item.deposit},
-            #{item.paid},
-            #{item.transIn},
-            #{item.transOut},
-            #{item.creditModify},
-            #{item.balance},
-            #{item.preauthBalance}
-            )
-        </foreach>
-    </insert>
-
-    <insert id="replaceFlowDetailsReportDailiesSD">
-        insert into adq_flow_details_report_daily (
-        advertiser_id,
-        stat_time_day,
-        fund_type,
-        deposit,
-        paid,
-        trans_in,
-        trans_out,
-        credit_modify,
-        balance,
-        preauth_balance
-        )
-        values
-        <foreach collection="list" item="item" separator=",">
-            (
-            #{item.advertiserId},
-            #{item.statTimeDay},
-            #{item.fundType},
-            #{item.deposit},
-            #{item.paid},
-            #{item.transIn},
-            #{item.transOut},
-            #{item.creditModify},
-            #{item.balance},
-            #{item.preauthBalance}
-            )
-        </foreach>
-    </insert>
-</mapper>
-

+ 0 - 45
job-adq/src/main/java/cn/com/ctop/job/adq/data/mapper/xml/DailyBalanceReportMapper.xml

@@ -1,45 +0,0 @@
-<?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.job.adq.data.mapper.DailyBalanceReportMapper">
-
-
-    <insert id="addAdqDailyBalances">
-        replace into adq_daily_balance (
-        advertiser_id,
-        stat_date,
-        fund_type,
-        deposit,
-        paid,
-        trans_in,
-        trans_out,
-        credit_modify,
-        balance,
-        preauth_balance,
-        preauth_out_pay,
-        preauth_in_refund,
-        acct_out_pay,
-        acct_out_pay_share,
-        share_out_pay
-        )
-        values
-        <foreach collection="adds" item="item" separator=",">
-            (
-            #{item.advertiserId},
-            #{item.statDate},
-            #{item.fundType},
-            #{item.deposit},
-            #{item.paid},
-            #{item.transIn},
-            #{item.transOut},
-            #{item.creditModify},
-            #{item.balance},
-            #{item.preauthBalance},
-            #{item.preauthOutPay},
-            #{item.preauthInRefund},
-            #{item.acctOutPay},
-            #{item.acctOutPayShare},
-            #{item.shareOutPay}
-            )
-        </foreach>
-    </insert>
-</mapper>

+ 0 - 29
job-adq/src/main/java/cn/com/ctop/job/adq/data/service/IAdqAdIncomeService.java

@@ -1,29 +0,0 @@
-package cn.com.ctop.job.adq.data.service;
-
-import com.alibaba.fastjson.JSONObject;
-
-import java.util.List;
-
-public interface IAdqAdIncomeService {
-    List<JSONObject> getAdqAdIncomeRetryJob();
-
-    List<JSONObject> getAdqIaaMiniApp(String appId);
-
-    List<JSONObject> getAdqAllMiniApp(String appId);
-
-    void getAdqAdIncome(String startDt, String endDt, String appId, Long appletId, Integer page, Integer isLog, Long errId, Integer isSend);
-
-    void getAdqAdPosIncome(String startDt, String endDt, String appId, Long appletId, Integer page, Integer isLog, Long errId, Integer isSend);
-
-    void getAdqAdUnitList(String appId, Long appletId, Integer page);
-
-    void getAdqAdIncomeRate(String appId, Long appletId, String startDate, String endDate);
-
-    void getGameGiftList(String startDt, String endDt, String appId, Long appletId, Integer page, Integer isLog, Long errId, Integer isSend);
-
-    void getGameDiviceSave(String appId, Long appletId, Integer page, Integer isLog, Long errId, Integer isSend);
-
-    void getGameDiviceTransfer(String startDt, String endDt, String appId, Long appletId, Integer page, Integer isLog, Long errId, Integer isSend);
-
-    void queryVPAdFunds(String startDt, String endDt, String appId, Long appletId, String prodKey, Integer page, Integer isLog, Long errId, Integer isSend);
-}

+ 0 - 15
job-adq/src/main/java/cn/com/ctop/job/adq/data/service/IAdqAdminAdvertiserListService.java

@@ -1,15 +0,0 @@
-package cn.com.ctop.job.adq.data.service;
-
-import com.alibaba.fastjson.JSONObject;
-
-import java.util.List;
-
-public interface IAdqAdminAdvertiserListService {
-    void getAdminAdvertiserList(Long advertiserId, String accessToken,Integer cursor);
-
-    void deleteAdvertiserListByAdminId(Long advertiserId);
-
-    void getAgentInfo(Long adminAdvertiserId, Long advertiserId, String accessToken,Integer cursor);
-
-    List<JSONObject> getAdvertiserList();
-}

+ 0 - 17
job-adq/src/main/java/cn/com/ctop/job/adq/data/service/IAdqCreativeReportService.java

@@ -1,17 +0,0 @@
-package cn.com.ctop.job.adq.data.service;
-
-import com.alibaba.fastjson.JSONObject;
-
-import java.util.List;
-
-public interface IAdqCreativeReportService {
-    void getAdqCreativeHour(Long advertiserId, String accessToken, String startDate, String endDate,Integer page,Integer isLog);
-
-    List<JSONObject> getAccountList(Long accountId);
-
-    void getAdqCreativeDaily(Long advertiserId, String accessToken, String date, String date1, Integer page,Integer isLog);
-
-    List<JSONObject> getErrorLogs();
-
-    List<JSONObject> getAccountListByDate(Integer startDate, Integer endDate);
-}

+ 0 - 19
job-adq/src/main/java/cn/com/ctop/job/adq/data/service/IAdqFlowDetailsReportService.java

@@ -1,19 +0,0 @@
-package cn.com.ctop.job.adq.data.service;
-
-import cn.com.ctop.job.adq.data.entity.AdvertiserAccount;
-
-import java.util.List;
-
-/**
- * @author lining
- * @ClassName IAdqFlowDetailsReportService
- * @description: TODO
- * @date 2025年04月21日
- * @version: 1.0
- */
-public interface IAdqFlowDetailsReportService {
-
-    List<AdvertiserAccount> getAdAccount();
-
-    void getAdqFlowDetailsDailyReport(Long advertiserId, String accessToken, String startDate, String endDate, Integer page, Long errorLogId);
-}

+ 0 - 15
job-adq/src/main/java/cn/com/ctop/job/adq/data/service/IAdqRetryReportService.java

@@ -1,15 +0,0 @@
-package cn.com.ctop.job.adq.data.service;
-
-public interface IAdqRetryReportService {
-    void getCreativeHourRetry(Long id, Long advertiserId, String accessToken, String startDate, String endDate, Integer page, Integer isSend);
-
-    void getCreativeDailyRetry(Long id, Long advertiserId, String accessToken, String startDate, String endDate, Integer page,Integer isSend);
-
-    void getAccountHourRetry(Long id, Long advertiserId, String accessToken, String startDate, String endDate, Integer page,Integer isSend);
-
-    void getAccountDailyRetry(Long id, Long advertiserId, String accessToken, String startDate, String endDate, Integer page,Integer isSend);
-
-    void updateAdqAccountStatus();
-
-    void updateClAccountStatus();
-}

+ 0 - 6
job-adq/src/main/java/cn/com/ctop/job/adq/data/service/IDailyBalanceReportService.java

@@ -1,6 +0,0 @@
-package cn.com.ctop.job.adq.data.service;
-
-public interface IDailyBalanceReportService {
-    void getAdqBalanceReport(Long advertiserId, String accessToken, String startDate, String endDate, Integer page, Long errorId) throws InterruptedException;
-
-}

+ 0 - 747
job-adq/src/main/java/cn/com/ctop/job/adq/data/service/impl/AdqAdIncomeServiceImpl.java

@@ -1,747 +0,0 @@
-package cn.com.ctop.job.adq.data.service.impl;
-
-import cn.com.ctop.job.adq.data.entity.AdqErrorLog;
-import cn.com.ctop.job.adq.data.entity.AdqPublisherAdunitGeneral;
-import cn.com.ctop.job.adq.data.mapper.AdqAdIncomeMapper;
-import cn.com.ctop.job.adq.data.mapper.AdqErrorLogMapper;
-import cn.com.ctop.job.adq.data.service.IAdqAdIncomeService;
-import cn.com.ctop.job.adq.data.utils.AlertUtils;
-import cn.com.ctop.job.adq.data.utils.Check;
-import cn.com.ctop.job.adq.data.utils.DateUtils;
-import cn.com.ctop.job.adq.data.utils.HttpUtils;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.google.gson.Gson;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import javax.crypto.Mac;
-import javax.crypto.spec.SecretKeySpec;
-import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-
-@Service
-@Slf4j
-public class AdqAdIncomeServiceImpl implements IAdqAdIncomeService {
-    @Resource
-    private RedisTemplate redis2Template_db5;
-    @Resource
-    private AdqAdIncomeMapper adqAdIncomeMapper;
-    @Autowired
-    private AdqErrorLogMapper adqErrorLogMapper;
-
-    private static final Map<String, String> adSlotMap = new HashMap<String, String>() {{
-        put("SLOT_ID_BIZ_BOTTOM", "公众号底部广告");
-        put("SLOT_ID_BIZ_MID_CONTEXT", "公众号文中广告");
-        put("SLOT_ID_BIZ_VIDEO_END", "公众号视频后贴");
-        put("SLOT_ID_BIZ_SPONSOR", "公众号互选广告");
-        put("SLOT_ID_BIZ_CPS", "公众号返佣商品");
-        put("SLOT_ID_WEAPP_BANNER", "小程序banner");
-        put("SLOT_ID_WEAPP_REWARD_VIDEO", "小程序激励视频");
-        put("SLOT_ID_WEAPP_INTERSTITIAL", "小程序插屏广告");
-        put("SLOT_ID_WEAPP_VIDEO_FEEDS", "小程序视频广告");
-        put("SLOT_ID_WEAPP_VIDEO_BEGIN", "小程序视频前贴");
-        put("SLOT_ID_WEAPP_BOX", "小程序格子广告");
-        put("SLOT_ID_WEAPP_TEMPLATE", "小程序原生模板广告");
-        put("SLOT_ID_WEAPP_COVER", "封面广告");
-    }};
-
-    public List<JSONObject> getAdqAdIncomeRetryJob() {
-        return adqAdIncomeMapper.queryAdqAdIncomeRetryJob();
-    }
-
-    public List<JSONObject> getAdqIaaMiniApp(String appId) {
-        return adqAdIncomeMapper.queryAdqIaaMiniApp(appId);
-    }
-
-    public List<JSONObject> getAdqAllMiniApp(String appId) {
-        return adqAdIncomeMapper.queryAdqAllMiniApp(appId);
-    }
-
-    public void getAdqAdIncome(String startDt, String endDt, String appId, Long appletId, Integer page, Integer isLog, Long errId, Integer isSend) {
-        if (page == 1) {
-            getAdqAdIncomeCover(startDt, endDt, appId, appletId, page, isLog, errId, isSend);
-        }
-        try {
-            String url = "https://api.weixin.qq.com/publisher/stat";
-            Object tokenObj = redis2Template_db5.opsForValue().get("wechat-applet-access-token-key-" + appletId);
-            if (tokenObj == null) {
-                log.error("微小广告细分数据拉取获取token为空 [{}] {}~{} {}", appId, startDt, endDt, appletId);
-                return;
-            }
-            int pageSize = 90;
-            Map<String, Object> paramsMap = new HashMap<>();
-            paramsMap.put("access_token", tokenObj.toString());
-            paramsMap.put("action", "publisher_adunit_general");
-            paramsMap.put("page", page);
-            paramsMap.put("page_size", pageSize);
-            paramsMap.put("start_date", startDt);
-            paramsMap.put("end_date", endDt);
-            String s = HttpUtils.httpGet(url, paramsMap, null);
-            JSONObject jsonObject = JSONObject.parseObject(s);
-            List<AdqPublisherAdunitGeneral> reports = new ArrayList<>();
-            int totalPage = 1;
-            if (!Check.isNull(jsonObject)) {
-                Integer code = jsonObject.getInteger("ret");
-                if (code == 2009) {
-                    return; //无效的流量主
-                }
-                if (code == 0) {
-                    JSONArray list = jsonObject.getJSONArray("list");
-                    Integer totalNum = jsonObject.getInteger("total_num");
-                    totalPage = (int) Math.ceil(totalNum * 1.0 / pageSize);
-                    if (!Check.isNull(list)) {
-                        for (int i = 0; i < list.size(); i++) {
-                            JSONObject dataJson = list.getJSONObject(i);
-                            JSONObject statItem = dataJson.getJSONObject("stat_item");
-                            statItem.put("ad_unit_id", dataJson.getString("ad_unit_id"));
-                            statItem.put("ad_unit_name", dataJson.getString("ad_unit_name"));
-                            AdqPublisherAdunitGeneral report = JSONObject.parseObject(statItem.toJSONString(), AdqPublisherAdunitGeneral.class);
-                            report.setAppId(appId);
-                            report.setStatDate(Integer.valueOf(report.getDate().replace("-", "")));
-                            report.setAdSlotName(adSlotMap.get(report.getAdSlot()));
-                            //System.out.println(report);
-                            reports.add(report);
-                        }
-                    }
-
-                } else {
-                    log.error("微小广告细分数据拉取失败,app_id:{} {}~{},返回信息:{}", appId, startDt, endDt, jsonObject);
-                    insertErrorLog(isLog, System.currentTimeMillis(), "adq_ma_ad_income", startDt, endDt,
-                            jsonObject.fluentPut("app_id", appId).fluentPut("applet_id", appletId).toJSONString());
-                }
-            } else {
-                log.error("微小广告细分数据拉取失败,app_id:{} {}~{},返回为空。", appId, startDt, endDt);
-                insertErrorLog(isLog, System.currentTimeMillis(), "adq_ma_ad_income", startDt, endDt,
-                        new JSONObject().fluentPut("app_id", appId).fluentPut("applet_id", appletId).fluentPut("msg", "返回为空").toJSONString());
-            }
-            if (!Check.isNull(reports)) {
-                adqAdIncomeMapper.insertAdqAdIncome(reports);
-                //adqAdIncomeMapper.insertAdqAdIncomeSD(reports);
-            }
-
-            if (totalPage > page) {
-                getAdqAdIncome(startDt, endDt, appId, appletId, page + 1, isLog, errId, isSend);
-            } else {
-                log.info("微小广告细分数据拉取完成,app_id:{} {}~{} page:{}。", appId, startDt, endDt, page);
-                if (errId != null) {
-                    adqErrorLogMapper.deleteInfoByErrorId(errId);
-                }
-                if (isSend != null && isSend == 1) {
-                    AlertUtils.sendMessage(System.currentTimeMillis(), startDt, endDt, 3, "daily", 1, "adq_ma_ad_income");
-                }
-            }
-        } catch (Exception e) {
-            log.error("微小广告细分数据拉取失败,app_id:{} {}~{}。", appId, startDt, endDt, e);
-        }
-    }
-
-    private void getAdqAdIncomeCover(String startDt, String endDt, String appId, Long appletId, Integer page, Integer isLog, Long errId, Integer isSend) {
-        try {
-            String url = "https://api.weixin.qq.com/publisher/stat";
-            Object tokenObj = redis2Template_db5.opsForValue().get("wechat-applet-access-token-key-" + appletId);
-            if (tokenObj == null) {
-                log.error("微小广告封面广告数据拉取获取token为空 [{}] {}~{} {}", appId, startDt, endDt, appletId);
-                return;
-            }
-            int pageSize = 90;
-            Map<String, Object> paramsMap = new HashMap<>();
-            paramsMap.put("access_token", tokenObj.toString());
-            paramsMap.put("action", "publisher_adpos_general");
-            paramsMap.put("ad_slot", "SLOT_ID_WEAPP_COVER");
-            paramsMap.put("page", page);
-            paramsMap.put("page_size", pageSize);
-            paramsMap.put("start_date", startDt);
-            paramsMap.put("end_date", endDt);
-            String s = HttpUtils.httpGet(url, paramsMap, null);
-            JSONObject jsonObject = JSONObject.parseObject(s);
-            List<AdqPublisherAdunitGeneral> reports = new ArrayList<>();
-            int totalPage = 1;
-            if (!Check.isNull(jsonObject)) {
-                Integer code = jsonObject.getInteger("ret");
-                JSONObject baseResp = jsonObject.getJSONObject("base_resp");
-                if (baseResp != null) {
-                    code = baseResp.getInteger("ret");
-                }
-                if (code == 2009) {
-                    return; //无效的流量主
-                }
-                if (code == 0) {
-                    JSONArray list = jsonObject.getJSONArray("list");
-                    Integer totalNum = jsonObject.getInteger("total_num");
-                    totalPage = (int) Math.ceil(totalNum * 1.0 / pageSize);
-                    if (!Check.isNull(list)) {
-                        for (int i = 0; i < list.size(); i++) {
-                            JSONObject dataJson = list.getJSONObject(i);
-                            dataJson.put("ad_unit_id", "SLOT_ID_WEAPP_COVER");
-                            dataJson.put("ad_unit_name", "封面广告");
-                            AdqPublisherAdunitGeneral report = JSONObject.parseObject(dataJson.toJSONString(), AdqPublisherAdunitGeneral.class);
-                            report.setAppId(appId);
-                            report.setStatDate(Integer.valueOf(report.getDate().replace("-", "")));
-                            report.setAdSlotName(adSlotMap.get(report.getAdSlot()));
-                            //System.out.println(report);
-                            reports.add(report);
-                        }
-                    }
-
-                } else {
-                    log.error("微小广告封面广告数据拉取失败,app_id:{} {}~{},返回信息:{}", appId, startDt, endDt, jsonObject);
-                    insertErrorLog(isLog, System.currentTimeMillis(), "adq_ma_ad_income", startDt, endDt,
-                            jsonObject.fluentPut("app_id", appId).fluentPut("applet_id", appletId).toJSONString());
-                }
-            } else {
-                log.error("微小广告封面广告数据拉取失败,app_id:{} {}~{},返回为空。", appId, startDt, endDt);
-                insertErrorLog(isLog, System.currentTimeMillis(), "adq_ma_ad_income", startDt, endDt,
-                        new JSONObject().fluentPut("app_id", appId).fluentPut("applet_id", appletId).fluentPut("msg", "返回为空").toJSONString());
-            }
-            if (!Check.isNull(reports)) {
-                adqAdIncomeMapper.insertAdqAdIncome(reports);
-                //adqAdIncomeMapper.insertAdqAdIncomeSD(reports);
-            }
-
-            if (totalPage > page) {
-                getAdqAdIncomeCover(startDt, endDt, appId, appletId, page + 1, isLog, errId, isSend);
-            } else {
-                log.info("微小广告封面广告数据拉取完成,app_id:{} {}~{} page:{}。", appId, startDt, endDt, page);
-                if (errId != null) {
-                    adqErrorLogMapper.deleteInfoByErrorId(errId);
-                }
-                if (isSend != null && isSend == 1) {
-                    AlertUtils.sendMessage(System.currentTimeMillis(), startDt, endDt, 3, "daily", 1, "adq_ma_ad_income");
-                }
-            }
-        } catch (Exception e) {
-            log.error("微小广告封面广告数据拉取失败,app_id:{} {}~{}。", appId, startDt, endDt, e);
-        }
-    }
-
-    //获取小程序广告汇总数据
-    public void getAdqAdPosIncome(String startDt, String endDt, String appId, Long appletId, Integer page, Integer isLog, Long errId, Integer isSend) {
-        try {
-            String url = "https://api.weixin.qq.com/publisher/stat";
-            Object tokenObj = redis2Template_db5.opsForValue().get("wechat-applet-access-token-key-" + appletId);
-            if (tokenObj == null) {
-                log.error("微小获取小程序广告汇总数据获取token为空 [{}] {}~{} {}", appId, startDt, endDt, appletId);
-                return;
-            }
-            int pageSize = 90;
-            Map<String, Object> paramsMap = new HashMap<>();
-            paramsMap.put("access_token", tokenObj.toString());
-            paramsMap.put("action", "publisher_adpos_general");
-            paramsMap.put("page", page);
-            paramsMap.put("page_size", pageSize);
-            paramsMap.put("start_date", startDt);
-            paramsMap.put("end_date", endDt);
-            String s = HttpUtils.httpGet(url, paramsMap, null);
-            JSONObject jsonObject = JSONObject.parseObject(s);
-            List<JSONObject> reports = new ArrayList<>();
-            int totalPage = 1;
-            if (!Check.isNull(jsonObject)) {
-                Integer code = jsonObject.getInteger("ret");
-                JSONObject baseResp = jsonObject.getJSONObject("base_resp");
-                if (baseResp != null) {
-                    code = baseResp.getInteger("ret");
-                }
-                if (code == 2009) {
-                    return; //无效的流量主
-                }
-                if (code == 0) {
-                    JSONArray list = jsonObject.getJSONArray("list");
-                    Integer totalNum = jsonObject.getInteger("total_num");
-                    totalPage = (int) Math.ceil(totalNum * 1.0 / pageSize);
-                    if (!Check.isNull(list)) {
-                        for (int i = 0; i < list.size(); i++) {
-                            JSONObject dataJson = list.getJSONObject(i);
-                            dataJson.put("app_id", appId);
-                            dataJson.put("ad_slot_name", adSlotMap.get(dataJson.getString("ad_slot")));
-                            dataJson.put("stat_date", dataJson.getString("date").replace("-", ""));
-                            reports.add(dataJson);
-                        }
-                    }
-
-                } else {
-                    log.error("微小获取小程序广告汇总数据失败,app_id:{} {}~{},返回信息:{}", appId, startDt, endDt, jsonObject);
-                    insertErrorLog(isLog, System.currentTimeMillis(), "adq_publisher_adpos_general", startDt, endDt,
-                            jsonObject.fluentPut("app_id", appId).fluentPut("applet_id", appletId).toJSONString());
-                }
-            } else {
-                log.error("微小获取小程序广告汇总数据失败,app_id:{} {}~{},返回为空。", appId, startDt, endDt);
-                insertErrorLog(isLog, System.currentTimeMillis(), "adq_publisher_adpos_general", startDt, endDt,
-                        new JSONObject().fluentPut("app_id", appId).fluentPut("applet_id", appletId).fluentPut("msg", "返回为空").toJSONString());
-            }
-            if (!Check.isNull(reports)) {
-                adqAdIncomeMapper.insertAdqAdPosIncome(reports);
-            }
-
-            if (totalPage > page) {
-                getAdqAdPosIncome(startDt, endDt, appId, appletId, page + 1, isLog, errId, isSend);
-            } else {
-                log.info("微小获取小程序广告汇总数据完成,app_id:{} {}~{} page:{}。", appId, startDt, endDt, page);
-                if (errId != null) {
-                    adqErrorLogMapper.deleteInfoByErrorId(errId);
-                }
-                if (isSend != null && isSend == 1) {
-                    AlertUtils.sendMessage(System.currentTimeMillis(), startDt, endDt, 3, "daily", 1, "adq_ma_ad_income");
-                }
-            }
-        } catch (Exception e) {
-            log.error("微小获取小程序广告汇总数据失败,app_id:{} {}~{}。", appId, startDt, endDt, e);
-        }
-    }
-
-    private void insertErrorLog(Integer isLog, Long advertiserId, String dataDimension, String startDate, String endDate, String msg) {
-        if (isLog != null && isLog == 1) {
-            AdqErrorLog errorInfo = new AdqErrorLog();
-            errorInfo.setAdvertiserId(advertiserId);
-            errorInfo.setStartDate(startDate);
-            errorInfo.setEndDate(endDate);
-            errorInfo.setDataDimension(dataDimension);
-            errorInfo.setDataType("daily");
-            errorInfo.setMsg(msg);
-            adqErrorLogMapper.replaceErrorInfo(errorInfo);
-        }
-    }
-
-    public void getAdqAdUnitList(String appId, Long appletId, Integer page) {
-        try {
-            String url = "https://api.weixin.qq.com/publisher/stat";
-            Object tokenObj = redis2Template_db5.opsForValue().get("wechat-applet-access-token-key-" + appletId);
-            if (tokenObj == null) {
-                log.error("微小获取小程序广告位清单拉取获取token为空 {} {}", appId, appletId);
-                return;
-            }
-            int pageSize = 100;
-            Map<String, Object> paramsMap = new HashMap<>();
-            paramsMap.put("access_token", tokenObj.toString());
-            paramsMap.put("action", "get_adunit_list");
-            paramsMap.put("page", page);
-            paramsMap.put("page_size", pageSize);
-            String s = HttpUtils.httpGet(url, paramsMap, null);
-            JSONObject jsonObject = JSONObject.parseObject(s);
-            int totalPage = 1;
-            if (!Check.isNull(jsonObject)) {
-                Integer code = jsonObject.getInteger("ret");
-                if (code == 2009) {
-                    return; //无效的流量主
-                }
-                if (code == 0) {
-                    JSONArray list = jsonObject.getJSONArray("ad_unit");
-                    Integer totalNum = jsonObject.getInteger("total_num");
-                    totalPage = (int) Math.ceil(totalNum * 1.0 / pageSize);
-                    if (!Check.isNull(list)) {
-                        for (int i = 0; i < list.size(); i++) {
-                            JSONObject adUnitJson = list.getJSONObject(i);
-                            adUnitJson.put("ad_unit_size", adUnitJson.getString("ad_unit_size"));
-                            adUnitJson.put("templ_type_list", adUnitJson.getString("templ_type_list"));
-                            adUnitJson.put("app_id", appId);
-                            adUnitJson.put("ad_slot_name", adSlotMap.get(adUnitJson.getString("ad_slot")));
-                        }
-                        adqAdIncomeMapper.insertAdUnitList(list);
-                    }
-                } else {
-                    log.error("微小获取小程序广告位清单拉取失败,app_id:{} ,返回信息:{}", appId, jsonObject);
-                }
-            } else {
-                log.error("微小获取小程序广告位清单拉取失败,app_id:{} ,返回为空。", appId);
-            }
-
-            if (totalPage > page) {
-                getAdqAdUnitList(appId, appletId, page + 1);
-            } else {
-                log.info("微小获取小程序广告位清单拉取完成,app_id:{} page:{}。", appId, page);
-            }
-        } catch (Exception e) {
-            log.error("微小获取小程序广告位清单拉取失败,app_id:{}。", appId, e);
-        }
-    }
-
-    public void getAdqAdIncomeRate(String appId, Long appletId, String startDate, String endDate) {
-        try {
-            Object tokenObj = redis2Template_db5.opsForValue().get("wechat-applet-access-token-key-" + appletId);
-            if (tokenObj == null) {
-                log.error("微小广告分成比例获取token为空 {} {}", appId, appletId);
-                return;
-            }
-            String url = "https://api.weixin.qq.com/wedata/wedata_get_data?access_token=" + tokenObj;
-            Map<String, Object> paramsMap = new HashMap<>();
-            paramsMap.put("chart_id", "1001001002");
-            paramsMap.put("target_id", "");
-            paramsMap.put("begin_date", startDate.replace("-", ""));
-            paramsMap.put("end_date", endDate.replace("-", ""));
-            paramsMap.put("time_unit", 0);
-            String s = HttpUtils.httpPostRequest(url, paramsMap, null);
-            JSONObject jsonObject = JSONObject.parseObject(s);
-            JSONArray results = new JSONArray();
-            if (!Check.isNull(jsonObject)) {
-                Integer code = jsonObject.getInteger("errcode");
-                if (code == 0) {
-                    JSONArray list = jsonObject.getJSONArray("chart_result");
-                    if (!Check.isNull(list)) {
-                        JSONArray chartData = list.getJSONObject(0).getJSONArray("chart_data");
-                        for (int i = 0; i < chartData.size(); i++) {
-                            JSONObject chartJson = chartData.getJSONObject(i);
-                            JSONArray value = chartJson.getJSONArray("value");
-                            if (!Check.isNull(value)) {
-                                JSONObject result = new JSONObject();
-                                result.put("stat_date", value.getInteger(0));
-                                result.put("app_id", appId);
-                                result.put("share_rate", value.getDoubleValue(1));
-                                result.put("ad_give_rate", value.getDoubleValue(2));
-                                results.add(result);
-                            }
-                        }
-
-                    }
-                } else {
-                    log.error("微小广告分成比例拉取失败,app_id:{} ,返回信息:{}", appId, jsonObject);
-                }
-            } else {
-                log.error("微小广告分成比例拉取失败,app_id:{} ,返回为空。", appId);
-            }
-            if (!Check.isNull(results)) {
-                adqAdIncomeMapper.insertAdIncomeRate(results);
-            }
-            log.info("微小广告分成比例拉取完成,app_id:{} {}~{}", appId, startDate, endDate);
-        } catch (Exception e) {
-            log.error("微小广告分成比例拉取失败,app_id:{}。", appId, e);
-        }
-    }
-
-    /*
-    查询流量主每日广告金收入
-    https://developers.weixin.qq.com/minigame/dev/guide/open-ability/ad/adq.html#_1%E3%80%81%E6%9F%A5%E8%AF%A2%E6%B5%81%E9%87%8F%E4%B8%BB%E6%AF%8F%E6%97%A5%E5%B9%BF%E5%91%8A%E9%87%91%E6%94%B6%E5%85%A5
-     */
-    public void getGameGiftList(String startDt, String endDt, String appId, Long appletId, Integer page, Integer isLog, Long errId, Integer isSend) {
-        try {
-            String url = "https://api.weixin.qq.com/publisher/stat";
-            Object tokenObj = redis2Template_db5.opsForValue().get("wechat-applet-access-token-key-" + appletId);
-            if (tokenObj == null) {
-                log.error("微小查询流量主每日广告金收入获取token为空 [{}] {}~{} {}", appId, startDt, endDt, appletId);
-                return;
-            }
-            int pageSize = 500;
-            Map<String, Object> paramsMap = new HashMap<>();
-            paramsMap.put("access_token", tokenObj.toString());
-            paramsMap.put("action", "general_action");
-            paramsMap.put("cmd", "get_game_gift_list");
-            paramsMap.put("ad_fund_type", "drama");
-            paramsMap.put("page", page);
-            paramsMap.put("page_size", pageSize);
-            paramsMap.put("begin_date", startDt.replace("-", ""));
-            paramsMap.put("end_date", endDt.replace("-", ""));
-            String s = HttpUtils.httpGet(url, paramsMap, null);
-            JSONObject jsonObject = JSONObject.parseObject(s);
-            int totalPage = 1;
-            ArrayList<JSONObject> reports = new ArrayList<>();
-            if (!Check.isNull(jsonObject)) {
-                Integer code = jsonObject.getInteger("ret");
-                JSONObject baseResp = jsonObject.getJSONObject("base_resp");
-                if (baseResp != null) {
-                    code = baseResp.getInteger("ret");
-                }
-                if (2009 == code) {
-                    return; //无效的流量主
-                }
-                if (code == 0) {
-                    JSONArray list = jsonObject.getJSONArray("game_gift_detail");
-                    Integer totalNum = jsonObject.getInteger("total_num");
-                    totalPage = (int) Math.ceil(totalNum * 1.0 / pageSize);
-                    if (!Check.isNull(list)) {
-                        for (int i = 0; i < list.size(); i++) {
-                            JSONObject dataJson = list.getJSONObject(i);
-                            dataJson.put("stat_date", dataJson.getString("date").replace("-", ""));
-                            dataJson.put("app_id", appId);
-                            reports.add(dataJson);
-                        }
-                    }
-                } else {
-                    log.error("微小查询流量主每日广告金收入拉取失败,app_id:{} {}~{},返回信息:{}", appId, startDt, endDt, jsonObject);
-                    insertErrorLog(isLog, System.currentTimeMillis(), "adq_ma_game_gift_list", startDt, endDt,
-                            jsonObject.fluentPut("app_id", appId).fluentPut("applet_id", appletId).toJSONString());
-                }
-            } else {
-                log.error("微小查询流量主每日广告金收入拉取失败,app_id:{} {}~{},返回为空。", appId, startDt, endDt);
-                insertErrorLog(isLog, System.currentTimeMillis(), "adq_ma_game_gift_list", startDt, endDt,
-                        new JSONObject().fluentPut("app_id", appId).fluentPut("applet_id", appletId).fluentPut("msg", "返回为空").toJSONString());
-            }
-            if (!Check.isNull(reports)) {
-                adqAdIncomeMapper.insertAdqGameGiftList(reports);
-            }
-
-            if (totalPage > page) {
-                getGameGiftList(startDt, endDt, appId, appletId, page + 1, isLog, errId, isSend);
-            } else {
-                log.info("微小查询流量主每日广告金收入拉取完成,app_id:{} {}~{} page:{}。", appId, startDt, endDt, page);
-                if (errId != null) {
-                    adqErrorLogMapper.deleteInfoByErrorId(errId);
-                }
-                if (isSend != null && isSend == 1) {
-                    AlertUtils.sendMessage(System.currentTimeMillis(), startDt, endDt, 3, "daily", 1, "adq_ma_game_gift_list");
-                }
-            }
-        } catch (Exception e) {
-            log.error("微小查询流量主每日广告金收入拉取失败,app_id:{} {}~{}。", appId, startDt, endDt, e);
-        }
-    }
-
-    /*
-    查询流量主广告金账户余额
-    https://developers.weixin.qq.com/minigame/dev/guide/open-ability/ad/adq.html#_1%E3%80%81%E6%9F%A5%E8%AF%A2%E6%B5%81%E9%87%8F%E4%B8%BB%E6%AF%8F%E6%97%A5%E5%B9%BF%E5%91%8A%E9%87%91%E6%94%B6%E5%85%A5
-     */
-    public void getGameDiviceSave(String appId, Long appletId, Integer page, Integer isLog, Long errId, Integer isSend) {
-        try {
-            String url = "https://api.weixin.qq.com/publisher/stat";
-            Object tokenObj = redis2Template_db5.opsForValue().get("wechat-applet-access-token-key-" + appletId);
-            if (tokenObj == null) {
-                log.error("查询流量主广告金账户余额获取token为空 [{}]{}", appId, appletId);
-                return;
-            }
-            int pageSize = 500;
-            Map<String, Object> paramsMap = new HashMap<>();
-            paramsMap.put("access_token", tokenObj.toString());
-            paramsMap.put("action", "general_action");
-            paramsMap.put("cmd", "get_game_divice_save");
-            paramsMap.put("ad_fund_type", "drama");
-            paramsMap.put("sub_account", "GAME_DEVIDE");
-            paramsMap.put("page", page);
-            paramsMap.put("page_size", pageSize);
-            String s = HttpUtils.httpGet(url, paramsMap, null);
-            JSONObject jsonObject = JSONObject.parseObject(s);
-            int totalPage = 1;
-            ArrayList<JSONObject> reports = new ArrayList<>();
-            ArrayList<JSONObject> reportsDaily = new ArrayList<>();
-            if (!Check.isNull(jsonObject)) {
-                Integer code = jsonObject.getInteger("ret");
-                JSONObject baseResp = jsonObject.getJSONObject("base_resp");
-                if (baseResp != null) {
-                    code = baseResp.getInteger("ret");
-                }
-                if (2009 == code) {
-                    return; //无效的流量主
-                }
-                if (code == 0) {
-                    Long expireBalance = jsonObject.getLong("expire_balance");
-                    String expireTime = jsonObject.getString("expire_time");
-                    Long totalBalance = jsonObject.getLong("total_balance");
-                    reports.add(new JSONObject()
-                            .fluentPut("stat_date", DateUtils.getNowDate("yyyyMMdd"))
-                            .fluentPut("app_id", appId)
-                            .fluentPut("expire_balance", expireBalance)
-                            .fluentPut("expire_time", expireTime)
-                            .fluentPut("total_balance", totalBalance));
-
-                    JSONArray list = jsonObject.getJSONArray("game_save_detail");
-                    Integer totalNum = jsonObject.getInteger("total_num");
-                    totalPage = (int) Math.ceil(totalNum * 1.0 / pageSize);
-                    if (!Check.isNull(list)) {
-                        for (int i = 0; i < list.size(); i++) {
-                            JSONObject dataJson = list.getJSONObject(i);
-                            JSONObject report = new JSONObject();
-                            report.put("stat_date", DateUtils.dateFormatTransform(dataJson.getString("date"), "yyyy年MM月dd日", "yyyyMMdd"));
-                            report.put("app_id", appId);
-                            report.put("game_save_detail_amt", dataJson.getLong("amt"));
-                            report.put("game_save_detail_expire_time", dataJson.getString("expire_time"));
-                            report.put("game_save_detail_sett_idx", dataJson.getLong("sett_idx"));
-                            reportsDaily.add(report);
-                        }
-                    }
-                } else {
-                    log.error("查询流量主广告金账户余额拉取失败,app_id:{},返回信息:{}", appId, jsonObject);
-                    insertErrorLog(isLog, System.currentTimeMillis(), "adq_ma_game_divice_save", "-", "-",
-                            jsonObject.fluentPut("app_id", appId).fluentPut("applet_id", appletId).toJSONString());
-                }
-            } else {
-                log.error("查询流量主广告金账户余额拉取失败,app_id:{},返回为空。", appId);
-                insertErrorLog(isLog, System.currentTimeMillis(), "adq_ma_game_divice_save", "-", "-",
-                        new JSONObject().fluentPut("app_id", appId).fluentPut("applet_id", appletId).fluentPut("msg", "返回为空").toJSONString());
-            }
-            if (!Check.isNull(reports)) {
-                adqAdIncomeMapper.insertAdqGameDiviceSave(reports);
-            }
-            if (!Check.isNull(reportsDaily)) {
-                adqAdIncomeMapper.insertAdqGameDiviceSaveDetail(reportsDaily);
-            }
-            if (totalPage > page) {
-                getGameDiviceSave(appId, appletId, page + 1, isLog, errId, isSend);
-            } else {
-                log.info("查询流量主广告金账户余额拉取完成,app_id:{} page:{}。", appId, page);
-                if (errId != null) {
-                    adqErrorLogMapper.deleteInfoByErrorId(errId);
-                }
-                if (isSend != null && isSend == 1) {
-                    AlertUtils.sendMessage(System.currentTimeMillis(), "-", "-", 3, "daily", 1, "adq_ma_game_divice_save");
-                }
-            }
-        } catch (Exception e) {
-            log.error("查询流量主广告金账户余额拉取失败,app_id:{}。", appId, e);
-        }
-    }
-
-    /*
-    查询流量主广告金消耗记录
-    https://developers.weixin.qq.com/minigame/dev/guide/open-ability/ad/adq.html#_1%E3%80%81%E6%9F%A5%E8%AF%A2%E6%B5%81%E9%87%8F%E4%B8%BB%E6%AF%8F%E6%97%A5%E5%B9%BF%E5%91%8A%E9%87%91%E6%94%B6%E5%85%A5
-     */
-    public void getGameDiviceTransfer(String startDt, String endDt, String appId, Long appletId, Integer page, Integer isLog, Long errId, Integer isSend) {
-        try {
-            String url = "https://api.weixin.qq.com/publisher/stat";
-            Object tokenObj = redis2Template_db5.opsForValue().get("wechat-applet-access-token-key-" + appletId);
-            if (tokenObj == null) {
-                log.error("微小查询流量主广告金消耗记录获取token为空 [{}] {}~{} {}", appId, startDt, endDt, appletId);
-                return;
-            }
-            int pageSize = 500;
-            Map<String, Object> paramsMap = new HashMap<>();
-            paramsMap.put("access_token", tokenObj.toString());
-            paramsMap.put("action", "general_action");
-            paramsMap.put("cmd", "get_game_divice_transfer");
-            paramsMap.put("ad_fund_type", "drama");
-            paramsMap.put("page", page);
-            paramsMap.put("page_size", pageSize);
-            paramsMap.put("begin_date", DateUtils.getTimestampFormat("yyyy-MM-dd HH:mm:ss", startDt + " 00:00:00"));
-            paramsMap.put("end_date", DateUtils.getTimestampFormat("yyyy-MM-dd HH:mm:ss", endDt + " 23:59:59"));
-            String s = HttpUtils.httpGet(url, paramsMap, null);
-            JSONObject jsonObject = JSONObject.parseObject(s);
-            int totalPage = 1;
-            ArrayList<JSONObject> reports = new ArrayList<>();
-            if (!Check.isNull(jsonObject)) {
-                Integer code = jsonObject.getInteger("ret");
-                JSONObject baseResp = jsonObject.getJSONObject("base_resp");
-                if (baseResp != null) {
-                    code = baseResp.getInteger("ret");
-                }
-                if (2009 == code) {
-                    return; //无效的流量主
-                }
-                if (code == 0) {
-                    JSONArray list = jsonObject.getJSONArray("game_transfer_detail");
-                    Integer totalNum = jsonObject.getInteger("total_num");
-                    totalPage = (int) Math.ceil(totalNum * 1.0 / pageSize);
-                    if (!Check.isNull(list)) {
-                        for (int i = 0; i < list.size(); i++) {
-                            JSONObject dataJson = list.getJSONObject(i);
-                            dataJson.put("stat_date", dataJson.getString("date").replace("-", ""));
-                            dataJson.put("app_id", appId);
-                            reports.add(dataJson);
-                        }
-                    }
-                } else {
-                    log.error("微小查询流量主广告金消耗记录拉取失败,app_id:{} {}~{},返回信息:{}", appId, startDt, endDt, jsonObject);
-                    insertErrorLog(isLog, System.currentTimeMillis(), "adq_ma_game_divice_transfer", startDt, endDt,
-                            jsonObject.fluentPut("app_id", appId).fluentPut("applet_id", appletId).toJSONString());
-                }
-            } else {
-                log.error("微小查询流量主广告金消耗记录拉取失败,app_id:{} {}~{},返回为空。", appId, startDt, endDt);
-                insertErrorLog(isLog, System.currentTimeMillis(), "adq_ma_game_divice_transfer", startDt, endDt,
-                        new JSONObject().fluentPut("app_id", appId).fluentPut("applet_id", appletId).fluentPut("msg", "返回为空").toJSONString());
-            }
-            if (!Check.isNull(reports)) {
-                adqAdIncomeMapper.insertAdqGameDiviceTransfer(reports);
-            }
-
-            if (totalPage > page) {
-                getGameDiviceTransfer(startDt, endDt, appId, appletId, page + 1, isLog, errId, isSend);
-            } else {
-                log.info("微小查询流量主广告金消耗记录拉取完成,app_id:{} {}~{} page:{}。", appId, startDt, endDt, page);
-                if (errId != null) {
-                    adqErrorLogMapper.deleteInfoByErrorId(errId);
-                }
-                if (isSend != null && isSend == 1) {
-                    AlertUtils.sendMessage(System.currentTimeMillis(), startDt, endDt, 3, "daily", 1, "adq_ma_game_divice_transfer");
-                }
-            }
-        } catch (Exception e) {
-            log.error("微小查询流量主广告金消耗记录拉取失败,app_id:{} {}~{}。", appId, startDt, endDt, e);
-        }
-    }
-
-    /*
-    query_adver_funds  虚拟支付查询广告金发放记录
-    https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/virtual-payment.html#_1-1-%E5%BC%80%E9%80%9A%E6%9D%A1%E4%BB%B6
-     */
-    public void queryVPAdFunds(String startDt, String endDt, String appId, Long appletId, String prodKey, Integer page, Integer isLog, Long errId, Integer isSend) {
-        try {
-            Object tokenObj = redis2Template_db5.opsForValue().get("wechat-applet-access-token-key-" + appletId);
-            if (tokenObj == null) {
-                log.error("虚拟支付查询广告金发放记录获取token为空 [{}] {}~{} {}", appId, startDt, endDt, appletId);
-                return;
-            }
-            int pageSize = 500;
-            Map<String, Object> paramsMap = new HashMap<>();
-            paramsMap.put("page", page);
-            paramsMap.put("page_size", pageSize);
-            paramsMap.put("env", 0);
-            HashMap<String, Object> filter = new HashMap<>();
-            filter.put("settle_begin", DateUtils.getTimestampFormat("yyyy-MM-dd HH:mm:ss", startDt + " 00:00:00"));
-            filter.put("settle_end", DateUtils.getTimestampFormat("yyyy-MM-dd HH:mm:ss", endDt + " 23:59:59"));
-            paramsMap.put("filter", filter);
-            String paySig = getWxPaySig("/xpay/query_adver_funds", paramsMap, prodKey);
-            String url = String.format("https://api.weixin.qq.com/xpay/query_adver_funds?access_token=%s&pay_sig=%s", tokenObj, paySig);
-            String s = HttpUtils.httpPostRequest(url, paramsMap, null);
-            JSONObject jsonObject = JSONObject.parseObject(s);
-            int totalPage = 1;
-            ArrayList<JSONObject> reports = new ArrayList<>();
-            if (!Check.isNull(jsonObject)) {
-                Integer code = jsonObject.getInteger("errcode");
-                totalPage = jsonObject.getInteger("total_page");
-                if (code == 0) {
-                    JSONArray list = jsonObject.getJSONArray("adver_funds_list");
-                    if (!Check.isNull(list)) {
-                        for (int i = 0; i < list.size(); i++) {
-                            JSONObject dataJson = list.getJSONObject(i);
-                            dataJson.put("app_id", appId);
-                            reports.add(dataJson);
-                        }
-                    }
-                } else {
-                    log.error("虚拟支付查询广告金发放记录失败,app_id:{} {}~{},返回信息:{}", appId, startDt, endDt, jsonObject);
-                    insertErrorLog(isLog, System.currentTimeMillis(), "adq_query_adver_funds", startDt, endDt,
-                            jsonObject.fluentPut("app_id", appId).fluentPut("applet_id", appletId).fluentPut("prod_key", prodKey).toJSONString());
-                }
-            } else {
-                log.error("虚拟支付查询广告金发放记录失败,app_id:{} {}~{},返回为空。", appId, startDt, endDt);
-                insertErrorLog(isLog, System.currentTimeMillis(), "adq_query_adver_funds", startDt, endDt,
-                        new JSONObject().fluentPut("app_id", appId).fluentPut("applet_id", appletId).fluentPut("prod_key", prodKey).fluentPut("msg", "返回为空").toJSONString());
-            }
-            if (!Check.isNull(reports)) {
-                adqAdIncomeMapper.insertVPAdFunds(reports);
-            }
-
-            if (totalPage > page) {
-                queryVPAdFunds(startDt, endDt, appId, appletId, prodKey, page + 1, isLog, errId, isSend);
-            } else {
-                log.info("虚拟支付查询广告金发放记录完成,app_id:{} {}~{} page:{}。", appId, startDt, endDt, page);
-                if (errId != null) {
-                    adqErrorLogMapper.deleteInfoByErrorId(errId);
-                }
-                if (isSend != null && isSend == 1) {
-                    AlertUtils.sendMessage(System.currentTimeMillis(), startDt, endDt, 3, "daily", 1, "adq_query_adver_funds");
-                }
-            }
-        } catch (Exception e) {
-            log.error("虚拟支付查询广告金发放记录失败,app_id:{} {}~{}。", appId, startDt, endDt, e);
-        }
-    }
-
-    private String getWxPaySig(String uri, Map<String, Object> param, String prodKey) throws Exception {
-        String postBody = new Gson().toJson(param);
-        String needSignMsg = uri + "&" + postBody;
-        Mac sha256_HMAC = Mac.getInstance("HmacSHA256");
-        SecretKeySpec secretKey = new SecretKeySpec(prodKey.getBytes(StandardCharsets.UTF_8), "HmacSHA256");
-        sha256_HMAC.init(secretKey);
-        byte[] hashBytes = sha256_HMAC.doFinal(needSignMsg.getBytes(StandardCharsets.UTF_8));
-        StringBuilder hexString = new StringBuilder();
-        for (byte b : hashBytes) {
-            String hex = Integer.toHexString(0xff & b);
-            if (hex.length() == 1) hexString.append('0');
-            hexString.append(hex);
-        }
-        return hexString.toString();
-    }
-}

+ 0 - 147
job-adq/src/main/java/cn/com/ctop/job/adq/data/service/impl/AdqAdminAdvertiserListServiceImpl.java

@@ -1,147 +0,0 @@
-package cn.com.ctop.job.adq.data.service.impl;
-
-import cn.com.ctop.job.adq.data.entity.AdqAdvertiserList;
-import cn.com.ctop.job.adq.data.entity.AdqAgentAdvertiserList;
-import cn.com.ctop.job.adq.data.mapper.AdqAdminAdvertiserListMapper;
-import cn.com.ctop.job.adq.data.service.IAdqAdminAdvertiserListService;
-import cn.com.ctop.job.adq.data.utils.Check;
-import cn.com.ctop.job.adq.data.utils.HttpUtils;
-import cn.com.ctop.job.adq.utils.RandomStringGenerator;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONAware;
-import com.alibaba.fastjson.JSONObject;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.time.Instant;
-import java.util.*;
-
-@Service
-@Slf4j
-public class AdqAdminAdvertiserListServiceImpl implements IAdqAdminAdvertiserListService {
-    @Autowired
-    private AdqAdminAdvertiserListMapper adminAdvertiserListMapper;
-
-    @Override
-    public void getAdminAdvertiserList(Long adminAdvertiserId, String accessToken, Integer cursor) {
-        Map<String, Object> paramsMap = new HashMap<>();
-        paramsMap.put("access_token", accessToken);
-        long timestamp = Instant.now().getEpochSecond();
-        paramsMap.put("timestamp", String.valueOf(timestamp));
-        paramsMap.put("nonce", RandomStringGenerator.generateRandomString(32));
-        paramsMap.put("pagination_mode", "PAGINATION_MODE_CURSOR");
-        if (!Check.isNull(cursor)) {
-            paramsMap.put("cursor", cursor);
-        }
-        paramsMap.put("page_size", 100);
-        String s = HttpUtils.httpGet("https://api.e.qq.com/v3.0/organization_account_relation/get", paramsMap, null);
-        JSONObject jsonObject = JSONObject.parseObject(s);
-        List<AdqAdvertiserList> addList = new ArrayList<>();
-        if (!Check.isNull(jsonObject)) {
-            Integer code = jsonObject.getInteger("code");
-            if (code == 0) {
-                JSONObject data = jsonObject.getJSONObject("data");
-                if (!Check.isNull(data)) {
-                    JSONArray list = data.getJSONArray("list");
-                    if (!Check.isNull(list)) {
-                        for (int i = 0; i < list.size(); i++) {
-                            JSONObject accountJson = list.getJSONObject(i);
-                            AdqAdvertiserList adqAdvertiserList = new AdqAdvertiserList();
-                            adqAdvertiserList.setAdminAdvertiserId(adminAdvertiserId);
-                            Long accountId = accountJson.getLong("account_id");
-                            adqAdvertiserList.setAdvertiserId(accountId);
-                            adqAdvertiserList.setAdvertiserName(String.valueOf(accountId));
-                            String corporation_name = accountJson.getString("corporation_name");
-                            adqAdvertiserList.setCorporationName(corporation_name);
-                            Boolean isAdx = accountJson.getBoolean("is_adx");
-                            if (isAdx) {
-                                adqAdvertiserList.setIsAdx(1);
-                            } else {
-                                adqAdvertiserList.setIsAdx(2);
-                            }
-                            Boolean isMp = accountJson.getBoolean("is_mp");
-                            if (isMp) {
-                                adqAdvertiserList.setIsMp(1);
-                            } else {
-                                adqAdvertiserList.setIsMp(2);
-                            }
-                            addList.add(adqAdvertiserList);
-                        }
-                        if (!Check.isNull(addList)) {
-                            adminAdvertiserListMapper.replaceAdqAccountList(addList);
-                            log.info("adq账户入库成功,业务单元ID:{},入库条数:{}", adminAdvertiserId, addList.size());
-                        }
-                    }
-                    JSONObject cursorPageInfo = data.getJSONObject("cursor_page_info");
-                    Boolean hasMore = cursorPageInfo.getBoolean("has_more");
-                    if (hasMore) {
-                        Integer cursor1 = cursorPageInfo.getInteger("cursor");
-                        getAdminAdvertiserList(adminAdvertiserId, accessToken, cursor1);
-                    }
-                }
-            } else {
-                log.error("adq获取账户列表失败,accountId:{},返回信息:{}", adminAdvertiserId, jsonObject);
-            }
-        }
-    }
-
-    @Override
-    public void deleteAdvertiserListByAdminId(Long advertiserId) {
-        adminAdvertiserListMapper.deleteAdvertiserListByAdminId(advertiserId);
-    }
-
-    @Override
-    public void getAgentInfo(Long adminAdvertiserId, Long advertiserId, String accessToken, Integer cursor) {
-        Map<String, Object> paramsMap = new HashMap<>();
-        paramsMap.put("access_token", accessToken);
-        long timestamp = Instant.now().getEpochSecond();
-        paramsMap.put("timestamp", String.valueOf(timestamp));
-        paramsMap.put("nonce", RandomStringGenerator.generateRandomString(32));
-        paramsMap.put("pagination_mode", "PAGINATION_MODE_CURSOR");
-        if (!Check.isNull(cursor)) {
-            paramsMap.put("cursor", cursor);
-        }
-        paramsMap.put("page_size", 100);
-        paramsMap.put("account_id", advertiserId);
-        JSONArray fields = new JSONArray();
-        fields.add("account_id");
-        fields.add("registration_type");
-        fields.add("corporation_name");
-        fields.add("corporation_licence");
-        fields.add("name");
-        fields.add("mdm_id");
-        fields.add("mdm_name");
-        fields.add("system_industry_id");
-        fields.add("customized_industry");
-        fields.add("agency_account_id");
-        paramsMap.put("fields", fields);
-
-        String s = HttpUtils.httpGet("https://api.e.qq.com/v3.0/advertiser/get", paramsMap, null);
-        JSONObject jsonObject = JSONObject.parseObject(s);
-        if (!Check.isNull(jsonObject)) {
-            Integer code = jsonObject.getInteger("code");
-            if (code == 0) {
-                JSONObject data = jsonObject.getJSONObject("data");
-                if (!Check.isNull(data)) {
-                    JSONArray list = data.getJSONArray("list");
-                    if (!Check.isNull(list)) {
-                        JSONObject detail = list.getJSONObject(0);
-                        if (!Check.isNull(detail)) {
-                            AdqAgentAdvertiserList javaObject = JSONObject.toJavaObject(detail, AdqAgentAdvertiserList.class);
-                            javaObject.setAdminAdvertiserId(adminAdvertiserId);
-                            javaObject.setAdvertiserId(advertiserId);
-                            adminAdvertiserListMapper.addAgent(javaObject);
-                            log.info("账户ID:{},代理商数据更新成功", advertiserId);
-                        }
-                    }
-                }
-            }
-        }
-    }
-
-    @Override
-    public List<JSONObject> getAdvertiserList() {
-        return adminAdvertiserListMapper.getAdvertiserList();
-    }
-}

+ 0 - 194
job-adq/src/main/java/cn/com/ctop/job/adq/data/service/impl/AdqCreativeCreativeReportServiceImpl.java

@@ -1,194 +0,0 @@
-package cn.com.ctop.job.adq.data.service.impl;
-
-import cn.com.ctop.job.adq.data.entity.AdqCreativeReportDaily;
-import cn.com.ctop.job.adq.data.entity.AdqCreativeReportHour;
-import cn.com.ctop.job.adq.data.entity.AdqErrorLog;
-import cn.com.ctop.job.adq.data.mapper.AdqCreativeReportMapper;
-import cn.com.ctop.job.adq.data.mapper.AdqErrorLogMapper;
-import cn.com.ctop.job.adq.data.service.IAdqCreativeReportService;
-import cn.com.ctop.job.adq.data.utils.Check;
-import cn.com.ctop.job.adq.data.utils.FieldsConfig;
-import cn.com.ctop.job.adq.data.utils.HttpUtils;
-import cn.com.ctop.job.adq.utils.RandomStringGenerator;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.time.Instant;
-import java.util.*;
-
-@Service
-@Slf4j
-public class AdqCreativeCreativeReportServiceImpl implements IAdqCreativeReportService {
-    @Autowired
-    private AdqCreativeReportMapper adqReportMapper;
-
-    @Autowired
-    private AdqErrorLogMapper adqErrorLogMapper;
-
-
-    @Override
-    public void getAdqCreativeHour(Long advertiserId, String accessToken, String startDate, String endDate, Integer page, Integer isLog) {
-        try {
-            Thread.sleep(500);
-            Map<String, Object> paramsMap = new HashMap<>();
-            paramsMap.put("access_token", accessToken);
-            long timestamp = Instant.now().getEpochSecond();
-            paramsMap.put("timestamp", String.valueOf(timestamp));
-            paramsMap.put("nonce", RandomStringGenerator.generateRandomString(32));
-            paramsMap.put("page", page);
-            paramsMap.put("page_size", 1000);
-            paramsMap.put("account_id", advertiserId);
-            paramsMap.put("level", "REPORT_LEVEL_DYNAMIC_CREATIVE");
-            JSONObject date_range = new JSONObject();
-            date_range.put("start_date", startDate);
-            date_range.put("end_date", endDate);
-            paramsMap.put("date_range", date_range);
-            paramsMap.put("time_line", "REPORTING_TIME");
-            JSONArray group_by = new JSONArray();
-            group_by.add("hour");
-            group_by.add("adgroup_id");
-            group_by.add("dynamic_creative_id");
-            paramsMap.put("group_by", group_by);
-            JSONArray fieldsList = FieldsConfig.getCreativeHourFieldsList();
-            paramsMap.put("fields", fieldsList);
-            List<AdqCreativeReportHour> hourList = new ArrayList<>();
-            String s = HttpUtils.httpGet("https://api.e.qq.com/v3.0/hourly_reports/get", paramsMap, null);
-            JSONObject jsonObject = JSONObject.parseObject(s);
-            if (!Check.isNull(jsonObject)) {
-                Integer code = jsonObject.getInteger("code");
-                if (code == 0) {
-                    JSONObject data = jsonObject.getJSONObject("data");
-                    if (!Check.isNull(data)) {
-                        JSONArray list = data.getJSONArray("list");
-                        if (!Check.isNull(list)) {
-                            for (int i = 0; i < list.size(); i++) {
-                                JSONObject dataJson = list.getJSONObject(i);
-                                AdqCreativeReportHour hourReport = JSONObject.parseObject(dataJson.toJSONString(), AdqCreativeReportHour.class);
-                                hourReport.setAdvertiserId(advertiserId);
-                                hourReport.setStatTimeDay(Long.valueOf(startDate.replace("-", "")));
-                                hourList.add(hourReport);
-                            }
-                        }
-                    }
-                } else {
-                    log.error("请求创意时报失败,account_id:{},返回信息:{}", advertiserId, jsonObject);
-                    if (isLog == 1) {
-                        AdqErrorLog errorInfo = new AdqErrorLog();
-                        errorInfo.setAdvertiserId(advertiserId);
-                        errorInfo.setStartDate(startDate);
-                        errorInfo.setEndDate(endDate);
-                        errorInfo.setDataDimension("creative");
-                        errorInfo.setDataType("hour");
-                        adqErrorLogMapper.replaceErrorInfo(errorInfo);
-                    }
-                    return;
-                }
-            }
-            log.info("hourList.size:{}", hourList.size());
-            if (!Check.isNull(hourList)) {
-                adqReportMapper.addsHourList(hourList);
-                //adqReportMapper.addsHourListSD(hourList);
-                log.info("新增数据完成account:id:{}", advertiserId);
-            }
-            if (hourList.size() >= 1000) {
-                getAdqCreativeHour(advertiserId, accessToken, startDate, endDate, page + 1, isLog);
-            } else {
-                log.info("请求创意时报完成,account_id:{},日期:{}", advertiserId, startDate);
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-
-    }
-
-    @Override
-    public List<JSONObject> getAccountList(Long accountId) {
-        return adqReportMapper.getAccountList(accountId);
-    }
-
-    @Override
-    public void getAdqCreativeDaily(Long advertiserId, String accessToken, String startDate, String endDate, Integer page, Integer isLog) {
-        try {
-            Thread.sleep(500);
-            Map<String, Object> paramsMap = new HashMap<>();
-            paramsMap.put("access_token", accessToken);
-            long timestamp = Instant.now().getEpochSecond();
-            paramsMap.put("timestamp", String.valueOf(timestamp));
-            paramsMap.put("nonce", RandomStringGenerator.generateRandomString(32));
-            paramsMap.put("page", page);
-            paramsMap.put("page_size", 1000);
-            paramsMap.put("account_id", advertiserId);
-            paramsMap.put("level", "REPORT_LEVEL_DYNAMIC_CREATIVE");
-            JSONObject date_range = new JSONObject();
-            date_range.put("start_date", startDate);
-            date_range.put("end_date", endDate);
-            paramsMap.put("date_range", date_range);
-            paramsMap.put("time_line", "REPORTING_TIME");
-            JSONArray group_by = new JSONArray();
-            group_by.add("adgroup_id");
-            group_by.add("dynamic_creative_id");
-            group_by.add("date");
-            paramsMap.put("group_by", group_by);
-            JSONArray fieldsList = FieldsConfig.getCreativeDailyFieldsList();
-            paramsMap.put("fields", fieldsList);
-            List<AdqCreativeReportDaily> dailies = new ArrayList<>();
-            String s = HttpUtils.httpGet("https://api.e.qq.com/v3.0/daily_reports/get", paramsMap, null);
-            JSONObject jsonObject = JSONObject.parseObject(s);
-            if (!Check.isNull(jsonObject)) {
-                Integer code = jsonObject.getInteger("code");
-                if (code == 0) {
-                    JSONObject data = jsonObject.getJSONObject("data");
-                    if (!Check.isNull(data)) {
-                        JSONArray list = data.getJSONArray("list");
-                        if (!Check.isNull(list)) {
-                            for (int i = 0; i < list.size(); i++) {
-                                JSONObject dataJson = list.getJSONObject(i);
-                                AdqCreativeReportDaily hourReport = JSONObject.parseObject(dataJson.toJSONString(), AdqCreativeReportDaily.class);
-                                hourReport.setAdvertiserId(advertiserId);
-                                hourReport.setStatTimeDay(Long.valueOf(dataJson.getString("date").replace("-", "")));
-                                dailies.add(hourReport);
-
-                            }
-                        }
-                    }
-                } else {
-                    log.error("请求创意日报失败,account_id:{},返回信息:{}", advertiserId, jsonObject);
-                    if (isLog == 1) {
-                        AdqErrorLog errorInfo = new AdqErrorLog();
-                        errorInfo.setAdvertiserId(advertiserId);
-                        errorInfo.setStartDate(startDate);
-                        errorInfo.setEndDate(endDate);
-                        errorInfo.setDataDimension("creative");
-                        errorInfo.setDataType("daily");
-                        adqErrorLogMapper.replaceErrorInfo(errorInfo);
-                    }
-                    return;
-                }
-            }
-            if (!Check.isNull(dailies)) {
-                adqReportMapper.addsDaily(dailies);
-                //adqReportMapper.addsDailySD(dailies);
-            }
-            if (dailies.size() >= 1000) {
-                getAdqCreativeDaily(advertiserId, accessToken, startDate, endDate, page + 1, isLog);
-            } else {
-                log.info("请求创意日报完成,account_id:{},开始日期:{},结束日期:{}", advertiserId, startDate, endDate);
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-    @Override
-    public List<JSONObject> getErrorLogs() {
-        return adqErrorLogMapper.getErrorLogs();
-    }
-
-    @Override
-    public List<JSONObject> getAccountListByDate(Integer startDate, Integer endDate) {
-        return adqErrorLogMapper.getAccountListByDate(startDate, endDate);
-    }
-}

+ 0 - 177
job-adq/src/main/java/cn/com/ctop/job/adq/data/service/impl/AdqFlowDetailsReportServiceImpl.java

@@ -1,177 +0,0 @@
-package cn.com.ctop.job.adq.data.service.impl;
-
-import cn.com.ctop.job.adq.data.entity.AdqErrorLog;
-import cn.com.ctop.job.adq.data.entity.AdqFlowDetailsReportDaily;
-import cn.com.ctop.job.adq.data.entity.AdvertiserAccount;
-import cn.com.ctop.job.adq.data.mapper.AdqErrorLogMapper;
-import cn.com.ctop.job.adq.data.mapper.AdqFlowDetailsReportDailyMapper;
-import cn.com.ctop.job.adq.data.service.IAdqFlowDetailsReportService;
-import cn.com.ctop.job.adq.data.utils.Check;
-import cn.com.ctop.job.adq.data.utils.DateUtils;
-import cn.com.ctop.job.adq.data.utils.HttpUtils;
-import cn.com.ctop.job.adq.utils.RandomStringGenerator;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.time.Instant;
-import java.util.*;
-import java.util.stream.Collectors;
-
-/**
- * @author lining
- * @ClassName AdqFlowDetailsReportServiceImpl
- * @description: TODO
- * @date 2025年04月21日
- * @version: 1.0
- */
-@Service
-@Slf4j
-public class AdqFlowDetailsReportServiceImpl implements IAdqFlowDetailsReportService {
-    @Resource
-    private AdqFlowDetailsReportDailyMapper adqFlowDetailsReportDailyMapper;
-
-    @Autowired
-    private AdqErrorLogMapper adqErrorLogMapper;
-
-    @Override
-    public List<AdvertiserAccount> getAdAccount() {
-        return adqFlowDetailsReportDailyMapper.getAdAccount();
-    }
-
-    @Override
-    public void getAdqFlowDetailsDailyReport(Long advertiserId, String accessToken, String startDate, String endDate, Integer page, Long errorLogId) {
-        Map<String, Object> paramsMap = new HashMap<>();
-        paramsMap.put("access_token", accessToken);
-        long timestamp = Instant.now().getEpochSecond();
-        paramsMap.put("timestamp", String.valueOf(timestamp));
-        paramsMap.put("nonce", RandomStringGenerator.generateRandomString(32));
-        paramsMap.put("page", page);
-        paramsMap.put("page_size", 1000);
-        paramsMap.put("account_id", advertiserId);
-
-        JSONObject date_range = new JSONObject();
-        date_range.put("start_date", startDate);
-        date_range.put("end_date", endDate);
-        paramsMap.put("date_range", date_range);
-
-        String s = HttpUtils.httpGet("https://api.e.qq.com/v3.0/daily_balance_report/get", paramsMap, null);
-        JSONObject jsonObject = JSONObject.parseObject(s);
-
-        if (Check.isNull(jsonObject)) {
-            log.info("账户id:{},广告流水详情请求结果返回为空", advertiserId);
-            return;
-        }
-
-        List<AdqFlowDetailsReportDaily> dailyList = new ArrayList<>();
-        int totalPage = 1;
-        if (!Check.isNull(jsonObject)) {
-            Integer code = jsonObject.getInteger("code");
-            if (code == 0) {
-                JSONObject data = jsonObject.getJSONObject("data");
-                if (!Check.isNull(data)) {
-                    totalPage = data.getJSONObject("page_info").getInteger("total_page");
-                    JSONArray list = data.getJSONArray("list");
-                    if (!Check.isNull(list)) {
-                        for (int i = 0; i < list.size(); i++) {
-                            JSONObject dataJson = list.getJSONObject(i);
-                            Long account_id = dataJson.getLong("account_id");
-                            String fund_type = dataJson.getString("fund_type");
-                            Long time = dataJson.getLong("time");
-                            time = Long.parseLong(DateUtils.getDateFormat(new Date(time * 1000L)));
-                            Long deposit = dataJson.getLong("deposit");
-                            Long paid = dataJson.getLong("paid");
-                            Long trans_in = dataJson.getLong("trans_in");
-                            Long trans_out = dataJson.getLong("trans_out");
-                            Long credit_modify = dataJson.getLong("credit_modify");
-                            Long balance = dataJson.getLong("balance");
-                            Long preauth_balance = dataJson.getLong("preauth_balance");
-
-                            AdqFlowDetailsReportDaily adqFlowDetailsReportDaily = AdqFlowDetailsReportDaily.builder()
-                                    .advertiserId(account_id)
-                                    .fundType(fund_type)
-                                    .statTimeDay(time)
-                                    .deposit(deposit)
-                                    .paid(paid)
-                                    .transIn(trans_in)
-                                    .transOut(trans_out)
-                                    .creditModify(credit_modify)
-                                   .balance(balance)
-                                    .preauthBalance(preauth_balance)
-                                    .build();
-
-                            dailyList.add(adqFlowDetailsReportDaily);
-
-                        }
-
-                        if(!Check.isNull(dailyList)){
-                            log.info("账户id:{},广告流水详情请求结果返回成功,开始入库", advertiserId);
-
-                            dailyList = buildFlowDetailsReportDaily(dailyList);
-
-                            adqFlowDetailsReportDailyMapper.replaceFlowDetailsReportDailies(dailyList);
-                            //adqFlowDetailsReportDailyMapper.replaceFlowDetailsReportDailiesSD(dailyList);
-                        }
-                    }
-                }
-            }else {
-                //add log
-                log.error("请求流水详情日报失败,account_id:{},返回信息:{}", advertiserId, jsonObject);
-                AdqErrorLog errorInfo = new AdqErrorLog();
-                errorInfo.setAdvertiserId(advertiserId);
-                errorInfo.setStartDate(startDate);
-                errorInfo.setEndDate(endDate);
-                errorInfo.setDataDimension("flow_details");
-                errorInfo.setDataType("daily");
-                adqErrorLogMapper.replaceErrorInfo(errorInfo);
-                return;
-            }
-        }
-
-        if (page < totalPage) {
-            try {
-                Thread.sleep(500L);
-            } catch (InterruptedException e) {
-                throw new RuntimeException(e);
-            }
-            getAdqFlowDetailsDailyReport(advertiserId, accessToken, startDate, endDate, page + 1, null);
-        }else{
-            log.info("账户id:{},广告流水详情请求结果返回成功,入库完成", advertiserId);
-            if(errorLogId != null){
-                adqErrorLogMapper.deleteInfoByErrorId(errorLogId);
-            }
-        }
-    }
-
-    private List<AdqFlowDetailsReportDaily> buildFlowDetailsReportDaily(List<AdqFlowDetailsReportDaily> dailyList) {
-        List<AdqFlowDetailsReportDaily> resultList = new ArrayList<>();
-        Map<Long, List<AdqFlowDetailsReportDaily>> dailyListMap = dailyList.stream().collect(Collectors.groupingBy(AdqFlowDetailsReportDaily::getStatTimeDay));
-        dailyListMap.forEach((k, v) -> {
-            if (v.size() > 1) {
-                resultList.add(merge(v.get(0), v.get(1)));
-            }else{
-                resultList.addAll(v);
-            }
-        });
-        return resultList;
-    }
-
-    private AdqFlowDetailsReportDaily merge(AdqFlowDetailsReportDaily o1, AdqFlowDetailsReportDaily o2){
-        AdqFlowDetailsReportDaily o3 = AdqFlowDetailsReportDaily.builder()
-                .advertiserId(o1.getAdvertiserId())
-                .statTimeDay(o1.getStatTimeDay())
-                .fundType(o1.getFundType())
-                .deposit(o1.getDeposit() + o2.getDeposit())
-                .paid(o1.getPaid() + o2.getPaid())
-                .transIn(o1.getTransIn() + o2.getTransIn())
-                .transOut(o1.getTransOut()+ o2.getTransOut())
-                .creditModify(o1.getCreditModify() + o2.getCreditModify())
-                .balance(o1.getBalance() + o2.getBalance())
-                .preauthBalance(o1.getPreauthBalance() + o2.getPreauthBalance())
-                .build();
-        return o3;
-    }
-}

+ 42 - 7
job-adq/src/main/java/cn/com/ctop/job/adq/data/service/impl/AdqMaterialReportServiceImpl.java

@@ -1,7 +1,9 @@
 package cn.com.ctop.job.adq.data.service.impl;
 
 import cn.com.ctop.job.adq.data.entity.AdqErrorLog;
+import cn.com.ctop.job.adq.data.entity.AdqMaterialReportDaily;
 import cn.com.ctop.job.adq.data.mapper.AdqErrorLogMapper;
+import cn.com.ctop.job.adq.data.mapper.AdqMaterialReportMapper;
 import cn.com.ctop.job.adq.data.service.IAdqMaterialReportService;
 import cn.com.ctop.job.adq.data.utils.AlertUtils;
 import cn.com.ctop.job.adq.data.utils.Check;
@@ -14,8 +16,11 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.time.Instant;
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 @Slf4j
@@ -23,6 +28,8 @@ import java.util.Map;
 public class AdqMaterialReportServiceImpl implements IAdqMaterialReportService {
     @Autowired
     private AdqErrorLogMapper adqErrorLogMapper;
+    @Autowired
+    private AdqMaterialReportMapper adqMaterialReportMapper;
 
     @Override
     public void getAdqMaterialDailyReport(Long advertiserId, String accessToken, String startDate, String endDate, Integer page, Integer isLog, Long errId, Integer isSend) {
@@ -66,6 +73,7 @@ public class AdqMaterialReportServiceImpl implements IAdqMaterialReportService {
             String s = HttpUtils.httpGet("https://api.e.qq.com/v3.0/daily_reports/get", paramsMap, null);
             JSONObject jsonObject = JSONObject.parseObject(s);
             int totalPage = 1;
+            List<AdqMaterialReportDaily> reportList = new ArrayList<>();
             if (Check.isNull(jsonObject)) {
                 log.error("请求素材日报失败,account_id:{},返回为空。", advertiserId);
                 if (isLog == 1) {
@@ -77,6 +85,7 @@ public class AdqMaterialReportServiceImpl implements IAdqMaterialReportService {
                     errorInfo.setDataType("daily");
                     adqErrorLogMapper.replaceErrorInfo(errorInfo);
                 }
+
                 return;
             } else {
                 Integer code = jsonObject.getInteger("code");
@@ -88,15 +97,38 @@ public class AdqMaterialReportServiceImpl implements IAdqMaterialReportService {
                         if (!Check.isNull(list)) {
                             for (int i = 0; i < list.size(); i++) {
                                 JSONObject dataJson = list.getJSONObject(i);
-                                dataJson.put("stat_time_day", dataJson.getString("date").replace("-", ""));
-                                dataJson.put("advertiser_id", advertiserId);
+                                AdqMaterialReportDaily report = new AdqMaterialReportDaily();
+                                report.setAdvertiserId(advertiserId);
+                                report.setStatTimeDay(Long.valueOf(dataJson.getString("date").replace("-", "")));
+                                report.setCost(dataJson.getBigDecimal("cost"));
+                                report.setViewCount(dataJson.getLong("view_count"));
+                                report.setValidClickCount(dataJson.getLong("valid_click_count"));
+                                report.setConversionsCount(dataJson.getLong("conversions_count"));
+                                report.setDeepConversionsCount(dataJson.getLong("deep_conversions_count"));
+                                report.setActivatedCount(dataJson.getLong("activated_count"));
+                                report.setRegPv(dataJson.getLong("reg_pv"));
+                                report.setRetentionCount(dataJson.getLong("retention_count"));
+                                report.setVideoOuterPlayCount(dataJson.getLong("video_outer_play_count"));
+                                report.setVideoOuterPlay100Count(dataJson.getLong("video_outer_play100_count"));
+                                report.setKeyBehaviorConversionsCount(dataJson.getLong("key_behavior_conversions_count"));
+                                report.setPurchasePv(dataJson.getLong("purchase_pv"));
+                                report.setPurchaseAmount(dataJson.getBigDecimal("purchase_amount"));
+                                report.setFirstPayCount(dataJson.getLong("first_pay_count"));
+                                report.setAdMonetizationAmount(dataJson.getLong("ad_monetization_amount"));
+                                report.setAppAdPayingUsers(dataJson.getLong("app_ad_paying_users"));
+                                report.setIncomePvPla(dataJson.getLong("income_pv_pla"));
+                                report.setIncomeVal1(dataJson.getLong("income_val_1"));
+                                report.setAdPayingUsersD1(dataJson.getLong("ad_paying_users_d1"));
+                                report.setIncomePv1dPla(dataJson.getLong("income_pv_1d_pla"));
+                                report.setIncomeVal3(dataJson.getLong("income_val_3"));
                                 if ("REPORT_LEVEL_MATERIAL_IMAGE".equals(level)) {
-                                    dataJson.put("material_id", dataJson.getString("image_id"));
-                                    dataJson.put("material_type", "IMAGE");
+                                    report.setMaterialId(dataJson.getString("image_id"));
+                                    report.setMaterialType("IMAGE");
                                 } else {
-                                    dataJson.put("material_id", dataJson.getString("video_id"));
-                                    dataJson.put("material_type", "VIDEO");
+                                    report.setMaterialId(dataJson.getString("video_id"));
+                                    report.setMaterialType("VIDEO");
                                 }
+                                reportList.add(report);
                             }
                         }
                     }
@@ -114,10 +146,13 @@ public class AdqMaterialReportServiceImpl implements IAdqMaterialReportService {
                     return;
                 }
             }
+            if (!Check.isNull(reportList)) {
+                adqMaterialReportMapper.addsMaterialDailyList(reportList);
+            }
             if (page < totalPage) {
                 getAdqMaterialDailyReport(advertiserId, accessToken, level, startDate, endDate, page + 1, isLog, errId, isSend);
             } else {
-                log.info("请求创意日报完成,account_id:{},开始日期:{},结束日期:{} totalPage:{}", advertiserId, startDate, endDate, totalPage);
+                log.info("请求素材日报完成,account_id:{},开始日期:{},结束日期:{} totalPage:{}", advertiserId, startDate, endDate, totalPage);
                 if (errId != null) {
                     adqErrorLogMapper.deleteInfoByErrorId(errId);
                 }

+ 0 - 305
job-adq/src/main/java/cn/com/ctop/job/adq/data/service/impl/AdqRetryReportServiceImpl.java

@@ -1,305 +0,0 @@
-package cn.com.ctop.job.adq.data.service.impl;
-
-import cn.com.ctop.job.adq.data.entity.*;
-import cn.com.ctop.job.adq.data.mapper.AdqAccountReportMapper;
-import cn.com.ctop.job.adq.data.mapper.AdqCreativeReportMapper;
-import cn.com.ctop.job.adq.data.mapper.AdqErrorLogMapper;
-import cn.com.ctop.job.adq.data.service.IAdqRetryReportService;
-import cn.com.ctop.job.adq.data.utils.*;
-import cn.com.ctop.job.adq.utils.RandomStringGenerator;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.time.Instant;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-@Slf4j
-@Service
-public class AdqRetryReportServiceImpl implements IAdqRetryReportService {
-    @Autowired
-    private AdqCreativeReportMapper adqReportMapper;
-    @Autowired
-    private AdqAccountReportMapper accountReportMapper;
-    @Autowired
-    private AdqErrorLogMapper adqErrorLogMapper;
-
-    @Override
-    public void getCreativeHourRetry(Long errorId, Long advertiserId, String accessToken, String startDate, String endDate, Integer page, Integer isSend) {
-        Map<String, Object> paramsMap = new HashMap<>();
-        paramsMap.put("access_token", accessToken);
-        long timestamp = Instant.now().getEpochSecond();
-        paramsMap.put("timestamp", String.valueOf(timestamp));
-        paramsMap.put("nonce", RandomStringGenerator.generateRandomString(32));
-        paramsMap.put("page", page);
-        paramsMap.put("page_size", 1000);
-        paramsMap.put("account_id", advertiserId);
-        paramsMap.put("level", "REPORT_LEVEL_DYNAMIC_CREATIVE");
-        JSONObject date_range = new JSONObject();
-        date_range.put("start_date", startDate);
-        date_range.put("end_date", endDate);
-        paramsMap.put("date_range", date_range);
-        paramsMap.put("time_line", "REPORTING_TIME");
-        JSONArray group_by = new JSONArray();
-        group_by.add("hour");
-        group_by.add("adgroup_id");
-        group_by.add("dynamic_creative_id");
-        paramsMap.put("group_by", group_by);
-        JSONArray fieldsList = FieldsConfig.getCreativeHourFieldsList();
-        paramsMap.put("fields", fieldsList);
-        List<AdqCreativeReportHour> hourList = new ArrayList<>();
-        String s = HttpUtils.httpGet("https://api.e.qq.com/v3.0/hourly_reports/get", paramsMap, null);
-        JSONObject jsonObject = JSONObject.parseObject(s);
-        if (!Check.isNull(jsonObject)) {
-            Integer code = jsonObject.getInteger("code");
-            if (code == 0) {
-                JSONObject data = jsonObject.getJSONObject("data");
-                if (!Check.isNull(data)) {
-
-                    JSONArray list = data.getJSONArray("list");
-                    if (!Check.isNull(list)) {
-                        for (int i = 0; i < list.size(); i++) {
-                            JSONObject dataJson = list.getJSONObject(i);
-                            AdqCreativeReportHour hourReport = JSONObject.parseObject(dataJson.toJSONString(), AdqCreativeReportHour.class);
-                            hourReport.setAdvertiserId(advertiserId);
-                            hourReport.setStatTimeDay(Long.valueOf(startDate.replace("-", "")));
-                            hourList.add(hourReport);
-                        }
-                    }
-                }
-            } else {
-                log.error("请求创意时报失败,account_id:{},返回信息:{}", advertiserId, jsonObject);
-                return;
-            }
-        }
-        if (!Check.isNull(hourList)) {
-            adqReportMapper.addsHourList(hourList);
-            //adqReportMapper.addsHourListSD(hourList);
-        }
-        if (hourList.size() >= 1000) {
-            getCreativeHourRetry(errorId, advertiserId, accessToken, startDate, endDate, page + 1, isSend);
-        } else {
-            log.error("请求创意时报完成,account_id:{},日期:{}", advertiserId, startDate);
-            adqErrorLogMapper.deleteInfoByErrorId(errorId);
-            if (isSend == 1) {
-                AlertUtils.sendMessage(advertiserId, startDate, endDate, 3, "hour", 1, "creative");
-            }
-        }
-    }
-
-    @Override
-    public void getCreativeDailyRetry(Long errorId, Long advertiserId, String accessToken, String startDate, String endDate, Integer page, Integer isSend) {
-
-        try {
-            Thread.sleep(500);
-            Map<String, Object> paramsMap = new HashMap<>();
-            paramsMap.put("access_token", accessToken);
-            long timestamp = Instant.now().getEpochSecond();
-            paramsMap.put("timestamp", String.valueOf(timestamp));
-            paramsMap.put("nonce", RandomStringGenerator.generateRandomString(32));
-            paramsMap.put("page", page);
-            paramsMap.put("page_size", 1000);
-            paramsMap.put("account_id", advertiserId);
-            paramsMap.put("level", "REPORT_LEVEL_DYNAMIC_CREATIVE");
-            JSONObject date_range = new JSONObject();
-            date_range.put("start_date", startDate);
-            date_range.put("end_date", endDate);
-            paramsMap.put("date_range", date_range);
-            paramsMap.put("time_line", "REPORTING_TIME");
-            JSONArray group_by = new JSONArray();
-            group_by.add("adgroup_id");
-            group_by.add("dynamic_creative_id");
-            group_by.add("date");
-            paramsMap.put("group_by", group_by);
-            JSONArray fieldsList = FieldsConfig.getCreativeDailyFieldsList();
-            paramsMap.put("fields", fieldsList);
-            List<AdqCreativeReportDaily> dailies = new ArrayList<>();
-            String s = HttpUtils.httpGet("https://api.e.qq.com/v3.0/daily_reports/get", paramsMap, null);
-            JSONObject jsonObject = JSONObject.parseObject(s);
-            if (!Check.isNull(jsonObject)) {
-                Integer code = jsonObject.getInteger("code");
-                if (code == 0) {
-                    JSONObject data = jsonObject.getJSONObject("data");
-                    if (!Check.isNull(data)) {
-                        JSONArray list = data.getJSONArray("list");
-                        if (!Check.isNull(list)) {
-                            for (int i = 0; i < list.size(); i++) {
-                                JSONObject dataJson = list.getJSONObject(i);
-                                AdqCreativeReportDaily hourReport = JSONObject.parseObject(dataJson.toJSONString(), AdqCreativeReportDaily.class);
-                                hourReport.setAdvertiserId(advertiserId);
-                                hourReport.setStatTimeDay(Long.valueOf(dataJson.getString("date").replace("-", "")));
-                                dailies.add(hourReport);
-
-                            }
-                        }
-                    }
-                } else {
-                    log.error("请求创意日报失败,account_id:{},返回信息:{}", advertiserId, jsonObject);
-                    return;
-                }
-            }
-            if (!Check.isNull(dailies)) {
-                adqReportMapper.addsDaily(dailies);
-                //adqReportMapper.addsDailySD(dailies);
-            }
-            if (dailies.size() >= 1000) {
-                getCreativeDailyRetry(errorId, advertiserId, accessToken, startDate, endDate, page + 1, isSend);
-            } else {
-                log.error("请求创意日报完成,account_id:{},日期:{}", advertiserId, startDate);
-                adqErrorLogMapper.deleteInfoByErrorId(errorId);
-                if (isSend == 1) {
-                    AlertUtils.sendMessage(advertiserId, startDate, endDate, 3, "daily", 1, "creative");
-                }
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-    @Override
-    public void getAccountHourRetry(Long errorId, Long advertiserId, String accessToken, String startDate, String endDate, Integer page, Integer isSend) {
-        try {
-            Thread.sleep(500);
-            Map<String, Object> paramsMap = new HashMap<>();
-            paramsMap.put("access_token", accessToken);
-            long timestamp = Instant.now().getEpochSecond();
-            paramsMap.put("timestamp", String.valueOf(timestamp));
-            paramsMap.put("nonce", RandomStringGenerator.generateRandomString(32));
-            paramsMap.put("page", page);
-            paramsMap.put("page_size", 1000);
-            paramsMap.put("account_id", advertiserId);
-            paramsMap.put("level", "REPORT_LEVEL_ADVERTISER");
-            JSONObject date_range = new JSONObject();
-            date_range.put("start_date", startDate);
-            date_range.put("end_date", endDate);
-            paramsMap.put("date_range", date_range);
-            paramsMap.put("time_line", "REPORTING_TIME");
-            JSONArray group_by = new JSONArray();
-            group_by.add("date");
-            group_by.add("hour");
-            paramsMap.put("group_by", group_by);
-            JSONArray fieldsList = FieldsConfig.getAccountHourFieldsList();
-            paramsMap.put("fields", fieldsList);
-            List<AdqAdvertiserReportHour> hourList = new ArrayList<>();
-            String s = HttpUtils.httpGet("https://api.e.qq.com/v3.0/hourly_reports/get", paramsMap, null);
-            JSONObject jsonObject = JSONObject.parseObject(s);
-            if (!Check.isNull(jsonObject)) {
-                Integer code = jsonObject.getInteger("code");
-                if (code == 0) {
-                    JSONObject data = jsonObject.getJSONObject("data");
-                    if (!Check.isNull(data)) {
-                        JSONArray list = data.getJSONArray("list");
-                        if (!Check.isNull(list)) {
-                            for (int i = 0; i < list.size(); i++) {
-                                JSONObject dataJson = list.getJSONObject(i);
-                                AdqAdvertiserReportHour hourReport = JSONObject.parseObject(dataJson.toJSONString(), AdqAdvertiserReportHour.class);
-                                hourReport.setAdvertiserId(advertiserId);
-                                hourReport.setStatTimeDay(Long.valueOf(startDate.replace("-", "")));
-                                hourList.add(hourReport);
-                            }
-                        }
-                    }
-                } else {
-                    log.error("请求账户时报失败,account_id:{},返回信息:{}", advertiserId, jsonObject);
-                    return;
-                }
-            }
-            if (!Check.isNull(hourList)) {
-                accountReportMapper.addAccountHourList(hourList);
-                //accountReportMapper.addAccountHourListSD(hourList);
-            }
-            if (hourList.size() >= 1000) {
-                getAccountHourRetry(errorId, advertiserId, accessToken, startDate, endDate, page + 1, isSend);
-            } else {
-                log.info("请求账户时报完成,account_id:{},日期:{}", advertiserId, startDate);
-                adqErrorLogMapper.deleteInfoByErrorId(errorId);
-                if (isSend == 1) {
-                    AlertUtils.sendMessage(advertiserId, startDate, endDate, 3, "daily", 1, "account");
-                }
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-    @Override
-    public void getAccountDailyRetry(Long errorId, Long advertiserId, String accessToken, String startDate, String endDate, Integer page, Integer isSend) {
-        try {
-            Thread.sleep(500);
-            Map<String, Object> paramsMap = new HashMap<>();
-            paramsMap.put("access_token", accessToken);
-            long timestamp = Instant.now().getEpochSecond();
-            paramsMap.put("timestamp", String.valueOf(timestamp));
-            paramsMap.put("nonce", RandomStringGenerator.generateRandomString(32));
-            paramsMap.put("page", page);
-            paramsMap.put("page_size", 1000);
-            paramsMap.put("account_id", advertiserId);
-            paramsMap.put("level", "REPORT_LEVEL_ADVERTISER");
-            JSONObject date_range = new JSONObject();
-            date_range.put("start_date", startDate);
-            date_range.put("end_date", endDate);
-            paramsMap.put("date_range", date_range);
-            paramsMap.put("time_line", "REPORTING_TIME");
-            JSONArray group_by = new JSONArray();
-            group_by.add("date");
-            paramsMap.put("group_by", group_by);
-            JSONArray fieldsList = FieldsConfig.getAccountDailyFieldsList();
-            paramsMap.put("fields", fieldsList);
-            List<AdqAdvertiserReportDaily> dailyList = new ArrayList<>();
-            String s = HttpUtils.httpGet("https://api.e.qq.com/v3.0/daily_reports/get", paramsMap, null);
-            JSONObject jsonObject = JSONObject.parseObject(s);
-            if (!Check.isNull(jsonObject)) {
-                Integer code = jsonObject.getInteger("code");
-                if (code == 0) {
-                    JSONObject data = jsonObject.getJSONObject("data");
-                    if (!Check.isNull(data)) {
-                        JSONArray list = data.getJSONArray("list");
-                        if (!Check.isNull(list)) {
-                            for (int i = 0; i < list.size(); i++) {
-                                JSONObject dataJson = list.getJSONObject(i);
-                                AdqAdvertiserReportDaily dailyReport = JSONObject.parseObject(dataJson.toJSONString(), AdqAdvertiserReportDaily.class);
-                                dailyReport.setAdvertiserId(advertiserId);
-                                dailyReport.setStatTimeDay(Long.valueOf(dataJson.getString("date").replace("-", "")));
-                                dailyList.add(dailyReport);
-                            }
-                        }
-                    }
-                } else {
-                    log.error("请求账户日报失败,account_id:{},返回信息:{}", advertiserId, jsonObject);
-                    return;
-                }
-            }
-            if (!Check.isNull(dailyList)) {
-                accountReportMapper.addAccountDailyList(dailyList);
-                //accountReportMapper.addAccountDailyListSD(dailyList);
-            }
-            if (dailyList.size() >= 1000) {
-                getAccountDailyRetry(errorId, advertiserId, accessToken, startDate, endDate, page + 1, isSend);
-            } else {
-                log.error("请求账户日报完成,account_id:{},日期:{}", advertiserId, startDate);
-                adqErrorLogMapper.deleteInfoByErrorId(errorId);
-                if (isSend == 1) {
-                    AlertUtils.sendMessage(advertiserId, startDate, endDate, 3, "daily", 1, "account");
-                }
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-    @Override
-    public void updateAdqAccountStatus() {
-        accountReportMapper.updateAdqAccountStatus();
-    }
-
-    @Override
-    public void updateClAccountStatus() {
-        accountReportMapper.updateClAccountStatus();
-    }
-
-}

+ 0 - 99
job-adq/src/main/java/cn/com/ctop/job/adq/data/service/impl/DailyBalanceReportServiceImpl.java

@@ -1,99 +0,0 @@
-package cn.com.ctop.job.adq.data.service.impl;
-
-import cn.com.ctop.job.adq.data.entity.AdqDailyBalance;
-import cn.com.ctop.job.adq.data.entity.AdqErrorLog;
-import cn.com.ctop.job.adq.data.mapper.AdqErrorLogMapper;
-import cn.com.ctop.job.adq.data.mapper.DailyBalanceReportMapper;
-import cn.com.ctop.job.adq.data.service.IDailyBalanceReportService;
-import cn.com.ctop.job.adq.data.utils.Check;
-import cn.com.ctop.job.adq.data.utils.DateUtils;
-import cn.com.ctop.job.adq.data.utils.HttpUtils;
-import cn.com.ctop.job.adq.utils.RandomStringGenerator;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.time.Instant;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-@Slf4j
-@Service
-public class DailyBalanceReportServiceImpl implements IDailyBalanceReportService {
-
-
-    @Autowired
-    private DailyBalanceReportMapper dailyBalanceReportMapper;
-
-    @Autowired
-    private AdqErrorLogMapper adqErrorLogMapper;
-
-    @Override
-    public void getAdqBalanceReport(Long advertiserId, String accessToken, String startDate, String endDate, Integer page, Long errorId) throws InterruptedException {
-        Thread.sleep(1000L);
-        try {
-            Map<String, Object> paramsMap = new HashMap<>();
-            paramsMap.put("access_token", accessToken);
-            long timestamp = Instant.now().getEpochSecond();
-            paramsMap.put("timestamp", String.valueOf(timestamp));
-            paramsMap.put("nonce", RandomStringGenerator.generateRandomString(32));
-            paramsMap.put("page", page);
-            paramsMap.put("page_size", 100);
-            paramsMap.put("account_id", advertiserId);
-            JSONObject date_range = new JSONObject();
-            date_range.put("start_date", startDate);
-            date_range.put("end_date", endDate);
-            paramsMap.put("date_range", date_range);
-            List<AdqDailyBalance> adqDailyBalances = new ArrayList<>();
-            String s = HttpUtils.httpGet("https://api.e.qq.com/v3.0/daily_balance_report/get", paramsMap, null);
-            JSONObject jsonObject = JSONObject.parseObject(s);
-            if (!Check.isNull(jsonObject)) {
-                Integer code = jsonObject.getInteger("code");
-                if (code == 0) {
-                    JSONObject data = jsonObject.getJSONObject("data");
-                    if (!Check.isNull(data)) {
-                        JSONArray list = data.getJSONArray("list");
-                        if (!Check.isNull(list)) {
-                            for (int i = 0; i < list.size(); i++) {
-                                JSONObject json = list.getJSONObject(i);
-                                AdqDailyBalance dailyBalance = JSONObject.parseObject(json.toJSONString(), AdqDailyBalance.class);
-                                dailyBalance.setAdvertiserId(json.getLong("account_id"));
-                                Long time = json.getLong("time");
-                                Long statDate = DateUtils.timeToDate(time);
-                                dailyBalance.setStatDate(statDate);
-                                adqDailyBalances.add(dailyBalance);
-                            }
-                        }
-                    }
-                } else {
-                    log.error("请求流水报表失败,account_id:{},返回信息:{}", advertiserId, jsonObject);
-                    AdqErrorLog errorInfo = new AdqErrorLog();
-                    errorInfo.setAdvertiserId(advertiserId);
-                    errorInfo.setStartDate(startDate);
-                    errorInfo.setEndDate(endDate);
-                    errorInfo.setDataDimension("daily_balance_report");
-                    errorInfo.setDataType("daily");
-                    adqErrorLogMapper.replaceErrorInfo(errorInfo);
-                    return;
-                }
-            }
-            if (!Check.isNull(adqDailyBalances)) {
-                dailyBalanceReportMapper.addAdqDailyBalances(adqDailyBalances);
-            }
-            if (adqDailyBalances.size() >= 100) {
-                getAdqBalanceReport(advertiserId, accessToken, startDate, endDate, page + 1, errorId);
-            } else {
-                log.info("请求流水报表完成,account_id:{},开始日期:{},结束日期:{}", advertiserId, startDate, endDate);
-                if (!Check.isNull(errorId)) {
-                    adqErrorLogMapper.deleteInfoByErrorId(errorId);
-                }
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-}

+ 2 - 6
job-adq/src/main/java/cn/com/ctop/job/adq/handler/AdqAccountReportJob.java

@@ -26,16 +26,12 @@ import java.util.concurrent.Executors;
 public class AdqAccountReportJob {
     @Autowired
     private IAdqAccountReportService accountReportService;
-    @Autowired
-    private IAdqAdIncomeService adqAdIncomeService;
-    @Autowired
+
     private IAdqMaterialReportService adqMaterialReportService;
     private static ExecutorService nowDateHourExecutorService = Executors.newFixedThreadPool(5);
     private static ExecutorService yesDateHourExecutorService = Executors.newFixedThreadPool(5);
     private static ExecutorService dailyExecutorService = Executors.newFixedThreadPool(5);
-    private static ExecutorService balanceExecutorService = Executors.newFixedThreadPool(2);
-    @Autowired
-    private IDailyBalanceReportService dailyBalanceReportService;
+
     @XxlJob("nowDateAccountHour")
     public void nowDateAccountHour() throws Exception {
         String param = XxlJobHelper.getJobParam(); // 执行参数

+ 0 - 72
job-adq/src/main/java/cn/com/ctop/job/adq/handler/AdqAdminAdvertiserListJob.java

@@ -1,72 +0,0 @@
-package cn.com.ctop.job.adq.handler;
-
-
-import cn.com.ctop.job.adq.data.service.IAdqAdminAdvertiserListService;
-import cn.com.ctop.job.adq.data.utils.Check;
-import com.alibaba.fastjson.JSONObject;
-import com.xxl.job.core.context.XxlJobHelper;
-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.List;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-
-/**
- * 广告主定时任务
- *
- * @throws Exception
- */
-@Slf4j
-@Component
-public class AdqAdminAdvertiserListJob {
-    private static ExecutorService adminExecutorService = Executors.newFixedThreadPool(3);
-    private static ExecutorService agentExecutorService = Executors.newFixedThreadPool(5);
-    @Autowired
-    private IAdqAdminAdvertiserListService adminAdvertiserListService;
-
-    @XxlJob("agentInfo")
-    public void agentInfo() throws Exception {
-        List<JSONObject> list = adminAdvertiserListService.getAdvertiserList();
-        if (!Check.isNull(list)) {
-            for (JSONObject jsonObject : list) {
-                Long adminAdvertiserId = jsonObject.getLong("adminAdvertiserId");
-                Long advertiserId = jsonObject.getLong("advertiserId");
-                String accessToken = jsonObject.getString("accessToken");
-                agentExecutorService.submit(new Runnable() {
-                    @Override
-                    public void run() {
-                        adminAdvertiserListService.getAgentInfo(adminAdvertiserId, advertiserId, accessToken, null);
-                    }
-                });
-            }
-
-        }
-    }
-
-
-    @XxlJob("getAdminAdvertiserList")
-    public void getAdminAdvertiserList() throws Exception {
-        String param = XxlJobHelper.getJobParam(); // 执行参数
-        if (Check.isNull(param)) {
-            log.error("入参为空");
-            return;
-        }
-
-        String[] s = param.split("_");
-        Long advertiserId = Long.valueOf(s[0]);
-        String accessToken = s[1];
-        adminExecutorService.submit(new Runnable() {
-            @Override
-            public void run() {
-                adminAdvertiserListService.deleteAdvertiserListByAdminId(advertiserId);
-                adminAdvertiserListService.getAdminAdvertiserList(advertiserId, accessToken, null);
-            }
-        });
-    }
-
-
-}

+ 0 - 117
job-adq/src/main/java/cn/com/ctop/job/adq/handler/AdqCreativeReportJob.java

@@ -1,117 +0,0 @@
-package cn.com.ctop.job.adq.handler;
-
-
-import cn.com.ctop.job.adq.data.service.IAdqCreativeReportService;
-import cn.com.ctop.job.adq.data.utils.Check;
-import cn.com.ctop.job.adq.data.utils.DateUtils;
-import com.xxl.job.core.context.XxlJobHelper;
-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.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-
-/**
- * 广告主定时任务
- *
- * @throws Exception
- */
-@Slf4j
-@Component
-public class AdqCreativeReportJob {
-    private static ExecutorService hourExecutorService = Executors.newFixedThreadPool(5);
-    private static ExecutorService dailyExecutorService = Executors.newFixedThreadPool(5);
-    private static ExecutorService nowDailyExecutorService = Executors.newFixedThreadPool(5);
-    @Autowired
-    private IAdqCreativeReportService adqReportService;
-
-    @XxlJob("nowDateCreativeHour")
-    public void creativeHour() throws Exception {
-        String param = XxlJobHelper.getJobParam(); // 执行参数
-        if (Check.isNull(param)) {
-            log.error("入参为空");
-            return;
-        }
-
-        String nowDate = DateUtils.getNowDate("yyyy-MM-dd");
-        String[] s = param.split("_");
-        Long advertiserId = Long.valueOf(s[0]);
-        String accessToken = s[1];
-        hourExecutorService.submit(new Runnable() {
-            @Override
-            public void run() {
-                adqReportService.getAdqCreativeHour(advertiserId, accessToken, nowDate, nowDate, 1, 2);
-            }
-        });
-    }
-
-
-    @XxlJob("yesDateCreativeHour")
-    public void yesDateCreativeHour() throws Exception {
-        String param = XxlJobHelper.getJobParam(); // 执行参数
-        if (Check.isNull(param)) {
-            log.error("入参为空");
-            return;
-        }
-
-        String nowDate = DateUtils.getNowDate("yyyy-MM-dd");
-        String yesDate = DateUtils.getAnotherDay("yyyy-MM-dd", nowDate, -1);
-        String[] s = param.split("_");
-        Long advertiserId = Long.valueOf(s[0]);
-        String accessToken = s[1];
-        hourExecutorService.submit(new Runnable() {
-            @Override
-            public void run() {
-                adqReportService.getAdqCreativeHour(advertiserId, accessToken, yesDate, yesDate, 1, 1);
-            }
-        });
-    }
-
-
-    @XxlJob("yesDateCreativeDaily")
-    public void yesDateCreativeDaily() throws Exception {
-        String param = XxlJobHelper.getJobParam(); // 执行参数
-        if (Check.isNull(param)) {
-            log.error("入参为空");
-            return;
-        }
-
-        String nowDate = DateUtils.getNowDate("yyyy-MM-dd");
-        String yesDate = DateUtils.getAnotherDay("yyyy-MM-dd", nowDate, -1);
-        String[] s = param.split("_");
-        Long advertiserId = Long.valueOf(s[0]);
-        String accessToken = s[1];
-        dailyExecutorService.submit(new Runnable() {
-            @Override
-            public void run() {
-                adqReportService.getAdqCreativeDaily(advertiserId, accessToken, yesDate, yesDate, 1, 1);
-            }
-        });
-    }
-
-
-    @XxlJob("nowDateCreativeDaily")
-    public void nowDateCreativeDaily() throws Exception {
-        String param = XxlJobHelper.getJobParam(); // 执行参数
-        if (Check.isNull(param)) {
-            log.error("入参为空");
-            return;
-        }
-
-        String nowDate = DateUtils.getNowDate("yyyy-MM-dd");
-        String[] s = param.split("_");
-        Long advertiserId = Long.valueOf(s[0]);
-        String accessToken = s[1];
-        nowDailyExecutorService.submit(new Runnable() {
-            @Override
-            public void run() {
-                adqReportService.getAdqCreativeDaily(advertiserId, accessToken, nowDate, nowDate, 1, 1);
-            }
-        });
-    }
-
-
-}

+ 0 - 54
job-adq/src/main/java/cn/com/ctop/job/adq/handler/AdqFlowDetailsReportJob.java

@@ -1,54 +0,0 @@
-package cn.com.ctop.job.adq.handler;
-
-import cn.com.ctop.job.adq.data.service.IAdqFlowDetailsReportService;
-import cn.com.ctop.job.adq.data.utils.Check;
-import cn.com.ctop.job.adq.data.utils.DateUtils;
-import com.xxl.job.core.context.XxlJobHelper;
-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 javax.annotation.Resource;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-/**
- * @author lining
- * @ClassName AdqFlowDetailsReportJob
- * @description: TODO
- * @date 2025年04月21日
- * @version: 1.0
- */
-@Slf4j
-@Component
-public class AdqFlowDetailsReportJob {
-    private static ExecutorService executorService = Executors.newFixedThreadPool(2);
-
-    @Autowired
-    private IAdqFlowDetailsReportService adqFlowDetailsReportService;
-
-    @XxlJob("flowDetailsDaily")
-    public void flowDetailsDaily() throws Exception {
-        String param = XxlJobHelper.getJobParam(); // 执行参数
-        if (Check.isNull(param)) {
-            log.error("入参为空");
-            return;
-        }
-
-        String nowDate = DateUtils.getNowDate("yyyy-MM-dd");
-        String data = DateUtils.getAnotherDay("yyyy-MM-dd", nowDate, -1);
-        String[] s = param.split("_");
-        Long advertiserId = Long.valueOf(s[0]);
-        String accessToken = s[1];
-
-        executorService.submit(new Runnable() {
-            @Override
-            public void run() {
-                if (!Check.isNull(accessToken)) {
-                    adqFlowDetailsReportService.getAdqFlowDetailsDailyReport(advertiserId, accessToken, data, data, 1, null);
-                }
-            }
-        });
-    }
-}

+ 0 - 253
job-adq/src/main/java/cn/com/ctop/job/adq/handler/AdqRetryReportJob.java

@@ -1,253 +0,0 @@
-package cn.com.ctop.job.adq.handler;
-
-
-import cn.com.ctop.job.adq.data.service.*;
-import cn.com.ctop.job.adq.data.utils.Check;
-import cn.com.ctop.job.adq.data.utils.DateUtils;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.google.common.collect.Lists;
-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.ArrayList;
-import java.util.List;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-
-/**
- * 广告主定时任务
- *
- * @throws Exception
- */
-@Slf4j
-@Component
-public class AdqRetryReportJob {
-
-    private static ExecutorService dailyCreativeExecutorService = Executors.newFixedThreadPool(2);
-    private static ExecutorService hourCreativeExecutorService = Executors.newFixedThreadPool(2);
-    private static ExecutorService hourrAccountExecutorService = Executors.newFixedThreadPool(2);
-    private static ExecutorService dailyAccountExecutorService = Executors.newFixedThreadPool(2);
-    private static ExecutorService assetExecutorService = Executors.newFixedThreadPool(2);
-    private static ExecutorService blanceExecutorService = Executors.newFixedThreadPool(2);
-
-    private static ExecutorService flowExecutorService = Executors.newFixedThreadPool(2);
-
-    private static ExecutorService dailyExecutorService = Executors.newFixedThreadPool(5);
-    private static ExecutorService adIncomeExecutorService = Executors.newFixedThreadPool(1);
-
-    @Autowired
-    private IAdqCreativeReportService adqReportService;
-    @Autowired
-    private IAdqRetryReportService retryReportService;
-
-    @Autowired
-    private IAdqAdIncomeService adqAdIncomeService;
-    @Autowired
-    private IAdqFlowDetailsReportService adqFlowDetailsReportService;
-    @Autowired
-    private IAdqAccountReportService accountReportService;
-    @Autowired
-    private IAdqMaterialReportService adqMaterialReportService;
-    @Autowired
-    private IDailyBalanceReportService dailyBalanceReportService;
-
-    @XxlJob("adqRetryReport")
-    public void promoterReport() throws Exception {
-        List<JSONObject> accountList = adqReportService.getErrorLogs();
-        if (!Check.isNull(accountList)) {
-            for (int i = 0; i < accountList.size(); i++) {
-                JSONObject jsonObject = accountList.get(i);
-                Long id = jsonObject.getLong("id");
-                Long advertiserId = jsonObject.getLong("advertiserId");
-                String startDate = jsonObject.getString("startDate");
-                String endDate = jsonObject.getString("endDate");
-                String dataDimension = jsonObject.getString("dataDimension");
-                String dataType = jsonObject.getString("dataType");
-                String accessToken = jsonObject.getString("accessToken");
-                Integer isSend = jsonObject.getInteger("isSend");
-
-                if ("creative".equals(dataDimension)) {
-                    if (dataType.equals("hour")) { // 广告时报
-                        dailyCreativeExecutorService.submit(new Runnable() {
-                            @Override
-                            public void run() {
-                                if (!Check.isNull(accessToken)) {
-                                    retryReportService.getCreativeHourRetry(id, advertiserId, accessToken, startDate, endDate, 1, isSend);
-                                }
-                            }
-                        });
-                    }
-                    if (dataType.equals("daily")) { // 广告日报
-                        hourCreativeExecutorService.submit(new Runnable() {
-                            @Override
-                            public void run() {
-                                if (!Check.isNull(accessToken)) {
-                                    retryReportService.getCreativeDailyRetry(id, advertiserId, accessToken, startDate, endDate, 1, isSend);
-
-                                }
-                            }
-                        });
-                    }
-                } else if ("account".equals(dataDimension)) {
-                    if (dataType.equals("hour")) { // 广告时报
-                        hourrAccountExecutorService.submit(new Runnable() {
-                            @Override
-                            public void run() {
-                                if (!Check.isNull(accessToken)) {
-                                    retryReportService.getAccountHourRetry(id, advertiserId, accessToken, startDate, endDate, 1, isSend);
-                                }
-                            }
-                        });
-                    }
-
-                    if (dataType.equals("daily")) { // 广告日报
-                        dailyAccountExecutorService.submit(new Runnable() {
-                            @Override
-                            public void run() {
-                                if (!Check.isNull(accessToken)) {
-                                    retryReportService.getAccountDailyRetry(id, advertiserId, accessToken, startDate, endDate, 1, isSend);
-                                }
-                            }
-                        });
-                    }
-
-                }  else if ("flow_details".equals(dataDimension)) {
-                    flowExecutorService.submit(new Runnable() {
-
-                        @Override
-                        public void run() {
-                            if (!Check.isNull(accessToken)) {
-                                adqFlowDetailsReportService.getAdqFlowDetailsDailyReport(advertiserId, accessToken, startDate, endDate, 1, id);
-                            }
-
-                        }
-                    });
-                } else if ("material".equals(dataDimension)) {
-                    assetExecutorService.submit(new Runnable() {
-                        @Override
-                        public void run() {
-                            if (!Check.isNull(accessToken)) {
-                                adqMaterialReportService.getAdqMaterialDailyReport(advertiserId, accessToken, startDate, endDate, 1, null, id, isSend);
-                            }
-                        }
-                    });
-                }else if("daily_balance_report".equals(dataDimension)){
-                    blanceExecutorService.submit(new Runnable() {
-                        @Override
-                        public void run() {
-                            if (!Check.isNull(accessToken)) {
-                                try {
-                                    dailyBalanceReportService.getAdqBalanceReport(advertiserId, accessToken, startDate, endDate, 1, id);
-                                } catch (InterruptedException e) {
-                                    throw new RuntimeException(e);
-                                }
-                            }
-                        }
-                    });
-                }
-
-
-            }
-
-        } else {
-            log.info("重试列表为空");
-        }
-
-        List<JSONObject> adqAdIncomeRetryJob = adqAdIncomeService.getAdqAdIncomeRetryJob();
-        if (!Check.isNull(adqAdIncomeRetryJob)) {
-            for (int i = 0; i < adqAdIncomeRetryJob.size(); i++) {
-                JSONObject jsonObject = adqAdIncomeRetryJob.get(i);
-                Long id = jsonObject.getLong("id");
-                String dataDimension = jsonObject.getString("dataDimension");
-                String startDate = jsonObject.getString("startDate");
-                String endDate = jsonObject.getString("endDate");
-                Integer isSend = jsonObject.getInteger("isSend");
-                JSONObject msg = jsonObject.getJSONObject("msg");
-                String appId = msg.getString("app_id");
-                Long appletId = msg.getLong("applet_id");
-                if ("adq_ma_ad_income".equals(dataDimension)) {
-                    adIncomeExecutorService.submit(new Runnable() {
-                        @Override
-                        public void run() {
-                            adqAdIncomeService.getAdqAdIncome(startDate, endDate, appId, appletId, 1, null, id, isSend);
-                        }
-                    });
-                } else if ("adq_publisher_adpos_general".equals(dataDimension)) {
-                    adIncomeExecutorService.submit(new Runnable() {
-                        @Override
-                        public void run() {
-                            adqAdIncomeService.getAdqAdPosIncome(startDate, endDate, appId, appletId, 1, null, id, isSend);
-                        }
-                    });
-                } else if ("adq_ma_game_gift_list".equals(dataDimension)) {
-                    adIncomeExecutorService.submit(new Runnable() {
-                        @Override
-                        public void run() {
-                            adqAdIncomeService.getGameGiftList(startDate, endDate, appId, appletId, 1, null, id, isSend);
-                        }
-                    });
-                } else if ("adq_ma_game_divice_save".equals(dataDimension)) {
-                    adIncomeExecutorService.submit(new Runnable() {
-                        @Override
-                        public void run() {
-                            adqAdIncomeService.getGameDiviceSave(appId, appletId, 1, null, id, isSend);
-                        }
-                    });
-                } else if ("adq_ma_game_divice_transfer".equals(dataDimension)) {
-                    adIncomeExecutorService.submit(new Runnable() {
-                        @Override
-                        public void run() {
-                            adqAdIncomeService.getGameDiviceTransfer(startDate, endDate, appId, appletId, 1, null, id, isSend);
-                        }
-                    });
-                }
-            }
-        } else {
-            log.info("微小广告细分数据重试列表为空");
-        }
-
-    }
-
-
-    @XxlJob("updateAdqAccountStatus")
-    public void updateAdqAccountStatus() {
-        retryReportService.updateAdqAccountStatus();
-    }
-
-    @XxlJob("updateClAccountStatus")
-    public void updateClAccountStatus() {
-        retryReportService.updateClAccountStatus();
-    }
-
-
-    @XxlJob("getLtv3Data")
-    public void getLtv3Data() {
-        String nowDate = DateUtils.getNowDate("yyyy-MM-dd");
-        String endDateStr = DateUtils.getAnotherDay("yyyy-MM-dd", nowDate, -1);
-        String startDateStr = DateUtils.getAnotherDay("yyyy-MM-dd", nowDate, -4);
-        Integer startDate = Integer.valueOf(startDateStr.replace("-", ""));
-        Integer endDate = Integer.valueOf(endDateStr.replace("-", ""));
-        List<JSONObject> dataJson = adqReportService.getAccountListByDate(startDate, endDate);
-        if (!Check.isNull(dataJson)) {
-            for (int i = 0; i < dataJson.size(); i++) {
-                JSONObject jsonObject = dataJson.get(i);
-                Long advertiserId = jsonObject.getLong("advertiserId");
-                String accessToken = jsonObject.getString("accessToken");
-                dailyExecutorService.submit(new Runnable() {
-                    @Override
-                    public void run() {
-                        adqReportService.getAdqCreativeDaily(advertiserId, accessToken, startDateStr, endDateStr, 1, 1);
-                        accountReportService.getAdqAccountDaily(advertiserId, accessToken, startDateStr, endDateStr, 1, 1);
-                    }
-                });
-            }
-
-        }
-    }
-
-
-}