Ver Fonte

Merge remote-tracking branch 'origin/test' into test

syh há 5 anos atrás
pai
commit
8c5329ceba
53 ficheiros alterados com 942 adições e 103 exclusões
  1. 31 7
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/AdvertiserController.java
  2. 55 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/CreativeTitleController.java
  3. 70 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/DataeyeJob.java
  4. 2 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/IAdvertiserService.java
  5. 11 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/ICreativeTitleService.java
  6. 11 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/AdvertiserServiceImpl.java
  7. 83 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/CreativeTitleServiceImpl.java
  8. 3 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/excelutil/entity/KuaishouXxlEntity.java
  9. 11 7
      module-common/src/main/java/cn/com/ctop/common/module/utils/HttpUtils.java
  10. 8 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/entity/DataeyeAdArtStyle.java
  11. 1 1
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/entity/DataeyeCompany.java
  12. 15 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/entity/DataeyeCompanyProduct.java
  13. 12 10
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/entity/DataeyeMedia.java
  14. 15 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/entity/DataeyeMediaCompany.java
  15. 15 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/entity/DataeyeMediaProduct.java
  16. 8 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/entity/DataeyePlayRules.java
  17. 10 4
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/entity/DataeyeProduct.java
  18. 15 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/entity/DataeyeProductAdArtStyle.java
  19. 15 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/entity/DataeyeProductPlayRule.java
  20. 15 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/entity/DataeyeProductTheme.java
  21. 8 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/entity/DataeyeThemes.java
  22. 7 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/mapper/DataeyeAdArtStyleMapper.java
  23. 7 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/mapper/DataeyeCompanyProductMapper.java
  24. 7 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/mapper/DataeyeMediaMapper.java
  25. 7 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/mapper/DataeyePlayRulesMapper.java
  26. 7 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/mapper/DataeyeProductAdArtStyleMapper.java
  27. 7 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/mapper/DataeyeProductMapper.java
  28. 7 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/mapper/DataeyeProductPlayRuleMapper.java
  29. 7 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/mapper/DataeyeProductThemeMapper.java
  30. 7 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/mapper/DataeyeThemesMapper.java
  31. 7 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/DataeyeAdArtStyleService.java
  32. 7 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/DataeyeCompanyProductService.java
  33. 4 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/DataeyeLabelService.java
  34. 8 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/DataeyeMediaService.java
  35. 7 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/DataeyePlayRulesService.java
  36. 7 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/DataeyeProductAdArtStyleService.java
  37. 7 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/DataeyeProductPlayRuleService.java
  38. 5 1
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/DataeyeProductService.java
  39. 7 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/DataeyeProductThemeService.java
  40. 7 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/DataeyeThemesService.java
  41. 11 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeAdArtStyleServiceImpl.java
  42. 11 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeCompanyProductServiceImpl.java
  43. 30 15
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeCompanyServiceImpl.java
  44. 62 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeLabelServiceImpl.java
  45. 73 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeMediaServiceImpl.java
  46. 11 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyePlayRulesServiceImpl.java
  47. 13 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeProductAdArtStyleServiceImpl.java
  48. 11 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeProductPlayRuleServiceImpl.java
  49. 107 2
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeProductServiceImpl.java
  50. 11 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeProductThemeServiceImpl.java
  51. 12 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeThemesServiceImpl.java
  52. 1 1
      module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/KuaiShouYiCheReportMapper.xml
  53. 46 47
      module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/MaterialReportMapper.xml

+ 31 - 7
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/AdvertiserController.java

