Browse Source

Merge branch 'dataforseo' of wangfan/adweb3-server into master

wangfan 5 months ago
parent
commit
d8185bb5f1
42 changed files with 222 additions and 195 deletions
  1. 3 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/common/constant/AdwebConstant.java
  2. 3 3
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/controller/HistoryReachStandardSiteController.java
  3. 0 7
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/controller/SEOController.java
  4. 7 7
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/controller/SeoKeywordsController.java
  5. 3 3
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/controller/SeoKeywordsSerpController.java
  6. 5 5
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/controller/SeoKpiStatisticsController.java
  7. 4 18
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/controller/SeoPlanSubscriptionController.java
  8. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/dto/AvesApiSearchKeywordsDTO.java
  9. 2 2
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/entity/ComprehensiveStatistics.java
  10. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/entity/HistoryReachStandardSite.java
  11. 4 4
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/entity/SeoKeywords.java
  12. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/entity/SeoKeywordsSerp.java
  13. 2 4
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/entity/SeoKpiStatistics.java
  14. 2 5
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/entity/SeoPlanSubscription.java
  15. 2 5
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/mapper/HistoryReachStandardSiteMapper.java
  16. 15 8
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/mapper/SeoKeywordsMapper.java
  17. 2 2
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/mapper/SeoKeywordsSerpMapper.java
  18. 2 5
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/mapper/SeoKpiStatisticsMapper.java
  19. 2 2
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/mapper/SeoPlanSubscriptionMapper.java
  20. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/mapper/xml/HistoryReachStandardSiteMapper.xml
  21. 38 17
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/mapper/xml/SeoKeywordsMapper.xml
  22. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/mapper/xml/SeoKeywordsSerpMapper.xml
  23. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/mapper/xml/SeoKpiStatisticsMapper.xml
  24. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/mapper/xml/SeoPlanSubscriptionMapper.xml
  25. 2 2
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/IHistoryReachStandardSiteService.java
  26. 4 4
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/ISearchKeywordsService.java
  27. 2 2
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/ISeoKeywordsSerpService.java
  28. 3 3
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/ISeoKeywordsService.java
  29. 2 2
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/ISeoKpiStatisticsService.java
  30. 2 2
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/ISeoPlanSubscriptionService.java
  31. 0 42
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/dataforseo/DataForSEOConfig.java
  32. 68 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/dataforseo/DataForSEOService.java
  33. 4 4
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/impl/HistoryReachStandardSiteServiceImpl.java
  34. 8 8
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/impl/SearchKeywordsServiceImpl.java
  35. 4 4
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/impl/SeoKeywordsSerpServiceImpl.java
  36. 5 5
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/impl/SeoKeywordsServiceImpl.java
  37. 6 6
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/impl/SeoKpiStatisticsServiceImpl.java
  38. 4 4
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/impl/SeoPlanSubscriptionServiceImpl.java
  39. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/vo/RankInfoVO.java
  40. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/vo/SeoRankInfoVO.java
  41. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/vo/ServerTimeVO.java
  42. 2 0
      jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/adweb/seo/service/DataForSEOTest.java

+ 3 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/common/constant/AdwebConstant.java

@@ -39,5 +39,8 @@ public interface AdwebConstant {
 
     public static final String PRODUCTCTALOG = "productCatalog";
 
+    /*SEO关键字类型 1 - 指定词 2 - 长尾词 */
+    public static final int KEYWORD_TYPE_APPOINT = 1;
+    public static final int KEYWORD_TYPE_LONG_TAIL = 2;
 
 }

+ 3 - 3
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/controller/HistoryReachStandardSiteController.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/controller/HistoryReachStandardSiteController.java

@@ -1,4 +1,4 @@
-package org.jeecg.modules.adweb.serp.controller;
+package org.jeecg.modules.adweb.seo.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -16,8 +16,8 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.modules.adweb.serp.entity.HistoryReachStandardSite;
-import org.jeecg.modules.adweb.serp.service.IHistoryReachStandardSiteService;
+import org.jeecg.modules.adweb.seo.entity.HistoryReachStandardSite;
+import org.jeecg.modules.adweb.seo.service.IHistoryReachStandardSiteService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;

+ 0 - 7
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/controller/SEOController.java

@@ -1,7 +0,0 @@
-package org.jeecg.modules.adweb.seo.controller;
-
-/**
- * @author wfansh
- */
-public class SEOController {
-}

+ 7 - 7
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/controller/SeoKeywordsController.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/controller/SeoKeywordsController.java

@@ -1,4 +1,4 @@
-package org.jeecg.modules.adweb.serp.controller;
+package org.jeecg.modules.adweb.seo.controller;
 
 import cn.hutool.core.io.IoUtil;
 import cn.hutool.poi.excel.ExcelUtil;
