Explorar o código

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

syh %!s(int64=5) %!d(string=hai) anos
pai
achega
36c741228e
Modificáronse 49 ficheiros con 1446 adicións e 471 borrados
  1. 23 2
      jeecg-boot-base-common/src/main/java/org/jeecg/common/util/DateUtils.java
  2. 6 0
      jeecg-boot-module-system/pom.xml
  3. 0 250
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/AuthTaskController.java
  4. 11 4
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BindAccountLoginController.java
  5. 27 4
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/TestController.java
  6. 0 44
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/AuthTask.java
  7. 0 14
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/AuthTaskMapper.java
  8. 0 5
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/AuthTaskMapper.xml
  9. 0 14
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/IAuthTaskService.java
  10. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/ICreateInternalService.java
  11. 0 31
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/AuthTaskServiceImpl.java
  12. 2 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/CreateInternalServiceImpl.java
  13. 7 0
      module-common/src/main/java/cn/com/ctop/common/module/entity/BindAccountLogin.java
  14. 19 0
      module-common/src/main/java/cn/com/ctop/common/module/entity/HttpClientEntity.java
  15. 171 0
      module-common/src/main/java/cn/com/ctop/common/module/utils/HttpClientUtils.java
  16. 132 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/graphql/controller/KuaishouWebController.java
  17. 17 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/graphql/entity/KuaishouUserCookie.java
  18. 7 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/graphql/mapper/KuaishouUserCookieMapper.java
  19. 7 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/graphql/service/IKuaishouUserCookieService.java
  20. 19 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/graphql/service/IKuaishouWebInterfaceService.java
  21. 11 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/graphql/service/impl/KuaishouUserCookieServiceImpl.java
  22. 768 61
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/graphql/service/impl/KuaishouWebInterfaceServiceImpl.java
  23. 11 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/graphql/vo/KuaishouAcceptVO.java
  24. 16 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/graphql/vo/KuaishouQrStartVO.java
  25. 16 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/graphql/vo/KuaishouUserVO.java
  26. 1 0
      module-report/pom.xml
  27. 36 0
      module-report/src/main/java/cn/com/ctop/bytedance/controller/BytedanceReportController.java
  28. 2 1
      module-report/src/main/java/cn/com/ctop/bytedance/entity/BytedanceAdvertiserDailyReport.java
  29. 1 1
      module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/BytedanceAdvertiserDailyReportMapper.xml
  30. 1 1
      module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/BytedanceAdvertiserHourlyReportMapper.xml
  31. 1 1
      module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/BytedanceCampaignDailyReportMapper.xml
  32. 1 1
      module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/BytedanceCampaignHourlyReportMapper.xml
  33. 1 1
      module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/BytedanceCreativeDailyReportMapper.xml
  34. 1 1
      module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/BytedanceCreativeHourlyReportMapper.xml
  35. 1 1
      module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/BytedancePlanDailyReportMapper.xml
  36. 1 1
      module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/BytedancePlanHourlyReportMapper.xml
  37. 1 1
      module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/CustomerPlanStatisticInfoMapper.xml
  38. 1 1
      module-report/src/main/java/cn/com/ctop/bytedance/mapper/xml/PlatformCampaignStatisticInfoMapper.xml
  39. 7 0
      module-report/src/main/java/cn/com/ctop/bytedance/service/IBytedanceReportService.java
  40. 2 1
      module-report/src/main/java/cn/com/ctop/bytedance/service/impl/BytedanceAdvertiserDailyReportServiceImpl.java
  41. 2 2
      module-report/src/main/java/cn/com/ctop/bytedance/service/impl/BytedanceAdvertiserHourlyReportServiceImpl.java
  42. 2 2
      module-report/src/main/java/cn/com/ctop/bytedance/service/impl/BytedanceCampaignDailyReportServiceImpl.java
  43. 2 1
      module-report/src/main/java/cn/com/ctop/bytedance/service/impl/BytedanceCampaignHourlyReportServiceImpl.java
  44. 2 1
      module-report/src/main/java/cn/com/ctop/bytedance/service/impl/BytedanceCreativeDailyReportServiceImpl.java
  45. 2 2
      module-report/src/main/java/cn/com/ctop/bytedance/service/impl/BytedanceCreativeHourlyReportServiceImpl.java
  46. 2 2
      module-report/src/main/java/cn/com/ctop/bytedance/service/impl/BytedancePlanDailyReportServiceImpl.java
  47. 2 2
      module-report/src/main/java/cn/com/ctop/bytedance/service/impl/BytedancePlanHourlyReportServiceImpl.java
  48. 92 0
      module-report/src/main/java/cn/com/ctop/bytedance/service/impl/BytedanceReportServiceImpl.java
  49. 11 16
      pom.xml

+ 23 - 2
jeecg-boot-base-common/src/main/java/org/jeecg/common/util/DateUtils.java

@@ -1,5 +1,7 @@
 package org.jeecg.common.util;
 
+import org.springframework.util.StringUtils;
+
 import java.beans.PropertyEditorSupport;
 import java.sql.Timestamp;
 import java.text.DateFormat;
@@ -7,8 +9,6 @@ import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
-import org.springframework.util.StringUtils;
-
 /**
  * 类描述:时间操作定义类
  *
@@ -94,6 +94,7 @@ public class DateUtils extends PropertyEditorSupport {
 
     /**
      * 日期转换为字符串
+     *
      * @return 字符串
      */
     public static String date2Str() {
@@ -125,6 +126,7 @@ public class DateUtils extends PropertyEditorSupport {
 
     /**
      * 日期转换为字符串
+     *
      * @param format 日期格式
      * @return 字符串
      */
@@ -730,4 +732,23 @@ public class DateUtils extends PropertyEditorSupport {
         }
     }
 
+
+    public static Map<String, Object> getBeforeDate() {
+        Date dNow = new Date(); //当前时间
+        Date dBefore = new Date();
+        Calendar calendar = Calendar.getInstance(); //得到日历
+        calendar.setTime(dNow);//把当前时间赋给日历
+        calendar.add(Calendar.DAY_OF_MONTH, -1); //设置为前一天
+        dBefore = calendar.getTime(); //得到前一天的时间
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); //设置时间格式
+        String defaultStartDate = sdf.format(dBefore); //格式化前一天
+        defaultStartDate = defaultStartDate + " 00:00:00";
+        String defaultEndDate = defaultStartDate.substring(0, 10) + " 23:59:59";
+        Map<String, Object> map = new HashMap<>();
+        map.put("startDate", defaultStartDate);
+        map.put("endDate", defaultEndDate);
+        return map;
+    }
+
+
 }

+ 6 - 0
jeecg-boot-module-system/pom.xml

@@ -101,6 +101,12 @@
             <version>2.0.2</version>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>cn.com.ctop</groupId>
+            <artifactId>module-report</artifactId>
+            <version>2.0.2</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 
     <build>

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