@@ -79,6 +79,8 @@ public class AdvertiserController {
     private ProjectMapper projectMapper;
     @Autowired
     private ProjectMemberMapper projectMemberMapper;
+    @Autowired
+    private IUserAllocationService userAllocationService;
 
 
     /**
@@ -171,6 +173,7 @@ public class AdvertiserController {
 
     @Autowired
     private ISysUserService sysUserService;
+
     /**
      * 添加
      *
@@ -237,6 +240,11 @@ public class AdvertiserController {
             Project updateProject = new Project();
             updateProject.setAdvertiserName(advertiser.getName());
             projectService.update(updateProject, projectQueryWrapper);
+            QueryWrapper<UserAllocation> userAllocationQueryWrapper = new QueryWrapper<>();
+            userAllocationQueryWrapper.eq("advertiser_id", advertiser.getId());
+            UserAllocation updateUserAllocation = new UserAllocation();
+            updateUserAllocation.setAdvertiserName(advertiser.getName());
+            userAllocationService.update(updateUserAllocation, userAllocationQueryWrapper);
             if (ok) {
                 result.success("修改成功!");
             }
@@ -392,9 +400,6 @@ public class AdvertiserController {
         return Result.ok("文件导入失败!");
     }
 
-    @Autowired
-    private IUserAllocationService userAllocationService;
-
     /**
      * 导出报表
      *
@@ -411,12 +416,20 @@ public class AdvertiserController {
         if (null == systemType || systemType.trim().equals("")) {
             systemType = null;
         }
-        SheetInfoVo totalSheetVo = advertiserService.getXxlStatisticInfo(projectId, systemType, null, null, "汇总表");
+        SheetInfoVo totalSheetVo = advertiserService.getXxlStatisticInfo(projectId, systemType, null, "汇总表");
         sheets.add(totalSheetVo);
+        if(null == systemType){
+            List<SheetInfoVo>vos = advertiserService.getSystemTypeXxlStatisticInfo(projectId);
+            if(null!=vos&&vos.size()>0){
+                for(SheetInfoVo vo:vos){
+                    sheets.add(vo);
+                }
+            }
+        }
         List<UserAllocation> allocations = userAllocationService.getByProjectId(projectId, systemType);
         if (null != allocations && allocations.size() > 0) {
             for (UserAllocation allocation : allocations) {
-                SheetInfoVo vo = advertiserService.getXxlStatisticInfo(projectId, systemType, allocation.getAccountId(), "state_date", allocation.getAuthName());
+                SheetInfoVo vo = advertiserService.getXxlStatisticInfo(projectId, systemType, allocation.getAccountId(), allocation.getAuthName());
                 sheets.add(vo);
             }
         }
@@ -434,13 +447,24 @@ public class AdvertiserController {
     @ResponseBody
     public void exportXxl(HttpServletRequest request, HttpServletResponse response, Long projectId, String systemType) throws Exception {
         List<SheetInfoVo> sheets = new ArrayList<>();
+        if (null == systemType || systemType.trim().equals("")) {
+            systemType = null;
+        }
         //查询总的消耗信息
-        SheetInfoVo totalSheetVo = advertiserService.getXxlStatisticInfo(projectId, systemType, null, null, "汇总表");
+        SheetInfoVo totalSheetVo = advertiserService.getXxlStatisticInfo(projectId, systemType, null, "汇总表");
         sheets.add(totalSheetVo);
+        if(null == systemType){
+            List<SheetInfoVo>vos = advertiserService.getSystemTypeXxlStatisticInfo(projectId);
+            if(null!=vos&&vos.size()>0){
+                for(SheetInfoVo vo:vos){
+                    sheets.add(vo);
+                }
+            }
+        }
         List<UserAllocation> allocations = userAllocationService.getByProjectId(projectId, systemType);
         if (null != allocations && allocations.size() > 0) {
             for (UserAllocation allocation : allocations) {
-                SheetInfoVo vo = advertiserService.getXxlStatisticInfo(projectId, systemType, allocation.getAccountId(), "state_date", allocation.getAuthName());
+                SheetInfoVo vo = advertiserService.getXxlStatisticInfo(projectId, systemType, allocation.getAccountId(), allocation.getAuthName());
                 sheets.add(vo);
             }
         }

+ 55 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/CreativeTitleController.java

@@ -0,0 +1,55 @@
+package org.jeecg.modules.ctop.controller;
+
+import com.alibaba.fastjson.JSONArray;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.ctop.service.ICreativeTitleService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/ctop/creativeTitle/")
+public class CreativeTitleController {
+    @Autowired
+    private ICreativeTitleService creativeTitleService;
+
+
+    @GetMapping("getTitleLabel")
+    public Result<JSONArray> getTitleLabel() {
+        Result<JSONArray> result = new Result<>();
+        JSONArray labelArr = creativeTitleService.getTitleLabel();
+        result.setSuccess(true);
+        result.setResult(labelArr);
+        return result;
+
+
+    }
+
+
+    @GetMapping("titleSuggestion")
+    public Result<JSONArray> titleSuggestion(String firstCategory, String secondCategory, String keywords) {
+        Result<JSONArray> result = new Result<>();
+        JSONArray labelArr = creativeTitleService.titleSuggestion(firstCategory, secondCategory, keywords);
+        result.setSuccess(true);
+        result.setResult(labelArr);
+        return result;
+
+
+    }
+
+
+
+    @GetMapping("titleSearch")
+    public Result<JSONArray> titleSearch(String firstCategory, String secondCategory, String keywords) {
+        Result<JSONArray> result = new Result<>();
+        JSONArray labelArr = creativeTitleService.titleSearch(firstCategory, secondCategory, keywords);
+        result.setSuccess(true);
+        result.setResult(labelArr);
+        return result;
+
+
+    }
+
+
+}

+ 70 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/DataeyeJob.java

@@ -1,20 +1,87 @@
 package org.jeecg.modules.ctop.job;
 
+import cn.com.ctop.common.module.utils.HttpUtils;
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeCompany;
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeProduct;
 import cn.com.ctop.crawler.modules.dataeye.service.DataeyeCompanyService;
+import cn.com.ctop.crawler.modules.dataeye.service.DataeyeMediaService;
+import cn.com.ctop.crawler.modules.dataeye.service.DataeyeProductService;
+import cn.com.ctop.crawler.modules.dataeye.service.impl.DataeyeProductServiceImpl;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.quartz.Job;
 import org.quartz.JobExecutionContext;
 import org.quartz.JobExecutionException;
 import org.springframework.beans.factory.annotation.Autowired;
 
+import java.util.Iterator;
+import java.util.List;
+
 @Slf4j
 public class DataeyeJob implements Job {
     @Autowired
     private DataeyeCompanyService dataeyeCompanyService;
+    @Autowired
+    private DataeyeProductService dataeyeProductService;
+    @Autowired
+    private DataeyeMediaService dataeyeMediaService;
     @Override
     public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-        for (int i = 1; i < 1000; i++){
-            dataeyeCompanyService.getCompanyInfo(i);
-        }
+        dataeyeMediaService.getMediaList();
+//        List<DataeyeCompany> list = dataeyeCompanyService.list();
+//        if (list != null && list.size() > 0){
+//            for(DataeyeCompany dataeyeCompany : list){
+//                try {
+//                    String result = HttpUtils.httpPostFormRequest("https://blzs.dataeye.com/company/listProductDistribution?companyId="+dataeyeCompany.getCompanyId(),null,null);
+//                    ObjectMapper mapper = new ObjectMapper();
+//                    mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
+//                    JsonNode rootNode = mapper.readTree(result);
+//                    int statusCode = rootNode.get("statusCode").asInt();
+//                    if (statusCode == 200) {
+//                        Iterator<JsonNode> nodes = rootNode.get("content").elements();
+//                        while (nodes.hasNext()){
+//                            JsonNode node = nodes.next();
+//                            Long productId = node.get("id").asLong();
+//                            dataeyeProductService.getProductInfo(dataeyeCompany.getCompanyId(),productId);
+//                        }
+//                    }
+//                }catch (Exception e){
+//                    e.printStackTrace();
+//                }
+//            }
+//        }
+//        int pageId=1;
+//        while(pageId <= 100){
+//            try {
+//                System.out.println("pageId:"+pageId);
+//                String result = HttpUtils.httpPostFormRequest("https://blzs.dataeye.com/ranking/listCompanyRanking?type=all&pageId="+pageId+"&pageSize=10&mediaId&playRuleId&themeId&searchKey&days=90&top=500",null,null);
+//                ObjectMapper mapper = new ObjectMapper();
+//                mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
+//                JsonNode rootNode = mapper.readTree(result);
+//                int statusCode = rootNode.get("statusCode").asInt();
+//                if (statusCode == 200){
+//                    Iterator<JsonNode> nodes = rootNode.get("content").elements();
+//                    while (nodes.hasNext()){
+//                        JsonNode node = nodes.next();
+//                        int companyId = node.get("companyId").asInt();
+//                        System.out.println(companyId);
+//                        dataeyeCompanyService.getCompanyInfo(companyId);
+//                    }
+//
+//                }
+//            }catch (Exception e){
+//
+//            }
+//            pageId++;
+//        }
+//        for (int i = 3528; i < 1000000; i++){
+//            try {
+//                dataeyeProductService.getProductInfo(i);
+//            } catch (Exception e) {
+//                e.printStackTrace();
+//            }
+//        }
     }
 }

+ 2 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/IAdvertiserService.java

@@ -16,6 +16,7 @@ public interface IAdvertiserService extends IService<Advertiser> {
 
     List<Advertiser> getBySaleId(String saleId);
 
-    SheetInfoVo getXxlStatisticInfo(Long projectId, String systemType, Long accountId, String groupBy, String sheetName);
+    SheetInfoVo getXxlStatisticInfo(Long projectId, String systemType, Long accountId, String sheetName);
 
+    List<SheetInfoVo> getSystemTypeXxlStatisticInfo(Long projectId);
 }

+ 11 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/ICreativeTitleService.java

@@ -0,0 +1,11 @@
+package org.jeecg.modules.ctop.service;
+
+import com.alibaba.fastjson.JSONArray;
+
+public interface ICreativeTitleService {
+    JSONArray getTitleLabel();
+
+    JSONArray titleSuggestion(String firstCategory, String secondCategory, String keywords);
+
+    JSONArray titleSearch(String firstCategory, String secondCategory, String keywords);
+}

+ 11 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/AdvertiserServiceImpl.java

@@ -32,7 +32,7 @@ public class AdvertiserServiceImpl extends ServiceImpl<AdvertiserMapper, Adverti
     }
 
     @Override
-    public SheetInfoVo getXxlStatisticInfo(Long projectId, String systemType, Long accountId, String groupBy, String sheetName) {
+    public SheetInfoVo getXxlStatisticInfo(Long projectId, String systemType, Long accountId, String sheetName) {
         SheetInfoVo vo = new SheetInfoVo();
         List<KuaishouXxlEntity> details = new ArrayList<>();
         vo.setSheetName(sheetName);
@@ -44,4 +44,14 @@ public class AdvertiserServiceImpl extends ServiceImpl<AdvertiserMapper, Adverti
         vo.setDetails(details);
         return vo;
     }
+
+    @Override
+    public List<SheetInfoVo> getSystemTypeXxlStatisticInfo(Long projectId) {
+        List<SheetInfoVo>vos = new ArrayList<>();
+        SheetInfoVo android = getXxlStatisticInfo(projectId,"android",null,"android汇总表");
+        vos.add(android);
+        SheetInfoVo ios = getXxlStatisticInfo(projectId,"ios",null,"ios汇总表");
+        vos.add(ios);
+        return vos;
+    }
 }

+ 83 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/CreativeTitleServiceImpl.java

@@ -0,0 +1,83 @@
+package org.jeecg.modules.ctop.service.impl;
+
+import cn.com.ctop.common.module.utils.Check;
+import cn.com.ctop.common.module.utils.HttpUtils;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import org.jeecg.modules.ctop.service.ICreativeTitleService;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@Service
+public class CreativeTitleServiceImpl implements ICreativeTitleService {
+    @Override
+    public JSONArray getTitleLabel() {
+        Map<String, String> headers = new HashMap<>();
+        headers.put("Content-Type", "application/json");
+        String result = HttpUtils.httpGet("https://cc.oceanengine.com/creative_center_server/api/title/new_title_label", null, headers);
+        JSONObject resultJson = JSONObject.parseObject(result);
+        if (resultJson.getInteger("code") == 0) {
+            JSONObject dataJson = resultJson.getJSONObject("data");
+            if (!Check.isNull(dataJson)) {
+                return dataJson.getJSONArray("title_label");
+            }
+
+        }
+        return null;
+    }
+
+
+    @Override
+    public JSONArray titleSuggestion(String firstCategory, String secondCategory, String keywords) {
+        if (Check.isNull(keywords)) {
+            return null;
+        }
+
+        Map<String, String> headers = new HashMap<>();
+        headers.put("Content-Type", "application/json");
+        Map<String, Object> paramsMap = new HashMap<>();
+        paramsMap.put("first_category", firstCategory);
+        paramsMap.put("second_category", secondCategory);
+        JSONObject json = new JSONObject();
+        json.put("keywords", keywords);
+        paramsMap.put("params", json);
+
+        String result = HttpUtils.httpGet("https://cc.oceanengine.com/creative_center_server/api/title/title_suggestion", paramsMap, headers);
+        JSONObject resultJson = JSONObject.parseObject(result);
+        if (resultJson.getInteger("code") == 0) {
+            JSONObject dataJson = resultJson.getJSONObject("data");
+            if (!Check.isNull(dataJson)) {
+                return dataJson.getJSONArray("titles");
+            }
+
+        }
+        return null;
+    }
+
+    @Override
+    public JSONArray titleSearch(String firstCategory, String secondCategory, String keywords) {
+        if (Check.isNull(keywords)) {
+            return null;
+        }
+        Map<String, String> headers = new HashMap<>();
+        headers.put("Content-Type", "application/json");
+        Map<String, Object> paramsMap = new HashMap<>();
+        paramsMap.put("first_category", firstCategory);
+        paramsMap.put("second_category", secondCategory);
+        JSONObject json = new JSONObject();
+        json.put("keywords", keywords);
+        paramsMap.put("params", json);
+        String result = HttpUtils.httpGet("https://cc.oceanengine.com/creative_center_server/api/title/title_search", paramsMap, headers);
+        JSONObject resultJson = JSONObject.parseObject(result);
+        if (resultJson.getInteger("code") == 0) {
+            JSONObject dataJson = resultJson.getJSONObject("data");
+            if (!Check.isNull(dataJson)) {
+                return dataJson.getJSONArray("titles");
+            }
+
+        }
+        return null;
+    }
+}

+ 3 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/excelutil/entity/KuaishouXxlEntity.java

@@ -38,7 +38,7 @@ public class KuaishouXxlEntity extends BaseRowModel {
      * 激活成本
      */
     @ExcelProperty(index = 6, value = "激活成本")
-    private int activeCost;
+    private BigDecimal activeCost;
     @ExcelProperty(index = 7, value = "每日计划(组)")
     private int planNum;
     @ExcelProperty(index = 8, value = "每日素材安排")
@@ -84,11 +84,11 @@ public class KuaishouXxlEntity extends BaseRowModel {
         this.active = active;
     }
 
-    public int getActiveCost() {
+    public BigDecimal getActiveCost() {
         return activeCost;
     }
 
-    public void setActiveCost(int activeCost) {
+    public void setActiveCost(BigDecimal activeCost) {
         this.activeCost = activeCost;
     }
 

+ 11 - 7
module-common/src/main/java/cn/com/ctop/common/module/utils/HttpUtils.java

@@ -173,15 +173,19 @@ public class HttpUtils {
                 }
             }
             List<NameValuePair> paramList = new ArrayList<NameValuePair>();
-            for (String key : param.keySet()) {
-                BasicNameValuePair basicNameValuePair = new BasicNameValuePair(key, String.valueOf(param.get(key)));
-                paramList.add(basicNameValuePair);
+            if (param != null){
+                for (String key : param.keySet()) {
+                    BasicNameValuePair basicNameValuePair = new BasicNameValuePair(key, String.valueOf(param.get(key)));
+                    paramList.add(basicNameValuePair);
+                }
+                // 第二步:我们发现Entity是一个接口,所以只能找实现类,发现实现类又需要一个集合,集合的泛型是NameValuePair类型
+                UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(paramList);
+                // 第一步:通过setEntity 将我们的entity对象传递过去
+                httppost.setEntity(formEntity);
             }
 
-            // 第二步:我们发现Entity是一个接口,所以只能找实现类,发现实现类又需要一个集合,集合的泛型是NameValuePair类型
-            UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(paramList);
-            // 第一步:通过setEntity 将我们的entity对象传递过去
-            httppost.setEntity(formEntity);
+
+
             HttpEntity respentity;
 
             HttpResponse response = httpClient.execute(httppost);

+ 8 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/entity/DataeyeAdArtStyle.java

@@ -1,6 +1,14 @@
 package cn.com.ctop.crawler.modules.dataeye.entity;
 
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName("ctop_dataeye_ad_art_style")
 public class DataeyeAdArtStyle {
+    @TableId(value = "id", type = IdType.INPUT)
     private Integer id;
     private String artStyle;
     private Integer orderId;

+ 1 - 1
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/entity/DataeyeCompany.java

@@ -11,7 +11,7 @@ import java.util.Date;
 @TableName("ctop_dataeye_company")
 public class DataeyeCompany {
     @TableId(value = "id", type = IdType.INPUT)
-    private Integer companyId;
+    private Long companyId;
     private String companyName;
     private Date firstSeen;
     private Date lastSeen;

+ 15 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/entity/DataeyeCompanyProduct.java

@@ -0,0 +1,15 @@
+package cn.com.ctop.crawler.modules.dataeye.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName("ctop_dataeye_company_product")
+public class DataeyeCompanyProduct {
+    @TableId(value = "id", type = IdType.INPUT)
+    private Long id;
+    private Long companyId;
+    private Long productId;
+}

+ 12 - 10
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/entity/DataeyeMedia.java

@@ -1,18 +1,20 @@
 package cn.com.ctop.crawler.modules.dataeye.entity;
 
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.models.auth.In;
+import lombok.Data;
 
 import java.util.Date;
-
+@Data
+@TableName("ctop_dataeye_media")
 public class DataeyeMedia {
-    private Integer id;
+    @TableId(value = "id", type = IdType.INPUT)
+    private Long mediaId;
     private String mediaName;
-    private String logoUrl;
-    private String supportIos;
-    private String supportAndroid;
-    private String positionList;
-    private Integer isUnion;
-    private Integer isShow;
-    private Date createTime;
-    private Date updateTime;
+    private String logo;
+    private Integer companyNum;
+    private Integer productNum;
+    private Integer materialNum;
 }

+ 15 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/entity/DataeyeMediaCompany.java

@@ -0,0 +1,15 @@
+package cn.com.ctop.crawler.modules.dataeye.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName("ctop_dataeye_media_company")
+public class DataeyeMediaCompany {
+    @TableId(value = "id", type = IdType.INPUT)
+    private Long id;
+    private Long mediaId;
+    private Long companyId;
+}

+ 15 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/entity/DataeyeMediaProduct.java

@@ -0,0 +1,15 @@
+package cn.com.ctop.crawler.modules.dataeye.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName("ctop_dataeye_media_product")
+public class DataeyeMediaProduct {
+    @TableId(value = "id", type = IdType.INPUT)
+    private Long id;
+    private Long MediaId;
+    private Long productId;
+}

+ 8 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/entity/DataeyePlayRules.java

@@ -1,6 +1,14 @@
 package cn.com.ctop.crawler.modules.dataeye.entity;
 
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName("ctop_dataeye_play_rule")
 public class DataeyePlayRules {
+    @TableId(value = "id", type = IdType.INPUT)
     private Integer id;
     private String playRule;
     private Integer orderId;

+ 10 - 4
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/entity/DataeyeProduct.java

@@ -1,12 +1,20 @@
 package cn.com.ctop.crawler.modules.dataeye.entity;
 
-import java.util.Date;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
 
+import java.util.Date;
+import java.util.List;
+@Data
+@TableName("ctop_dataeye_product")
 public class DataeyeProduct {
+    @TableId(value = "id", type = IdType.INPUT)
     private Integer productId;
     private String icon;
     private String productName;
-    private Date firstSceen;
+    private Date firstSeen;
     private Date lastSeen;
     private Integer days;
     private Integer type;
@@ -14,6 +22,4 @@ public class DataeyeProduct {
     private Integer mediaNum;
     private Integer positionNum;
     private Integer materialNum;
-    private String wxQrCode;
-
 }

+ 15 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/entity/DataeyeProductAdArtStyle.java

@@ -0,0 +1,15 @@
+package cn.com.ctop.crawler.modules.dataeye.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName("ctop_dataeye_product_ad_art_style")
+public class DataeyeProductAdArtStyle {
+    @TableId(value = "id", type = IdType.INPUT)
+    private Long id;
+    private Long productId;
+    private Long styleId;
+}

+ 15 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/entity/DataeyeProductPlayRule.java

@@ -0,0 +1,15 @@
+package cn.com.ctop.crawler.modules.dataeye.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName("ctop_dataeye_product_play_rule")
+public class DataeyeProductPlayRule {
+    @TableId(value = "id", type = IdType.INPUT)
+    private Long id;
+    private Long productId;
+    private Long ruleId;
+}

+ 15 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/entity/DataeyeProductTheme.java

@@ -0,0 +1,15 @@
+package cn.com.ctop.crawler.modules.dataeye.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName("ctop_dataeye_product_theme")
+public class DataeyeProductTheme {
+    @TableId(value = "id", type = IdType.INPUT)
+    private Long id;
+    private Long productId;
+    private Long themeId;
+}

+ 8 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/entity/DataeyeThemes.java

@@ -1,6 +1,14 @@
 package cn.com.ctop.crawler.modules.dataeye.entity;
 
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName("ctop_dataeye_theme")
 public class DataeyeThemes {
+    @TableId(value = "id", type = IdType.INPUT)
     private Integer id;
     private String theme;
     private Integer orderId;

+ 7 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/mapper/DataeyeAdArtStyleMapper.java

@@ -0,0 +1,7 @@
+package cn.com.ctop.crawler.modules.dataeye.mapper;
+
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeAdArtStyle;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface DataeyeAdArtStyleMapper extends BaseMapper<DataeyeAdArtStyle> {
+}

+ 7 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/mapper/DataeyeCompanyProductMapper.java

@@ -0,0 +1,7 @@
+package cn.com.ctop.crawler.modules.dataeye.mapper;
+
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeCompanyProduct;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface DataeyeCompanyProductMapper extends BaseMapper<DataeyeCompanyProduct> {
+}

+ 7 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/mapper/DataeyeMediaMapper.java

@@ -0,0 +1,7 @@
+package cn.com.ctop.crawler.modules.dataeye.mapper;
+
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeMedia;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface DataeyeMediaMapper extends BaseMapper<DataeyeMedia> {
+}

+ 7 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/mapper/DataeyePlayRulesMapper.java

@@ -0,0 +1,7 @@
+package cn.com.ctop.crawler.modules.dataeye.mapper;
+
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyePlayRules;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface DataeyePlayRulesMapper extends BaseMapper<DataeyePlayRules> {
+}

+ 7 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/mapper/DataeyeProductAdArtStyleMapper.java

@@ -0,0 +1,7 @@
+package cn.com.ctop.crawler.modules.dataeye.mapper;
+
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeProductAdArtStyle;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface DataeyeProductAdArtStyleMapper extends BaseMapper<DataeyeProductAdArtStyle> {
+}

+ 7 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/mapper/DataeyeProductMapper.java

@@ -0,0 +1,7 @@
+package cn.com.ctop.crawler.modules.dataeye.mapper;
+
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeProduct;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface DataeyeProductMapper extends BaseMapper<DataeyeProduct> {
+}

+ 7 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/mapper/DataeyeProductPlayRuleMapper.java

@@ -0,0 +1,7 @@
+package cn.com.ctop.crawler.modules.dataeye.mapper;
+
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeProductPlayRule;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface DataeyeProductPlayRuleMapper extends BaseMapper<DataeyeProductPlayRule> {
+}

+ 7 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/mapper/DataeyeProductThemeMapper.java

@@ -0,0 +1,7 @@
+package cn.com.ctop.crawler.modules.dataeye.mapper;
+
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeProductTheme;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface DataeyeProductThemeMapper extends BaseMapper<DataeyeProductTheme> {
+}

+ 7 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/mapper/DataeyeThemesMapper.java

@@ -0,0 +1,7 @@
+package cn.com.ctop.crawler.modules.dataeye.mapper;
+
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeThemes;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface DataeyeThemesMapper extends BaseMapper<DataeyeThemes> {
+}

+ 7 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/DataeyeAdArtStyleService.java

@@ -0,0 +1,7 @@
+package cn.com.ctop.crawler.modules.dataeye.service;
+
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeAdArtStyle;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+public interface DataeyeAdArtStyleService extends IService<DataeyeAdArtStyle> {
+}

+ 7 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/DataeyeCompanyProductService.java

@@ -0,0 +1,7 @@
+package cn.com.ctop.crawler.modules.dataeye.service;
+
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeCompanyProduct;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+public interface DataeyeCompanyProductService extends IService<DataeyeCompanyProduct> {
+}

+ 4 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/DataeyeLabelService.java

@@ -0,0 +1,4 @@
+package cn.com.ctop.crawler.modules.dataeye.service;
+
+public interface DataeyeLabelService {
+}

+ 8 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/DataeyeMediaService.java

@@ -0,0 +1,8 @@
+package cn.com.ctop.crawler.modules.dataeye.service;
+
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeMedia;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+public interface DataeyeMediaService extends IService<DataeyeMedia> {
+    public void getMediaList();
+}

+ 7 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/DataeyePlayRulesService.java

@@ -0,0 +1,7 @@
+package cn.com.ctop.crawler.modules.dataeye.service;
+
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyePlayRules;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+public interface DataeyePlayRulesService extends IService<DataeyePlayRules> {
+}

+ 7 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/DataeyeProductAdArtStyleService.java

@@ -0,0 +1,7 @@
+package cn.com.ctop.crawler.modules.dataeye.service;
+
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeProductAdArtStyle;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+public interface DataeyeProductAdArtStyleService extends IService<DataeyeProductAdArtStyle> {
+}

+ 7 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/DataeyeProductPlayRuleService.java

@@ -0,0 +1,7 @@
+package cn.com.ctop.crawler.modules.dataeye.service;
+
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeProductPlayRule;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+public interface DataeyeProductPlayRuleService extends IService<DataeyeProductPlayRule> {
+}

+ 5 - 1
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/DataeyeProductService.java

@@ -1,4 +1,8 @@
 package cn.com.ctop.crawler.modules.dataeye.service;
 
-public interface DataeyeProductService {
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeProduct;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+public interface DataeyeProductService extends IService<DataeyeProduct> {
+    public void getProductInfo(Long companyId,Long productId);
 }

+ 7 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/DataeyeProductThemeService.java

@@ -0,0 +1,7 @@
+package cn.com.ctop.crawler.modules.dataeye.service;
+
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeProductTheme;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+public interface DataeyeProductThemeService extends IService<DataeyeProductTheme> {
+}

+ 7 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/DataeyeThemesService.java

@@ -0,0 +1,7 @@
+package cn.com.ctop.crawler.modules.dataeye.service;
+
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeThemes;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+public interface DataeyeThemesService extends IService<DataeyeThemes> {
+}

+ 11 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeAdArtStyleServiceImpl.java

@@ -0,0 +1,11 @@
+package cn.com.ctop.crawler.modules.dataeye.service.impl;
+
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeAdArtStyle;
+import cn.com.ctop.crawler.modules.dataeye.mapper.DataeyeAdArtStyleMapper;
+import cn.com.ctop.crawler.modules.dataeye.service.DataeyeAdArtStyleService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service
+public class DataeyeAdArtStyleServiceImpl extends ServiceImpl<DataeyeAdArtStyleMapper, DataeyeAdArtStyle> implements DataeyeAdArtStyleService {
+}

+ 11 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeCompanyProductServiceImpl.java

@@ -0,0 +1,11 @@
+package cn.com.ctop.crawler.modules.dataeye.service.impl;
+
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeCompanyProduct;
+import cn.com.ctop.crawler.modules.dataeye.mapper.DataeyeCompanyProductMapper;
+import cn.com.ctop.crawler.modules.dataeye.service.DataeyeCompanyProductService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service
+public class DataeyeCompanyProductServiceImpl extends ServiceImpl<DataeyeCompanyProductMapper, DataeyeCompanyProduct> implements DataeyeCompanyProductService {
+}

+ 30 - 15
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeCompanyServiceImpl.java

@@ -5,6 +5,7 @@ import cn.com.ctop.crawler.modules.core.util.SignUtil;
 import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeCompany;
 import cn.com.ctop.crawler.modules.dataeye.mapper.DataeyeCompanyMapper;
 import cn.com.ctop.crawler.modules.dataeye.service.DataeyeCompanyService;
+import cn.com.ctop.crawler.modules.dataeye.service.DataeyeProductService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.JsonNode;
@@ -13,6 +14,7 @@ import com.google.gson.Gson;
 import org.apache.http.cookie.Cookie;
 import org.apache.http.impl.cookie.BasicClientCookie;
 import org.jeecg.common.util.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import sun.misc.BASE64Encoder;
 
@@ -22,26 +24,17 @@ import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.Map;
 @Service
 public class DataeyeCompanyServiceImpl extends ServiceImpl<DataeyeCompanyMapper, DataeyeCompany> implements DataeyeCompanyService {
-
+    @Autowired
+    private DataeyeProductService dataeyeProductService;
     public void getCompanyInfo(Integer companyId){
-        Map<String,String> headerMap = new HashMap<>();
-        headerMap.put("Host","adx.dataeye.com");
-        headerMap.put("Origin","https://adx.dataeye.com");
-        headerMap.put("Referer","https://adx.dataeye.com/");
-        BasicClientCookie ck = new BasicClientCookie("tokenglobal", "721501ec4ec04a50bbffc0c0240cbbdd63a0d5456205b9a5ea1581ce6c6554ca");
-        ck.setDomain("adx.dataeye.com");
-        ck.setExpiryDate(DateUtils.addDay(new Date(),365));
-        ck.setPath("/");
-        HttpUtils.COOKIESTORE.addCookie(ck);
         Map<String,Object> paramMap = new HashMap<>();
         paramMap.put("companyId",companyId);
-        paramMap.put("thisTimes",(long)(new Date().getTime()/100));
-        String sign = SignUtil.getDataeyeSign(paramMap);
-        paramMap.put("sign",sign);
-        String response = HttpUtils.httpPostFormRequest("https://adx.dataeye.com/company/getCompanyInfo",paramMap,headerMap);
+        String response = HttpUtils.httpPostFormRequest("https://blzs.dataeye.com/company/getCompanyInfo",paramMap,null);
+        System.out.println(response);
         ObjectMapper mapper = new ObjectMapper();
         mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
         try {
@@ -50,7 +43,29 @@ public class DataeyeCompanyServiceImpl extends ServiceImpl<DataeyeCompanyMapper,
             if (statusCode == 200){
                 String content = rootNode.get("content").toString();
                 DataeyeCompany company = mapper.readValue(content,DataeyeCompany.class);
-                this.save(company);
+                if(company != null && company.getCompanyName() != null){
+                    this.saveOrUpdate(company);
+                    String result = HttpUtils.httpPostFormRequest("https://blzs.dataeye.com/company/listProductDistribution?companyId="+companyId,null,null);
+                    System.out.println(result);
+                    rootNode = mapper.readTree(result);
+                    statusCode = rootNode.get("statusCode").asInt();
+                    if (statusCode == 200) {
+                        Iterator<JsonNode> nodes = rootNode.get("content").elements();
+                        while (nodes.hasNext()){
+                            JsonNode node = nodes.next();
+                            Long productId = node.get("id").asLong();
+//                            Map<String,Long> map = new HashMap<>();
+//                            map.put("companyId",companyId.longValue());
+//                            map.put("productId",productId);
+//                            try {
+//                                DataeyeProductServiceImpl.taskQueue.put(map);
+//                            } catch (InterruptedException e) {
+//                                e.printStackTrace();
+//                            }
+                            dataeyeProductService.getProductInfo(companyId.longValue(),productId);
+                        }
+                    }
+                }
             }
         } catch (IOException e) {
             e.printStackTrace();

+ 62 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeLabelServiceImpl.java

@@ -0,0 +1,62 @@
+package cn.com.ctop.crawler.modules.dataeye.service.impl;
+
+import cn.com.ctop.common.module.utils.HttpUtils;
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeAdArtStyle;
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeCompany;
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyePlayRules;
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeThemes;
+import cn.com.ctop.crawler.modules.dataeye.mapper.DataeyeAdArtStyleMapper;
+import cn.com.ctop.crawler.modules.dataeye.mapper.DataeyePlayRulesMapper;
+import cn.com.ctop.crawler.modules.dataeye.mapper.DataeyeThemesMapper;
+import cn.com.ctop.crawler.modules.dataeye.service.DataeyeAdArtStyleService;
+import cn.com.ctop.crawler.modules.dataeye.service.DataeyeLabelService;
+import cn.com.ctop.crawler.modules.dataeye.service.DataeyePlayRulesService;
+import cn.com.ctop.crawler.modules.dataeye.service.DataeyeThemesService;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.io.IOException;
+import java.util.List;
+
+@Service
+public class DataeyeLabelServiceImpl implements DataeyeLabelService {
+    @Autowired
+    private DataeyeAdArtStyleService dataeyeAdArtStyleService;
+    @Autowired
+    private DataeyeThemesService dataeyeThemesService;
+    @Autowired
+    private DataeyePlayRulesService dataeyePlayRulesService;
+
+    public void getLabelList(){
+        String response = HttpUtils.httpPostFormRequest("https://blzs.dataeye.com/common/getNewLabelMenu",null,null);
+        System.out.println(response);
+        ObjectMapper mapper = new ObjectMapper();
+        mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
+        try {
+            JsonNode rootNode = mapper.readTree(response);
+            int statusCode = rootNode.get("statusCode").asInt();
+            if (statusCode == 200){
+                String adThemeList = rootNode.get("content").get("adThemeList").toString();
+                String adPlayRuleList = rootNode.get("content").get("adPlayRuleList").toString();
+                String adArtStyleList = rootNode.get("content").get("adArtStyleList").toString();
+                List<DataeyeAdArtStyle> adArtStyles = mapper.readValue(adArtStyleList, new TypeReference<List<DataeyeAdArtStyle>>(){});
+                List<DataeyeThemes> themes = mapper.readValue(adThemeList,new TypeReference<List<DataeyeThemes>>(){});
+                List<DataeyePlayRules> playRules = mapper.readValue(adPlayRuleList,new TypeReference<List<DataeyePlayRules>>(){});
+                dataeyeAdArtStyleService.saveOrUpdateBatch(adArtStyles);
+                dataeyeThemesService.saveOrUpdateBatch(themes);
+                dataeyePlayRulesService.saveOrUpdateBatch(playRules);
+//                DataeyeCompany company = mapper.readValue(content,DataeyeCompany.class);
+//                if(company != null && company.getCompanyName() != null){
+//                    this.save(company);
+//                }
+
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+}

+ 73 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeMediaServiceImpl.java

@@ -0,0 +1,73 @@
+package cn.com.ctop.crawler.modules.dataeye.service.impl;
+
+import cn.com.ctop.common.module.utils.HttpUtils;
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeCompany;
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeMedia;
+import cn.com.ctop.crawler.modules.dataeye.mapper.DataeyeMediaMapper;
+import cn.com.ctop.crawler.modules.dataeye.service.DataeyeCompanyService;
+import cn.com.ctop.crawler.modules.dataeye.service.DataeyeMediaService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import io.swagger.models.auth.In;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.io.IOException;
+import java.util.*;
+
+@Service
+public class DataeyeMediaServiceImpl extends ServiceImpl<DataeyeMediaMapper, DataeyeMedia> implements DataeyeMediaService {
+    @Autowired
+    private DataeyeCompanyService dataeyeCompanyService;
+    public void getMediaList(){
+        String response = HttpUtils.httpPostFormRequest("https://blzs.dataeye.com/common/listMedia",null,null);
+        System.out.println(response);
+        ObjectMapper mapper = new ObjectMapper();
+        mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
+        try {
+            JsonNode rootNode = mapper.readTree(response);
+            int statusCode = rootNode.get("statusCode").asInt();
+            if (statusCode == 200){
+                Iterator<JsonNode> nodes = rootNode.get("content").elements();
+                List<Integer> ids = new ArrayList<>();
+                while (nodes.hasNext()){
+                    JsonNode node =  nodes.next();
+                    Integer mediaId = node.get("k").asInt();
+                    ids.add(mediaId);
+                    response = HttpUtils.httpPostFormRequest("https://blzs.dataeye.com/media/getMediaInfo?mediaId="+mediaId,null,null);
+                    System.out.println(response);
+                    rootNode = mapper.readTree(response);
+                    statusCode = rootNode.get("statusCode").asInt();
+                    if (statusCode == 200){
+                        String content = rootNode.get("content").toString();
+                        DataeyeMedia media = mapper.readValue(content,DataeyeMedia.class);
+                        if(media != null && media.getMediaId() != null){
+                            this.saveOrUpdate(media);
+
+                        }
+                    }
+                }
+                if(ids != null){
+                    for (Integer mediaId :ids){
+                        response = HttpUtils.httpPostFormRequest("https://blzs.dataeye.com/media/listCompanyDistribution?mediaId="+mediaId,null,null);
+                        System.out.println(response);
+                        rootNode = mapper.readTree(response);
+                        statusCode = rootNode.get("statusCode").asInt();
+                        if (statusCode == 200){
+                            Iterator<JsonNode> companyNodes = rootNode.get("content").elements();
+                            while (companyNodes.hasNext()){
+                                JsonNode companyNode = companyNodes.next();
+                                Integer companyId = companyNode.get("id").asInt();
+                                dataeyeCompanyService.getCompanyInfo(companyId);
+                            }
+                        }
+                    }
+                }
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+}

+ 11 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyePlayRulesServiceImpl.java

@@ -0,0 +1,11 @@
+package cn.com.ctop.crawler.modules.dataeye.service.impl;
+
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyePlayRules;
+import cn.com.ctop.crawler.modules.dataeye.mapper.DataeyePlayRulesMapper;
+import cn.com.ctop.crawler.modules.dataeye.service.DataeyePlayRulesService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service
+public class DataeyePlayRulesServiceImpl extends ServiceImpl<DataeyePlayRulesMapper, DataeyePlayRules> implements DataeyePlayRulesService{
+}

+ 13 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeProductAdArtStyleServiceImpl.java

@@ -0,0 +1,13 @@
+package cn.com.ctop.crawler.modules.dataeye.service.impl;
+
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeProductAdArtStyle;
+import cn.com.ctop.crawler.modules.dataeye.mapper.DataeyeProductAdArtStyleMapper;
+import cn.com.ctop.crawler.modules.dataeye.service.DataeyeAdArtStyleService;
+import cn.com.ctop.crawler.modules.dataeye.service.DataeyePlayRulesService;
+import cn.com.ctop.crawler.modules.dataeye.service.DataeyeProductAdArtStyleService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service
+public class DataeyeProductAdArtStyleServiceImpl extends ServiceImpl<DataeyeProductAdArtStyleMapper, DataeyeProductAdArtStyle> implements DataeyeProductAdArtStyleService {
+}

+ 11 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeProductPlayRuleServiceImpl.java

@@ -0,0 +1,11 @@
+package cn.com.ctop.crawler.modules.dataeye.service.impl;
+
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeProductPlayRule;
+import cn.com.ctop.crawler.modules.dataeye.mapper.DataeyeProductPlayRuleMapper;
+import cn.com.ctop.crawler.modules.dataeye.service.DataeyeProductPlayRuleService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service
+public class DataeyeProductPlayRuleServiceImpl extends ServiceImpl<DataeyeProductPlayRuleMapper, DataeyeProductPlayRule> implements DataeyeProductPlayRuleService{
+}

+ 107 - 2
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeProductServiceImpl.java

@@ -1,8 +1,113 @@
 package cn.com.ctop.crawler.modules.dataeye.service.impl;
 
-import cn.com.ctop.crawler.modules.dataeye.service.DataeyeProductService;
+import cn.com.ctop.common.module.utils.HttpUtils;
+import cn.com.ctop.crawler.modules.dataeye.entity.*;
+import cn.com.ctop.crawler.modules.dataeye.mapper.DataeyeProductMapper;
+import cn.com.ctop.crawler.modules.dataeye.service.*;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import us.codecraft.webmagic.thread.CountableThreadPool;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.logging.Logger;
 
 @Service
-public class DataeyeProductServiceImpl implements DataeyeProductService {
+public class DataeyeProductServiceImpl extends ServiceImpl<DataeyeProductMapper, DataeyeProduct> implements DataeyeProductService {
+    @Autowired
+    private DataeyeProductThemeService dataeyeProductThemeService;
+    @Autowired
+    private DataeyeProductPlayRuleService dataeyeProductPlayRuleService;
+    @Autowired
+    private DataeyeProductAdArtStyleService dataeyeProductAdArtStyleService;
+    @Autowired
+    private DataeyeCompanyProductService dataeyeCompanyProductService;
+
+    public void getProductInfo(Long companyId,Long productId){
+        Map<String,Object> paramMap = new HashMap<>();
+        paramMap.put("productId",productId);
+        String response = HttpUtils.httpPostFormRequest("https://blzs.dataeye.com/product/getProductInfo",paramMap,null);
+        System.out.println(response);
+        ObjectMapper mapper = new ObjectMapper();
+        mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
+        try {
+            JsonNode rootNode = mapper.readTree(response);
+            int statusCode = rootNode.get("statusCode").asInt();
+            if (statusCode == 200){
+                String content = rootNode.get("content").toString();
+                DataeyeProduct product = mapper.readValue(content,DataeyeProduct.class);
+                if(product != null && product.getProductName() != null && !product.getProductName().equals("")){
+                    this.saveOrUpdate(product);
+                }
+                QueryWrapper<DataeyeCompanyProduct> queryWrapper1 = new QueryWrapper<>();
+                queryWrapper1.eq("company_id",companyId);
+                queryWrapper1.eq("product_id",productId);
+                DataeyeCompanyProduct dataeyeCompanyProduct = dataeyeCompanyProductService.getOne(queryWrapper1);
+                if(dataeyeCompanyProduct == null){
+                    dataeyeCompanyProduct = new DataeyeCompanyProduct();
+                    dataeyeCompanyProduct.setCompanyId(companyId);
+                    dataeyeCompanyProduct.setProductId(productId);
+                    dataeyeCompanyProductService.save(dataeyeCompanyProduct);
+                }
+                Iterator<JsonNode> themeNodes = rootNode.get("content").get("themes").elements();
+                Iterator<JsonNode> ruleNodes = rootNode.get("content").get("playRules").elements();
+                Iterator<JsonNode> styleNodes = rootNode.get("content").get("adArtStyles").elements();
+                while (themeNodes.hasNext()){
+                    JsonNode node = themeNodes.next();
+                    Long themeId = node.get("id").asLong();
+                    QueryWrapper<DataeyeProductTheme> queryWrapper = new QueryWrapper<>();
+                    queryWrapper.eq("product_id",productId);
+                    queryWrapper.eq("theme_id",themeId);
+                    DataeyeProductTheme theme = dataeyeProductThemeService.getOne(queryWrapper);
+                    if (theme == null){
+                        theme = new DataeyeProductTheme();
+                        theme.setProductId(productId.longValue());
+                        theme.setThemeId(themeId);
+                        dataeyeProductThemeService.save(theme);
+                    }
+                }
+                while (ruleNodes.hasNext()){
+                    JsonNode node = ruleNodes.next();
+                    Long ruleId = node.get("id").asLong();
+                    QueryWrapper<DataeyeProductPlayRule> queryWrapper = new QueryWrapper<>();
+                    queryWrapper.eq("product_id",productId);
+                    queryWrapper.eq("rule_id",ruleId);
+                    DataeyeProductPlayRule rule = dataeyeProductPlayRuleService.getOne(queryWrapper);
+                    if (rule == null){
+                        rule = new DataeyeProductPlayRule();
+                        rule.setProductId(productId.longValue());
+                        rule.setRuleId(ruleId);
+                        dataeyeProductPlayRuleService.save(rule);
+                    }
+                }
+                while (styleNodes.hasNext()){
+                    JsonNode node = styleNodes.next();
+                    Long styleId = node.get("id").asLong();
+                    QueryWrapper<DataeyeProductAdArtStyle> queryWrapper = new QueryWrapper<>();
+                    queryWrapper.eq("product_id",productId);
+                    queryWrapper.eq("style_id",styleId);
+                    DataeyeProductAdArtStyle style = dataeyeProductAdArtStyleService.getOne(queryWrapper);
+                    if (style == null){
+                        style = new DataeyeProductAdArtStyle();
+                        style.setProductId(productId.longValue());
+                        style.setStyleId(styleId);
+                        dataeyeProductAdArtStyleService.save(style);
+                    }
+                }
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
 }

+ 11 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeProductThemeServiceImpl.java

@@ -0,0 +1,11 @@
+package cn.com.ctop.crawler.modules.dataeye.service.impl;
+
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeProductTheme;
+import cn.com.ctop.crawler.modules.dataeye.mapper.DataeyeProductThemeMapper;
+import cn.com.ctop.crawler.modules.dataeye.service.DataeyeProductThemeService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service
+public class DataeyeProductThemeServiceImpl extends ServiceImpl<DataeyeProductThemeMapper, DataeyeProductTheme> implements DataeyeProductThemeService {
+}

+ 12 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/dataeye/service/impl/DataeyeThemesServiceImpl.java

@@ -0,0 +1,12 @@
+package cn.com.ctop.crawler.modules.dataeye.service.impl;
+
+import cn.com.ctop.crawler.modules.dataeye.entity.DataeyeThemes;
+import cn.com.ctop.crawler.modules.dataeye.mapper.DataeyeCompanyMapper;
+import cn.com.ctop.crawler.modules.dataeye.mapper.DataeyeThemesMapper;
+import cn.com.ctop.crawler.modules.dataeye.service.DataeyeThemesService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service
+public class DataeyeThemesServiceImpl extends ServiceImpl<DataeyeThemesMapper, DataeyeThemes> implements DataeyeThemesService {
+}

+ 1 - 1
module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/KuaiShouYiCheReportMapper.xml

@@ -446,7 +446,7 @@
             and t1.stat_date = #{statDate}
         </if>
         ) t2
-        WHERE t2.campaignName in(845,846,847,848,849,850,1071,1072)
+        WHERE t2.campaignName in(845,846,847,848,849,850,1071,1072,1066)
 
     </select>
 

+ 46 - 47
module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/MaterialReportMapper.xml

@@ -92,31 +92,34 @@
         END
         ) conversionPrice, -- 转化单价
 
-        t2.url url, -- 视频url
+        --  t2.url url, -- 视频url
+
+        (SELECT  url
+        FROM ctop_kuaishou_video_get
+        WHERE signature = t2.signature
+        LIMIT 1
+        ) url,
         t2.signature signature -- 视频md5
         from
         ctop_user_allocation t1
         left join
-        ctop_kuaishou_report_hourly_creative_statistic t2
+        ctop_kuaishou_report_daily_creative t2
         on t1.account_id = t2.account_id
+
         <where>
             <if test="userId != null">
                 and t1.user_id = #{userId,jdbcType=VARCHAR}
             </if>
-            and t1.media_id = '2'
-            and t1.account_id != ''
-            and t2.signature != ''
+
             <if test="startDate != null">
                 and t2.stat_date = #{startDate}
             </if>
-            <if test="statHour != null">
-                and t2.stat_hour &lt;= #{statHour}
-            </if>
+            and t2.signature is not null
         </where>
-
         group by t2.signature
         order by sum(t2.charge) desc
-        limit 100
+        limit 100;
+
 
 
     </select>
@@ -207,8 +210,6 @@
 
     <select id="selectDailyByMap" parameterType="Map" resultType="com.alibaba.fastjson.JSONObject">
 
-
-
         SELECT
         sum(t2.charge) cost, -- 花费
         sum(t2.photo_show) photoShow, -- 封面曝光数
@@ -471,87 +472,85 @@
 
     <select id="selectDayMaterialList" parameterType="Map" resultType="com.alibaba.fastjson.JSONObject">
         SELECT
-        sum(charge) cost, -- 花费
-        sum(photo_show) photoShow, -- 封面曝光数
-        sum(photo_click) photoClick, -- 封面点击数
-        sum(aclick) aclick, -- 素材曝光数
-        sum(bclick) bclick, -- 行为数
+        sum(t1.charge) cost, -- 花费
+        sum(t1.photo_show) photoShow, -- 封面曝光数
+        sum(t1.photo_click) photoClick, -- 封面点击数
+        sum(t1.aclick) aclick, -- 素材曝光数
+        sum(t1.bclick) bclick, -- 行为数
         (case
-        when sum(photo_show) != 0
-        then (sum(photo_click) / sum(photo_show))
+        when sum(t1.photo_show) != 0
+        then (sum(t1.photo_click) / sum(t1.photo_show))
         else 0
         end
         ) photoClickRatio, -- 封面点击率
 
         (case
-        when sum(aclick) != 0
-        then (sum(bclick) / sum(aclick))
+        when sum(t1.aclick) != 0
+        then (sum(t1.bclick) / sum(t1.aclick))
         else 0
         end
         ) actionRatio, -- 行为率
 
         (case
-        when sum(photo_show) != 0
-        then ((sum(charge) / sum(photo_show)) * 1000)
+        when sum(t1.photo_show) != 0
+        then ((sum(t1.charge) / sum(t1.photo_show)) * 1000)
         else 0
         end
         ) impression1kCost, -- 均千次封面曝光花费
 
         (case
-        when sum(photo_click) != 0
-        then (sum(charge) / sum(photo_click))
+        when sum(t1.photo_click) != 0
+        then (sum(t1.charge) / sum(t1.photo_click))
         else 0
         end
         ) photoClickCost, -- 平均封面点击单价
 
         (CASE
-        WHEN sum(photo_click) != 0
-        THEN (sum(charge) / sum(photo_click))
+        WHEN sum(t1.photo_click) != 0
+        THEN (sum(t1.charge) / sum(t1.photo_click))
         ELSE 0
         end
         ) actionCost, -- 平均行为单价
 
         (case
-        WHEN sum(form_count) != 0
-        THEN sum(form_count)
-        WHEN sum(activation) != 0
-        THEN sum(activation)
+        WHEN sum(t1.form_count) != 0
+        THEN sum(t1.form_count)
+        WHEN sum(t1.activation) != 0
+        THEN sum(t1.activation)
         ELSE 0
         END
         ) conversions, -- 转化数
 
         (
         CASE
-        WHEN sum(form_count) != 0
-        THEN (sum(charge) / sum(form_count))
-        WHEN sum(activation) != 0
-        THEN (sum(charge) / sum(activation))
+        WHEN sum(t1.form_count) != 0
+        THEN (sum(t1.charge) / sum(t1.form_count))
+        WHEN sum(t1.activation) != 0
+        THEN (sum(t1.charge) / sum(t1.activation))
         ELSE 0
         END
         ) conversionPrice, -- 转化单价
 
-        ( SELECT url from ctop_kuaishou_video_get WHERE signature = signature limit 1) url,
-        signature signature, -- 视频md5
-        account_id accountId
+        ( SELECT url from ctop_kuaishou_video_get WHERE signature = t1.signature limit 1) url,
+        t1.signature signature, -- 视频md5
+        t1.account_id accountId
         from
-        ctop_kuaishou_report_daily_creative
-        where  account_id in
+        ctop_kuaishou_report_daily_creative t1
+        where  t1.account_id in
         <foreach item="item" index="index" collection="accountIds"
                  open="(" separator="," close=")">
             #{item}
         </foreach>
-
-
         <if test="startDate != null">
-            and stat_date &gt;= #{startDate}
+            and t1.stat_date &gt;= #{startDate}
         </if>
 
         <if test="endDate != null">
-            and stat_date &lt;= #{endDate}
+            and t1.stat_date &lt;= #{endDate}
         </if>
-        and signature is not null
-        GROUP BY signature
-        order by sum(charge) desc
+        and t1.signature is not null
+        GROUP BY t1.signature
+        order by sum(t1.charge) desc
         limit 100
     </select>