@@ -24,12 +24,12 @@ import org.jeecg.common.system.api.ISysBaseAPI;
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.modules.adweb.common.util.ListUtil;
-import org.jeecg.modules.adweb.serp.dto.AvesApiSearchKeywordsDTO;
-import org.jeecg.modules.adweb.serp.entity.SeoKeywords;
-import org.jeecg.modules.adweb.serp.entity.SeoKpiStatistics;
-import org.jeecg.modules.adweb.serp.service.ISearchKeywordsService;
-import org.jeecg.modules.adweb.serp.service.ISeoKeywordsService;
-import org.jeecg.modules.adweb.serp.service.ISeoKpiStatisticsService;
+import org.jeecg.modules.adweb.seo.dto.AvesApiSearchKeywordsDTO;
+import org.jeecg.modules.adweb.seo.entity.SeoKeywords;
+import org.jeecg.modules.adweb.seo.entity.SeoKpiStatistics;
+import org.jeecg.modules.adweb.seo.service.ISearchKeywordsService;
+import org.jeecg.modules.adweb.seo.service.ISeoKeywordsService;
+import org.jeecg.modules.adweb.seo.service.ISeoKpiStatisticsService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;

+ 3 - 3
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/controller/SeoKeywordsSerpController.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/controller/SeoKeywordsSerpController.java

@@ -1,4 +1,4 @@
-package org.jeecg.modules.adweb.serp.controller;
+package org.jeecg.modules.adweb.seo.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -16,8 +16,8 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.modules.adweb.serp.entity.SeoKeywordsSerp;
-import org.jeecg.modules.adweb.serp.service.ISeoKeywordsSerpService;
+import org.jeecg.modules.adweb.seo.entity.SeoKeywordsSerp;
+import org.jeecg.modules.adweb.seo.service.ISeoKeywordsSerpService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;

+ 5 - 5
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/controller/SeoKpiStatisticsController.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/controller/SeoKpiStatisticsController.java

@@ -1,4 +1,4 @@
-package org.jeecg.modules.adweb.serp.controller;
+package org.jeecg.modules.adweb.seo.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -12,10 +12,10 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.modules.adweb.serp.entity.ComprehensiveStatistics;
-import org.jeecg.modules.adweb.serp.entity.SeoKpiStatistics;
-import org.jeecg.modules.adweb.serp.service.ISearchKeywordsService;
-import org.jeecg.modules.adweb.serp.service.ISeoKpiStatisticsService;
+import org.jeecg.modules.adweb.seo.entity.ComprehensiveStatistics;
+import org.jeecg.modules.adweb.seo.entity.SeoKpiStatistics;
+import org.jeecg.modules.adweb.seo.service.ISearchKeywordsService;
+import org.jeecg.modules.adweb.seo.service.ISeoKpiStatisticsService;
 import org.jeecg.modules.adweb.site.entity.AdwebSite;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;

+ 4 - 18
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/controller/SeoPlanSubscriptionController.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/controller/SeoPlanSubscriptionController.java

@@ -1,37 +1,23 @@
-package org.jeecg.modules.adweb.serp.controller;
+package org.jeecg.modules.adweb.seo.controller;
 
 import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
+
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.adweb.serp.entity.SeoPlanSubscription;
-import org.jeecg.modules.adweb.serp.service.ISeoPlanSubscriptionService;
+import org.jeecg.modules.adweb.seo.entity.SeoPlanSubscription;
+import org.jeecg.modules.adweb.seo.service.ISeoPlanSubscriptionService;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.extern.slf4j.Slf4j;
 
-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.jeecg.common.system.base.controller.JeecgController;
 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 com.alibaba.fastjson.JSON;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import org.jeecg.common.aspect.annotation.AutoLog;

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/dto/AvesApiSearchKeywordsDTO.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/dto/AvesApiSearchKeywordsDTO.java

@@ -1,4 +1,4 @@
-package org.jeecg.modules.adweb.serp.dto;
+package org.jeecg.modules.adweb.seo.dto;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;

+ 2 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/entity/ComprehensiveStatistics.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/entity/ComprehensiveStatistics.java

@@ -1,4 +1,4 @@
-package org.jeecg.modules.adweb.serp.entity;
+package org.jeecg.modules.adweb.seo.entity;
 
 import lombok.Data;
 