@@ -1,250 +0,0 @@
-package org.jeecg.modules.ctop.controller;
-
-import com.alibaba.fastjson.JSON;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
-import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
-import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.AuthTask;
-import org.jeecg.modules.ctop.service.IAuthTaskService;
-import org.jeecgframework.poi.excel.ExcelImportUtil;
-import org.jeecgframework.poi.excel.def.NormalExcelConstants;
-import org.jeecgframework.poi.excel.entity.ExportParams;
-import org.jeecgframework.poi.excel.entity.ImportParams;
-import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.multipart.MultipartHttpServletRequest;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-
-/**
- * TODO 相关AuthTask 需要删除
- *
- * @Description: 关联用户分配
- * @Author: jeecg-boot
- * @Date: 2019-07-31
- * @Version: V1.0
- */
-@Slf4j
-@Api(tags = "关联用户分配")
-@RestController
-@RequestMapping("/ctop/authTask")
-public class AuthTaskController {
-    @Autowired
-    private IAuthTaskService authTaskService;
-
-    /**
-     * 分页列表查询
-     *
-     * @param authTask
-     * @param pageNo
-     * @param pageSize
-     * @param req
-     * @return
-     */
-    @AutoLog(value = "关联用户分配-分页列表查询")
-    @ApiOperation(value = "关联用户分配-分页列表查询", notes = "关联用户分配-分页列表查询")
-    @GetMapping(value = "/list")
-    public Result<IPage<AuthTask>> queryPageList(AuthTask authTask,
-                                                 @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                                 @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                                 HttpServletRequest req) {
-        Result<IPage<AuthTask>> result = new Result<IPage<AuthTask>>();
-        QueryWrapper<AuthTask> queryWrapper = QueryGenerator.initQueryWrapper(authTask, req.getParameterMap());
-        Page<AuthTask> page = new Page<AuthTask>(pageNo, pageSize);
-        IPage<AuthTask> pageList = authTaskService.page(page, queryWrapper);
-        result.setSuccess(true);
-        result.setResult(pageList);
-        return result;
-    }
-
-    /**
-     * 添加
-     *
-     * @param authTask
-     * @return
-     */
-    @AutoLog(value = "关联用户分配-添加")
-    @ApiOperation(value = "关联用户分配-添加", notes = "关联用户分配-添加")
-    @PostMapping(value = "/add")
-    public Result<AuthTask> add(@RequestBody AuthTask authTask) {
-        Result<AuthTask> result = new Result<AuthTask>();
-        try {
-            authTaskService.save(authTask);
-            result.success("添加成功!");
-        } catch (Exception e) {
-            log.error(e.getMessage(), e);
-            result.error500("操作失败");
-        }
-        return result;
-    }
-
-    /**
-     * 编辑
-     *
-     * @param authTask
-     * @return
-     */
-    @AutoLog(value = "关联用户分配-编辑")
-    @ApiOperation(value = "关联用户分配-编辑", notes = "关联用户分配-编辑")
-    @PutMapping(value = "/edit")
-    public Result<AuthTask> edit(@RequestBody AuthTask authTask) {
-        Result<AuthTask> result = new Result<AuthTask>();
-        AuthTask authTaskEntity = authTaskService.getById(authTask.getId());
-        if (authTaskEntity == null) {
-            result.error500("未找到对应实体");
-        } else {
-            boolean ok = authTaskService.updateById(authTask);
-            //TODO 返回false说明什么?
-            if (ok) {
-                result.success("修改成功!");
-            }
-        }
-
-        return result;
-    }
-
-    /**
-     * 通过id删除
-     *
-     * @param id
-     * @return
-     */
-    @AutoLog(value = "关联用户分配-通过id删除")
-    @ApiOperation(value = "关联用户分配-通过id删除", notes = "关联用户分配-通过id删除")
-    @DeleteMapping(value = "/delete")
-    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
-        try {
-            authTaskService.removeById(id);
-        } catch (Exception e) {
-            log.error("删除失败", e.getMessage());
-            return Result.error("删除失败!");
-        }
-        return Result.ok("删除成功!");
-    }
-
-    /**
-     * 批量删除
-     *
-     * @param ids
-     * @return
-     */
-    @AutoLog(value = "关联用户分配-批量删除")
-    @ApiOperation(value = "关联用户分配-批量删除", notes = "关联用户分配-批量删除")
-    @DeleteMapping(value = "/deleteBatch")
-    public Result<AuthTask> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
-        Result<AuthTask> result = new Result<AuthTask>();
-        if (ids == null || "".equals(ids.trim())) {
-            result.error500("参数不识别!");
-        } else {
-            this.authTaskService.removeByIds(Arrays.asList(ids.split(",")));
-            result.success("删除成功!");
-        }
-        return result;
-    }
-
-    /**
-     * 通过id查询
-     *
-     * @param id
-     * @return
-     */
-    @AutoLog(value = "关联用户分配-通过id查询")
-    @ApiOperation(value = "关联用户分配-通过id查询", notes = "关联用户分配-通过id查询")
-    @GetMapping(value = "/queryById")
-    public Result<AuthTask> queryById(@RequestParam(name = "id", required = true) String id) {
-        Result<AuthTask> result = new Result<AuthTask>();
-        AuthTask authTask = authTaskService.getById(id);
-        if (authTask == null) {
-            result.error500("未找到对应实体");
-        } else {
-            result.setResult(authTask);
-            result.setSuccess(true);
-        }
-        return result;
-    }
-
-    /**
-     * 导出excel
-     *
-     * @param request
-     * @param response
-     */
-    @RequestMapping(value = "/exportXls")
-    public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) {
-        // Step.1 组装查询条件
-        QueryWrapper<AuthTask> queryWrapper = null;
-        try {
-            String paramsStr = request.getParameter("paramsStr");
-            if (oConvertUtils.isNotEmpty(paramsStr)) {
-                String deString = URLDecoder.decode(paramsStr, "UTF-8");
-                AuthTask authTask = JSON.parseObject(deString, AuthTask.class);
-                queryWrapper = QueryGenerator.initQueryWrapper(authTask, request.getParameterMap());
-            }
-        } catch (UnsupportedEncodingException e) {
-            e.printStackTrace();
-        }
-
-        //Step.2 AutoPoi 导出Excel
-        ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
-        List<AuthTask> pageList = authTaskService.list(queryWrapper);
-        //导出文件名称
-        mv.addObject(NormalExcelConstants.FILE_NAME, "关联用户分配列表");
-        mv.addObject(NormalExcelConstants.CLASS, AuthTask.class);
-        mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("关联用户分配列表数据", "导出人:Jeecg", "导出信息"));
-        mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
-        return mv;
-    }
-
-    /**
-     * 通过excel导入数据
-     *
-     * @param request
-     * @param response
-     * @return
-     */
-    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
-    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
-        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
-        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
-            // 获取上传文件对象
-            MultipartFile file = entity.getValue();
-            ImportParams params = new ImportParams();
-            params.setTitleRows(2);
-            params.setHeadRows(1);
-            params.setNeedSave(true);
-            try {
-                List<AuthTask> listAuthTasks = ExcelImportUtil.importExcel(file.getInputStream(), AuthTask.class, params);
-                authTaskService.saveBatch(listAuthTasks);
-                return Result.ok("文件导入成功!数据行数:" + listAuthTasks.size());
-            } catch (Exception e) {
-                log.error(e.getMessage(), e);
-                return Result.error("文件导入失败:" + e.getMessage());
-            } finally {
-                try {
-                    file.getInputStream().close();
-                } catch (IOException e) {
-                    e.printStackTrace();
-                }
-            }
-        }
-        return Result.ok("文件导入失败!");
-    }
-}

+ 11 - 4
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BindAccountLoginController.java

@@ -1,10 +1,10 @@
 package org.jeecg.modules.ctop.controller;
 
-import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.common.module.entity.BindAccountLogin;
 import cn.com.ctop.common.module.entity.UserAllocation;
 import cn.com.ctop.common.module.mapper.UserAllocationMapper;
 import cn.com.ctop.common.module.service.IBindAccountLoginService;