@@ -12,7 +12,7 @@ public class ComprehensiveStatistics {
     /**
      * 指定词
      */
-    private String specifyKeywordNum;
+    private String appointKeywordNum;
 
     /**
      * 长尾词

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/entity/HistoryReachStandardSite.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/entity/HistoryReachStandardSite.java

@@ -1,4 +1,4 @@
-package org.jeecg.modules.adweb.serp.entity;
+package org.jeecg.modules.adweb.seo.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;

+ 4 - 4
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/entity/SeoKeywords.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/entity/SeoKeywords.java

@@ -1,4 +1,4 @@
-package org.jeecg.modules.adweb.serp.entity;
+package org.jeecg.modules.adweb.seo.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
@@ -40,9 +40,9 @@ public class SeoKeywords implements Serializable {
     @Schema(description = "平台标识")
     private String appKey;
 	/**用户标识*/
-	@Excel(name = "用户标识", width = 15)
-    @Schema(description = "用户标识")
-    private String userFlag;
+	@Excel(name = "网站code", width = 15)
+    @Schema(description = "网站code")
+    private String siteCode;
 	/**关键词*/
 	@Excel(name = "关键词", width = 15)
     @Schema(description = "关键词")

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/entity/SeoKeywordsSerp.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/entity/SeoKeywordsSerp.java

@@ -1,4 +1,4 @@
-package org.jeecg.modules.adweb.serp.entity;
+package org.jeecg.modules.adweb.seo.entity;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;

+ 2 - 4
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/entity/SeoKpiStatistics.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/entity/SeoKpiStatistics.java

@@ -1,9 +1,8 @@
-package org.jeecg.modules.adweb.serp.entity;
+package org.jeecg.modules.adweb.seo.entity;
 
 import java.io.Serializable;
-import java.io.UnsupportedEncodingException;
 import java.util.Date;
-import java.math.BigDecimal;
+
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -12,7 +11,6 @@ import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.springframework.format.annotation.DateTimeFormat;
 import org.jeecgframework.poi.excel.annotation.Excel;
-import org.jeecg.common.aspect.annotation.Dict;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;

+ 2 - 5
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/entity/SeoPlanSubscription.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/entity/SeoPlanSubscription.java

@@ -1,18 +1,15 @@
-package org.jeecg.modules.adweb.serp.entity;
+package org.jeecg.modules.adweb.seo.entity;
 
 import java.io.Serializable;
-import java.io.UnsupportedEncodingException;
 import java.util.Date;
-import java.math.BigDecimal;
+
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableLogic;
 import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.springframework.format.annotation.DateTimeFormat;
 import org.jeecgframework.poi.excel.annotation.Excel;
-import org.jeecg.common.aspect.annotation.Dict;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;

+ 2 - 5
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/mapper/HistoryReachStandardSiteMapper.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/mapper/HistoryReachStandardSiteMapper.java

@@ -1,9 +1,6 @@
-package org.jeecg.modules.adweb.serp.mapper;
+package org.jeecg.modules.adweb.seo.mapper;
 
-import java.util.List;
-
-import org.apache.ibatis.annotations.Param;
-import org.jeecg.modules.adweb.serp.entity.HistoryReachStandardSite;
+import org.jeecg.modules.adweb.seo.entity.HistoryReachStandardSite;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 /**

+ 15 - 8
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/mapper/SeoKeywordsMapper.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/mapper/SeoKeywordsMapper.java

@@ -1,11 +1,11 @@
-package org.jeecg.modules.adweb.serp.mapper;
+package org.jeecg.modules.adweb.seo.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
 import org.apache.ibatis.annotations.Param;
-import org.jeecg.modules.adweb.serp.entity.SeoKeywords;
-import org.jeecg.modules.adweb.serp.vo.RankInfoVO;
+import org.jeecg.modules.adweb.seo.entity.SeoKeywords;
+import org.jeecg.modules.adweb.seo.vo.RankInfoVO;
 
 import java.util.List;
 
@@ -19,18 +19,18 @@ public interface SeoKeywordsMapper extends BaseMapper<SeoKeywords> {
     /**
      * 根据站点和套餐id
      * @param siteCode
-     * @param historyId
+     * @param subscriptionId
      * @return
      */
-    List<String> getKeywordsLastSevenDays(String siteCode, String historyId, Integer keywordType);
+    List<String> getKeywordsLastSevenDays(String siteCode, String subscriptionId, Integer keywordType);
 
     /**
      * 查询关键词排名数据
      *
-     * @param userFlag siteCode
+     * @param siteCode siteCode
      * @return 当日排名在前n页的数量
      */
-    RankInfoVO queryKeywordNumByRankRange(@Param("userFlag") String userFlag, @Param("historyId") String historyId, @Param("rankStart") Integer rankStart, @Param("rankEnd") Integer rankEnd, @Param("dateStr") String dateStr, @Param("keywordType") String keywordType);
+    RankInfoVO queryKeywordNumByRankRange(@Param("siteCode") String siteCode, @Param("subscriptionId") String subscriptionId, @Param("rankStart") Integer rankStart, @Param("rankEnd") Integer rankEnd, @Param("dateStr") String dateStr, @Param("keywordType") String keywordType);
 
     /**
      * 根据站点code获取关键词达标标准
@@ -53,10 +53,17 @@ public interface SeoKeywordsMapper extends BaseMapper<SeoKeywords> {
                                       String siteCode,
                                       Integer keywordType,
                                       String datesStr,
-                                      String historyId,
+                                      String subscriptionId,
                                       String column,
                                       String order,
                                       String buttonColumn,
                                       String buttonSort);
 
+    /**
+     * 获取当日需要DateForSEO serp查询的关键词列表
+     *
+     * @return 关键词列表
+     */
+    List<SeoKeywords> getKeywordsToSerp(int keywordType);
+
 }

+ 2 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/mapper/SeoKeywordsSerpMapper.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/mapper/SeoKeywordsSerpMapper.java

@@ -1,9 +1,9 @@
-package org.jeecg.modules.adweb.serp.mapper;
+package org.jeecg.modules.adweb.seo.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
-import org.jeecg.modules.adweb.serp.entity.SeoKeywordsSerp;
+import org.jeecg.modules.adweb.seo.entity.SeoKeywordsSerp;
 
 /**
  * @Description: SEO关键词搜索排名

+ 2 - 5
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/mapper/SeoKpiStatisticsMapper.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/mapper/SeoKpiStatisticsMapper.java

@@ -1,9 +1,6 @@
-package org.jeecg.modules.adweb.serp.mapper;
+package org.jeecg.modules.adweb.seo.mapper;
 
-import java.util.List;
-
-import org.apache.ibatis.annotations.Param;
-import org.jeecg.modules.adweb.serp.entity.SeoKpiStatistics;
+import org.jeecg.modules.adweb.seo.entity.SeoKpiStatistics;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 /**

+ 2 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/mapper/SeoPlanSubscriptionMapper.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/mapper/SeoPlanSubscriptionMapper.java

@@ -1,9 +1,9 @@
-package org.jeecg.modules.adweb.serp.mapper;
+package org.jeecg.modules.adweb.seo.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
-import org.jeecg.modules.adweb.serp.entity.SeoPlanSubscription;
+import org.jeecg.modules.adweb.seo.entity.SeoPlanSubscription;
 
 /**
  * @Description: seo套餐订购

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/mapper/xml/HistoryReachStandardSiteMapper.xml → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/mapper/xml/HistoryReachStandardSiteMapper.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.adweb.serp.mapper.HistoryReachStandardSiteMapper">
+<mapper namespace="org.jeecg.modules.adweb.seo.mapper.HistoryReachStandardSiteMapper">
 
 </mapper>

+ 38 - 17
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/mapper/xml/SeoKeywordsMapper.xml → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/mapper/xml/SeoKeywordsMapper.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.adweb.serp.mapper.SeoKeywordsMapper">
+<mapper namespace="org.jeecg.modules.adweb.seo.mapper.SeoKeywordsMapper">
     <select id="getKeywordsLastSevenDays" resultType="java.lang.String">
         SELECT t1.se_date
         FROM seo_keywords_serp t1,
@@ -8,14 +8,14 @@
         WHERE t2.`status` = 1
           AND t1.keywords_id = t2.id
           AND t2.app_key = 'adweb'
-          AND t2.user_flag = #{siteCode}
+          AND t2.site_code = #{siteCode}
           AND t2.keyword_type = #{keywordType}
-          AND t2.history_id = #{historyId}
+          AND t2.subscription_id = #{subscriptionId}
         GROUP BY t1.se_date
         ORDER BY t1.se_date DESC
         LIMIT 7
     </select>
-    <select id="queryKeywordNumByRankRange" resultType="org.jeecg.modules.adweb.serp.vo.RankInfoVO">
+    <select id="queryKeywordNumByRankRange" resultType="org.jeecg.modules.adweb.seo.vo.RankInfoVO">
         SELECT
         t.type keywordType,
         count(t.id) keywordNum
@@ -27,10 +27,10 @@
         FROM
         seo_keywords t1
         WHERE
-        t1.user_flag = #{userFlag}
+        t1.site_code = #{siteCode}
         AND `status` = 1
         AND keyword_type = #{keywordType}
-        AND history_id = #{historyId}
+        AND subscription_id = #{subscriptionId}
         <if test="rankStart != null">
             AND t1.last_rank >= #{rankStart}
         </if>
@@ -55,14 +55,14 @@
         t2.`status` = 1
         AND t1.keywords_id = t2.id
         AND t2.app_key = 'adweb'
-        <if test="userFlag != null and userFlag != ''">
-            AND t2.user_flag = #{userFlag}
+        <if test="siteCode != null and siteCode != ''">
+            AND t2.site_code = #{siteCode}
         </if>
         <if test="keywordType != null">
             AND t2.keyword_type = #{keywordType}
         </if>
-        <if test="!historyId">
-            AND t2.history_id = #{historyId}
+        <if test="!subscriptionId">
+            AND t2.subscription_id = #{subscriptionId}
         </if>
         AND se_date IN ${dateStr}
         GROUP BY keywords_id
@@ -87,7 +87,7 @@
           AND t2.site_id = t3.id
           AND t3.`code` = #{siteCode}
     </select>
-    <select id="getKeywordList" resultType="org.jeecg.modules.adweb.serp.entity.SeoKeywords">
+    <select id="getKeywordList" resultType="org.jeecg.modules.adweb.seo.entity.SeoKeywords">
         SELECT
         DISTINCT t1.*,CHAR_LENGTH( keywords ) keywordsLength
         FROM
@@ -98,7 +98,7 @@
                 AND t1.keywords LIKE CONCAT('%', #{keyword}, '%')
             </if>
             <if test="siteCode != null and siteCode != ''">
-                AND t1.user_flag = #{siteCode}
+                AND t1.site_code = #{siteCode}
             </if>
             <if test="keywordType != null">
                 AND t1.keyword_type = #{keywordType}
@@ -111,8 +111,8 @@
             </if>
             AND t1.app_key = 'adweb'
             AND t1.`status` =  1
-            <if test="!historyId">
-                AND t1.history_id = #{historyId}
+            <if test="!subscriptionId">
+                AND t1.subscription_id = #{subscriptionId}
             </if>
             AND
             (
@@ -132,13 +132,13 @@
             AND t1.keywords_id = t2.id
             AND t2.app_key = 'adweb'
             <if test="siteCode != null and siteCode != ''">
-                AND t2.user_flag = #{siteCode}
+                AND t2.site_code = #{siteCode}
             </if>
             <if test="keywordType != null">
                 AND t2.keyword_type = #{keywordType}
             </if>
-            <if test="!historyId">
-                AND t2.history_id = #{historyId}
+            <if test="!subscriptionId">
+                AND t2.subscription_id = #{subscriptionId}
             </if>
             AND se_date IN ${datesStr}
             GROUP BY keywords_id
@@ -160,4 +160,25 @@
         </if>
         ,create_time
     </select>
+
+    <select id="getKeywordsToSerp" resultType="org.jeecg.modules.adweb.seo.entity.SeoKeywords">
+        SELECT
+        *
+        FROM
+        seo_keywords
+        WHERE
+        `status` = 1
+        AND site_code IN (
+        SELECT
+        `code`
+        FROM
+        adweb_site
+        WHERE
+        run_status = 1
+        AND `status` = 1
+        )
+        <if test = "keywordType != null">
+            AND keyword_type = #{keywordType}
+        </if>
+    </select>
 </mapper>

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/mapper/xml/SeoKeywordsSerpMapper.xml → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/mapper/xml/SeoKeywordsSerpMapper.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.adweb.serp.mapper.SeoKeywordsSerpMapper">
+<mapper namespace="org.jeecg.modules.adweb.seo.mapper.SeoKeywordsSerpMapper">
 
 </mapper>

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/mapper/xml/SeoKpiStatisticsMapper.xml → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/mapper/xml/SeoKpiStatisticsMapper.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.adweb.serp.mapper.SeoKpiStatisticsMapper">
+<mapper namespace="org.jeecg.modules.adweb.seo.mapper.SeoKpiStatisticsMapper">
 
 </mapper>

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/mapper/xml/SeoPlanSubscriptionMapper.xml → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/mapper/xml/SeoPlanSubscriptionMapper.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.adweb.serp.mapper.SeoPlanSubscriptionMapper">
+<mapper namespace="org.jeecg.modules.adweb.seo.mapper.SeoPlanSubscriptionMapper">
     <select id="getKeywordStandard" resultType="java.lang.Integer">
         SELECT
             IF(COUNT(*) = 0 OR t1.target IS NULL, 10, t1.target)

+ 2 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/service/IHistoryReachStandardSiteService.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/IHistoryReachStandardSiteService.java

@@ -1,6 +1,6 @@
-package org.jeecg.modules.adweb.serp.service;
+package org.jeecg.modules.adweb.seo.service;
 
-import org.jeecg.modules.adweb.serp.entity.HistoryReachStandardSite;
+import org.jeecg.modules.adweb.seo.entity.HistoryReachStandardSite;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 /**

+ 4 - 4
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/service/ISearchKeywordsService.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/ISearchKeywordsService.java

@@ -1,9 +1,9 @@
-package org.jeecg.modules.adweb.serp.service;
+package org.jeecg.modules.adweb.seo.service;
 
 import org.apache.poi.ss.usermodel.Sheet;
-import org.jeecg.modules.adweb.serp.entity.ComprehensiveStatistics;
-import org.jeecg.modules.adweb.serp.entity.SeoKeywords;
-import org.jeecg.modules.adweb.serp.vo.SeoRankInfoVO;
+import org.jeecg.modules.adweb.seo.entity.ComprehensiveStatistics;
+import org.jeecg.modules.adweb.seo.entity.SeoKeywords;
+import org.jeecg.modules.adweb.seo.vo.SeoRankInfoVO;
 
 import java.text.ParseException;
 import java.util.List;

+ 2 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/service/ISeoKeywordsSerpService.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/ISeoKeywordsSerpService.java

@@ -1,6 +1,6 @@
-package org.jeecg.modules.adweb.serp.service;
+package org.jeecg.modules.adweb.seo.service;
 
-import org.jeecg.modules.adweb.serp.entity.SeoKeywordsSerp;
+import org.jeecg.modules.adweb.seo.entity.SeoKeywordsSerp;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 /**

+ 3 - 3
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/service/ISeoKeywordsService.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/ISeoKeywordsService.java

@@ -1,10 +1,10 @@
-package org.jeecg.modules.adweb.serp.service;
+package org.jeecg.modules.adweb.seo.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 
-import org.jeecg.modules.adweb.serp.entity.SeoKeywords;
-import org.jeecg.modules.adweb.serp.vo.RankInfoVO;
+import org.jeecg.modules.adweb.seo.entity.SeoKeywords;
+import org.jeecg.modules.adweb.seo.vo.RankInfoVO;
 
 import java.text.ParseException;
 import java.util.List;

+ 2 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/service/ISeoKpiStatisticsService.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/ISeoKpiStatisticsService.java

@@ -1,6 +1,6 @@
-package org.jeecg.modules.adweb.serp.service;
+package org.jeecg.modules.adweb.seo.service;
 
-import org.jeecg.modules.adweb.serp.entity.SeoKpiStatistics;
+import org.jeecg.modules.adweb.seo.entity.SeoKpiStatistics;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.adweb.site.entity.AdwebSite;
 

+ 2 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/service/ISeoPlanSubscriptionService.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/ISeoPlanSubscriptionService.java

@@ -1,6 +1,6 @@
-package org.jeecg.modules.adweb.serp.service;
+package org.jeecg.modules.adweb.seo.service;
 
-import org.jeecg.modules.adweb.serp.entity.SeoPlanSubscription;
+import org.jeecg.modules.adweb.seo.entity.SeoPlanSubscription;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 /**

+ 0 - 42
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/dataforseo/DataForSEOConfig.java

@@ -1,42 +0,0 @@
-package org.jeecg.modules.adweb.seo.service.dataforseo;
-
-import io.github.dataforseo.client.ApiClient;
-import io.github.dataforseo.client.api.SerpApi;
-import io.github.dataforseo.client.auth.*;
-
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * See https://docs.dataforseo.com/v3
- *
- * @author wfansh
- */
-@Configuration
-public class DataForSEOConfig {
-
-    @Value("${dataforseo.username}")
-    private String username;
-
-    @Value("${dataforseo.password}")
-    private String password;
-
-    @Value("${dataforseo.api-path}")
-    private String apiPath;
-
-    @Bean
-    public SerpApi serpApi() {
-        ApiClient defaultClient = io.github.dataforseo.client.Configuration.getDefaultApiClient();
-        defaultClient.setBasePath(apiPath);
-        // HTTP超时 - 30秒
-        defaultClient.setConnectTimeout(30 * 1000);
-
-        // API认证方式 - basicAuth
-        HttpBasicAuth basicAuth = (HttpBasicAuth) defaultClient.getAuthentication("basicAuth");
-        basicAuth.setUsername(username);
-        basicAuth.setPassword(password);
-
-        return new SerpApi(defaultClient);
-    }
-}