+import cn.com.ctop.common.module.utils.Check;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -13,9 +13,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.ctop.service.ICreateInternalService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
@@ -78,17 +80,17 @@ public class BindAccountLoginController {
         String userId = json.getString("userId");
         String password = json.getString("password");
         String loginType = json.getString("loginType");
+        // 广告主名称
+        String advertiserName = json.getString("advertiser_name");
         //账号
         String accountName = json.getString("accountName");
-        boolean trueOrFalse = createInternalService.bindLogin(advertiserId, accountName, password, loginType, userId);
+        boolean trueOrFalse = createInternalService.bindLogin(advertiserId, accountName, password, loginType, userId, advertiserName);
         if (trueOrFalse) {
             String realName = json.getString("realName");
             //部门id
             String departmentId = json.getString("departmentId");
             //指定分配人姓名
             String distributionName = json.getString("distributionName");
-            // 广告主名称
-            String advertiserName = json.getString("advertiser_name");
             // 媒体类型: 1 头条 2 快手
             String mediaId = json.getString("mediaId");
             UserAllocation userAllocation = new UserAllocation();
@@ -129,6 +131,11 @@ public class BindAccountLoginController {
                                                          HttpServletRequest req) {
         Result<IPage<BindAccountLogin>> result = new Result<>();
         QueryWrapper<BindAccountLogin> queryWrapper = QueryGenerator.initQueryWrapper(bindAccountLogin, req.getParameterMap());
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        if (!Check.isNull(user)) {
+            queryWrapper.eq("user_id", user.getId());
+        }
+        queryWrapper.orderByDesc("id");
         Page<BindAccountLogin> page = new Page<>(pageNo, pageSize);
         IPage<BindAccountLogin> pageList = bindAccountLoginService.page(page, queryWrapper);
         result.setSuccess(true);

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

@@ -1,14 +1,14 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.kuaishou.modules.graphql.service.IKuaishouWebInterfaceService;
 import com.alibaba.fastjson.JSONObject;
+import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.ctop.service.ICreateInternalService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.Map;
+import java.util.UUID;
 
 /**
  * @author jeecg-boot
@@ -18,9 +18,32 @@ import java.util.Map;
 public class TestController {
     @Autowired
     private ICreateInternalService createInternalService;
+    @Autowired
+    private IKuaishouWebInterfaceService kuaishouWebInterfaceService;
 
     @PostMapping(value = "/create")
     public Map<String, Object> authorization(@RequestBody JSONObject jsonObject) {
         return createInternalService.createInternal(jsonObject);
     }
+
+    @GetMapping(value = "/t")
+    public String test() {
+        Result<String> result = new Result<String>();
+        try {
+            String requestId = UUID.randomUUID().toString();
+            String img = kuaishouWebInterfaceService.qrLogin(requestId);
+            if (img != null) {
+                result.setSuccess(true);
+                result.setResult(img);
+            } else {
+                result.setSuccess(false);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            result.setSuccess(false);
+        }
+        return "success";
+    }
+
+
 }

+ 0 - 44
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/AuthTask.java

@@ -1,44 +0,0 @@
-package org.jeecg.modules.ctop.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-import org.jeecgframework.poi.excel.annotation.Excel;
-
-/**
- * 关联用户分配
- * @author jeecg-boot
- * @date 2019-07-31
- * @version V1.0
- */
-@Data
-@TableName("ctop_auth_task")
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@ApiModel(value = "ctop_auth_task对象", description = "关联用户分配")
-public class AuthTask {
-
-    /**
-     * 主键ID
-     */
-    @TableId(type = IdType.AUTO)
-    @ApiModelProperty(value = "主键ID")
-    private Long id;
-    /**
-     * 广告主ID
-     */
-    @Excel(name = "广告主ID", width = 15)
-    @ApiModelProperty(value = "广告主ID")
-    private String advertiserId;
-    /**
-     * task_id
-     */
-    @Excel(name = "task_id", width = 15)
-    @ApiModelProperty(value = "task_id")
-    private String taskId;
-}

+ 0 - 14
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/AuthTaskMapper.java

@@ -1,14 +0,0 @@
-package org.jeecg.modules.ctop.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.jeecg.modules.ctop.entity.AuthTask;
-
-/**
- * @Description: 关联用户分配
- * @Author: jeecg-boot
- * @Date: 2019-07-31
- * @Version: V1.0
- */
-public interface AuthTaskMapper extends BaseMapper<AuthTask> {
-
-}

+ 0 - 5
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/AuthTaskMapper.xml

@@ -1,5 +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="org.jeecg.modules.ctop.mapper.AuthTaskMapper">
-
-</mapper>

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

@@ -1,14 +0,0 @@
-package org.jeecg.modules.ctop.service;
-
-import org.jeecg.modules.ctop.entity.AuthTask;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * @Description: 关联用户分配
- * @Author: jeecg-boot
- * @Date: 2019-07-31
- * @Version: V1.0
- */
-public interface IAuthTaskService extends IService<AuthTask> {
-    AuthTask getAuthTask(String taskId);
-}

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

@@ -9,5 +9,5 @@ public interface ICreateInternalService {
 
     Map<String, Object> checkAccountPassword(String account, String password);
 
-    public boolean bindLogin(String advertiserId, String accountName, String password, String loginType, String userId);
+     boolean bindLogin(String advertiserId, String accountName, String password, String loginType, String userId,String advertiserName);
 }

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

@@ -1,31 +0,0 @@
-package org.jeecg.modules.ctop.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import org.jeecg.modules.ctop.entity.AuthTask;
-import org.jeecg.modules.ctop.mapper.AuthTaskMapper;
-import org.jeecg.modules.ctop.service.IAuthTaskService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-
-/**
- * @Description: 关联用户分配
- * @Author: jeecg-boot
- * @Date: 2019-07-31
- * @Version: V1.0
- */
-@Service
-public class AuthTaskServiceImpl extends ServiceImpl<AuthTaskMapper, AuthTask> implements IAuthTaskService {
-
-    @Autowired
-    private AuthTaskMapper authTaskMapper;
-
-    @Override
-    public AuthTask getAuthTask(String taskId) {
-        QueryWrapper<AuthTask> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("task_id", taskId).orderByDesc("create_time");
-        AuthTask authTask = authTaskMapper.selectOne(queryWrapper);
-        return authTask;
-    }
-}

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

@@ -54,7 +54,7 @@ public class CreateInternalServiceImpl implements ICreateInternalService {
     private BytedanceUrlInfoMapper urlInfoMapper;
 
     @Override
-    public boolean bindLogin(String advertiserId, String accountName, String password, String loginType, String userId) {
+    public boolean bindLogin(String advertiserId, String accountName, String password, String loginType, String userId, String advertiserName) {
         Map<String, Object> requestMap = new HashMap<>();
         requestMap.put("advertiser_id", advertiserId);
         requestMap.put("account_name", accountName);
@@ -79,6 +79,7 @@ public class CreateInternalServiceImpl implements ICreateInternalService {
         bindAccountLogin.setPassword(password);
         bindAccountLogin.setAccountId(accountId);
         bindAccountLogin.setLoginType(loginType);
+        bindAccountLogin.setAccountName(advertiserName);
         bindAccountLogin.setUserId(userId);
         int i = bindAccountLoginMapper.insert(bindAccountLogin);
         if (i > 0) {

+ 7 - 0
module-common/src/main/java/cn/com/ctop/common/module/entity/BindAccountLogin.java

@@ -39,6 +39,13 @@ public class BindAccountLogin {
     @Excel(name = "广告id", width = 15)
     @ApiModelProperty(value = "广告id")
     private String advertiserId;
+
+    /**
+     * 广告名称
+     */
+    @Excel(name = "广告名称", width = 15)
+    @ApiModelProperty(value = "广告名称")
+    private String advertiserName;
     /**
      * 广告id
      */

+ 19 - 0
module-common/src/main/java/cn/com/ctop/common/module/entity/HttpClientEntity.java

@@ -0,0 +1,19 @@
+package cn.com.ctop.common.module.entity;
+
+import cn.com.ctop.common.module.utils.HttpClientUtils;
+import lombok.Data;
+import org.apache.http.client.CookieStore;
+import org.apache.http.impl.client.CloseableHttpClient;
+
+import java.io.Serializable;
+import java.util.Map;
+
+@Data
+public class HttpClientEntity implements Serializable {
+    private String url;
+    private CloseableHttpClient closeableHttpClient;
+    private CookieStore cookieStore;
+    private Map<String, String> headers;
+    private Map<String, Object> params;
+    private String result;
+}

+ 171 - 0
module-common/src/main/java/cn/com/ctop/common/module/utils/HttpClientUtils.java

@@ -0,0 +1,171 @@
+package cn.com.ctop.common.module.utils;
+
+import cn.com.ctop.common.module.entity.HttpClientEntity;
+import com.google.gson.Gson;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.http.Header;
+import org.apache.http.HttpResponse;
+import org.apache.http.HttpStatus;
+import org.apache.http.NameValuePair;
+import org.apache.http.client.CookieStore;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.config.CookieSpecs;
+import org.apache.http.client.config.RequestConfig;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
+import org.apache.http.conn.ssl.TrustStrategy;
+import org.apache.http.cookie.Cookie;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.BasicCookieStore;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.message.BasicNameValuePair;
+import org.apache.http.ssl.SSLContextBuilder;
+import org.apache.http.util.EntityUtils;
+
+import javax.net.ssl.SSLContext;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.security.cert.CertificateException;
+import java.security.cert.X509Certificate;
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+public class HttpClientUtils {
+    public CookieStore cookieStore = new BasicCookieStore();
+
+    public CloseableHttpClient createSSLClientDefault() {
+        try {
+            SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, new TrustStrategy() {
+                //信任所有证书
+                @Override
+                public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+                    return true;
+                }
+            }).build();
+            RequestConfig globalConfig = RequestConfig.custom().setConnectTimeout(60000).setSocketTimeout(60000).setCookieSpec(CookieSpecs.STANDARD).build();
+            SSLConnectionSocketFactory sslFactory = new SSLConnectionSocketFactory(sslContext);
+            return HttpClients.custom().setDefaultCookieStore(cookieStore).setDefaultRequestConfig(globalConfig).setConnectionReuseStrategy((response, context) -> false).setSSLSocketFactory(sslFactory).build();
+        } catch (Exception e) {
+            log.error("处理Https证书异常", e);
+        }
+        return HttpClients.createDefault();
+    }
+
+    public HttpClientEntity httpGetRequest(HttpClientEntity httpClientEntity) {
+        try {
+            CookieStore cs = httpClientEntity.getCookieStore();
+            if (cs != null) {
+                for (Cookie ck : cs.getCookies()) {
+                    cookieStore.addCookie(ck);
+                }
+            }
+            HttpResponse response = null;
+            HttpGet httpGet = new HttpGet(httpClientEntity.getUrl());
+            String result = null;
+            CloseableHttpClient httpClient = httpClientEntity.getCloseableHttpClient();
+            response = httpClient.execute(httpGet);
+
+            int statusCode = response.getStatusLine().getStatusCode();
+            if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY || statusCode == HttpStatus.SC_MOVED_TEMPORARILY) {
+                String newUrl = response.getFirstHeader("Location").getValue();
+                httpClientEntity.setUrl(newUrl);
+                return httpGetRequest(httpClientEntity);
+            } else if (statusCode == HttpStatus.SC_OK) {
+                BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
+                String line = null;
+                StringBuilder builder = new StringBuilder();
+                while ((line = reader.readLine()) != null) {
+                    builder.append(line);
+                }
+                result = builder.toString();
+            }
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        httpClientEntity.setCookieStore(cookieStore);
+        return httpClientEntity;
+    }
+
+    public HttpClientEntity httpPostParamRequest(HttpClientEntity httpClientEntity) {
+        try {
+            CookieStore cs = httpClientEntity.getCookieStore();
+            if (cs != null) {
+                for (Cookie ck : cs.getCookies()) {
+                    cookieStore.addCookie(ck);
+                }
+            }
+
+            HttpPost httppost = new HttpPost(httpClientEntity.getUrl());
+            for (String key : httpClientEntity.getHeaders().keySet()) {
+                httppost.setHeader(key, httpClientEntity.getHeaders().get(key));
+            }
+            List<NameValuePair> paramList = new ArrayList<NameValuePair>();
+            for (String key : httpClientEntity.getParams().keySet()) {
+                BasicNameValuePair basicNameValuePair = new BasicNameValuePair(key, String.valueOf(httpClientEntity.getParams().get(key)));
+                paramList.add(basicNameValuePair);
+            }
+            UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(paramList);
+            httppost.setEntity(formEntity);
+            CloseableHttpClient httpClient = httpClientEntity.getCloseableHttpClient();
+            HttpResponse response = httpClient.execute(httppost);
+
+            int statusCode = response.getStatusLine().getStatusCode();
+            if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY || statusCode == HttpStatus.SC_MOVED_TEMPORARILY) {
+                String newUrl = response.getFirstHeader("Location").getValue();
+                httpClientEntity.setUrl(newUrl);
+                return httpPostParamRequest(httpClientEntity);
+            } else if (statusCode == HttpStatus.SC_OK) {
+                String result = EntityUtils.toString(response.getEntity());
+                log.info(result);
+                httpClientEntity.setResult(result);
+                httpClientEntity.setCloseableHttpClient(httpClient);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error(e.getMessage());
+        }
+        System.out.println(new Gson().toJson(cookieStore.getCookies()));
+        httpClientEntity.setCookieStore(cookieStore);
+        return httpClientEntity;
+    }
+
+    public HttpClientEntity callingGraph(HttpClientEntity httpClientEntity, String json) {
+        CookieStore cs = httpClientEntity.getCookieStore();
+        if (cs != null) {
+            for (Cookie ck : cs.getCookies()) {
+                cookieStore.addCookie(ck);
+            }
+        }
+        HttpClient httpClient = httpClientEntity.getCloseableHttpClient();
+        HttpResponse response = null;
+        HttpPost httpPost = new HttpPost(httpClientEntity.getUrl());
+        for (String key : httpClientEntity.getHeaders().keySet()) {
+            httpPost.setHeader(key, httpClientEntity.getHeaders().get(key));
+        }
+        httpPost.setHeader("Content-Type", "application/json");
+
+        try {
+            StringEntity entity = new StringEntity(json, "utf-8");
+            httpPost.setEntity(entity);
+            response = httpClient.execute(httpPost);
+
+            BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
+            String line = null;
+            StringBuilder builder = new StringBuilder();
+            while ((line = reader.readLine()) != null) {
+                builder.append(line);
+            }
+            httpClientEntity.setResult(builder.toString());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        httpClientEntity.setCookieStore(cookieStore);
+        System.out.println(new Gson().toJson(cookieStore.getCookies()));
+        return httpClientEntity;
+    }
+}

+ 132 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/graphql/controller/KuaishouWebController.java

@@ -0,0 +1,132 @@
+package cn.com.ctop.kuaishou.modules.graphql.controller;
+
+import cn.com.ctop.kuaishou.modules.graphql.entity.KuaishouUserCookie;
+import cn.com.ctop.kuaishou.modules.graphql.service.IKuaishouUserCookieService;
+import cn.com.ctop.kuaishou.modules.graphql.service.IKuaishouWebInterfaceService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.vo.LoginUser;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
+@RestController
+@RequestMapping("/ks/web")
+public class KuaishouWebController {
+    @Autowired
+    private IKuaishouWebInterfaceService kuaishouWebInterfaceService;
+    @Autowired
+    private IKuaishouUserCookieService kuaishouUserCookieService;
+
+    @PostMapping(value = "/login/qr")
+    public Result<Map<String, Object>> getQrCode() {
+        Result<Map<String, Object>> result = new Result<Map<String, Object>>();
+        try {
+            Map<String, Object> resultMap = new HashMap<>();
+            String requestId = UUID.randomUUID().toString();
+            String img = kuaishouWebInterfaceService.qrLogin(requestId);
+            resultMap.put("requestId", requestId);
+            resultMap.put("qrcode", "data:image/png;base64," + img);
+            if (img != null) {
+                result.setSuccess(true);
+                result.setResult(resultMap);
+            } else {
+                result.setSuccess(false);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            result.setSuccess(false);
+        }
+        return result;
+    }
+
+    @PostMapping(value = "/user/list")
+    public Result<List<KuaishouUserCookie>> getUserCookieList() {
+        Result<List<KuaishouUserCookie>> result = new Result<>();
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        QueryWrapper<KuaishouUserCookie> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("user_id", user.getId());
+        queryWrapper.select("ksid", "user_name");
+        List<KuaishouUserCookie> list = kuaishouUserCookieService.list(queryWrapper);
+        result.setSuccess(true);
+        result.setResult(list);
+        return result;
+    }
+
+    @PostMapping(value = "/login/status")
+    public Result<Map<String, Object>> getStatus(String requestId) {
+        Result<Map<String, Object>> result = new Result<Map<String, Object>>();
+        try {
+            Map<String, Object> statusMap = kuaishouWebInterfaceService.loginStatus(requestId);
+            result.setSuccess(true);
+            result.setResult(statusMap);
+        } catch (Exception e) {
+            e.printStackTrace();
+            result.setSuccess(false);
+        }
+        return result;
+    }
+
+    @PostMapping(value = "/video/list")
+    public Result<Map<String, Object>> videoList(String ksid, String pcursor) {
+        Result<Map<String, Object>> result = new Result<Map<String, Object>>();
+        try {
+            Map<String, Object> statusMap = kuaishouWebInterfaceService.videoList(ksid, pcursor);
+            result.setSuccess(true);
+            result.setResult(statusMap);
+        } catch (Exception e) {
+            e.printStackTrace();
+            result.setSuccess(false);
+        }
+        return result;
+    }
+
+    @PostMapping(value = "/comment/list")
+    public Result<Map<String, Object>> commentList(String ksid, String photoId, String pcursor) {
+        Result<Map<String, Object>> result = new Result<Map<String, Object>>();
+        try {
+            Map<String, Object> statusMap = kuaishouWebInterfaceService.commentList(ksid, photoId, pcursor);
+            result.setSuccess(true);
+            result.setResult(statusMap);
+        } catch (Exception e) {
+            e.printStackTrace();
+            result.setSuccess(false);
+        }
+        return result;
+    }
+
+    @PostMapping(value = "/comment/delete")
+    public Result<Map<String, Object>> commentDelete(String ksid, String photoId, Long commentId) {
+        Result<Map<String, Object>> result = new Result<Map<String, Object>>();
+        try {
+            Map<String, Object> statusMap = kuaishouWebInterfaceService.commentDelete(ksid, photoId, commentId);
+            result.setSuccess(true);
+            result.setResult(statusMap);
+        } catch (Exception e) {
+            e.printStackTrace();
+            result.setSuccess(false);
+        }
+        return result;
+    }
+
+    @PostMapping(value = "/subcomment/list")
+    public Result<Map<String, Object>> subCommentList(String ksid, String photoId, Long rootCommentId, String pcursor) {
+        Result<Map<String, Object>> result = new Result<Map<String, Object>>();
+        try {
+            Map<String, Object> statusMap = kuaishouWebInterfaceService.subCommentList(ksid, photoId, rootCommentId, pcursor);
+            result.setSuccess(true);
+            result.setResult(statusMap);
+        } catch (Exception e) {
+            e.printStackTrace();
+            result.setSuccess(false);
+        }
+        return result;
+    }
+}

+ 17 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/graphql/entity/KuaishouUserCookie.java

@@ -0,0 +1,17 @@
+package cn.com.ctop.kuaishou.modules.graphql.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName("ctop_kuaishou_user_cookie")
+public class KuaishouUserCookie {
+    @TableId
+    private String userId;
+    @TableId
+    private String ksid;
+    private String eid;
+    private String cookie;
+    private String userName;
+}

+ 7 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/graphql/mapper/KuaishouUserCookieMapper.java

@@ -0,0 +1,7 @@
+package cn.com.ctop.kuaishou.modules.graphql.mapper;
+
+import cn.com.ctop.kuaishou.modules.graphql.entity.KuaishouUserCookie;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface KuaishouUserCookieMapper extends BaseMapper<KuaishouUserCookie> {
+}

+ 7 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/graphql/service/IKuaishouUserCookieService.java

@@ -0,0 +1,7 @@
+package cn.com.ctop.kuaishou.modules.graphql.service;
+
+import cn.com.ctop.kuaishou.modules.graphql.entity.KuaishouUserCookie;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+public interface IKuaishouUserCookieService extends IService<KuaishouUserCookie> {
+}

+ 19 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/graphql/service/IKuaishouWebInterfaceService.java

@@ -1,13 +1,32 @@
 package cn.com.ctop.kuaishou.modules.graphql.service;
 
+import cn.com.ctop.kuaishou.modules.graphql.vo.KuaishouAcceptVO;
+import cn.com.ctop.kuaishou.modules.graphql.vo.KuaishouQrStartVO;
+import cn.com.ctop.kuaishou.modules.graphql.vo.KuaishouUserVO;
+
 import java.io.IOException;
 import java.util.Map;
 
 public interface IKuaishouWebInterfaceService {
     public void getVideoList(String uid) throws IOException;
+
     public String checkKuaishouUser(String videoUrl);
 
     public void adkuaishouWebLogin(String phone, String password) throws IOException;
 
     public void deleteAllComment(Map<String, String> pcursorMap);
+
+    public void test();
+
+    public String qrLogin(String taskId) throws Exception;
+
+    public Map<String, Object> loginStatus(String taskId);
+
+    public Map<String, Object> commentDelete(String ksid, String photoId, Long commentId);
+
+    public Map<String, Object> videoList(String ksid, String pcursor);
+
+    public Map<String, Object> commentList(String ksid, String photoId, String pcursor);
+
+    public Map<String, Object> subCommentList(String ksid, String photoId, Long rootCommentId, String pcursor);
 }

+ 11 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/graphql/service/impl/KuaishouUserCookieServiceImpl.java

@@ -0,0 +1,11 @@
+package cn.com.ctop.kuaishou.modules.graphql.service.impl;
+
+import cn.com.ctop.kuaishou.modules.graphql.entity.KuaishouUserCookie;
+import cn.com.ctop.kuaishou.modules.graphql.mapper.KuaishouUserCookieMapper;
+import cn.com.ctop.kuaishou.modules.graphql.service.IKuaishouUserCookieService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service
+public class KuaishouUserCookieServiceImpl extends ServiceImpl<KuaishouUserCookieMapper, KuaishouUserCookie> implements IKuaishouUserCookieService {
+}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 768 - 61
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/graphql/service/impl/KuaishouWebInterfaceServiceImpl.java


+ 11 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/graphql/vo/KuaishouAcceptVO.java

@@ -0,0 +1,11 @@
+package cn.com.ctop.kuaishou.modules.graphql.vo;
+
+import lombok.Data;
+
+@Data
+public class KuaishouAcceptVO {
+    private Integer result;
+    private String qrToken;
+    private String callback;
+    private String sid;
+}

+ 16 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/graphql/vo/KuaishouQrStartVO.java

@@ -0,0 +1,16 @@
+package cn.com.ctop.kuaishou.modules.graphql.vo;
+
+import cn.com.ctop.common.module.entity.HttpClientEntity;
+import lombok.Data;
+
+@Data
+public class KuaishouQrStartVO {
+    private Integer result;
+    private Long expireTime;
+    private String qrLoginSignature;
+    private String imageData;
+    private String callback;
+    private String qrLoginToken;
+    private String sid;
+    private String requestId;
+}

+ 16 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/graphql/vo/KuaishouUserVO.java

@@ -0,0 +1,16 @@
+package cn.com.ctop.kuaishou.modules.graphql.vo;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+@Data
+public class KuaishouUserVO {
+    @JsonProperty("user_id")
+    private Long userId;
+    private String headurl;
+    @JsonProperty("user_sex")
+    private String userSex;
+    private String eid;
+    @JsonProperty("user_name")
+    private String userName;
+}

+ 1 - 0
module-report/pom.xml

@@ -38,6 +38,7 @@
         <dependency>
             <groupId>org.jeecgframework.boot</groupId>
             <artifactId>jeecg-boot-base-common</artifactId>
+            <version>2.0.2</version>
         </dependency>
         <dependency>
             <groupId>cn.com.ctop</groupId>

+ 36 - 0
module-report/src/main/java/cn/com/ctop/bytedance/controller/BytedanceReportController.java

@@ -0,0 +1,36 @@
+package cn.com.ctop.bytedance.controller;
+
+import cn.com.ctop.bytedance.service.IBytedanceReportService;
+import com.alibaba.fastjson.JSONObject;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@Slf4j
+@RestController
+@RequestMapping("/ctop/report")
+public class BytedanceReportController {
+    @Autowired
+    private IBytedanceReportService bytedanceReportService;
+
+    /**
+     * 昨日总花费
+     *
+     * @return
+     */
+    @RequestMapping(value = "/cost")
+    public JSONObject getCost() {
+        /*LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        if (Check.isNull(user)) {
+            JSONObject json = bytedanceReportService.getCost(user.getId());
+        }*/
+
+
+        JSONObject json = bytedanceReportService.getCost("e9ca23d68d884d4ebb19d07889727dae");
+        return null;
+
+    }
+
+
+}

+ 2 - 1
module-report/src/main/java/cn/com/ctop/bytedance/entity/BytedanceAdvertiserDailyReport.java

@@ -16,9 +16,10 @@ import java.util.Date;
 
 /**
  * 广告主日报表
+ *
  * @author jeecg-boot
- * @date 2019-09-10
  * @version V1.0
+ * @date 2019-09-10
  */
 @Data
 @TableName("ctop_bytedance_report_advertiser_daily")

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

@@ -1,5 +1,5 @@
 <?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.toutiao.mapper.BytedanceAdvertiserDailyReportMapper">
+<mapper namespace="cn.com.ctop.bytedance.mapper.BytedanceAdvertiserDailyReportMapper">
 
 </mapper>

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

@@ -1,5 +1,5 @@
 <?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.toutiao.mapper.BytedanceAdvertiserHourlyReportMapper">
+<mapper namespace="cn.com.ctop.bytedance.mapper.BytedanceAdvertiserHourlyReportMapper">
 
 </mapper>

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

@@ -1,5 +1,5 @@
 <?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.toutiao.mapper.BytedanceCampaignDailyReportMapper">
+<mapper namespace="cn.com.ctop.bytedance.mapper.BytedanceCampaignDailyReportMapper">
 
 </mapper>

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

@@ -1,5 +1,5 @@
 <?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.toutiao.mapper.BytedanceCampaignHourlyReportMapper">
+<mapper namespace="cn.com.ctop.bytedance.mapper.BytedanceCampaignHourlyReportMapper">
 
 </mapper>

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

@@ -1,5 +1,5 @@
 <?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.toutiao.mapper.BytedanceCreativeDailyReportMapper">
+<mapper namespace="cn.com.ctop.bytedance.mapper.BytedanceCreativeDailyReportMapper">
 
 </mapper>

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

@@ -1,5 +1,5 @@
 <?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.toutiao.mapper.BytedanceCreativeHourlyReportMapper">
+<mapper namespace="cn.com.ctop.bytedance.mapper.BytedanceCreativeHourlyReportMapper">
 
 </mapper>

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

@@ -1,5 +1,5 @@
 <?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.toutiao.mapper.BytedancePlanDailyReportMapper">
+<mapper namespace="cn.com.ctop.bytedance.mapper.BytedancePlanDailyReportMapper">
 
 </mapper>

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

@@ -1,5 +1,5 @@
 <?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.toutiao.mapper.BytedancePlanHourlyReportMapper">
+<mapper namespace="cn.com.ctop.bytedance.mapper.BytedancePlanHourlyReportMapper">
 
 </mapper>

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

@@ -1,5 +1,5 @@
 <?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="org.jeecg.modules.ctop.mapper.CustomerPlanStatisticInfoMapper">
+<mapper namespace="cn.com.ctop.bytedance.mapper.CustomerPlanStatisticInfoMapper">
 
 </mapper>

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

@@ -1,6 +1,6 @@
 <?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="org.jeecg.modules.ctop.mapper.PlatformCampaignStatisticInfoMapper">
+<mapper namespace="cn.com.ctop.bytedance.mapper.PlatformCampaignStatisticInfoMapper">
     <resultMap id="voMap" type="org.jeecg.modules.ctop.vo.StatisticCampaignVo">
         <result column="statisticDate" property="statisticDate"/>
         <result column="proxy" property="proxy"/>

+ 7 - 0
module-report/src/main/java/cn/com/ctop/bytedance/service/IBytedanceReportService.java

@@ -0,0 +1,7 @@
+package cn.com.ctop.bytedance.service;
+
+import com.alibaba.fastjson.JSONObject;
+
+public interface IBytedanceReportService {
+    JSONObject getCost(String loginId);
+}

+ 2 - 1
module-report/src/main/java/cn/com/ctop/bytedance/service/impl/BytedanceAdvertiserDailyReportServiceImpl.java

@@ -2,6 +2,7 @@ package cn.com.ctop.bytedance.service.impl;
 
 import cn.com.ctop.bytedance.entity.BytedanceAdvertiserDailyReport;
 import cn.com.ctop.bytedance.mapper.BytedanceAdvertiserDailyReportMapper;
+import cn.com.ctop.bytedance.service.IBytedanceAdvertiserDailyReportService;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
@@ -13,6 +14,6 @@ import org.springframework.stereotype.Service;
  * @Version: V1.0
  */
 @Service
-public class BytedanceAdvertiserDailyReportServiceImpl extends ServiceImpl<BytedanceAdvertiserDailyReportMapper, BytedanceAdvertiserDailyReport> implements IService<BytedanceAdvertiserDailyReport> {
+public class BytedanceAdvertiserDailyReportServiceImpl extends ServiceImpl<BytedanceAdvertiserDailyReportMapper, BytedanceAdvertiserDailyReport> implements IBytedanceAdvertiserDailyReportService {
 
 }

+ 2 - 2
module-report/src/main/java/cn/com/ctop/bytedance/service/impl/BytedanceAdvertiserHourlyReportServiceImpl.java

@@ -2,7 +2,7 @@ package cn.com.ctop.bytedance.service.impl;
 
 import cn.com.ctop.bytedance.entity.BytedanceAdvertiserHourlyReport;
 import cn.com.ctop.bytedance.mapper.BytedanceAdvertiserHourlyReportMapper;
-import com.baomidou.mybatisplus.extension.service.IService;
+import cn.com.ctop.bytedance.service.IBytedanceAdvertiserHourlyReportService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
@@ -13,6 +13,6 @@ import org.springframework.stereotype.Service;
  * @Version: V1.0
  */
 @Service
-public class BytedanceAdvertiserHourlyReportServiceImpl extends ServiceImpl<BytedanceAdvertiserHourlyReportMapper, BytedanceAdvertiserHourlyReport> implements IService<BytedanceAdvertiserHourlyReport> {
+public class BytedanceAdvertiserHourlyReportServiceImpl extends ServiceImpl<BytedanceAdvertiserHourlyReportMapper, BytedanceAdvertiserHourlyReport> implements IBytedanceAdvertiserHourlyReportService {
 
 }

+ 2 - 2
module-report/src/main/java/cn/com/ctop/bytedance/service/impl/BytedanceCampaignDailyReportServiceImpl.java

@@ -2,7 +2,7 @@ package cn.com.ctop.bytedance.service.impl;
 
 import cn.com.ctop.bytedance.entity.BytedanceCampaignDailyReport;
 import cn.com.ctop.bytedance.mapper.BytedanceCampaignDailyReportMapper;
-import com.baomidou.mybatisplus.extension.service.IService;
+import cn.com.ctop.bytedance.service.IBytedanceCampaignDailyReportService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
@@ -13,6 +13,6 @@ import org.springframework.stereotype.Service;
  * @Version: V1.0
  */
 @Service
-public class BytedanceCampaignDailyReportServiceImpl extends ServiceImpl<BytedanceCampaignDailyReportMapper, BytedanceCampaignDailyReport> implements IService<BytedanceCampaignDailyReport> {
+public class BytedanceCampaignDailyReportServiceImpl extends ServiceImpl<BytedanceCampaignDailyReportMapper, BytedanceCampaignDailyReport> implements IBytedanceCampaignDailyReportService {
 
 }

+ 2 - 1
module-report/src/main/java/cn/com/ctop/bytedance/service/impl/BytedanceCampaignHourlyReportServiceImpl.java

@@ -2,6 +2,7 @@ package cn.com.ctop.bytedance.service.impl;
 
 import cn.com.ctop.bytedance.entity.BytedanceCampaignHourlyReport;
 import cn.com.ctop.bytedance.mapper.BytedanceCampaignHourlyReportMapper;
+import cn.com.ctop.bytedance.service.IBytedanceCampaignHourlyReportService;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
@@ -13,6 +14,6 @@ import org.springframework.stereotype.Service;
  * @Version: V1.0
  */
 @Service
-public class BytedanceCampaignHourlyReportServiceImpl extends ServiceImpl<BytedanceCampaignHourlyReportMapper, BytedanceCampaignHourlyReport> implements IService<BytedanceCampaignHourlyReport> {
+public class BytedanceCampaignHourlyReportServiceImpl extends ServiceImpl<BytedanceCampaignHourlyReportMapper, BytedanceCampaignHourlyReport> implements IBytedanceCampaignHourlyReportService {
 
 }

+ 2 - 1
module-report/src/main/java/cn/com/ctop/bytedance/service/impl/BytedanceCreativeDailyReportServiceImpl.java

@@ -2,6 +2,7 @@ package cn.com.ctop.bytedance.service.impl;
 
 import cn.com.ctop.bytedance.entity.BytedanceCreativeDailyReport;
 import cn.com.ctop.bytedance.mapper.BytedanceCreativeDailyReportMapper;
+import cn.com.ctop.bytedance.service.IBytedanceCreativeDailyReportService;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
@@ -13,6 +14,6 @@ import org.springframework.stereotype.Service;
  * @Version: V1.0
  */
 @Service
-public class BytedanceCreativeDailyReportServiceImpl extends ServiceImpl<BytedanceCreativeDailyReportMapper, BytedanceCreativeDailyReport> implements IService<BytedanceCreativeDailyReport> {
+public class BytedanceCreativeDailyReportServiceImpl extends ServiceImpl<BytedanceCreativeDailyReportMapper, BytedanceCreativeDailyReport> implements IBytedanceCreativeDailyReportService {
 
 }

+ 2 - 2
module-report/src/main/java/cn/com/ctop/bytedance/service/impl/BytedanceCreativeHourlyReportServiceImpl.java

@@ -2,7 +2,7 @@ package cn.com.ctop.bytedance.service.impl;
 
 import cn.com.ctop.bytedance.entity.BytedanceCreativeHourlyReport;
 import cn.com.ctop.bytedance.mapper.BytedanceCreativeHourlyReportMapper;
-import com.baomidou.mybatisplus.extension.service.IService;
+import cn.com.ctop.bytedance.service.IBytedanceCreativeHourlyReportService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
@@ -13,6 +13,6 @@ import org.springframework.stereotype.Service;
  * @Version: V1.0
  */
 @Service
-public class BytedanceCreativeHourlyReportServiceImpl extends ServiceImpl<BytedanceCreativeHourlyReportMapper, BytedanceCreativeHourlyReport> implements IService<BytedanceCreativeHourlyReport> {
+public class BytedanceCreativeHourlyReportServiceImpl extends ServiceImpl<BytedanceCreativeHourlyReportMapper, BytedanceCreativeHourlyReport> implements IBytedanceCreativeHourlyReportService {
 
 }

+ 2 - 2
module-report/src/main/java/cn/com/ctop/bytedance/service/impl/BytedancePlanDailyReportServiceImpl.java

@@ -2,7 +2,7 @@ package cn.com.ctop.bytedance.service.impl;
 
 import cn.com.ctop.bytedance.entity.BytedancePlanDailyReport;
 import cn.com.ctop.bytedance.mapper.BytedancePlanDailyReportMapper;
-import com.baomidou.mybatisplus.extension.service.IService;
+import cn.com.ctop.bytedance.service.IBytedancePlanDailyReportService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
@@ -13,6 +13,6 @@ import org.springframework.stereotype.Service;
  * @Version: V1.0
  */
 @Service
-public class BytedancePlanDailyReportServiceImpl extends ServiceImpl<BytedancePlanDailyReportMapper, BytedancePlanDailyReport> implements IService<BytedancePlanDailyReport> {
+public class BytedancePlanDailyReportServiceImpl extends ServiceImpl<BytedancePlanDailyReportMapper, BytedancePlanDailyReport> implements IBytedancePlanDailyReportService {
 
 }

+ 2 - 2
module-report/src/main/java/cn/com/ctop/bytedance/service/impl/BytedancePlanHourlyReportServiceImpl.java

@@ -2,7 +2,7 @@ package cn.com.ctop.bytedance.service.impl;
 
 import cn.com.ctop.bytedance.entity.BytedancePlanHourlyReport;
 import cn.com.ctop.bytedance.mapper.BytedancePlanHourlyReportMapper;
-import com.baomidou.mybatisplus.extension.service.IService;
+import cn.com.ctop.bytedance.service.IBytedancePlanHourlyReportService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
@@ -13,6 +13,6 @@ import org.springframework.stereotype.Service;
  * @Version: V1.0
  */
 @Service
-public class BytedancePlanHourlyReportServiceImpl extends ServiceImpl<BytedancePlanHourlyReportMapper, BytedancePlanHourlyReport> implements IService<BytedancePlanHourlyReport> {
+public class BytedancePlanHourlyReportServiceImpl extends ServiceImpl<BytedancePlanHourlyReportMapper, BytedancePlanHourlyReport> implements IBytedancePlanHourlyReportService {
 
 }

+ 92 - 0
module-report/src/main/java/cn/com/ctop/bytedance/service/impl/BytedanceReportServiceImpl.java

@@ -0,0 +1,92 @@
+package cn.com.ctop.bytedance.service.impl;
+
+import cn.com.ctop.bytedance.entity.BytedanceAdvertiserDailyReport;
+import cn.com.ctop.bytedance.mapper.BytedanceAdvertiserDailyReportMapper;
+import cn.com.ctop.bytedance.service.IBytedanceReportService;
+import cn.com.ctop.common.module.entity.UserAllocation;
+import cn.com.ctop.common.module.mapper.UserAllocationMapper;
+import cn.com.ctop.common.module.utils.Check;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Service
+public class BytedanceReportServiceImpl implements IBytedanceReportService {
+    @Autowired
+    private UserAllocationMapper userAllocationMapper;
+
+    @Autowired
+    private BytedanceAdvertiserDailyReportMapper bytedanceAdvertiserDailyReportMapper;
+
+    /**
+     * 获取 媒体昨日总消耗
+     *
+     * @param loginId
+     * @return
+     */
+    @Override
+    public JSONObject getCost(String loginId) {
+
+        JSONObject returnJson = new JSONObject();
+
+
+        QueryWrapper<UserAllocation> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("user_id", loginId);
+        queryWrapper.eq("media_id", 1);
+        queryWrapper.isNotNull("account_id");
+        queryWrapper.groupBy("account_id");
+        List<UserAllocation> userAllocations = userAllocationMapper.selectList(queryWrapper);
+        if (!Check.isNull(userAllocations)) {
+            JSONObject bytedanceJson = new JSONObject();
+            BigDecimal byteDanceCost = new BigDecimal(0);
+            Long byteDanceClick = 0L;
+            Long byteDanceShow = 0L;
+            Long byteDanceConvert = 0L;
+            Long byteDanceForm = 0L;
+            Long byteDanceNextDayOpen = 0L;
+            Long byteDanceActive = 0L;
+            for (UserAllocation userAllocation : userAllocations) {
+                QueryWrapper<BytedanceAdvertiserDailyReport> bytedanceAdvertiserDailyReportQueryWrapper = new QueryWrapper<>();
+                bytedanceAdvertiserDailyReportQueryWrapper.eq("advertiser_id", userAllocation.getAccountId());
+                //   Map<String, Object> beforeDate = DateUtils.getBeforeDate();
+                //  bytedanceAdvertiserDailyReportQueryWrapper.between("stat_datetime", beforeDate.get("startDate"), beforeDate.get("endDate"));
+                bytedanceAdvertiserDailyReportQueryWrapper.between("stat_datetime", "2019-07-01 00:00:00", "2019-07-01 23:59:59");
+                bytedanceAdvertiserDailyReportQueryWrapper.orderByDesc("create_time");
+                bytedanceAdvertiserDailyReportQueryWrapper.last("limit 1");
+                BytedanceAdvertiserDailyReport bytedanceAdvertiserDailyReport = bytedanceAdvertiserDailyReportMapper.selectOne(bytedanceAdvertiserDailyReportQueryWrapper);
+
+                if (!Check.isNull(bytedanceAdvertiserDailyReport)) {
+                    byteDanceCost = byteDanceCost.add(bytedanceAdvertiserDailyReport.getCost());
+                    byteDanceClick += bytedanceAdvertiserDailyReport.getClick();
+                    byteDanceShow += bytedanceAdvertiserDailyReport.getShowNum();
+                    byteDanceConvert += bytedanceAdvertiserDailyReport.getConvertNum();
+                    byteDanceForm += bytedanceAdvertiserDailyReport.getForm();
+                    byteDanceNextDayOpen += bytedanceAdvertiserDailyReport.getNextDayOpen();
+                    byteDanceActive += bytedanceAdvertiserDailyReport.getActive();
+                }
+
+            }
+            bytedanceJson.put("cost", byteDanceCost); // 总消耗
+            bytedanceJson.put("click", byteDanceClick); // 总点击
+            bytedanceJson.put("show", byteDanceShow); // 总展示
+            bytedanceJson.put("convert", byteDanceConvert); // 总转化
+            bytedanceJson.put("form", byteDanceForm); // 总表单提交
+            bytedanceJson.put("nextDayOpen", byteDanceNextDayOpen); // 总次留数
+            bytedanceJson.put("active", byteDanceActive); // 总激活
+
+
+            returnJson.put("bytedance", bytedanceJson);
+            System.err.println(returnJson);
+
+        }
+
+
+        return null;
+    }
+
+
+}

+ 11 - 16
pom.xml

@@ -279,21 +279,6 @@
             <version>2.6.0</version>
         </dependency>
         <dependency>
-            <groupId>com.graphql-java</groupId>
-            <artifactId>graphql-java</artifactId>
-            <version>13.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.mountcloud</groupId>
-            <artifactId>graphql-client</artifactId>
-            <version>1.2</version>
-        </dependency>
-        <!--		<dependency>-->
-        <!--			<groupId>io.aexp.nodes.graphql</groupId>-->
-        <!--			<artifactId>nodes</artifactId>-->
-        <!--			<version>0.4.0</version>-->
-        <!--		</dependency>-->
-        <dependency>
             <groupId>org.apache.pdfbox</groupId>
             <artifactId>fontbox</artifactId>
             <version>2.0.15</version>
@@ -332,7 +317,17 @@
         <dependency>
             <groupId>net.sourceforge.htmlunit</groupId>
             <artifactId>htmlunit</artifactId>
-            <version>2.35.0</version>
+            <version>2.36.0</version>
+        </dependency>
+        <!--        <dependency>-->
+        <!--            <groupId>io.aexp.nodes.graphql</groupId>-->
+        <!--            <artifactId>nodes</artifactId>-->
+        <!--            <version>0.5.0</version>-->
+        <!--        </dependency>-->
+        <dependency>
+            <groupId>io.aexp.nodes.graphql</groupId>
+            <artifactId>nodes</artifactId>
+            <version>0.4.0</version>
         </dependency>
         <dependency>
             <groupId>commons-codec</groupId>