+ 68 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/dataforseo/DataForSEOService.java

@@ -0,0 +1,68 @@
+package org.jeecg.modules.adweb.seo.service.dataforseo;
+
+import io.github.dataforseo.client.ApiClient;
+import io.github.dataforseo.client.api.SerpApi;
+import io.github.dataforseo.client.auth.HttpBasicAuth;
+
+import jakarta.annotation.PostConstruct;
+
+import org.jeecg.modules.adweb.seo.entity.SeoKeywordsSerp;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author wfansh
+ */
+@Service
+public class DataForSEOService {
+
+    @Value("${dataforseo.username}")
+    private String username;
+
+    @Value("${dataforseo.password}")
+    private String password;
+
+    @Value("${dataforseo.api-path}")
+    private String apiPath;
+
+    private SerpApi serpApi;
+
+    @PostConstruct
+    private void init() {
+        ApiClient defaultClient = io.github.dataforseo.client.Configuration.getDefaultApiClient();
+        defaultClient.setBasePath(apiPath);
+        // HTTP超时 - 30秒
+        defaultClient.setConnectTimeout(30 * 1000);
+
+        // API认证方式 - basicAuth
+        HttpBasicAuth basicAuth = (HttpBasicAuth) defaultClient.getAuthentication("basicAuth");
+        basicAuth.setUsername(username);
+        basicAuth.setPassword(password);
+
+        this.serpApi = new SerpApi(defaultClient);
+    }
+
+    /**
+     * 从DataForSEO拉取keywords serp数据,同步到{@link SeoKeywordsSerp}表
+     *
+     * @param keywordType 1 - 指定词; 2 - 长尾词
+     */
+    public void syncKeywordsSerp(int keywordType) {
+        // 1. 查询待更新keywords
+
+
+//        // TODO: 判断网站状态
+//        List<GoogleGTM> googleGTMS = googleGTMService.list();
+//
+//        for (GoogleGTM googleGTM : googleGTMS) {
+//            // 每个帐号同步更新三张报表
+//            try {
+//                this.syncGACountryReport(googleGTM);
+//                this.syncGASourceMediumReport(googleGTM);
+//                this.syncGAPagePathReport(googleGTM);
+//            } catch (RuntimeException e) {
+//                log.warn("同步GA报表异常, siteId = {], error = {}", googleGTM.getSiteId(), e);
+//            }
+//        }
+    }
+}

+ 4 - 4
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/service/impl/HistoryReachStandardSiteServiceImpl.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/impl/HistoryReachStandardSiteServiceImpl.java

@@ -1,8 +1,8 @@
-package org.jeecg.modules.adweb.serp.service.impl;
+package org.jeecg.modules.adweb.seo.service.impl;
 
-import org.jeecg.modules.adweb.serp.entity.HistoryReachStandardSite;
-import org.jeecg.modules.adweb.serp.mapper.HistoryReachStandardSiteMapper;
-import org.jeecg.modules.adweb.serp.service.IHistoryReachStandardSiteService;
+import org.jeecg.modules.adweb.seo.entity.HistoryReachStandardSite;
+import org.jeecg.modules.adweb.seo.mapper.HistoryReachStandardSiteMapper;
+import org.jeecg.modules.adweb.seo.service.IHistoryReachStandardSiteService;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

+ 8 - 8
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/service/impl/SearchKeywordsServiceImpl.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/impl/SearchKeywordsServiceImpl.java

@@ -1,4 +1,4 @@
-package org.jeecg.modules.adweb.serp.service.impl;
+package org.jeecg.modules.adweb.seo.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -15,13 +15,13 @@ import org.apache.poi.ss.usermodel.Sheet;
 import org.jeecg.common.util.FastJsonUtil;
 import org.jeecg.modules.adweb.common.util.DateUtil;
 import org.jeecg.modules.adweb.common.util.ListUtil;
-import org.jeecg.modules.adweb.serp.entity.*;
-import org.jeecg.modules.adweb.serp.mapper.SeoKeywordsMapper;
-import org.jeecg.modules.adweb.serp.mapper.SeoPlanSubscriptionMapper;
-import org.jeecg.modules.adweb.serp.service.*;
-import org.jeecg.modules.adweb.serp.vo.RankInfoVO;
-import org.jeecg.modules.adweb.serp.vo.SeoRankInfoVO;
-import org.jeecg.modules.adweb.serp.vo.ServerTimeVO;
+import org.jeecg.modules.adweb.seo.entity.*;
+import org.jeecg.modules.adweb.seo.mapper.SeoKeywordsMapper;
+import org.jeecg.modules.adweb.seo.mapper.SeoPlanSubscriptionMapper;
+import org.jeecg.modules.adweb.seo.service.*;
+import org.jeecg.modules.adweb.seo.vo.RankInfoVO;
+import org.jeecg.modules.adweb.seo.vo.SeoRankInfoVO;
+import org.jeecg.modules.adweb.seo.vo.ServerTimeVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 

+ 4 - 4
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/service/impl/SeoKeywordsSerpServiceImpl.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/impl/SeoKeywordsSerpServiceImpl.java

@@ -1,8 +1,8 @@
-package org.jeecg.modules.adweb.serp.service.impl;
+package org.jeecg.modules.adweb.seo.service.impl;
 
-import org.jeecg.modules.adweb.serp.entity.SeoKeywordsSerp;
-import org.jeecg.modules.adweb.serp.mapper.SeoKeywordsSerpMapper;
-import org.jeecg.modules.adweb.serp.service.ISeoKeywordsSerpService;
+import org.jeecg.modules.adweb.seo.entity.SeoKeywordsSerp;
+import org.jeecg.modules.adweb.seo.mapper.SeoKeywordsSerpMapper;
+import org.jeecg.modules.adweb.seo.service.ISeoKeywordsSerpService;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

+ 5 - 5
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/service/impl/SeoKeywordsServiceImpl.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/impl/SeoKeywordsServiceImpl.java

@@ -1,4 +1,4 @@
-package org.jeecg.modules.adweb.serp.service.impl;
+package org.jeecg.modules.adweb.seo.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -6,10 +6,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import jakarta.annotation.Resource;
 
 import org.jeecg.modules.adweb.common.util.ListUtil;
-import org.jeecg.modules.adweb.serp.entity.SeoKeywords;
-import org.jeecg.modules.adweb.serp.mapper.SeoKeywordsMapper;
-import org.jeecg.modules.adweb.serp.service.ISeoKeywordsService;
-import org.jeecg.modules.adweb.serp.vo.RankInfoVO;
+import org.jeecg.modules.adweb.seo.entity.SeoKeywords;
+import org.jeecg.modules.adweb.seo.mapper.SeoKeywordsMapper;
+import org.jeecg.modules.adweb.seo.service.ISeoKeywordsService;
+import org.jeecg.modules.adweb.seo.vo.RankInfoVO;
 import org.springframework.stereotype.Service;
 
 import java.text.ParseException;

+ 6 - 6
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/service/impl/SeoKpiStatisticsServiceImpl.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/impl/SeoKpiStatisticsServiceImpl.java

@@ -1,4 +1,4 @@
-package org.jeecg.modules.adweb.serp.service.impl;
+package org.jeecg.modules.adweb.seo.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.extern.slf4j.Slf4j;
@@ -7,11 +7,11 @@ import org.jeecg.common.system.api.ISysBaseAPI;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.adweb.common.constant.AdwebConstant;
 import org.jeecg.modules.adweb.common.util.ListUtil;
-import org.jeecg.modules.adweb.serp.entity.SeoKpiStatistics;
-import org.jeecg.modules.adweb.serp.entity.SeoPlanSubscription;
-import org.jeecg.modules.adweb.serp.mapper.SeoKpiStatisticsMapper;
-import org.jeecg.modules.adweb.serp.service.ISeoKpiStatisticsService;
-import org.jeecg.modules.adweb.serp.service.ISeoPlanSubscriptionService;
+import org.jeecg.modules.adweb.seo.entity.SeoKpiStatistics;
+import org.jeecg.modules.adweb.seo.entity.SeoPlanSubscription;
+import org.jeecg.modules.adweb.seo.mapper.SeoKpiStatisticsMapper;
+import org.jeecg.modules.adweb.seo.service.ISeoKpiStatisticsService;
+import org.jeecg.modules.adweb.seo.service.ISeoPlanSubscriptionService;
 import org.jeecg.modules.adweb.site.entity.AdwebSite;
 import org.jeecg.modules.adweb.site.service.IAdwebSiteService;
 import org.jeecg.modules.adweb.site.service.ISiteUserPermissionService;

+ 4 - 4
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/service/impl/SeoPlanSubscriptionServiceImpl.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/impl/SeoPlanSubscriptionServiceImpl.java

@@ -1,8 +1,8 @@
-package org.jeecg.modules.adweb.serp.service.impl;
+package org.jeecg.modules.adweb.seo.service.impl;
 
-import org.jeecg.modules.adweb.serp.entity.SeoPlanSubscription;
-import org.jeecg.modules.adweb.serp.mapper.SeoPlanSubscriptionMapper;
-import org.jeecg.modules.adweb.serp.service.ISeoPlanSubscriptionService;
+import org.jeecg.modules.adweb.seo.entity.SeoPlanSubscription;
+import org.jeecg.modules.adweb.seo.mapper.SeoPlanSubscriptionMapper;
+import org.jeecg.modules.adweb.seo.service.ISeoPlanSubscriptionService;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/vo/RankInfoVO.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/vo/RankInfoVO.java

@@ -1,4 +1,4 @@
-package org.jeecg.modules.adweb.serp.vo;
+package org.jeecg.modules.adweb.seo.vo;
 
 import lombok.Data;
 

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/vo/SeoRankInfoVO.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/vo/SeoRankInfoVO.java

@@ -1,4 +1,4 @@
-package org.jeecg.modules.adweb.serp.vo;
+package org.jeecg.modules.adweb.seo.vo;
 
 import lombok.Data;
 

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/serp/vo/ServerTimeVO.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/vo/ServerTimeVO.java

@@ -1,4 +1,4 @@
-package org.jeecg.modules.adweb.serp.vo;
+package org.jeecg.modules.adweb.seo.vo;
 
 import lombok.Data;
 

+ 2 - 0
jeecg-module-system/jeecg-system-start/src/test/java/org/jeecg/modules/adweb/seo/service/DataForSEOTest.java

@@ -4,6 +4,7 @@ import io.github.dataforseo.client.api.SerpApi;
 import io.github.dataforseo.client.model.SerpGoogleOrganicLiveAdvancedRequestInfo;
 import io.github.dataforseo.client.model.SerpGoogleOrganicLiveAdvancedResponseInfo;
 
+import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
@@ -19,6 +20,7 @@ public class DataForSEOTest {
     @Autowired private SerpApi serpApi;
 
     @Test
+    @Disabled("DataForSEO API charges")
     public void testSerpGoogleOrganic() throws Exception {
         SerpGoogleOrganicLiveAdvancedRequestInfo task =
                 new SerpGoogleOrganicLiveAdvancedRequestInfo();