Răsfoiți Sursa

Merge branch 'master' into cpq-dev

chenlei1231 2 luni în urmă
părinte
comite
98e06c55eb
100 a modificat fișierele cu 3319 adăugiri și 2304 ștergeri
  1. BIN
      conf/adweb_v3.sql.zip
  2. 24 29
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/api/controller/OpenAPIController.java
  3. 15 23
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/common/constant/AdwebConstant.java
  4. 33 50
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/common/constant/ShellConstans.java
  5. 1 2
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/common/jedis/Message.java
  6. 11 12
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/common/service/DomainService.java
  7. 7 2
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/common/service/FeishuService.java
  8. 27 27
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/common/service/ShellService.java
  9. 2 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/common/service/WebSocketService.java
  10. 0 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/common/util/AdaptiveWidthUtils.java
  11. 3 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/common/util/AdwebRedisUtil.java
  12. 2 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/common/util/AwsTranslateUtils.java
  13. 7 7
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/common/util/JedisUtil.java
  14. 112 88
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/common/util/ShellSSH2Util.java
  15. 23 49
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/common/util/SnowflakeIdUtil.java
  16. 12 18
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/dmp/controller/GTMController.java
  17. 3 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/dmp/dto/google/gtm/CreateContainerRequestDTO.java
  18. 16 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/dmp/dto/matomo/CreateSiteRequestDTO.java
  19. 23 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/dmp/dto/matomo/MatomoSiteDTO.java
  20. 12 7
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/dmp/entity/GoogleGTM.java
  21. 71 48
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/dmp/service/google/GTMAdminService.java
  22. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/constant/EnquiryConstants.java
  23. 0 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/constant/EnquiryDistributeTypeConstant.java
  24. 66 53
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/controller/AdwebEnquiryBlacklistController.java
  25. 242 182
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/controller/AdwebEnquiryController.java
  26. 21 14
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/controller/AdwebEnquiryRecordController.java
  27. 139 41
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/controller/AdwebPublicBlackEmailController.java
  28. 122 36
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/controller/AdwebPublicBlackIpController.java
  29. 124 40
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/controller/AdwebPublicEnquriyRuleController.java
  30. 251 110
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/controller/AdwebSiteBlackEmailController.java
  31. 177 60
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/controller/AdwebSiteBlackIpController.java
  32. 43 28
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/controller/AdwebSiteEnquiryRuleController.java
  33. 9 4
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/dto/EnquiryDTO.java
  34. 1 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/dto/IndependentEnquiryDto.java
  35. 1 3
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/dto/param/EffectiveEnquiryParamDto.java
  36. 1 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/dto/param/EnquiryListSearchDto.java
  37. 7 8
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/dto/param/EnquirySearchDto.java
  38. 24 31
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/dto/result/EnquiryListDto.java
  39. 2 6
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/dto/result/EnquirySpecialFields.java
  40. 15 17
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/AdwebOpenApiService.java
  41. 4 2
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/EnquiryRedisService.java
  42. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/IAdwebEnquiryBlacklistService.java
  43. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/IAdwebEnquiryFormService.java
  44. 3 6
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/IAdwebEnquiryService.java
  45. 10 6
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/IAdwebPublicBlackEmailService.java
  46. 8 2
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/IAdwebPublicBlackIpService.java
  47. 10 3
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/IAdwebPublicEnquiryRuleService.java
  48. 10 7
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/IAdwebSiteBlackEmailService.java
  49. 9 2
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/IAdwebSiteBlackIpService.java
  50. 12 13
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/IEnquiryEmailMessageService.java
  51. 1 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/ISubUserEmailService.java
  52. 16 9
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/impl/AdwebEnquiryBlacklistServiceImpl.java
  53. 7 6
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/impl/AdwebEnquiryFormServiceImpl.java
  54. 4 3
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/impl/AdwebEnquiryRecordServiceImpl.java
  55. 340 225
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/impl/AdwebEnquiryServiceImpl.java
  56. 170 122
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/impl/AdwebPublicBlackEmailServiceImpl.java
  57. 14 6
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/impl/AdwebPublicBlackIpServiceImpl.java
  58. 30 19
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/impl/AdwebPublicEnquiryRuleServiceImpl.java
  59. 58 39
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/impl/AdwebSiteBlackEmailServiceImpl.java
  60. 52 27
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/impl/AdwebSiteBlackIpServiceImpl.java
  61. 18 10
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/impl/AdwebSiteEnquiryRuleServiceImpl.java
  62. 93 77
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/impl/EnquiryEmailMessageServiceImpl.java
  63. 5 3
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/impl/SubUserEmailServiceImpl.java
  64. 7 8
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/listener/EnquiryEmailSenderListener.java
  65. 18 41
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/marketing/googleads/service/GoogleAdsReportService.java
  66. 13 11
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/product/controller/AdwebProductController.java
  67. 16 32
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/product/dto/ProductDTO.java
  68. 35 27
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/product/service/impl/AdwebProductServiceImpl.java
  69. 70 57
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/controller/SeoKeywordsController.java
  70. 11 12
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/controller/SeoKeywordsRankController.java
  71. 4 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/controller/SeoKeywordsSerpController.java
  72. 13 8
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/controller/SeoMonthPdfController.java
  73. 134 127
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/controller/SeoPlanSubscriptionController.java
  74. 2 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/dto/AvesApiSearchKeywordsDTO.java
  75. 10 27
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/dto/ComprehensiveStatistics.java
  76. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/entity/SeoKeywords.java
  77. 6 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/entity/SeoKeywordsSerp.java
  78. 9 4
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/ISeoKeywordsRankService.java
  79. 4 2
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/ISeoKeywordsSerpService.java
  80. 36 19
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/ISeoKeywordsService.java
  81. 2 3
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/ISeoPlanSubscriptionService.java
  82. 8 7
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/dataforseo/DataForSEOService.java
  83. 25 20
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/impl/SeoKeywordsRankServiceImpl.java
  84. 5 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/impl/SeoKeywordsSerpServiceImpl.java
  85. 105 59
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/impl/SeoKeywordsServiceImpl.java
  86. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/impl/SeoMonthPdfServiceImpl.java
  87. 63 36
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/impl/SeoPlanSubscriptionServiceImpl.java
  88. 7 7
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/vo/ServerTimeVO.java
  89. 13 11
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/server/controller/AdwebServerController.java
  90. 1 3
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/server/service/IAdwebServerService.java
  91. 3 3
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/server/service/impl/AdwebServerServiceImpl.java
  92. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/constant/WordPressConstants.java
  93. 63 53
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/controller/AdwebSiteController.java
  94. 63 41
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/controller/AdwebSiteManageController.java
  95. 18 22
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/controller/WPSiteController.java
  96. 13 35
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/dto/WordPressConfig.java
  97. 1 2
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/dto/param/SiteOrderPost.java
  98. 1 2
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/dto/param/SiteStepDTO.java
  99. 9 28
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/dto/result/SiteBasicInfo.java
  100. 2 4
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/service/IAdwebSiteService.java

BIN
conf/adweb_v3.sql.zip


+ 24 - 29
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/api/controller/OpenAPIController.java

@@ -1,11 +1,14 @@
 package org.jeecg.modules.adweb.api.controller;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
 import jakarta.annotation.Resource;
 import jakarta.servlet.http.HttpServletRequest;
+
 import lombok.extern.slf4j.Slf4j;
+
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.jeecg.common.api.vo.Result;
@@ -37,21 +40,15 @@ public class OpenAPIController {
     private static final String BEARER_TOKEN_HEADER = "AdWeb-Authorization";
     private static final String STATIC_BEARER_TOKEN = "Bearer uxl9Wpzh65vXNUyDvynJDjBo";
 
-    @Resource
-    private CommonMapper commonMapper;
+    @Resource private CommonMapper commonMapper;
 
-    @Resource
-    private IAdwebSiteService adwebSiteService;
+    @Resource private IAdwebSiteService adwebSiteService;
 
-    @Resource
-    private IAdwebProductService adwebProductService;
+    @Resource private IAdwebProductService adwebProductService;
 
-    @Resource
-    private IAdwebEnquiryService adwebEnquiryService;
+    @Resource private IAdwebEnquiryService adwebEnquiryService;
 
-    /**
-     * 外部api请求获取产品列表
-     */
+    /** 外部api请求获取产品列表 */
     @IgnoreAuth
     @PostMapping("/product/list")
     @ResponseBody
@@ -62,15 +59,15 @@ public class OpenAPIController {
 
         log.info("苏豪通请求产品列表 parameter: {}", apiRequest);
 
-        QueryWrapper<AdwebSite> adwebSiteQueryWrapper = new QueryWrapper<>();
-        adwebSiteQueryWrapper.like("domain", apiRequest.getDomain());
+        LambdaQueryWrapper<AdwebSite> adwebSiteQueryWrapper = new LambdaQueryWrapper<>();
+        adwebSiteQueryWrapper.like(AdwebSite::getDomain, apiRequest.getDomain());
         List<AdwebSite> adwebSites =
                 adwebSiteService.getBaseMapper().selectList(adwebSiteQueryWrapper);
 
         if (CollectionUtils.isNotEmpty(adwebSites)) {
-            QueryWrapper<AdwebProduct> adwebProductQueryWrapper = new QueryWrapper<>();
-            adwebProductQueryWrapper.eq("site_code", adwebSites.get(0).getCode());
-            adwebProductQueryWrapper.ne("action_type", "delete");
+            LambdaQueryWrapper<AdwebProduct> adwebProductQueryWrapper = new LambdaQueryWrapper<>();
+            adwebProductQueryWrapper.eq(AdwebProduct::getSiteCode, adwebSites.get(0).getCode());
+            adwebProductQueryWrapper.ne(AdwebProduct::getActionType, "delete");
             List<AdwebProduct> adwebProducts = adwebProductService.list(adwebProductQueryWrapper);
 
             return Result.ok(adwebProducts.stream().map(ProductInfoVO::fromAdwebProduct).toList());
@@ -79,9 +76,7 @@ public class OpenAPIController {
         }
     }
 
-    /**
-     * 外部api请求获取询盘列表
-     */
+    /** 外部api请求获取询盘列表 */
     @IgnoreAuth
     @PostMapping("/enquiry/list")
     @ResponseBody
@@ -92,8 +87,8 @@ public class OpenAPIController {
 
         log.info("苏豪通请求询盘列表 parameter: {}", apiRequest);
 
-        QueryWrapper<AdwebSite> adwebSiteQueryWrapper = new QueryWrapper<>();
-        adwebSiteQueryWrapper.like("domain", apiRequest.getDomain());
+        LambdaQueryWrapper<AdwebSite> adwebSiteQueryWrapper = new LambdaQueryWrapper<>();
+        adwebSiteQueryWrapper.like(AdwebSite::getDomain, apiRequest.getDomain());
         List<AdwebSite> adwebSites =
                 adwebSiteService.getBaseMapper().selectList(adwebSiteQueryWrapper);
 
@@ -101,9 +96,9 @@ public class OpenAPIController {
         if (CollectionUtils.isNotEmpty(adwebSites)) {
             Page<AdwebEnquiry> page = new Page<>(apiRequest.getPageNo(), apiRequest.getPageSize());
 
-            QueryWrapper<AdwebEnquiry> enquiryQueryWrapper = new QueryWrapper<>();
-            enquiryQueryWrapper.eq("site_code", adwebSites.get(0).getCode());
-            enquiryQueryWrapper.in("user_effective", "1", "2"); // 获取所有有效询盘
+            LambdaQueryWrapper<AdwebEnquiry> enquiryQueryWrapper = new LambdaQueryWrapper<>();
+            enquiryQueryWrapper.eq(AdwebEnquiry::getSiteCode, adwebSites.get(0).getCode());
+            enquiryQueryWrapper.in(AdwebEnquiry::getUserEffective, "1", "2"); // 获取所有有效询盘
             IPage<AdwebEnquiry> pageList = adwebEnquiryService.page(page, enquiryQueryWrapper);
 
             if (pageList != null && CollectionUtils.isNotEmpty(pageList.getRecords())) {
@@ -141,8 +136,8 @@ public class OpenAPIController {
 
         log.info("request from domain: {}", domain);
         // 获取站点
-        QueryWrapper<AdwebSite> adwebSiteQueryWrapper = new QueryWrapper<>();
-        adwebSiteQueryWrapper.like("domain", domain);
+        LambdaQueryWrapper<AdwebSite> adwebSiteQueryWrapper = new LambdaQueryWrapper<>();
+        adwebSiteQueryWrapper.like(AdwebSite::getDomain, domain);
         AdwebSite adwebsite = adwebSiteService.getOne(adwebSiteQueryWrapper);
         if (adwebsite == null) {
             return Result.error("该站点未绑定adweb3系统!");
@@ -180,8 +175,8 @@ public class OpenAPIController {
 
         log.info("EnquiryMaxDate request from domain: {}", domain);
         // 获取站点
-        QueryWrapper<AdwebSite> adwebSiteQueryWrapper = new QueryWrapper<>();
-        adwebSiteQueryWrapper.like("domain", domain);
+        LambdaQueryWrapper<AdwebSite> adwebSiteQueryWrapper = new LambdaQueryWrapper<>();
+        adwebSiteQueryWrapper.like(AdwebSite::getDomain, domain);
         AdwebSite adwebsite = adwebSiteService.getOne(adwebSiteQueryWrapper);
         if (adwebsite == null) {
             return Result.error("该站点未绑定adweb3系统!");

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

@@ -2,42 +2,38 @@ package org.jeecg.modules.adweb.common.constant;
 
 public interface AdwebConstant {
 
-
-    /*网站状态 当前状态:0:已删除;1:正常; 2:未发布*/
+    /** 网站状态 当前状态:0:已删除;1:正常; 2:未发布 */
     Integer SITE_DEL = 0;
 
-
-    /*产品状态0删除1可用*/
+    /** 产品状态0删除1可用 */
     Integer STATUS = 1;
 
-    /*组件编码*/
+    /** 组件编码 */
     String PRODUCT = "product";
 
-    /*内容*/
+    /** 内容 */
     String NEWS = "news";
 
-    /*平台标识*/
+    /** 平台标识 */
     String APPKEY = "adweb";
 
-    /*内容分类*/
+    /** 内容分类 */
     String NEWSCATALOG = "newsCatalog";
 
     String PRODUCTCTALOG = "productCatalog";
 
-    /**
-     * 缓存前缀
-     */
+    /** 缓存前缀 */
     String CACHE_PREFIX = "AdWeb3::";
 
-    //询盘阶段,字典条目
+    // 询盘阶段,字典条目
     String ENQUIRY_PHASE = "enquiry_phase";
-    //询盘跟进状态,字典条目
+    // 询盘跟进状态,字典条目
     String ENQUIRY_TRACK_STATUS = "enquiry_track_status";
-    //询盘用户有效性,字典条目
+    // 询盘用户有效性,字典条目
     String ENQUIRY_EFFECTIVE = "enquiry_effective";
-    //询盘回复状态,字典条目
+    // 询盘回复状态,字典条目
     String ENQUIRY_REPLAY_STATUS = "enquiry_replay_status";
-    //ADMP dictService
+    // ADMP dictService
     String CUSTOMER_ORDER_CURRENCY = "customer_order_currency";
 
     String ENQUIRY_PARAM_NAME = "enquiry_param_name";
@@ -47,10 +43,9 @@ public interface AdwebConstant {
     String ENQUIRY_PARAM_COMPANY = "enquiry_param_company";
     String ENQUIRY_PARAM_FROM_PAGE = "enquiry_param_from_page";
 
-    /**
-     * 页面code
-     */
+    /** 页面code */
     String HOME_PAGE_CODE = "home";
+
     String ABOUT_US_PAGE_CODE = "aboutUs";
     String PRODUCTS_PAGE_CODE = "products";
     String PRODUCT_DETAIL_PAGE_CODE = "productDetail";
@@ -59,13 +54,10 @@ public interface AdwebConstant {
     String CONTACT_US_PAGE_CODE = "contactUs";
     String FAQ_PAGE_CODE = "faq";
 
-    /**
-     * 模板标签
-     */
+    /** 模板标签 */
     String TEMPLATE_TAGS = "template_tags";
 
     /*SEO关键字类型 1 - 指定词 2 - 长尾词 */
     int KEYWORD_TYPE_APPOINT = 1;
     int KEYWORD_TYPE_LONG_TAIL = 2;
-
 }

+ 33 - 50
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/common/constant/ShellConstans.java

@@ -9,74 +9,57 @@ package org.jeecg.modules.adweb.common.constant;
  */
 public class ShellConstans {
 
-    /**
-     * 站点备份shell脚本常量
-     */
+    /** 站点备份shell脚本常量 */
     public interface BackupSite {
 
-        public final static String ERROR = "[ERROR]";
+        public static final String ERROR = "[ERROR]";
 
-        public final static String BACKUPCOMPLETE = "[BACKUPCOMPLETE]";
+        public static final String BACKUPCOMPLETE = "[BACKUPCOMPLETE]";
 
-        public final static String BACKUP_PATH = "[BACKUP_PATH]";
+        public static final String BACKUP_PATH = "[BACKUP_PATH]";
 
-        public final static String BACKUP_SIZE = "[BACKUP_SIZE]";
-
-        public final static String BACKUP_RESULT = "[BACKUP_RESULT]";
+        public static final String BACKUP_SIZE = "[BACKUP_SIZE]";
 
+        public static final String BACKUP_RESULT = "[BACKUP_RESULT]";
     }
 
-    /**
-     * 站点内存空间监控
-     */
+    /** 站点内存空间监控 */
     public interface SiteSize {
 
-        public final static String WEBSITE_DISK = "**website_disk**";
-
+        public static final String WEBSITE_DISK = "**website_disk**";
     }
 
-    /**
-     * 服务内存空间监控
-     */
+    /** 服务内存空间监控 */
     public interface ServerSize {
 
-        public final static String SERVER_DISK = "**server_disk**";
-
-        public final static String SERVER_MEM = "**server_mem**";
+        public static final String SERVER_DISK = "**server_disk**";
 
-        public final static String SERVER_CPU = "**server_cpu**";
+        public static final String SERVER_MEM = "**server_mem**";
 
+        public static final String SERVER_CPU = "**server_cpu**";
     }
 
-    /**
-     * 磁盘常量
-     */
-    public final static Integer DISK_NUM = 70;
-    /**
-     * CPU常量
-     */
-    public final static Integer CPU_NUM = 80;
-    /**
-     * 内存常量
-     */
-    public final static Integer MEMORY_NUM = 80;
-
-    public final static String SUCCESS_INFO = "[UPDATECOMPLETE]";
-
-    /**
-     * 自动添加SSL
-     */
-    public interface addSsl {
-        public final static String START_CERT = "[start cert.pem]";
-        public final static String END_CERT = "[end cert.pem]";
-        public final static String START_PRIVKEY = "[start privkey.pem]";
-        public final static String END_PRIVKEY = "[end privkey.pem]";
-        public final static String START_CHAIN = "[start chain.pem]";
-        public final static String END_CHAIN = "[end chain.pem]";
-        public final static String IS_ERROR_INFO = "[EXIST]";
-        public final static String NULL_ERROR_INFO = "[NONEXIST]";
-        public final static String DATE_TIME = "[LASTMTIME]";
-    }
+    /** 磁盘常量 */
+    public static final Integer DISK_NUM = 70;
 
+    /** CPU常量 */
+    public static final Integer CPU_NUM = 80;
 
+    /** 内存常量 */
+    public static final Integer MEMORY_NUM = 80;
+
+    public static final String SUCCESS_INFO = "[UPDATECOMPLETE]";
+
+    /** 自动添加SSL */
+    public interface addSsl {
+        public static final String START_CERT = "[start cert.pem]";
+        public static final String END_CERT = "[end cert.pem]";
+        public static final String START_PRIVKEY = "[start privkey.pem]";
+        public static final String END_PRIVKEY = "[end privkey.pem]";
+        public static final String START_CHAIN = "[start chain.pem]";
+        public static final String END_CHAIN = "[end chain.pem]";
+        public static final String IS_ERROR_INFO = "[EXIST]";
+        public static final String NULL_ERROR_INFO = "[NONEXIST]";
+        public static final String DATE_TIME = "[LASTMTIME]";
+    }
 }

+ 1 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/common/jedis/Message.java

@@ -15,5 +15,4 @@ public class Message implements Serializable {
         this.id = id;
         this.content = content;
     }
-
-}
+}

+ 11 - 12
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/common/service/DomainService.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.adweb.common.service;
 
 import lombok.extern.slf4j.Slf4j;
+
 import org.springframework.stereotype.Service;
 import org.xbill.DNS.CNAMERecord;
 import org.xbill.DNS.Lookup;
@@ -10,7 +11,6 @@ import org.xbill.DNS.Type;
 import java.net.InetAddress;
 import java.util.List;
 
-
 /**
  * @Author: 汤星鹏
  * @Description: 域名检测service
@@ -23,11 +23,10 @@ public class DomainService {
     /**
      * 核实域名是否指向规定cname
      *
-     * @param cname  网站cname
+     * @param cname 网站cname
      * @param domain 站点域名
      * @return
-     * @author Cyan -- 2019/12/6 11:47
-     * @Update chenpeiqing -- 2025/1/3 17:53
+     * @author Cyan -- 2019/12/6 11:47 @Update chenpeiqing -- 2025/1/3 17:53
      */
     public Boolean checkDomainIsCname(String cname, String domain) {
         boolean flag = false;
@@ -35,11 +34,11 @@ public class DomainService {
             Record[] records = null;
             Lookup lookup = new Lookup(domain, Type.CNAME);
             lookup.run();
-            //连通并获取结果集
+            // 连通并获取结果集
             if (lookup.getResult() == Lookup.SUCCESSFUL) {
                 records = lookup.getAnswers();
             } else {
-                //未查到结果
+                // 未查到结果
                 log.info("未查询到结果!");
                 return false;
             }
@@ -62,9 +61,9 @@ public class DomainService {
     /**
      * 核实域名是否指向规定cname
      *
-     * @param ip     网站ip
+     * @param ip 网站ip
      * @param domain 站点域名
-     * @return true:域名指向了ip   false:域名没有指向ip
+     * @return true:域名指向了ip false:域名没有指向ip
      * @author Cyan -- 2019/12/6 11:47
      */
     public Boolean checkDomainIsIp(String domain, String ip) {
@@ -89,7 +88,7 @@ public class DomainService {
     /**
      * 核实域名是否指向规定cname或ip
      *
-     * @param cname  网站cname
+     * @param cname 网站cname
      * @param domain 站点域名
      * @param ip
      * @return
@@ -99,7 +98,7 @@ public class DomainService {
         Boolean flag = false;
         boolean toCname = checkDomainIsCname(cname, domain);
         boolean toIP = checkDomainIsIp(domain, ip);
-        //cname或ip  二者有其一指向正确
+        // cname或ip  二者有其一指向正确
         if (toCname || toIP) {
             flag = true;
         }
@@ -109,9 +108,9 @@ public class DomainService {
     /**
      * 检验域名以什么开头
      *
-     * @param domain   域名
+     * @param domain 域名
      * @param headStrs 头字符串集合
-     * @return true:是以存在集合中的元素开头   false:不是以存在集合中的元素开头
+     * @return true:是以存在集合中的元素开头 false:不是以存在集合中的元素开头
      * @author Cyan -- 2019/12/12 9:36
      */
     public Boolean checkDomainBegin(String domain, List<String> headStrs) {

+ 7 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/common/service/FeishuService.java

@@ -1,11 +1,15 @@
 package org.jeecg.modules.adweb.common.service;
 
 import cn.hutool.http.HttpRequest;
+
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.xkcoding.http.util.StringUtil;
+
 import jakarta.annotation.Resource;
+
 import lombok.extern.slf4j.Slf4j;
+
 import org.apache.commons.codec.binary.Base64;
 import org.apache.commons.lang3.StringUtils;
 import org.jeecg.modules.adweb.common.constant.RobotMsgTemplate;
@@ -16,14 +20,15 @@ import org.jeecg.modules.system.service.ISysDictService;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
-import javax.crypto.Mac;
-import javax.crypto.spec.SecretKeySpec;
 import java.nio.charset.StandardCharsets;
 import java.security.InvalidKeyException;
 import java.security.NoSuchAlgorithmException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
+import javax.crypto.Mac;
+import javax.crypto.spec.SecretKeySpec;
+
 /**
  * @Description:
  * @Author: wrk

+ 27 - 27
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/common/service/ShellService.java

@@ -1,6 +1,5 @@
 package org.jeecg.modules.adweb.common.service;
 
-
 import org.jeecg.modules.adweb.common.util.ShellSSH2Util;
 import org.jeecg.modules.adweb.server.entity.AdwebServer;
 import org.slf4j.Logger;
@@ -16,48 +15,47 @@ import java.io.File;
  */
 @Service
 public class ShellService {
-    /**
-     * 日志
-     */
+    /** 日志 */
     private static Logger logger = LoggerFactory.getLogger(ShellService.class);
 
     /**
-     * 创建共享站点  命令
+     * 创建共享站点 命令
      *
-     * @param cmd            控制台返回监听器
-     * @param host           建站连接测试环境配置 域名
-     * @param port           端口
+     * @param cmd 控制台返回监听器
+     * @param host 建站连接测试环境配置 域名
+     * @param port 端口
      * @param username
      * @param password
      * @param stdoutListener
      */
-    public void createShareSiteByPwd(String cmd
-            , String host
-            , int port
-            , String username
-            , String password
-            , ShellSSH2Util.StdoutListener stdoutListener) {
+    public void createShareSiteByPwd(
+            String cmd,
+            String host,
+            int port,
+            String username,
+            String password,
+            ShellSSH2Util.StdoutListener stdoutListener) {
         exceShellByPwd(cmd, host, port, username, password, stdoutListener);
     }
 
-
     /**
      * 执行远程Shell脚本 (通过用户名和密码)
      *
-     * @param cmd            命令
-     * @param host           建站连接测试环境配置 域名
-     * @param port           端口
+     * @param cmd 命令
+     * @param host 建站连接测试环境配置 域名
+     * @param port 端口
      * @param username
      * @param password
      * @param stdoutListener
      * @param stdoutListener 控制台输出监听器
      */
-    public void exceShellByPwd(String cmd
-            , String host
-            , int port
-            , String username
-            , String password
-            , ShellSSH2Util.StdoutListener stdoutListener) {
+    public void exceShellByPwd(
+            String cmd,
+            String host,
+            int port,
+            String username,
+            String password,
+            ShellSSH2Util.StdoutListener stdoutListener) {
         long currentTimeMillis = System.currentTimeMillis();
         ShellSSH2Util.execmdByPwd(host, port, username, password, cmd, stdoutListener);
         long currentTimeMillis1 = System.currentTimeMillis();
@@ -67,13 +65,15 @@ public class ShellService {
     /**
      * 执行远程Shell脚本
      *
-     * @param cmd            命令
+     * @param cmd 命令
      * @param stdoutListener 控制台输出监听器
      */
-    public void exceShell(String cmd, ShellSSH2Util.StdoutListener stdoutListener, AdwebServer serverInfo) {
+    public void exceShell(
+            String cmd, ShellSSH2Util.StdoutListener stdoutListener, AdwebServer serverInfo) {
         long currentTimeMillis = System.currentTimeMillis();
         File pemFile = new File(serverInfo.getServerPem());
-        ShellSSH2Util.execmd(serverInfo.getServerIp(), serverInfo.getUserName(), pemFile, cmd, stdoutListener);
+        ShellSSH2Util.execmd(
+                serverInfo.getServerIp(), serverInfo.getUserName(), pemFile, cmd, stdoutListener);
         long currentTimeMillis1 = System.currentTimeMillis();
         System.out.println("花费时间:" + (currentTimeMillis1 - currentTimeMillis));
     }

+ 2 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/common/service/WebSocketService.java

@@ -1,7 +1,9 @@
 package org.jeecg.modules.adweb.common.service;
 
 import com.alibaba.fastjson.JSONObject;
+
 import jakarta.annotation.Resource;
+
 import org.jeecg.common.constant.WebsocketConst;
 import org.jeecg.modules.message.websocket.WebSocket;
 import org.springframework.stereotype.Service;

+ 0 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/common/util/AdaptiveWidthUtils.java

@@ -2,7 +2,6 @@ package org.jeecg.modules.adweb.common.util;
 
 import org.apache.poi.ss.usermodel.Sheet;
 
-
 public class AdaptiveWidthUtils {
     /**
      * 自适应宽度(中文支持)

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

@@ -6,8 +6,11 @@ import com.fasterxml.jackson.databind.MapperFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.json.JsonMapper;
 import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator;
+
 import jakarta.annotation.PostConstruct;
+
 import lombok.extern.slf4j.Slf4j;
+
 import org.jeecg.common.base.BaseMap;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.connection.RedisConnectionFactory;

+ 2 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/common/util/AwsTranslateUtils.java

@@ -6,7 +6,9 @@ import com.amazonaws.services.translate.AmazonTranslate;
 import com.amazonaws.services.translate.AmazonTranslateClient;
 import com.amazonaws.services.translate.model.TranslateTextRequest;
 import com.amazonaws.services.translate.model.TranslateTextResult;
+
 import lombok.extern.slf4j.Slf4j;
+
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 

+ 7 - 7
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/common/util/JedisUtil.java

@@ -26,7 +26,7 @@ public class JedisUtil {
     /**
      * 存储REDIS队列 顺序存储
      *
-     * @param key   reids键名
+     * @param key reids键名
      * @param value 键值
      */
     public static void lpush(byte[] key, byte[] value) {
@@ -38,7 +38,7 @@ public class JedisUtil {
         } catch (Exception e) {
             e.printStackTrace();
         } finally {
-            //返还到连接池
+            // 返还到连接池
             if (jedis != null) {
                 jedis.close();
             }
@@ -48,7 +48,7 @@ public class JedisUtil {
     /**
      * 存储REDIS队列 反向存储
      *
-     * @param key   reids键名
+     * @param key reids键名
      * @param value 键值
      */
     public static void rpush(byte[] key, byte[] value) {
@@ -60,7 +60,7 @@ public class JedisUtil {
         } catch (Exception e) {
             e.printStackTrace();
         } finally {
-            //返还到连接池
+            // 返还到连接池
             if (jedis != null) {
                 jedis.close();
             }
@@ -83,7 +83,7 @@ public class JedisUtil {
         } catch (Exception e) {
             e.printStackTrace();
         } finally {
-            //返还到连接池
+            // 返还到连接池
             if (jedis != null) {
                 jedis.close();
             }
@@ -105,7 +105,7 @@ public class JedisUtil {
         } catch (Exception e) {
             e.printStackTrace();
         } finally {
-            //返还到连接池
+            // 返还到连接池
             if (jedis != null) {
                 jedis.close();
             }
@@ -126,7 +126,7 @@ public class JedisUtil {
         } catch (Exception e) {
             e.printStackTrace();
         } finally {
-            //返还到连接池
+            // 返还到连接池
             if (jedis != null) {
                 jedis.close();
             }

+ 112 - 88
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/common/util/ShellSSH2Util.java

@@ -22,32 +22,28 @@ import java.util.concurrent.Executors;
 @Slf4j
 public class ShellSSH2Util {
 
-    /**
-     * 日志
-     */
+    /** 日志 */
     protected static Logger logger = LoggerFactory.getLogger(ShellSSH2Util.class);
 
-
-    /**
-     * 默认字符编码
-     */
+    /** 默认字符编码 */
     private static String DEFAULT_CHART = "UTF-8";
 
     /**
      * 登录远程服务器
      *
-     * @param host     远程主机
+     * @param host 远程主机
      * @param username 远程主机登录用户名
      * @param password 远程主机登录密码
      * @return Connection
      */
-    public static Connection login(String host, int port, String username, String password, StdoutListener listener) {
+    public static Connection login(
+            String host, int port, String username, String password, StdoutListener listener) {
         Connection connection = null;
         listener.stdout("开始连接:" + username + "@" + host);
         try {
             connection = new Connection(host, port);
-            connection.connect();// 连接
-            boolean login = connection.authenticateWithPassword(username, password);// 认证
+            connection.connect(); // 连接
+            boolean login = connection.authenticateWithPassword(username, password); // 认证
             if (login) {
                 listener.stdout(username + "@" + host + "; 登录成功");
             } else {
@@ -65,19 +61,20 @@ public class ShellSSH2Util {
     /**
      * 登录远程服务器
      *
-     * @param host     远程主机
+     * @param host 远程主机
      * @param username 远程主机登录用户名
-     * @param pemFile  登录密钥
+     * @param pemFile 登录密钥
      * @param listener 执行过程监听器
      * @return Connection
      */
-    public static Connection login(String host, int port, String username, File pemFile, StdoutListener listener) {
+    public static Connection login(
+            String host, int port, String username, File pemFile, StdoutListener listener) {
         Connection connection = null;
         listener.stdout("开始连接:" + username + "@" + host);
         try {
             connection = new Connection(host, port);
-            connection.connect();// 连接
-            boolean login = connection.authenticateWithPublicKey(username, pemFile, null);// 认证
+            connection.connect(); // 连接
+            boolean login = connection.authenticateWithPublicKey(username, pemFile, null); // 认证
             if (login) {
                 listener.stdout(username + "@" + host + "; 登录成功");
             } else {
@@ -95,21 +92,22 @@ public class ShellSSH2Util {
     /**
      * 检验是否能够连接服务器
      *
-     * @param host     远程主机
-     * @param port     端口
+     * @param host 远程主机
+     * @param port 端口
      * @param username 远程主机登录用户名
      * @param password 远程主机登录密码
-     * @return true:可以连接  false:无法连接
+     * @return true:可以连接 false:无法连接
      * @author Cyan -- 2020/4/26 10:56
      */
-    public static Boolean loginCheck(String host, int port, String username, String password, StdoutListener listener) {
+    public static Boolean loginCheck(
+            String host, int port, String username, String password, StdoutListener listener) {
         Boolean result = true;
         Connection connection = null;
         listener.stdout("开始连接:" + username + "@" + host);
         try {
             connection = new Connection(host, port);
-            connection.connect();// 连接
-            boolean login = connection.authenticateWithPassword(username, password);// 认证
+            connection.connect(); // 连接
+            boolean login = connection.authenticateWithPassword(username, password); // 认证
             if (login) {
                 listener.stdout(username + "@" + host + "; 登录成功");
             } else {
@@ -132,20 +130,21 @@ public class ShellSSH2Util {
     /**
      * 登录远程服务器
      *
-     * @param host     远程主机
+     * @param host 远程主机
      * @param username 远程主机登录用户名
-     * @param pemFile  登录密钥
+     * @param pemFile 登录密钥
      * @param listener 执行过程监听器
      * @return Connection
      */
-    private static Connection login(String host, String username, File pemFile, StdoutListener listener) {
+    private static Connection login(
+            String host, String username, File pemFile, StdoutListener listener) {
         Connection connection = null;
         listener.stdout("开始连接:" + username + "@" + host);
         try {
             connection = new Connection(host);
-//            connection.setClient2ServerCiphers(new String[]{"aes256-cbc"});
-            connection.connect();// 连接
-            boolean login = connection.authenticateWithPublicKey(username, pemFile, null);// 认证
+            //            connection.setClient2ServerCiphers(new String[]{"aes256-cbc"});
+            connection.connect(); // 连接
+            boolean login = connection.authenticateWithPublicKey(username, pemFile, null); // 认证
             if (login) {
                 listener.stdout(username + "@" + host + "; 登录成功");
             } else {
@@ -162,20 +161,21 @@ public class ShellSSH2Util {
     /**
      * 登录远程服务器
      *
-     * @param host     远程主机
+     * @param host 远程主机
      * @param username 远程主机登录用户名
-     * @param pemFile  登录密钥
+     * @param pemFile 登录密钥
      * @param listener 执行过程监听器
      * @return Connection
      */
-    public static Boolean loginCheck(String host, String username, File pemFile, StdoutListener listener) {
+    public static Boolean loginCheck(
+            String host, String username, File pemFile, StdoutListener listener) {
         Boolean result = true;
         Connection connection = null;
         listener.stdout("开始连接:" + username + "@" + host);
         try {
             connection = new Connection(host);
-            connection.connect();// 连接
-            boolean login = connection.authenticateWithPublicKey(username, pemFile, null);// 认证
+            connection.connect(); // 连接
+            boolean login = connection.authenticateWithPublicKey(username, pemFile, null); // 认证
             if (login) {
                 listener.stdout(username + "@" + host + "; 登录成功");
             } else {
@@ -195,18 +195,18 @@ public class ShellSSH2Util {
         return result;
     }
 
-
     /**
      * 执行远程Shell命令
      *
-     * @param host        远程主机地址
-     * @param username    远程主机用户名
+     * @param host 远程主机地址
+     * @param username 远程主机用户名
      * @param pemFilePath 远程主机登录密钥路径
-     * @param cmd         执行的命令
-     * @param listener    标准输出监听器
-     * @return String               执行结果
+     * @param cmd 执行的命令
+     * @param listener 标准输出监听器
+     * @return String 执行结果
      */
-    public static String execmd(String host, String username, String pemFilePath, String cmd, StdoutListener listener) {
+    public static String execmd(
+            String host, String username, String pemFilePath, String cmd, StdoutListener listener) {
         File pemFile = new File(pemFilePath);
         Connection connection = login(host, username, pemFile, listener);
         return execmd(connection, cmd, listener);
@@ -215,30 +215,36 @@ public class ShellSSH2Util {
     /**
      * 执行远程Shell命令
      *
-     * @param host     远程主机地址
+     * @param host 远程主机地址
      * @param username 远程主机用户名
      * @param password 远程主机密码
-     * @param cmd      执行的命令
+     * @param cmd 执行的命令
      * @param listener 标准输出监听器
-     * @return String               执行结果
+     * @return String 执行结果
      */
-    public static String execmdByPwd(String host, int port, String username, String password, String cmd, StdoutListener listener) {
+    public static String execmdByPwd(
+            String host,
+            int port,
+            String username,
+            String password,
+            String cmd,
+            StdoutListener listener) {
         Connection connection = login(host, port, username, password, listener);
         return execmd(connection, cmd, listener);
     }
 
-
     /**
      * 执行远程Shell命令
      *
-     * @param host     远程主机地址
+     * @param host 远程主机地址
      * @param username 远程主机用户名
-     * @param pemFile  远程主机登录密钥
-     * @param cmd      执行的命令
+     * @param pemFile 远程主机登录密钥
+     * @param cmd 执行的命令
      * @param listener 标准输出监听器
-     * @return String               执行结果
+     * @return String 执行结果
      */
-    public static String execmd(String host, String username, File pemFile, String cmd, StdoutListener listener) {
+    public static String execmd(
+            String host, String username, File pemFile, String cmd, StdoutListener listener) {
         Connection connection = login(host, username, pemFile, listener);
         return execmd(connection, cmd, listener);
     }
@@ -252,7 +258,13 @@ public class ShellSSH2Util {
      * @param listener
      * @return
      */
-    public static String execmd(String host, int port, String username, File pemFile, String cmd, StdoutListener listener) {
+    public static String execmd(
+            String host,
+            int port,
+            String username,
+            File pemFile,
+            String cmd,
+            StdoutListener listener) {
         Connection connection = login(host, port, username, pemFile, listener);
         return execmd(connection, cmd, listener);
     }
@@ -268,32 +280,42 @@ public class ShellSSH2Util {
         Session session = null;
         try {
             if (connection != null) {
-                session = connection.openSession();// 打开一个会话
-                session.execCommand(cmd);// 执行命令
+                session = connection.openSession(); // 打开一个会话
+                session.execCommand(cmd); // 执行命令
 
                 // 使用线程池来管理输出读取线程
                 ExecutorService executorService = Executors.newFixedThreadPool(2);
 
                 // 读取标准输出
                 Session finalSession = session;
-                executorService.submit(() -> {
-                    String stdoutResult = processStdout(finalSession.getStdout(), DEFAULT_CHART, listener);
-                    listener.stdout("命令标准输出结果:\n");
-                    listener.stdout(stdoutResult);
-                    if (StringUtils.isBlank(stdoutResult)) {
-                        listener.stderr("得到标准输出为空, 链接conn:" + connection + ",执行的命令:" + cmd);
-
-                        listener.stderr("得到标准输出为空, 链接conn:" + connection + ",执行的命令:" + cmd + "; 错误信息:" + stdoutResult);
-                    } else {
-                        listener.stdout("执行命令成功, 链接conn:" + connection + ",执行的命令:" + cmd);
-                    }
-                });
+                executorService.submit(
+                        () -> {
+                            String stdoutResult =
+                                    processStdout(
+                                            finalSession.getStdout(), DEFAULT_CHART, listener);
+                            listener.stdout("命令标准输出结果:\n");
+                            listener.stdout(stdoutResult);
+                            if (StringUtils.isBlank(stdoutResult)) {
+                                listener.stderr("得到标准输出为空, 链接conn:" + connection + ",执行的命令:" + cmd);
+
+                                listener.stderr(
+                                        "得到标准输出为空, 链接conn:"
+                                                + connection
+                                                + ",执行的命令:"
+                                                + cmd
+                                                + "; 错误信息:"
+                                                + stdoutResult);
+                            } else {
+                                listener.stdout("执行命令成功, 链接conn:" + connection + ",执行的命令:" + cmd);
+                            }
+                        });
 
                 // 读取标准错误
                 Session finalSession1 = session;
-                executorService.submit(() -> {
-                    processStdout(finalSession1.getStderr(), DEFAULT_CHART, listener);
-                });
+                executorService.submit(
+                        () -> {
+                            processStdout(finalSession1.getStderr(), DEFAULT_CHART, listener);
+                        });
 
                 // 等待所有输出读取线程完成
                 executorService.shutdown();
@@ -320,13 +342,12 @@ public class ShellSSH2Util {
             }
         }
         return result;
-
     }
 
     /**
      * 解析脚本执行返回的结果集
      *
-     * @param in      输入流对象
+     * @param in 输入流对象
      * @param charset 编码
      * @return 以纯文本的格式返回
      */
@@ -362,22 +383,28 @@ public class ShellSSH2Util {
         String username = "ubuntu";
         File pemFile = new File("/Users/liyl/Desktop/jumpserver.pem");
         String cmd = "./sb abc T000 test37.advichcloud.com";
-        cmd = "mysql -h advich-wp-product-db.cqhn3c5h2mcz.us-west-2.rds.amazonaws.com -u admin -p Ew7MEm1EmJpDVvdK";
-//        cmd = "uname -a";
-        execmd(host, username, pemFile, cmd, new StdoutListener() {
-            @Override
-            public void stdout(String line) {
-                System.out.println("标准:" + line);
-                if ("ERROR:FILE_NAME IS EXISTS".equals(line)) {
-                    // TODO 已存在,退出
-                }
-            }
+        cmd =
+                "mysql -h advich-wp-product-db.cqhn3c5h2mcz.us-west-2.rds.amazonaws.com -u admin -p Ew7MEm1EmJpDVvdK";
+        //        cmd = "uname -a";
+        execmd(
+                host,
+                username,
+                pemFile,
+                cmd,
+                new StdoutListener() {
+                    @Override
+                    public void stdout(String line) {
+                        System.out.println("标准:" + line);
+                        if ("ERROR:FILE_NAME IS EXISTS".equals(line)) {
+                            // TODO 已存在,退出
+                        }
+                    }
 
-            @Override
-            public void stderr(String line) {
-                System.out.println("错误:" + line);
-            }
-        });
+                    @Override
+                    public void stderr(String line) {
+                        System.out.println("错误:" + line);
+                    }
+                });
         long currentTimeMillis1 = System.currentTimeMillis();
         System.out.println("花费时间:" + (currentTimeMillis1 - currentTimeMillis));
     }
@@ -403,8 +430,5 @@ public class ShellSSH2Util {
          * @param line 每行输出内容
          */
         void stderr(String line);
-
     }
-
-
 }

+ 23 - 49
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/common/util/SnowflakeIdUtil.java

@@ -1,74 +1,47 @@
 package org.jeecg.modules.adweb.common.util;
 
-
 import org.springframework.stereotype.Component;
 
 import java.util.Random;
 
-/**
- * 自动生成雪花唯一id
- */
+/** 自动生成雪花唯一id */
 @Component
 public class SnowflakeIdUtil {
 
-    /**
-     * 开始时间截 (2015-01-01)
-     */
+    /** 开始时间截 (2015-01-01) */
     private final long twepoch = 1420041600000L;
 
-    /**
-     * 机器id所占的位数
-     */
+    /** 机器id所占的位数 */
     private final long workerIdBits = 5L;
 
-    /**
-     * 数据标识id所占的位数
-     */
+    /** 数据标识id所占的位数 */
     private final long datacenterIdBits = 5L;
 
-    /**
-     * 支持的最大机器id,结果是31 (这个移位算法可以很快的计算出几位二进制数所能表示的最大十进制数)
-     */
+    /** 支持的最大机器id,结果是31 (这个移位算法可以很快的计算出几位二进制数所能表示的最大十进制数) */
     private final long maxWorkerId = -1L ^ (-1L << workerIdBits);
 
-    /**
-     * 支持的最大数据标识id,结果是31
-     */
+    /** 支持的最大数据标识id,结果是31 */
     private final long maxDatacenterId = -1L ^ (-1L << datacenterIdBits);
 
-    /**
-     * 序列在id中占的位数
-     */
+    /** 序列在id中占的位数 */
     private final long sequenceBits = 12L;
 
-    /**
-     * 机器ID向左移12位
-     */
+    /** 机器ID向左移12位 */
     private final long workerIdShift = sequenceBits;
 
-    /**
-     * 数据标识id向左移17位(12+5)
-     */
+    /** 数据标识id向左移17位(12+5) */
     private final long datacenterIdShift = sequenceBits + workerIdBits;
 
-    /**
-     * 时间截向左移22位(5+5+12)
-     */
+    /** 时间截向左移22位(5+5+12) */
     private final long timestampLeftShift = sequenceBits + workerIdBits + datacenterIdBits;
 
-    /**
-     * 生成序列的掩码,这里为4095 (0b111111111111=0xfff=4095)
-     */
+    /** 生成序列的掩码,这里为4095 (0b111111111111=0xfff=4095) */
     private final long sequenceMask = -1L ^ (-1L << sequenceBits);
 
-    /**
-     * 毫秒内序列(0~4095)
-     */
+    /** 毫秒内序列(0~4095) */
     private long sequence = 0L;
 
-    /**
-     * 上次生成ID的时间截
-     */
+    /** 上次生成ID的时间截 */
     private long lastTimestamp = -1L;
 
     /**
@@ -79,34 +52,36 @@ public class SnowflakeIdUtil {
     public synchronized long nextId() {
         long timestamp = timeGen();
 
-        //如果当前时间小于上一次ID生成的时间戳,说明系统时钟回退过这个时候应当抛出异常
+        // 如果当前时间小于上一次ID生成的时间戳,说明系统时钟回退过这个时候应当抛出异常
         if (timestamp < lastTimestamp) {
             throw new RuntimeException(
-                    String.format("Clock moved backwards.  Refusing to generate id for %d milliseconds", lastTimestamp - timestamp));
+                    String.format(
+                            "Clock moved backwards.  Refusing to generate id for %d milliseconds",
+                            lastTimestamp - timestamp));
         }
 
-        //如果是同一时间生成的,则进行毫秒内序列
+        // 如果是同一时间生成的,则进行毫秒内序列
         if (lastTimestamp == timestamp) {
             sequence = (sequence + 1) & sequenceMask;
-            //毫秒内序列溢出
+            // 毫秒内序列溢出
             if (sequence == 0) {
-                //阻塞到下一个毫秒,获得新的时间戳
+                // 阻塞到下一个毫秒,获得新的时间戳
                 timestamp = tilNextMillis(lastTimestamp);
             }
         }
-        //时间戳改变,毫秒内序列重置
+        // 时间戳改变,毫秒内序列重置
         else {
             sequence = 0L;
         }
 
-        //上次生成ID的时间截
+        // 上次生成ID的时间截
         lastTimestamp = timestamp;
 
         Random random = new Random();
         long workerId = random.nextInt(30);
         long datacenterId = random.nextInt(30);
 
-        //移位并通过或运算拼到一起组成64位的ID
+        // 移位并通过或运算拼到一起组成64位的ID
         return ((timestamp - twepoch) << timestampLeftShift) //
                 | (datacenterId << datacenterIdShift) //
                 | (workerId << workerIdShift) //
@@ -135,5 +110,4 @@ public class SnowflakeIdUtil {
     protected long timeGen() {
         return System.currentTimeMillis();
     }
-
 }

+ 12 - 18
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/dmp/controller/GTMController.java

@@ -1,8 +1,11 @@
 package org.jeecg.modules.adweb.dmp.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+
 import io.swagger.v3.oas.annotations.tags.Tag;
+
 import lombok.extern.slf4j.Slf4j;
+
 import org.apache.commons.lang3.tuple.Pair;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CommonConstant;
@@ -31,16 +34,11 @@ import java.util.Objects;
 @RequestMapping("/gtm")
 @Slf4j
 public class GTMController {
-    @Autowired
-    private IAdwebSiteService adwebSiteService;
-    @Autowired
-    private IGoogleGTMService googleGTMService;
-    @Autowired
-    private GTMAdminService gtmAdminService;
-
-    /**
-     * 获取站点绑定的GTM snippets
-     */
+    @Autowired private IAdwebSiteService adwebSiteService;
+    @Autowired private IGoogleGTMService googleGTMService;
+    @Autowired private GTMAdminService gtmAdminService;
+
+    /** 获取站点绑定的GTM snippets */
     @RequestMapping(value = "/get", method = RequestMethod.GET)
     @ResponseBody
     public Result<AdwebSite> getGTMSnippets(String siteCode) {
@@ -52,7 +50,7 @@ public class GTMController {
             return Result.error(CommonConstant.SC_INTERNAL_NOT_FOUND_404, "GoogleGTM不存在");
         }
 
-        Pair<String, String> snippets = gtmAdminService.getSnippets(googleGTM.getGtmTagId());
+        Pair<String, String> snippets = gtmAdminService.getSnippets(googleGTM.getGtmPublicId());
 
         AdwebSite adwebSite = new AdwebSite();
         adwebSite.setGtmHead(snippets.getLeft());
@@ -61,9 +59,7 @@ public class GTMController {
         return Result.ok(adwebSite);
     }
 
-    /**
-     * 为站点添加GTM snippets
-     */
+    /** 为站点添加GTM snippets */
     @RequestMapping(value = "/add", method = RequestMethod.POST)
     @ResponseBody
     public Result<AdwebSite> addGTMSnippets(String siteCode, String gaAccountId) {
@@ -77,16 +73,14 @@ public class GTMController {
                         adwebSite.getName(),
                         gaAccountId);
 
-        Pair<String, String> snippets = gtmAdminService.getSnippets(googleGTM.getGtmTagId());
+        Pair<String, String> snippets = gtmAdminService.getSnippets(googleGTM.getGtmPublicId());
         adwebSite.setGtmHead(snippets.getLeft());
         adwebSite.setGtmBody(snippets.getRight());
 
         return Result.ok(adwebSite);
     }
 
-    /**
-     * 获取所有可用的GA帐号
-     */
+    /** 获取所有可用的GA帐号 */
     @RequestMapping(value = "/listGAAccounts", method = RequestMethod.GET)
     @ResponseBody
     public Result<List<GAAccountDTO>> listGAAccounts() {

+ 3 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/dmp/dto/google/gtm/CreateContainerRequestDTO.java

@@ -14,5 +14,7 @@ public class CreateContainerRequestDTO {
 
     private String displayName;
 
-    private String googleTagId;
+    private String gaMeasurementId;
+
+    private String matomoSiteId;
 }

+ 16 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/dmp/dto/matomo/CreateSiteRequestDTO.java

@@ -0,0 +1,16 @@
+package org.jeecg.modules.adweb.dmp.dto.matomo;
+
+import lombok.Builder;
+import lombok.Data;
+
+/**
+ * @author wfansh
+ */
+@Data
+@Builder
+public class CreateSiteRequestDTO {
+
+    private String siteName;
+
+    private String url;
+}

+ 23 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/dmp/dto/matomo/MatomoSiteDTO.java

@@ -0,0 +1,23 @@
+package org.jeecg.modules.adweb.dmp.dto.matomo;
+
+import com.fasterxml.jackson.annotation.JsonAlias;
+
+import lombok.Data;
+
+/**
+ * @author wfansh
+ */
+@Data
+public class MatomoSiteDTO {
+
+    @JsonAlias({"value", "idsite"})
+    private String siteId;
+
+    @JsonAlias("name")
+    private String siteName;
+
+    @JsonAlias("main_url")
+    private String url;
+
+    private String trackingCode;
+}

+ 12 - 7
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/dmp/entity/GoogleGTM.java

@@ -56,10 +56,10 @@ public class GoogleGTM implements Serializable {
     @Schema(description = "gtmContainerId")
     private String gtmContainerId;
 
-    /** gtmTagId */
-    @Excel(name = "gtmTagId", width = 15)
-    @Schema(description = "gtmTagId")
-    private String gtmTagId;
+    /** gtmPublicId */
+    @Excel(name = "gtmPublicId", width = 15)
+    @Schema(description = "gtmPublicId")
+    private String gtmPublicId;
 
     /** gaAccountId */
     @Excel(name = "gaAccountId", width = 15)
@@ -82,9 +82,14 @@ public class GoogleGTM implements Serializable {
     private String gaSiteUrl;
 
     /** gaTagId */
-    @Excel(name = "gaTagId", width = 15)
-    @Schema(description = "gaTagId")
-    private String gaTagId;
+    @Excel(name = "gaMeasurementId", width = 15)
+    @Schema(description = "gaMeasurementId")
+    private String gaMeasurementId;
+
+    /** matomoSiteId */
+    @Excel(name = "matomoSiteId", width = 15)
+    @Schema(description = "matomoSiteId")
+    private String matomoSiteId;
 
     /** ctime */
     @Excel(name = "ctime", width = 20, format = "yyyy-MM-dd HH:mm:ss")

+ 71 - 48
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/dmp/service/google/GTMAdminService.java

@@ -8,7 +8,6 @@ import jakarta.annotation.PostConstruct;
 
 import lombok.extern.slf4j.Slf4j;
 
-import org.apache.commons.lang3.reflect.TypeUtils;
 import org.apache.commons.lang3.tuple.Pair;
 import org.jeecg.common.util.FastJsonUtil;
 import org.jeecg.modules.adweb.common.databridge.OpenAPIRequest;
@@ -20,6 +19,8 @@ import org.jeecg.modules.adweb.dmp.dto.google.analytics.GAPropertyDTO;
 import org.jeecg.modules.adweb.dmp.dto.google.gtm.CreateContainerRequestDTO;
 import org.jeecg.modules.adweb.dmp.dto.google.gtm.GTMAccountDTO;
 import org.jeecg.modules.adweb.dmp.dto.google.gtm.GTMContainerDTO;
+import org.jeecg.modules.adweb.dmp.dto.matomo.CreateSiteRequestDTO;
+import org.jeecg.modules.adweb.dmp.dto.matomo.MatomoSiteDTO;
 import org.jeecg.modules.adweb.dmp.entity.GoogleGTM;
 import org.jeecg.modules.adweb.dmp.service.IGoogleGTMService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -34,7 +35,7 @@ import java.util.List;
 import java.util.Objects;
 
 /**
- * Google Tag Manager + Google Analytics帐号及标签管理
+ * Google Tag Manager + Google Analytics + Matomo帐号及标签管理
  *
  * <p>http://data-bridge.v3.adwebcloud.com:9002/swagger-ui/index.html
  *
@@ -47,6 +48,8 @@ public class GTMAdminService {
     private static final String GA_ACCOUNT_LIST_API_PATH = "/api/google/ga/accounts/list";
     private static final String GA_PROPERTY_CREATE_API_PATH = "/api/google/ga/properties/create";
     private static final String GA_PROPERTY_DELETE_API_PATH = "/api/google/ga/properties/delete";
+    private static final String MATOMO_SITE_CREATE_API_PATH = "/api/matomo/sites/create";
+    private static final String MATOMO_SITE_DELETE_API_PATH = "/api/matomo/sites/delete";
     private static final String GTM_CONTAINER_CREATE_API_PATH = "/api/google/gtm/containers/create";
     private static final String GTM_CONTAINER_DELETE_API_PATH = "/api/google/gtm/containers/delete";
 
@@ -105,15 +108,13 @@ public class GTMAdminService {
         }
 
         // 1. 创建GA property - 通过data-bridge API
-        OpenAPIRequest<CreatePropertyRequestDTO> createGAPropertyRequest = new OpenAPIRequest<>();
-        createGAPropertyRequest.setRequestServer(this.getClass().getSimpleName());
-        createGAPropertyRequest.setRequestTime(System.currentTimeMillis());
-        createGAPropertyRequest.setData(
-                CreatePropertyRequestDTO.builder()
-                        .accountResourceName(GAAccountDTO.toResourceName(gaAccountId))
-                        .displayName(siteName)
-                        .url(siteUrl)
-                        .build());
+        OpenAPIRequest<CreatePropertyRequestDTO> createGAPropertyRequest =
+                this.buildOpenAPIRequest(
+                        CreatePropertyRequestDTO.builder()
+                                .accountResourceName(GAAccountDTO.toResourceName(gaAccountId))
+                                .displayName(siteName)
+                                .url(siteUrl)
+                                .build());
         GAPropertyDTO gaProperty =
                 RestTemplateUtil.postForObject(
                                 restTemplate,
@@ -123,17 +124,29 @@ public class GTMAdminService {
                         .getData();
         log.info("为站点 {} 创建GA property: {}", siteCode, FastJsonUtil.toJSONString(gaProperty));
 
-        // 2. 创建GTM container - 通过data-bridge API
+        // 2. 创建Matomo site - 通过data-bridge API
+        OpenAPIRequest<CreateSiteRequestDTO> createMatomoSiteRequest =
+                this.buildOpenAPIRequest(
+                        CreateSiteRequestDTO.builder().siteName(siteName).url(siteUrl).build());
+        MatomoSiteDTO matomoSite =
+                RestTemplateUtil.postForObject(
+                                restTemplate,
+                                dataBridgeApiHost + MATOMO_SITE_CREATE_API_PATH,
+                                createMatomoSiteRequest,
+                                new ParameterizedTypeReference<OpenAPIResponse<MatomoSiteDTO>>() {})
+                        .getData();
+        log.info("为站点 {} 创建Matomo site: {}", siteCode, FastJsonUtil.toJSONString(matomoSite));
+
+        // 3. 创建GTM container - 通过data-bridge API
         OpenAPIRequest<CreateContainerRequestDTO> createGTMContainerRequest =
-                new OpenAPIRequest<>();
-        createGTMContainerRequest.setRequestServer(this.getClass().getSimpleName());
-        createGTMContainerRequest.setRequestTime(System.currentTimeMillis());
-        createGTMContainerRequest.setData(
-                CreateContainerRequestDTO.builder()
-                        .accountResourceName(GTMAccountDTO.toResourceName(gtmAccountId))
-                        .displayName(siteName)
-                        .googleTagId(gaProperty.getDataStreams().get(0).getStreamMeasurementId())
-                        .build());
+                this.buildOpenAPIRequest(
+                        CreateContainerRequestDTO.builder()
+                                .accountResourceName(GTMAccountDTO.toResourceName(gtmAccountId))
+                                .displayName(siteName)
+                                .gaMeasurementId(
+                                        gaProperty.getDataStreams().get(0).getStreamMeasurementId())
+                                .matomoSiteId(matomoSite.getSiteId())
+                                .build());
         GTMContainerDTO gtmContainer =
                 RestTemplateUtil.postForObject(
                                 restTemplate,
@@ -144,18 +157,19 @@ public class GTMAdminService {
                         .getData();
         log.info("为站点 {} 创建GTM container: {}", siteCode, FastJsonUtil.toJSONString(gtmContainer));
 
-        // 3. 更新数据库
+        // 4. 更新数据库
         googleGTM = new GoogleGTM();
         googleGTM.setSiteCode(siteCode);
         googleGTM.setUid(null); // TODO
         googleGTM.setGtmAccountId(gtmAccountId);
         googleGTM.setGtmContainerId(gtmContainer.getId());
-        googleGTM.setGtmTagId(gtmContainer.getPublicId());
+        googleGTM.setGtmPublicId(gtmContainer.getPublicId());
         googleGTM.setGaAccountId(gaAccountId);
         googleGTM.setGaPropertyId(gaProperty.getId());
         googleGTM.setGaVersion("V4"); // GA4 https://support.google.com/analytics/answer/10089681
         googleGTM.setGaSiteUrl(siteUrl);
-        googleGTM.setGaTagId(gaProperty.getDataStreams().get(0).getStreamMeasurementId());
+        googleGTM.setGaMeasurementId(gaProperty.getDataStreams().get(0).getStreamMeasurementId());
+        googleGTM.setMatomoSiteId(matomoSite.getSiteId());
         googleGTMService.save(googleGTM);
 
         return googleGTM;
@@ -164,20 +178,13 @@ public class GTMAdminService {
     /** 获取GA account列表,并根据v3系统配置为可用的{@link #gaAccountIds}过滤 */
     public List<GAAccountDTO> listGAAccounts() {
         // 获取GA account列表 - 通过data-bridge API
-        OpenAPIRequest<?> listGAAccountsRequest = new OpenAPIRequest<>();
-        listGAAccountsRequest.setRequestServer(this.getClass().getSimpleName());
-        listGAAccountsRequest.setRequestTime(System.currentTimeMillis());
-        listGAAccountsRequest.setData(null);
+        OpenAPIRequest<?> listGAAccountsRequest = this.buildOpenAPIRequest(null);
         OpenAPIResponse<List<GAAccountDTO>> listGAAccountsResponse =
                 RestTemplateUtil.postForObject(
                         restTemplate,
                         dataBridgeApiHost + GA_ACCOUNT_LIST_API_PATH,
                         listGAAccountsRequest,
-                        ParameterizedTypeReference.forType(
-                                TypeUtils.parameterize(
-                                        OpenAPIResponse.class,
-                                        TypeUtils.parameterize(List.class, GAAccountDTO.class))));
-        log.info("获取GA accounts: {}", FastJsonUtil.toJSONString(listGAAccountsResponse.getData()));
+                        new ParameterizedTypeReference<>() {});
 
         return listGAAccountsResponse.getData().stream()
                 .filter(gaAccount -> gaAccountIds.contains(gaAccount.getId()))
@@ -187,13 +194,13 @@ public class GTMAdminService {
     /**
      * 返回GTM container的head + body snippet代码
      *
-     * @param gtmTagId
+     * @param gtmPublicId
      * @return
      */
-    public Pair<String, String> getSnippets(String gtmTagId) {
+    public Pair<String, String> getSnippets(String gtmPublicId) {
         return Pair.of(
-                String.format(headSnippetTemplate, gtmTagId),
-                String.format(bodySnippetTemplate, gtmTagId));
+                String.format(headSnippetTemplate, gtmPublicId),
+                String.format(bodySnippetTemplate, gtmPublicId));
     }
 
     /**
@@ -212,10 +219,8 @@ public class GTMAdminService {
         }
 
         // 1. 删除GA property - 通过data-bridge API
-        OpenAPIRequest<String> deleteGAPropertyRequest = new OpenAPIRequest<>();
-        deleteGAPropertyRequest.setRequestServer(this.getClass().getSimpleName());
-        deleteGAPropertyRequest.setRequestTime(System.currentTimeMillis());
-        deleteGAPropertyRequest.setData(GAPropertyDTO.toResourceName(googleGTM.getGaPropertyId()));
+        OpenAPIRequest<String> deleteGAPropertyRequest =
+                this.buildOpenAPIRequest(GAPropertyDTO.toResourceName(googleGTM.getGaPropertyId()));
         String gaPropertyResourceName =
                 RestTemplateUtil.postForObject(
                                 restTemplate,
@@ -225,13 +230,23 @@ public class GTMAdminService {
                         .getData();
         log.info("为站点 {} 删除GA property: {}", siteCode, gaPropertyResourceName);
 
-        // 2. 删除GTM container - 通过data-bridge API
-        OpenAPIRequest<String> deleteGTMContainerRequest = new OpenAPIRequest<>();
-        deleteGTMContainerRequest.setRequestServer(this.getClass().getSimpleName());
-        deleteGTMContainerRequest.setRequestTime(System.currentTimeMillis());
-        deleteGTMContainerRequest.setData(
-                GTMContainerDTO.toResourceName(
-                        googleGTM.getGtmAccountId(), googleGTM.getGtmContainerId()));
+        // 2. 删除Matomo site - 通过data-bridge API
+        OpenAPIRequest<String> deleteMatomoSiteRequest =
+                this.buildOpenAPIRequest(googleGTM.getMatomoSiteId());
+        String matomoSiteId =
+                RestTemplateUtil.postForObject(
+                                restTemplate,
+                                dataBridgeApiHost + MATOMO_SITE_DELETE_API_PATH,
+                                deleteMatomoSiteRequest,
+                                new ParameterizedTypeReference<OpenAPIResponse<String>>() {})
+                        .getData();
+        log.info("为站点 {} 删除Matomo site: {}", siteCode, matomoSiteId);
+
+        // 3. 删除GTM container - 通过data-bridge API
+        OpenAPIRequest<String> deleteGTMContainerRequest =
+                this.buildOpenAPIRequest(
+                        GTMContainerDTO.toResourceName(
+                                googleGTM.getGtmAccountId(), googleGTM.getGtmContainerId()));
         String gtmContainerResourceName =
                 RestTemplateUtil.postForObject(
                                 restTemplate,
@@ -246,4 +261,12 @@ public class GTMAdminService {
 
         return true;
     }
+
+    private <T> OpenAPIRequest<T> buildOpenAPIRequest(T data) {
+        OpenAPIRequest<T> openAPIRequest = new OpenAPIRequest<>();
+        openAPIRequest.setRequestServer(this.getClass().getSimpleName());
+        openAPIRequest.setRequestTime(System.currentTimeMillis());
+        openAPIRequest.setData(data);
+        return openAPIRequest;
+    }
 }

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/constant/EnquiryConstants.java

@@ -9,6 +9,6 @@ public class EnquiryConstants {
 
     public static final String ENQUIRY_EMAIL_CHANNEL = "enquiry_email_channel";
 
-    //独立询盘
+    // 独立询盘
     public static final String ENQUIRY_MODULAR_INDEPENDENT = "independent";
 }

+ 0 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/constant/EnquiryDistributeTypeConstant.java

@@ -7,5 +7,4 @@ public class EnquiryDistributeTypeConstant {
     public static final String ALL = "ALL";
 
     public static final String REGION = "REGION";
-
 }

+ 66 - 53
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/controller/AdwebEnquiryBlacklistController.java

@@ -1,17 +1,21 @@
 package org.jeecg.modules.adweb.enquiry.controller;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+
 import jakarta.annotation.Resource;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
+
 import lombok.extern.slf4j.Slf4j;
+
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
@@ -48,27 +52,21 @@ import java.util.List;
 @RestController
 @RequestMapping("/enquiry/blacklist")
 @Slf4j
-public class AdwebEnquiryBlacklistController extends JeecgController<AdwebEnquiryBlacklist, IAdwebEnquiryBlacklistService> {
-    @Resource
-    private IAdwebEnquiryBlacklistService adwebEnquiryBlacklistService;
+public class AdwebEnquiryBlacklistController
+        extends JeecgController<AdwebEnquiryBlacklist, IAdwebEnquiryBlacklistService> {
+    @Resource private IAdwebEnquiryBlacklistService adwebEnquiryBlacklistService;
 
-    @Resource
-    private IAdwebEnquiryService adwebEnquiryService;
+    @Resource private IAdwebEnquiryService adwebEnquiryService;
 
-    @Resource
-    private SysAdwebApi sysAdwebApi;
+    @Resource private SysAdwebApi sysAdwebApi;
 
-    @Resource
-    private IAdwebSiteService adwebSiteService;
+    @Resource private IAdwebSiteService adwebSiteService;
 
-    @Resource
-    private ISiteUserPermissionService siteUserPermissionService;
+    @Resource private ISiteUserPermissionService siteUserPermissionService;
 
-    @Resource
-    private IAdwebSiteBlackEmailService enquirySiteBlackEmailService;
+    @Resource private IAdwebSiteBlackEmailService enquirySiteBlackEmailService;
 
-    @Resource
-    private IAdwebUserCountryService adwebUserCountryService;
+    @Resource private IAdwebUserCountryService adwebUserCountryService;
 
     /**
      * 分页列表查询
@@ -76,38 +74,44 @@ public class AdwebEnquiryBlacklistController extends JeecgController<AdwebEnquir
      * @param queryParam 查询参数,邮箱/姓名/国家
      */
     @GetMapping(value = "/list")
-    public Result<?> queryPageList(String queryParam,
-                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                   Integer siteId) {
+    public Result<?> queryPageList(
+            String queryParam,
+            @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+            @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+            Integer siteId) {
         LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        QueryWrapper<AdwebEnquiryBlacklist> queryWrapper = new QueryWrapper<>();
+        LambdaQueryWrapper<AdwebEnquiryBlacklist> queryWrapper = new LambdaQueryWrapper<>();
         if (siteId != null) {
             List<Integer> siteIds = adwebSiteService.getAllSiteIdByParentId(siteId);
-            queryWrapper.in("site_id", siteIds);
+            queryWrapper.in(AdwebEnquiryBlacklist::getSiteId, siteIds);
         } else if (!sysAdwebApi.isAdmin()) {
             if (sysAdwebApi.isChannelAdmin()) {
                 List<String> channelGroupUids = sysAdwebApi.getChannelGroupUids();
 
-                List<String> codeList = siteUserPermissionService.getSiteCodeListByUids(channelGroupUids);
-                QueryWrapper<AdwebSite> queryWrapper1 = new QueryWrapper<>();
-                queryWrapper1.ne("status", 0);
-                queryWrapper1.in("code", codeList);
+                List<String> codeList =
+                        siteUserPermissionService.getSiteCodeListByUids(channelGroupUids);
+                LambdaQueryWrapper<AdwebSite> queryWrapper1 = new LambdaQueryWrapper<>();
+                queryWrapper1.ne(AdwebSite::getStatus, 0);
+                queryWrapper1.in(AdwebSite::getCode, codeList);
                 List<AdwebSite> siteList = adwebSiteService.list(queryWrapper1);
                 List<Integer> siteIds = new ArrayList<>();
                 for (AdwebSite site : siteList) {
                     siteIds.add(site.getId());
                 }
-                queryWrapper.in("site_id", siteIds);
+                queryWrapper.in(AdwebEnquiryBlacklist::getSiteId, siteIds);
             } else {
                 List<Integer> siteIds = adwebSiteService.getAllSiteIdByUid(loginUser.getId());
-                queryWrapper.in("site_id", siteIds);
+                queryWrapper.in(AdwebEnquiryBlacklist::getSiteId, siteIds);
             }
         }
         if (StringUtils.isNotBlank(queryParam)) {
-            queryWrapper.and(wrapper -> wrapper.like("email", queryParam)
-                    .or().like("name", queryParam)
-                    .or().like("country_name", queryParam));
+            queryWrapper.and(
+                    wrapper ->
+                            wrapper.like(AdwebEnquiryBlacklist::getEmail, queryParam)
+                                    .or()
+                                    .like(AdwebEnquiryBlacklist::getName, queryParam)
+                                    .or()
+                                    .like(AdwebEnquiryBlacklist::getCountryName, queryParam));
         }
 
         if (sysAdwebApi.isAdwebSubVip()) {
@@ -117,18 +121,20 @@ public class AdwebEnquiryBlacklistController extends JeecgController<AdwebEnquir
                 return Result.OK(new Page<>(pageNo, pageSize));
             }
             if (EnquiryDistributeTypeConstant.REGION.equals(distributeType)) {
-                List<String> countryCodes = adwebUserCountryService.getCountryCodesBySubId(loginUser.getId(), siteId);
+                List<String> countryCodes =
+                        adwebUserCountryService.getCountryCodesBySubId(loginUser.getId(), siteId);
                 if (CollectionUtils.isEmpty(countryCodes)) {
                     return Result.OK(new Page<>(pageNo, pageSize));
                 }
-                queryWrapper.in("country_code", countryCodes);
+                queryWrapper.in(AdwebEnquiryBlacklist::getCountryCode, countryCodes);
             }
         }
 
-        queryWrapper.eq("status", 1);
-        queryWrapper.orderByDesc("create_time");
+        queryWrapper.eq(AdwebEnquiryBlacklist::getStatus, 1);
+        queryWrapper.orderByDesc(AdwebEnquiryBlacklist::getCreateTime);
         Page<AdwebEnquiryBlacklist> page = new Page<AdwebEnquiryBlacklist>(pageNo, pageSize);
-        IPage<AdwebEnquiryBlacklist> pageList = adwebEnquiryBlacklistService.page(page, queryWrapper);
+        IPage<AdwebEnquiryBlacklist> pageList =
+                adwebEnquiryBlacklistService.page(page, queryWrapper);
 
         return Result.OK(pageList);
     }
@@ -157,13 +163,16 @@ public class AdwebEnquiryBlacklistController extends JeecgController<AdwebEnquir
     public Result<?> addBlacklist(@RequestBody EnquiryListDto adwebEnquiry) {
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
 
-
-        //判断站点询盘黑名单是否存在添加进来的黑名单
-        QueryWrapper<AdwebSiteBlackEmail> enquirySiteBlackEmailQueryWrapper = new QueryWrapper<>();
-        enquirySiteBlackEmailQueryWrapper.eq("site_id", adwebEnquiry.getSiteId());
-        enquirySiteBlackEmailQueryWrapper.eq("status", 1);
-        enquirySiteBlackEmailQueryWrapper.eq("email", adwebEnquiry.getFromEmail());
-        List<AdwebSiteBlackEmail> enquirySiteBlackEmailList = enquirySiteBlackEmailService.list(enquirySiteBlackEmailQueryWrapper);
+        // 判断站点询盘黑名单是否存在添加进来的黑名单
+        LambdaQueryWrapper<AdwebSiteBlackEmail> enquirySiteBlackEmailQueryWrapper =
+                new LambdaQueryWrapper<>();
+        enquirySiteBlackEmailQueryWrapper.eq(
+                AdwebSiteBlackEmail::getSiteId, adwebEnquiry.getSiteId());
+        enquirySiteBlackEmailQueryWrapper.eq(AdwebSiteBlackEmail::getStatus, 1);
+        enquirySiteBlackEmailQueryWrapper.eq(
+                AdwebSiteBlackEmail::getEmail, adwebEnquiry.getFromEmail());
+        List<AdwebSiteBlackEmail> enquirySiteBlackEmailList =
+                enquirySiteBlackEmailService.list(enquirySiteBlackEmailQueryWrapper);
 
         if (CollectionUtils.isNotEmpty(enquirySiteBlackEmailList)) {
             Integer blackOrWhite = enquirySiteBlackEmailList.get(0).getBlackOrWhite();
@@ -188,9 +197,9 @@ public class AdwebEnquiryBlacklistController extends JeecgController<AdwebEnquir
         blacklist.setCreateTime(new Date());
         adwebEnquiryBlacklistService.save(blacklist);
 
-        UpdateWrapper<AdwebEnquiry> enquiryUpdateWrapper = new UpdateWrapper<>();
-        enquiryUpdateWrapper.eq("id", adwebEnquiry.getId());
-        enquiryUpdateWrapper.set("status", 0);
+        LambdaUpdateWrapper<AdwebEnquiry> enquiryUpdateWrapper = new LambdaUpdateWrapper<>();
+        enquiryUpdateWrapper.eq(AdwebEnquiry::getId, adwebEnquiry.getId());
+        enquiryUpdateWrapper.set(AdwebEnquiry::getStatus, 0);
         adwebEnquiryService.update(enquiryUpdateWrapper);
 
         return Result.OK("添加成功!");
@@ -234,9 +243,9 @@ public class AdwebEnquiryBlacklistController extends JeecgController<AdwebEnquir
     public Result<?> removeBlacklist(@RequestParam(name = "id") String id) {
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
 
-        UpdateWrapper<AdwebEnquiryBlacklist> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.in("id", id.split(","));
-        updateWrapper.set("status", 0);
+        LambdaUpdateWrapper<AdwebEnquiryBlacklist> updateWrapper = new LambdaUpdateWrapper<>();
+        updateWrapper.in(AdwebEnquiryBlacklist::getId, id.split(","));
+        updateWrapper.set(AdwebEnquiryBlacklist::getStatus, 0);
         adwebEnquiryBlacklistService.update(updateWrapper);
         return Result.OK("删除成功!");
     }
@@ -279,8 +288,13 @@ public class AdwebEnquiryBlacklistController extends JeecgController<AdwebEnquir
      * @param adwebEnquiryBlacklist
      */
     @RequestMapping(value = "/exportXls")
-    public ModelAndView exportXls(HttpServletRequest request, AdwebEnquiryBlacklist adwebEnquiryBlacklist) {
-        return super.exportXls(request, adwebEnquiryBlacklist, AdwebEnquiryBlacklist.class, "adweb_enquiry_blacklist");
+    public ModelAndView exportXls(
+            HttpServletRequest request, AdwebEnquiryBlacklist adwebEnquiryBlacklist) {
+        return super.exportXls(
+                request,
+                adwebEnquiryBlacklist,
+                AdwebEnquiryBlacklist.class,
+                "adweb_enquiry_blacklist");
     }
 
     /**
@@ -294,5 +308,4 @@ public class AdwebEnquiryBlacklistController extends JeecgController<AdwebEnquir
     public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
         return super.importExcel(request, response, AdwebEnquiryBlacklist.class);
     }
-
 }

+ 242 - 182
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/controller/AdwebEnquiryController.java

@@ -1,16 +1,19 @@
 package org.jeecg.modules.adweb.enquiry.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+
 import jakarta.annotation.Resource;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
+
 import lombok.extern.slf4j.Slf4j;
+
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang3.tuple.Pair;
@@ -69,32 +72,25 @@ public class AdwebEnquiryController extends JeecgController<AdwebEnquiry, IAdweb
 
     @Value("${enquiry.disable-admin-read:true}")
     private Boolean disableAdminRead;
+
     @Value("${enquiry.demoFlag:false}")
     private Boolean demoFlag;
 
-    @Resource
-    private IAdwebEnquiryService adwebEnquiryService;
+    @Resource private IAdwebEnquiryService adwebEnquiryService;
 
-    @Resource
-    private AdwebEnquiryMapper adwebEnquiryMapper;
+    @Resource private AdwebEnquiryMapper adwebEnquiryMapper;
 
-    @Resource
-    private SysAdwebApi sysAdwebApi;
+    @Resource private SysAdwebApi sysAdwebApi;
 
-    @Resource
-    private IAdwebSiteService adwebSiteService;
+    @Resource private IAdwebSiteService adwebSiteService;
 
-    @Resource
-    private ISiteUserPermissionService siteUserPermissionService;
+    @Resource private ISiteUserPermissionService siteUserPermissionService;
 
-    @Resource
-    private ISysDictService sysDictService;
+    @Resource private ISysDictService sysDictService;
 
-    @Resource
-    private AwsTranslateUtils awsTranslateUtils;
+    @Resource private AwsTranslateUtils awsTranslateUtils;
 
-    @Resource
-    private ISysUserService sysUserService;
+    @Resource private ISysUserService sysUserService;
 
     /**
      * 分页列表查询
@@ -105,13 +101,14 @@ public class AdwebEnquiryController extends JeecgController<AdwebEnquiry, IAdweb
      * @param principalUid
      * @return
      */
-    //@AutoLog(value = "询盘信息存储表单-分页列表查询")
+    // @AutoLog(value = "询盘信息存储表单-分页列表查询")
     @Operation(summary = "询盘信息存储表单-分页列表查询")
     @GetMapping(value = "/list")
-    public Result<?> queryPageList(EnquiryListSearchDto searchDto,
-                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                   String principalUid) {
+    public Result<?> queryPageList(
+            EnquiryListSearchDto searchDto,
+            @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+            @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+            String principalUid) {
 
         if (sysAdwebApi.isNotOwnSite(searchDto.getSiteId())) {
             return Result.OK(new Page<>());
@@ -139,17 +136,22 @@ public class AdwebEnquiryController extends JeecgController<AdwebEnquiry, IAdweb
         if (searchDto.getSiteId() != null) {
             String siteCode = adwebSiteService.getSiteCodeById(searchDto.getSiteId());
             if (StringUtils.isNotBlank(siteCode)) {
-                QueryWrapper<AdwebSite> queryWrapper = new QueryWrapper<>();
-                queryWrapper.eq("id", searchDto.getSiteId()).or().eq("parent_group_code", siteCode);
-                queryWrapper.ne("status", 0);
-                queryWrapper.in(!sysAdwebApi.isAdmin(), "code", siteCodeList);
-                codeList = adwebSiteService.list(queryWrapper).stream().map(AdwebSite::getCode).collect(Collectors.toList());
+                LambdaQueryWrapper<AdwebSite> queryWrapper = new LambdaQueryWrapper<>();
+                queryWrapper
+                        .eq(AdwebSite::getId, searchDto.getSiteId())
+                        .or()
+                        .eq(AdwebSite::getParentGroupCode, siteCode);
+                queryWrapper.ne(AdwebSite::getStatus, 0);
+                queryWrapper.in(!sysAdwebApi.isAdmin(), AdwebSite::getCode, siteCodeList);
+                codeList =
+                        adwebSiteService.list(queryWrapper).stream()
+                                .map(AdwebSite::getCode)
+                                .collect(Collectors.toList());
             }
         } else {
             codeList = siteCodeList;
         }
 
-
         String dateType = searchDto.getDateType();
         Date start = searchDto.getStart();
         Date end = searchDto.getEnd();
@@ -170,9 +172,20 @@ public class AdwebEnquiryController extends JeecgController<AdwebEnquiry, IAdweb
 
         String userEfftecive = "(" + searchDto.getUserEffective() + ")";
 
-
-        IPage<EnquiryListDto> pageList = adwebEnquiryMapper.selectEnquiryList(page, codeList, userEfftecive, searchDto.getWasteEnquiryType(),
-                searchDto.getSearchText(), searchDto.getSearchContent(), start, end, searchDto.getWhatsApp(), searchDto.getReadStatus(), principalUid, selfPrincipalUid);
+        IPage<EnquiryListDto> pageList =
+                adwebEnquiryMapper.selectEnquiryList(
+                        page,
+                        codeList,
+                        userEfftecive,
+                        searchDto.getWasteEnquiryType(),
+                        searchDto.getSearchText(),
+                        searchDto.getSearchContent(),
+                        start,
+                        end,
+                        searchDto.getWhatsApp(),
+                        searchDto.getReadStatus(),
+                        principalUid,
+                        selfPrincipalUid);
 
         if (CollectionUtils.isNotEmpty(pageList.getRecords())) {
             dealInfo(pageList.getRecords());
@@ -190,56 +203,64 @@ public class AdwebEnquiryController extends JeecgController<AdwebEnquiry, IAdweb
             return;
         }
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        List<DictModel> userEffectiveDict = sysDictService.queryDictItemsByCode(AdwebConstant.ENQUIRY_EFFECTIVE);
+        List<DictModel> userEffectiveDict =
+                sysDictService.queryDictItemsByCode(AdwebConstant.ENQUIRY_EFFECTIVE);
         AtomicInteger atomicInteger = new AtomicInteger();
 
-        enquiryList.forEach(enquiry -> {
-            // 来源页面如果以 / 结尾,去掉最后一个字符
-            String fromPage = enquiry.getFromPage();
-            if (StringUtils.isNotBlank(fromPage)) {
-                if (fromPage.endsWith("/")) {
-                    enquiry.setFromPage(fromPage.substring(0, fromPage.length() - 1));
-                }
-            }
-            atomicInteger.getAndIncrement();
-            enquiry.setDataIndex(atomicInteger.get());
-
-            // 示例关键信息脱敏
-            if (demoFlag) {
-                enquiry.setFormCompany("**********");
-                enquiry.setFromEmail("**********");
-                enquiry.setWhatsApp("**********");
-                enquiry.setPhone("**********");
-                String siteName = enquiry.getSiteName();
-                enquiry.setSiteName(siteName.substring(0, 2) + "**********" + siteName.substring(siteName.length() - 2));
-            }
+        enquiryList.forEach(
+                enquiry -> {
+                    // 来源页面如果以 / 结尾,去掉最后一个字符
+                    String fromPage = enquiry.getFromPage();
+                    if (StringUtils.isNotBlank(fromPage)) {
+                        if (fromPage.endsWith("/")) {
+                            enquiry.setFromPage(fromPage.substring(0, fromPage.length() - 1));
+                        }
+                    }
+                    atomicInteger.getAndIncrement();
+                    enquiry.setDataIndex(atomicInteger.get());
+
+                    // 示例关键信息脱敏
+                    if (demoFlag) {
+                        enquiry.setFormCompany("**********");
+                        enquiry.setFromEmail("**********");
+                        enquiry.setWhatsApp("**********");
+                        enquiry.setPhone("**********");
+                        String siteName = enquiry.getSiteName();
+                        enquiry.setSiteName(
+                                siteName.substring(0, 2)
+                                        + "**********"
+                                        + siteName.substring(siteName.length() - 2));
+                    }
 
-            /**********************字典数据处理***********************/
-            if (CollectionUtils.isNotEmpty(userEffectiveDict)) {
-                userEffectiveDict.forEach(dict -> {
-                    if (dict.getValue().equals(enquiry.getUserEffective() + "")) {
-                        enquiry.setUserEffectiveStr(dict.getLabel());
+                    /**********************字典数据处理***********************/
+                    if (CollectionUtils.isNotEmpty(userEffectiveDict)) {
+                        userEffectiveDict.forEach(
+                                dict -> {
+                                    if (dict.getValue().equals(enquiry.getUserEffective() + "")) {
+                                        enquiry.setUserEffectiveStr(dict.getLabel());
+                                    }
+                                });
                     }
-                });
-            }
 
-            // 询盘中用户自定义的字段处理
-            if (StringUtils.isNotBlank(enquiry.getSpecialField())) {
-                List<EnquirySpecialFields> specialFieldsList = FastJsonUtil.parseList(enquiry.getSpecialField(), EnquirySpecialFields.class);
-                enquiry.setSpecialFieldList(specialFieldsList);
-                enquiry.setSpecialField(null);
-            }
+                    // 询盘中用户自定义的字段处理
+                    if (StringUtils.isNotBlank(enquiry.getSpecialField())) {
+                        List<EnquirySpecialFields> specialFieldsList =
+                                FastJsonUtil.parseList(
+                                        enquiry.getSpecialField(), EnquirySpecialFields.class);
+                        enquiry.setSpecialFieldList(specialFieldsList);
+                        enquiry.setSpecialField(null);
+                    }
 
-            if (StringUtils.isNotBlank(enquiry.getContext())) {
-                String context = enquiry.getContext();
-                Pattern CRLF = Pattern.compile("(\r\n|\r|\n|\n\r)");
-                Matcher m = CRLF.matcher(context);
-                if (m.find()) {
-                    context = m.replaceAll("<br/>");
-                }
-                enquiry.setContext(context);
-            }
-        });
+                    if (StringUtils.isNotBlank(enquiry.getContext())) {
+                        String context = enquiry.getContext();
+                        Pattern CRLF = Pattern.compile("(\r\n|\r|\n|\n\r)");
+                        Matcher m = CRLF.matcher(context);
+                        if (m.find()) {
+                            context = m.replaceAll("<br/>");
+                        }
+                        enquiry.setContext(context);
+                    }
+                });
     }
 
     /**
@@ -266,7 +287,9 @@ public class AdwebEnquiryController extends JeecgController<AdwebEnquiry, IAdweb
     @AutoLog(value = "询盘信息存储表单-编辑")
     @Operation(summary = "询盘信息存储表单-编辑")
     @PreAuthorize("@jps.requiresPermissions('adweb:adweb_enquiry:edit')")
-    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+    @RequestMapping(
+            value = "/edit",
+            method = {RequestMethod.PUT, RequestMethod.POST})
     public Result<String> edit(@RequestBody AdwebEnquiry adwebEnquiry) {
         adwebEnquiryService.updateById(adwebEnquiry);
         return Result.OK("编辑成功!");
@@ -308,7 +331,7 @@ public class AdwebEnquiryController extends JeecgController<AdwebEnquiry, IAdweb
      * @param id
      * @return
      */
-    //@AutoLog(value = "询盘信息存储表单-通过id查询")
+    // @AutoLog(value = "询盘信息存储表单-通过id查询")
     @Operation(summary = "询盘信息存储表单-通过id查询")
     @GetMapping(value = "/queryById")
     public Result<AdwebEnquiry> queryById(@RequestParam(name = "id", required = true) String id) {
@@ -344,12 +367,11 @@ public class AdwebEnquiryController extends JeecgController<AdwebEnquiry, IAdweb
         return super.importExcel(request, response, AdwebEnquiry.class);
     }
 
-    /**
-     * 获取需要轮流询盘的站点code
-     */
+    /** 获取需要轮流询盘的站点code */
     @GetMapping("/getTurnInquiryCode")
     public Result<?> getTurnInquiryCode() {
-        List<DictPropertyModel> siteRes = sysAdwebApi.queryDictInfoByDictCode("turn_inquiry_site_code");
+        List<DictPropertyModel> siteRes =
+                sysAdwebApi.queryDictInfoByDictCode("turn_inquiry_site_code");
         if (CollectionUtils.isNotEmpty(siteRes)) {
             return Result.OK(siteRes);
         }
@@ -361,7 +383,8 @@ public class AdwebEnquiryController extends JeecgController<AdwebEnquiry, IAdweb
      */
     @GetMapping(value = "/getEnquiryCatalog")
     public Result<?> getEnquiryCatalog() {
-        List<DictPropertyModel> userEffectiveDict = sysAdwebApi.queryDictInfoByDictCode(AdwebConstant.ENQUIRY_EFFECTIVE);
+        List<DictPropertyModel> userEffectiveDict =
+                sysAdwebApi.queryDictInfoByDictCode(AdwebConstant.ENQUIRY_EFFECTIVE);
         return Result.OK(FastJsonUtil.toJSONString(userEffectiveDict));
     }
 
@@ -372,10 +395,11 @@ public class AdwebEnquiryController extends JeecgController<AdwebEnquiry, IAdweb
      * @return 数量信息
      */
     @GetMapping("getEnquiryNums")
-    public Result<?> getEnquiryNums(Integer siteId,
-                                    String dateType,
-                                    @DateTimeFormat(pattern = "yyyy-MM-dd") Date start,
-                                    @DateTimeFormat(pattern = "yyyy-MM-dd") Date end) {
+    public Result<?> getEnquiryNums(
+            Integer siteId,
+            String dateType,
+            @DateTimeFormat(pattern = "yyyy-MM-dd") Date start,
+            @DateTimeFormat(pattern = "yyyy-MM-dd") Date end) {
         LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         if (StringUtils.isNotBlank(dateType)) {
             Pair<Date, Date> dateRange = DateUtil.getDateRangeByType(dateType);
@@ -386,27 +410,32 @@ public class AdwebEnquiryController extends JeecgController<AdwebEnquiry, IAdweb
         List<Integer> siteIds = null;
         if (siteId != null) {
             String siteCode = adwebSiteService.getSiteCodeById(siteId);
-            QueryWrapper<AdwebSite> queryWrapper = new QueryWrapper<>();
-            queryWrapper.eq("code", siteCode).or().eq("parent_group_code", siteCode);
-            queryWrapper.ne("status", 0);
+            LambdaQueryWrapper<AdwebSite> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper
+                    .eq(AdwebSite::getCode, siteCode)
+                    .or()
+                    .eq(AdwebSite::getParentGroupCode, siteCode);
+            queryWrapper.ne(AdwebSite::getStatus, 0);
             List<AdwebSite> sites = adwebSiteService.list(queryWrapper);
             siteIds = sites.stream().map(AdwebSite::getId).collect(Collectors.toList());
         } else {
             if (sysAdwebApi.isAdmin()) {
-                QueryWrapper<AdwebSite> queryWrapper = new QueryWrapper<>();
-                queryWrapper.ne("status", 0);
+                LambdaQueryWrapper<AdwebSite> queryWrapper = new LambdaQueryWrapper<>();
+                queryWrapper.ne(AdwebSite::getStatus, 0);
                 List<AdwebSite> sites = adwebSiteService.list(queryWrapper);
                 siteIds = sites.stream().map(AdwebSite::getId).collect(Collectors.toList());
             } else if (sysAdwebApi.isChannelAdmin()) {
                 List<String> channelGroupUids = sysAdwebApi.getChannelGroupUids();
-                List<String> codeList = siteUserPermissionService.getSiteCodeListByUids(channelGroupUids);
+                List<String> codeList =
+                        siteUserPermissionService.getSiteCodeListByUids(channelGroupUids);
                 LambdaQueryWrapper<AdwebSite> queryWrapper = new LambdaQueryWrapper<>();
                 queryWrapper.in(AdwebSite::getCode, codeList);
                 queryWrapper.ne(AdwebSite::getStatus, 0);
                 List<AdwebSite> sites = adwebSiteService.list(queryWrapper);
                 siteIds = sites.stream().map(AdwebSite::getId).collect(Collectors.toList());
             } else {
-                List<String> codeList = siteUserPermissionService.getSiteCodeList(loginUser.getId());
+                List<String> codeList =
+                        siteUserPermissionService.getSiteCodeList(loginUser.getId());
                 LambdaQueryWrapper<AdwebSite> queryWrapper = new LambdaQueryWrapper<>();
                 queryWrapper.in(AdwebSite::getCode, codeList);
                 queryWrapper.ne(AdwebSite::getStatus, 0);
@@ -420,79 +449,95 @@ public class AdwebEnquiryController extends JeecgController<AdwebEnquiry, IAdweb
             principalUid = loginUser.getId();
         }
 
-        QueryWrapper<AdwebEnquiry> enquiryQueryWrapper = new QueryWrapper<>();
-        enquiryQueryWrapper.eq("status", 1);
+        LambdaQueryWrapper<AdwebEnquiry> enquiryQueryWrapper = new LambdaQueryWrapper<>();
+        enquiryQueryWrapper.eq(AdwebEnquiry::getStatus, 1);
         if (start != null) {
-            enquiryQueryWrapper.ge("record_ctime", start);
+            enquiryQueryWrapper.ge(AdwebEnquiry::getRecordCtime, start);
         }
         if (end != null) {
-            enquiryQueryWrapper.lt("record_ctime", DateUtil.addDays(end, 1));
+            enquiryQueryWrapper.lt(AdwebEnquiry::getRecordCtime, DateUtil.addDays(end, 1));
         }
         if (siteIds != null) {
-            enquiryQueryWrapper.in("site_id", siteIds);
+            enquiryQueryWrapper.in(AdwebEnquiry::getSiteId, siteIds);
         }
         if (StringUtils.isNotBlank(principalUid)) {
             String finalPrincipalUid = principalUid;
-            enquiryQueryWrapper.and(wrapper -> wrapper.eq("principal_uid", finalPrincipalUid).or().eq("principal_uid", "ALL"));
+            enquiryQueryWrapper.and(
+                    wrapper ->
+                            wrapper.eq(AdwebEnquiry::getPrincipalUid, finalPrincipalUid)
+                                    .or()
+                                    .eq(AdwebEnquiry::getPrincipalUid, "ALL"));
         }
-        enquiryQueryWrapper.ne("user_effective", 0);
+        enquiryQueryWrapper.ne(AdwebEnquiry::getUserEffective, 0);
         int all = (int) adwebEnquiryService.count(enquiryQueryWrapper);
 
-        QueryWrapper<AdwebEnquiry> enquiryQueryWrapper1 = new QueryWrapper<>();
-        enquiryQueryWrapper1.eq("status", 1);
+        LambdaQueryWrapper<AdwebEnquiry> enquiryQueryWrapper1 = new LambdaQueryWrapper<>();
+        enquiryQueryWrapper1.eq(AdwebEnquiry::getStatus, 1);
         if (start != null) {
-            enquiryQueryWrapper1.ge("record_ctime", start);
+            enquiryQueryWrapper1.ge(AdwebEnquiry::getRecordCtime, start);
         }
         if (end != null) {
-            enquiryQueryWrapper1.lt("record_ctime", DateUtil.addDays(end, 1));
+            enquiryQueryWrapper1.lt(AdwebEnquiry::getRecordCtime, DateUtil.addDays(end, 1));
         }
         if (siteIds != null) {
-            enquiryQueryWrapper1.in("site_id", siteIds);
+            enquiryQueryWrapper1.in(AdwebEnquiry::getSiteId, siteIds);
         }
-        enquiryQueryWrapper1.eq("read_status", 0);
+        enquiryQueryWrapper1.eq(AdwebEnquiry::getReadStatus, 0);
         if (StringUtils.isNotBlank(principalUid)) {
             String finalPrincipalUid = principalUid;
-            enquiryQueryWrapper1.and(wrapper -> wrapper.eq("principal_uid", finalPrincipalUid).or().eq("principal_uid", "ALL"));
+            enquiryQueryWrapper1.and(
+                    wrapper ->
+                            wrapper.eq(AdwebEnquiry::getPrincipalUid, finalPrincipalUid)
+                                    .or()
+                                    .eq(AdwebEnquiry::getPrincipalUid, "ALL"));
         }
-        enquiryQueryWrapper1.ne("user_effective", 0);
+        enquiryQueryWrapper1.ne(AdwebEnquiry::getUserEffective, 0);
         int noRead = (int) adwebEnquiryService.count(enquiryQueryWrapper1);
 
-        QueryWrapper<AdwebEnquiry> enquiryQueryWrapper2 = new QueryWrapper<>();
-        enquiryQueryWrapper2.eq("status", 1);
+        LambdaQueryWrapper<AdwebEnquiry> enquiryQueryWrapper2 = new LambdaQueryWrapper<>();
+        enquiryQueryWrapper2.eq(AdwebEnquiry::getStatus, 1);
         if (start != null) {
-            enquiryQueryWrapper2.ge("record_ctime", start);
+            enquiryQueryWrapper2.ge(AdwebEnquiry::getRecordCtime, start);
         }
         if (end != null) {
-            enquiryQueryWrapper2.lt("record_ctime", DateUtil.addDays(end, 1));
+            enquiryQueryWrapper2.lt(AdwebEnquiry::getRecordCtime, DateUtil.addDays(end, 1));
         }
         if (siteIds != null) {
-            enquiryQueryWrapper2.in("site_id", siteIds);
+            enquiryQueryWrapper2.in(AdwebEnquiry::getSiteId, siteIds);
         }
-        enquiryQueryWrapper2.eq("user_effective", 1);
+        enquiryQueryWrapper2.eq(AdwebEnquiry::getUserEffective, 1);
         if (StringUtils.isNotBlank(principalUid)) {
             String finalPrincipalUid = principalUid;
-            enquiryQueryWrapper2.and(wrapper -> wrapper.eq("principal_uid", finalPrincipalUid).or().eq("principal_uid", "ALL"));
+            enquiryQueryWrapper2.and(
+                    wrapper ->
+                            wrapper.eq(AdwebEnquiry::getPrincipalUid, finalPrincipalUid)
+                                    .or()
+                                    .eq(AdwebEnquiry::getPrincipalUid, "ALL"));
         }
-        enquiryQueryWrapper2.ne("user_effective", 0);
+        enquiryQueryWrapper2.ne(AdwebEnquiry::getUserEffective, 0);
         int product = (int) adwebEnquiryService.count(enquiryQueryWrapper2);
 
-        QueryWrapper<AdwebEnquiry> enquiryQueryWrapper3 = new QueryWrapper<>();
-        enquiryQueryWrapper3.eq("status", 1);
+        LambdaQueryWrapper<AdwebEnquiry> enquiryQueryWrapper3 = new LambdaQueryWrapper<>();
+        enquiryQueryWrapper3.eq(AdwebEnquiry::getStatus, 1);
         if (start != null) {
-            enquiryQueryWrapper3.ge("record_ctime", start);
+            enquiryQueryWrapper3.ge(AdwebEnquiry::getRecordCtime, start);
         }
         if (end != null) {
-            enquiryQueryWrapper3.lt("record_ctime", DateUtil.addDays(end, 1));
+            enquiryQueryWrapper3.lt(AdwebEnquiry::getRecordCtime, DateUtil.addDays(end, 1));
         }
         if (siteIds != null) {
-            enquiryQueryWrapper3.in("site_id", siteIds);
+            enquiryQueryWrapper3.in(AdwebEnquiry::getSiteId, siteIds);
         }
-        enquiryQueryWrapper3.eq("user_effective", 2);
+        enquiryQueryWrapper3.eq(AdwebEnquiry::getUserEffective, 2);
         if (StringUtils.isNotBlank(principalUid)) {
             String finalPrincipalUid = principalUid;
-            enquiryQueryWrapper3.and(wrapper -> wrapper.eq("principal_uid", finalPrincipalUid).or().eq("principal_uid", "ALL"));
+            enquiryQueryWrapper3.and(
+                    wrapper ->
+                            wrapper.eq(AdwebEnquiry::getPrincipalUid, finalPrincipalUid)
+                                    .or()
+                                    .eq(AdwebEnquiry::getPrincipalUid, "ALL"));
         }
-        enquiryQueryWrapper3.ne("user_effective", 0);
+        enquiryQueryWrapper3.ne(AdwebEnquiry::getUserEffective, 0);
         int wait = (int) adwebEnquiryService.count(enquiryQueryWrapper3);
 
         Map<String, Integer> map = new HashMap<>();
@@ -515,9 +560,9 @@ public class AdwebEnquiryController extends JeecgController<AdwebEnquiry, IAdweb
         if (disableAdminRead && (sysAdwebApi.isAdmin() || sysAdwebApi.isChannelAdmin())) {
             return Result.OK();
         }
-        UpdateWrapper<AdwebEnquiry> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.in("id", id);
-        updateWrapper.set("read_status", 1);
+        LambdaUpdateWrapper<AdwebEnquiry> updateWrapper = new LambdaUpdateWrapper<>();
+        updateWrapper.in(AdwebEnquiry::getId, id);
+        updateWrapper.set(AdwebEnquiry::getReadStatus, 1);
         adwebEnquiryService.update(updateWrapper);
         return Result.OK();
     }
@@ -530,17 +575,15 @@ public class AdwebEnquiryController extends JeecgController<AdwebEnquiry, IAdweb
     @ResponseBody
     public Result<String> getEnquiryTrans(String query, String id) {
         String text = awsTranslateUtils.translate(query);
-        UpdateWrapper<AdwebEnquiry> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.eq("id", id);
-        updateWrapper.set("trans_content", text);
+        LambdaUpdateWrapper<AdwebEnquiry> updateWrapper = new LambdaUpdateWrapper<>();
+        updateWrapper.eq(AdwebEnquiry::getId, id);
+        updateWrapper.set(AdwebEnquiry::getTrackStatus, text);
         adwebEnquiryService.update(updateWrapper);
 
         return Result.ok(text);
     }
 
-    /**
-     * 更改询盘用户有效性
-     */
+    /** 更改询盘用户有效性 */
     @PostMapping("/update/user/effective")
     public Result<?> updateUserEffective(EffectiveEnquiryParamDto effectiveEnquiryParamDto) {
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
@@ -552,12 +595,11 @@ public class AdwebEnquiryController extends JeecgController<AdwebEnquiry, IAdweb
         return Result.error("fail");
     }
 
-    /**
-     * 转发询盘
-     */
+    /** 转发询盘 */
     @AutoLog(value = "转发询盘")
     @GetMapping(value = "/setForward")
-    public Result<?> setForward(@RequestParam String ids, @RequestParam String uid, @RequestParam String code) {
+    public Result<?> setForward(
+            @RequestParam String ids, @RequestParam String uid, @RequestParam String code) {
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
 
         SysUser user = sysUserService.getById(uid);
@@ -565,42 +607,42 @@ public class AdwebEnquiryController extends JeecgController<AdwebEnquiry, IAdweb
             return Result.error("该账户未设置邮箱!");
         }
         List<String> idList = Arrays.asList(ids.split(","));
-        UpdateWrapper<AdwebEnquiry> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.in("id", idList);
-        updateWrapper.set("principal_uid", uid);
-        updateWrapper.set("principal_type", 1);
+        LambdaUpdateWrapper<AdwebEnquiry> updateWrapper = new LambdaUpdateWrapper<>();
+        updateWrapper.in(AdwebEnquiry::getId, idList);
+        updateWrapper.set(AdwebEnquiry::getPrincipalUid, uid);
+        updateWrapper.set(AdwebEnquiry::getPrincipalType, 1);
         adwebEnquiryService.update(updateWrapper);
 
-        QueryWrapper<AdwebEnquiry> queryWrapper = new QueryWrapper<>();
-        queryWrapper.in("id", idList);
+        LambdaQueryWrapper<AdwebEnquiry> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.in(AdwebEnquiry::getId, idList);
         List<AdwebEnquiry> list = adwebEnquiryService.list(queryWrapper);
-        //获取站点
-        QueryWrapper<AdwebSite> adwebSiteQueryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("code", code);
+        // 获取站点
+        LambdaQueryWrapper<AdwebSite> adwebSiteQueryWrapper = new LambdaQueryWrapper<>();
+        adwebSiteQueryWrapper.eq(AdwebSite::getCode, code);
         AdwebSite adwebSite = adwebSiteService.getOne(adwebSiteQueryWrapper);
 
-        //返回跟进人名称
+        // 返回跟进人名称
         for (String id : idList) {
             AdwebEnquiry adwebEnquiry = adwebEnquiryService.getById(id);
 
             adwebEnquiryService.specialSendEmail(adwebEnquiry, adwebSite);
             if (adwebEnquiry != null && StringUtils.isNotBlank(adwebEnquiry.getRecordId())) {
-                adwebEnquiryService.returnSalesperson(code, adwebEnquiry.getRecordId(), user.getUsername());
+                adwebEnquiryService.returnSalesperson(
+                        code, adwebEnquiry.getRecordId(), user.getUsername());
             }
         }
         return Result.OK();
     }
 
-    /**
-     * 回收站列表接口
-     */
+    /** 回收站列表接口 */
     @AutoLog(value = "adweb_enquiry-分页列表查询")
     @GetMapping(value = "/queryWasteEnquiryList")
-    public Result<?> queryWasteEnquiryList(Integer siteId,
-                                           String searchText,
-                                           String enquiryType,
-                                           @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                           @RequestParam(name = "pageSize", defaultValue = "1000") Integer pageSize) {
+    public Result<?> queryWasteEnquiryList(
+            Integer siteId,
+            String searchText,
+            String enquiryType,
+            @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+            @RequestParam(name = "pageSize", defaultValue = "1000") Integer pageSize) {
         if (sysAdwebApi.isNotOwnSite(siteId)) {
             return Result.OK(new Page<>());
         }
@@ -622,10 +664,19 @@ public class AdwebEnquiryController extends JeecgController<AdwebEnquiry, IAdweb
             siteCodeList = siteUserPermissionService.getSiteCodeListByUids(uidList);
         }
 
-        codeList = adwebSiteService.list(new LambdaQueryWrapper<AdwebSite>()
-                .eq(siteId != null, AdwebSite::getId, siteId)
-                .in(!sysAdwebApi.isAdmin(), AdwebSite::getCode, siteCodeList)
-                .ne(AdwebSite::getStatus, 0)).stream().map(AdwebSite::getCode).collect(Collectors.toList());
+        codeList =
+                adwebSiteService
+                        .list(
+                                new LambdaQueryWrapper<AdwebSite>()
+                                        .eq(siteId != null, AdwebSite::getId, siteId)
+                                        .in(
+                                                !sysAdwebApi.isAdmin(),
+                                                AdwebSite::getCode,
+                                                siteCodeList)
+                                        .ne(AdwebSite::getStatus, 0))
+                        .stream()
+                        .map(AdwebSite::getCode)
+                        .collect(Collectors.toList());
 
         String principalUid = null;
         if (sysAdwebApi.isAdwebSubVip()) {
@@ -635,7 +686,17 @@ public class AdwebEnquiryController extends JeecgController<AdwebEnquiry, IAdweb
             searchText = searchText.trim();
         }
         enquiryType = "(" + enquiryType + ")";
-        IPage<EnquiryListDto> pageList = adwebEnquiryMapper.queryWasteEnquiryList(page, codeList, "", enquiryType, searchText, null, null, null, principalUid);
+        IPage<EnquiryListDto> pageList =
+                adwebEnquiryMapper.queryWasteEnquiryList(
+                        page,
+                        codeList,
+                        "",
+                        enquiryType,
+                        searchText,
+                        null,
+                        null,
+                        null,
+                        principalUid);
         if (CollectionUtils.isNotEmpty(pageList.getRecords())) {
             dealInfo(pageList.getRecords());
             return Result.OK(pageList);
@@ -654,9 +715,9 @@ public class AdwebEnquiryController extends JeecgController<AdwebEnquiry, IAdweb
     public Result<?> refreshBatch(@RequestBody AdwebEnquiry adwebEnquiry) {
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
 
-        UpdateWrapper<AdwebEnquiry> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.in("id", adwebEnquiry.getNo().split(","));
-        updateWrapper.set("status", 1);
+        LambdaUpdateWrapper<AdwebEnquiry> updateWrapper = new LambdaUpdateWrapper<>();
+        updateWrapper.in(AdwebEnquiry::getId, adwebEnquiry.getNo().split(","));
+        updateWrapper.set(AdwebEnquiry::getStatus, 1);
         adwebEnquiryService.update(updateWrapper);
 
         return Result.OK("批量复原成功!");
@@ -671,37 +732,37 @@ public class AdwebEnquiryController extends JeecgController<AdwebEnquiry, IAdweb
     @GetMapping(value = "/delBatch")
     public Result<?> delBatch(@RequestParam("id") String id) {
 
-        UpdateWrapper<AdwebEnquiry> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.in("id", id.split(","));
-        updateWrapper.set("status", 0);
+        LambdaUpdateWrapper<AdwebEnquiry> updateWrapper = new LambdaUpdateWrapper<>();
+        updateWrapper.in(AdwebEnquiry::getId, id.split(","));
+        updateWrapper.set(AdwebEnquiry::getStatus, 0);
         this.adwebEnquiryService.update(updateWrapper);
         return Result.OK("批量删除成功!");
     }
 
     @GetMapping("/getWastedEnquiry")
-    public Result<List<EnquiryListDto>> getWastedEnquiry(EnquiryListSearchDto enquiryListSearchDto) {
-
-        List<EnquiryListDto> wasterEnquiries = adwebEnquiryMapper.getWastedEnquiry(
-                enquiryListSearchDto.getWasteEnquiryType()
-                , enquiryListSearchDto.getIp()
-                , enquiryListSearchDto.getEmail()
-                , enquiryListSearchDto.getKeyword()
-                , enquiryListSearchDto.getSearchText()
-                , enquiryListSearchDto.getType()
-                , enquiryListSearchDto.getSiteId()
-        );
+    public Result<List<EnquiryListDto>> getWastedEnquiry(
+            EnquiryListSearchDto enquiryListSearchDto) {
+
+        List<EnquiryListDto> wasterEnquiries =
+                adwebEnquiryMapper.getWastedEnquiry(
+                        enquiryListSearchDto.getWasteEnquiryType(),
+                        enquiryListSearchDto.getIp(),
+                        enquiryListSearchDto.getEmail(),
+                        enquiryListSearchDto.getKeyword(),
+                        enquiryListSearchDto.getSearchText(),
+                        enquiryListSearchDto.getType(),
+                        enquiryListSearchDto.getSiteId());
 
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
 
         return Result.OK(wasterEnquiries);
     }
 
-
     /**
      * 根据询盘信息创建邮件发送记录
      *
      * @param adwebEnquiry 询盘信息
-     * @param email        接收邮箱
+     * @param email 接收邮箱
      * @return
      */
     private static EnquiryEmailMessage newEmail(AdwebEnquiry adwebEnquiry, String email) {
@@ -716,5 +777,4 @@ public class AdwebEnquiryController extends JeecgController<AdwebEnquiry, IAdweb
 
         return enquiryEmailMessage;
     }
-
 }

+ 21 - 14
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/controller/AdwebEnquiryRecordController.java

@@ -3,12 +3,16 @@ package org.jeecg.modules.adweb.enquiry.controller;
 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.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+
 import jakarta.annotation.Resource;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
+
 import lombok.extern.slf4j.Slf4j;
+
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
@@ -37,13 +41,12 @@ import java.util.List;
 @RestController
 @RequestMapping("/adweb/adwebEnquiryRecord")
 @Slf4j
-public class AdwebEnquiryRecordController extends JeecgController<AdwebEnquiryRecord, IAdwebEnquiryRecordService> {
+public class AdwebEnquiryRecordController
+        extends JeecgController<AdwebEnquiryRecord, IAdwebEnquiryRecordService> {
 
-    @Autowired
-    private IAdwebEnquiryRecordService adwebEnquiryRecordService;
+    @Autowired private IAdwebEnquiryRecordService adwebEnquiryRecordService;
 
-    @Resource
-    private AdwebEnquiryRecordMapper adwebEnquiryRecordMapper;
+    @Resource private AdwebEnquiryRecordMapper adwebEnquiryRecordMapper;
 
     /**
      * 分页列表查询
@@ -57,11 +60,13 @@ public class AdwebEnquiryRecordController extends JeecgController<AdwebEnquiryRe
     @AutoLog(value = "adweb_enquiry_record-分页列表查询")
     @Operation(summary = "adweb_enquiry_record-分页列表查询")
     @GetMapping(value = "/list")
-    public Result<?> queryPageList(AdwebEnquiryRecord adwebEnquiryRecord,
-                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                   HttpServletRequest req) {
-        QueryWrapper<AdwebEnquiryRecord> queryWrapper = QueryGenerator.initQueryWrapper(adwebEnquiryRecord, req.getParameterMap());
+    public Result<?> queryPageList(
+            AdwebEnquiryRecord adwebEnquiryRecord,
+            @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+            @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+            HttpServletRequest req) {
+        QueryWrapper<AdwebEnquiryRecord> queryWrapper =
+                QueryGenerator.initQueryWrapper(adwebEnquiryRecord, req.getParameterMap());
         Page<AdwebEnquiryRecord> page = new Page<AdwebEnquiryRecord>(pageNo, pageSize);
         IPage<AdwebEnquiryRecord> pageList = adwebEnquiryRecordService.page(page, queryWrapper);
         return Result.OK(pageList);
@@ -74,7 +79,8 @@ public class AdwebEnquiryRecordController extends JeecgController<AdwebEnquiryRe
     @GetMapping(value = "/enquiryRecordList")
     public Result<?> enquiryRecordList(AdwebEnquiryRecord adwebEnquiryRecord) {
         QueryWrapper<AdwebEnquiryRecord> queryWrapper = new QueryWrapper<>();
-        List<AdwebEnquiryRecord> pageList = adwebEnquiryRecordMapper.getEnquiryRecord(adwebEnquiryRecord);
+        List<AdwebEnquiryRecord> pageList =
+                adwebEnquiryRecordMapper.getEnquiryRecord(adwebEnquiryRecord);
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
 
         return Result.OK(pageList);
@@ -172,8 +178,10 @@ public class AdwebEnquiryRecordController extends JeecgController<AdwebEnquiryRe
      * @param adwebEnquiryRecord
      */
     @RequestMapping(value = "/exportXls")
-    public ModelAndView exportXls(HttpServletRequest request, AdwebEnquiryRecord adwebEnquiryRecord) {
-        return super.exportXls(request, adwebEnquiryRecord, AdwebEnquiryRecord.class, "adweb_enquiry_record");
+    public ModelAndView exportXls(
+            HttpServletRequest request, AdwebEnquiryRecord adwebEnquiryRecord) {
+        return super.exportXls(
+                request, adwebEnquiryRecord, AdwebEnquiryRecord.class, "adweb_enquiry_record");
     }
 
     /**
@@ -189,5 +197,4 @@ public class AdwebEnquiryRecordController extends JeecgController<AdwebEnquiryRe
 
         return super.importExcel(request, response, AdwebEnquiryRecord.class);
     }
-
 }

+ 139 - 41
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/controller/AdwebPublicBlackEmailController.java

@@ -1,15 +1,19 @@
 package org.jeecg.modules.adweb.enquiry.controller;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+
 import jakarta.annotation.Resource;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
+
 import lombok.extern.slf4j.Slf4j;
+
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
 import org.jeecg.common.api.vo.Result;
@@ -36,18 +40,18 @@ import java.util.stream.Collectors;
 @RestController
 @RequestMapping("/adweb/enquiryPublicBlackEmail")
 @Slf4j
-public class AdwebPublicBlackEmailController extends JeecgController<AdwebPublicBlackEmail, IAdwebPublicBlackEmailService> {
-    @Autowired
-    private IAdwebPublicBlackEmailService adwebPublicBlackEmailService;
+public class AdwebPublicBlackEmailController
+        extends JeecgController<AdwebPublicBlackEmail, IAdwebPublicBlackEmailService> {
+    @Autowired private IAdwebPublicBlackEmailService adwebPublicBlackEmailService;
 
-    @Resource
-    private AdwebRedisUtil adwebRedisUtil;
+    @Resource private AdwebRedisUtil adwebRedisUtil;
 
     // Email Redis key
     private static final String EmailTenMinKey = "JUDGE_WASTE_ENQUIRY_EMAIL_BY_10_MIN::";
     private static final String EmailOneDayKey = "JUDGE_WASTE_ENQUIRY_EMAIL_BY_ONE_DAY::";
     private static final String BlackEmailKey = "BLACK_EMAIL_LIST";
-    private static final String NotBlackEmailWasteEnquiryKey = "NOT_BLACK_EMAIL_WASTE_ENQUIRY_MAP::";
+    private static final String NotBlackEmailWasteEnquiryKey =
+            "NOT_BLACK_EMAIL_WASTE_ENQUIRY_MAP::";
     private static final String WhiteEmailListKey = "WHITE_EMAIL_LIST";
 
     /**
@@ -62,19 +66,31 @@ public class AdwebPublicBlackEmailController extends JeecgController<AdwebPublic
     @AutoLog(value = "询盘公共邮箱黑名单-分页列表查询")
     @Operation(summary = "询盘公共邮箱黑名单-分页列表查询")
     @GetMapping(value = "/list")
-    public Result<?> queryPageList(AdwebPublicBlackEmail enquiryPublicBlackEmail,
-                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                   HttpServletRequest req) {
+    public Result<?> queryPageList(
+            AdwebPublicBlackEmail enquiryPublicBlackEmail,
+            @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+            @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+            HttpServletRequest req) {
         Page<AdwebPublicBlackEmail> page = new Page<>(pageNo, pageSize);
         String column = req.getParameter("column");
         String order = req.getParameter("order");
-        IPage<AdwebPublicBlackEmail> pageList = getPageList(page, enquiryPublicBlackEmail, column, order);
+        IPage<AdwebPublicBlackEmail> pageList =
+                getPageList(page, enquiryPublicBlackEmail, column, order);
         return Result.OK(pageList);
     }
 
-    public IPage<AdwebPublicBlackEmail> getPageList(Page<AdwebPublicBlackEmail> page, AdwebPublicBlackEmail enquiryPublicBlackEmail, String column, String order) {
-        IPage<AdwebPublicBlackEmail> pageList = adwebPublicBlackEmailService.pageList(page, enquiryPublicBlackEmail.getEmail(), enquiryPublicBlackEmail.getBlackOrWhite(), column, order);
+    public IPage<AdwebPublicBlackEmail> getPageList(
+            Page<AdwebPublicBlackEmail> page,
+            AdwebPublicBlackEmail enquiryPublicBlackEmail,
+            String column,
+            String order) {
+        IPage<AdwebPublicBlackEmail> pageList =
+                adwebPublicBlackEmailService.pageList(
+                        page,
+                        enquiryPublicBlackEmail.getEmail(),
+                        enquiryPublicBlackEmail.getBlackOrWhite(),
+                        column,
+                        order);
         return pageList;
     }
 
@@ -93,10 +109,17 @@ public class AdwebPublicBlackEmailController extends JeecgController<AdwebPublic
             return Result.error("邮箱不能为空");
         }
 
-        //将邮箱转换为小写
+        // 将邮箱转换为小写
         enquiryPublicBlackEmail.setEmail(enquiryPublicBlackEmail.getEmail().trim().toLowerCase());
 
-        int count = (int) adwebPublicBlackEmailService.count(new QueryWrapper<AdwebPublicBlackEmail>().ne("status", 0).eq("email", enquiryPublicBlackEmail.getEmail()));
+        int count =
+                (int)
+                        adwebPublicBlackEmailService.count(
+                                new LambdaQueryWrapper<AdwebPublicBlackEmail>()
+                                        .ne(AdwebPublicBlackEmail::getStatus, 0)
+                                        .eq(
+                                                AdwebPublicBlackEmail::getEmail,
+                                                enquiryPublicBlackEmail.getEmail()));
 
         if (count > 0) {
             return Result.error("邮箱已存在");
@@ -105,18 +128,32 @@ public class AdwebPublicBlackEmailController extends JeecgController<AdwebPublic
         enquiryPublicBlackEmail.setStatus(1);
         adwebPublicBlackEmailService.save(enquiryPublicBlackEmail);
 
-        List<AdwebPublicBlackEmail> emailList = adwebPublicBlackEmailService.list(new QueryWrapper<AdwebPublicBlackEmail>().ne("status", 0).eq("black_or_white", 0));
+        List<AdwebPublicBlackEmail> emailList =
+                adwebPublicBlackEmailService.list(
+                        new LambdaQueryWrapper<AdwebPublicBlackEmail>()
+                                .ne(AdwebPublicBlackEmail::getStatus, 0)
+                                .eq(AdwebPublicBlackEmail::getBlackOrWhite, 0));
 
         if (CollectionUtils.isNotEmpty(emailList)) {
-            List<String> collect = emailList.stream().map(AdwebPublicBlackEmail::getEmail).collect(Collectors.toList());
+            List<String> collect =
+                    emailList.stream()
+                            .map(AdwebPublicBlackEmail::getEmail)
+                            .collect(Collectors.toList());
             adwebRedisUtil.set(BlackEmailKey, collect, 60 * 60 * 24);
         } else {
             adwebRedisUtil.del(BlackEmailKey);
         }
-        List<AdwebPublicBlackEmail> whiteEmailList = adwebPublicBlackEmailService.list(new QueryWrapper<AdwebPublicBlackEmail>().ne("status", 0).eq("black_or_white", 1));
+        List<AdwebPublicBlackEmail> whiteEmailList =
+                adwebPublicBlackEmailService.list(
+                        new LambdaQueryWrapper<AdwebPublicBlackEmail>()
+                                .ne(AdwebPublicBlackEmail::getStatus, 0)
+                                .eq(AdwebPublicBlackEmail::getBlackOrWhite, 1));
 
         if (CollectionUtils.isNotEmpty(whiteEmailList)) {
-            List<String> collect = whiteEmailList.stream().map(AdwebPublicBlackEmail::getEmail).collect(Collectors.toList());
+            List<String> collect =
+                    whiteEmailList.stream()
+                            .map(AdwebPublicBlackEmail::getEmail)
+                            .collect(Collectors.toList());
             adwebRedisUtil.set(WhiteEmailListKey, collect, 60 * 60 * 24);
         } else {
             adwebRedisUtil.del(WhiteEmailListKey);
@@ -139,10 +176,20 @@ public class AdwebPublicBlackEmailController extends JeecgController<AdwebPublic
             return Result.error("邮箱不能为空");
         }
 
-        //将邮箱转换为小写
+        // 将邮箱转换为小写
         enquiryPublicBlackEmail.setEmail(enquiryPublicBlackEmail.getEmail().trim().toLowerCase());
 
-        int count = (int) adwebPublicBlackEmailService.count(new QueryWrapper<AdwebPublicBlackEmail>().ne("status", 0).eq("email", enquiryPublicBlackEmail.getEmail()).ne("id", enquiryPublicBlackEmail.getId()));
+        int count =
+                (int)
+                        adwebPublicBlackEmailService.count(
+                                new LambdaQueryWrapper<AdwebPublicBlackEmail>()
+                                        .ne(AdwebPublicBlackEmail::getStatus, 0)
+                                        .eq(
+                                                AdwebPublicBlackEmail::getEmail,
+                                                enquiryPublicBlackEmail.getEmail())
+                                        .ne(
+                                                AdwebPublicBlackEmail::getId,
+                                                enquiryPublicBlackEmail.getId()));
 
         if (count > 0) {
             return Result.error("邮箱已存在");
@@ -150,18 +197,32 @@ public class AdwebPublicBlackEmailController extends JeecgController<AdwebPublic
 
         adwebPublicBlackEmailService.updateById(enquiryPublicBlackEmail);
 
-        List<AdwebPublicBlackEmail> emailList = adwebPublicBlackEmailService.list(new QueryWrapper<AdwebPublicBlackEmail>().ne("status", 0).eq("black_or_white", 0));
+        List<AdwebPublicBlackEmail> emailList =
+                adwebPublicBlackEmailService.list(
+                        new LambdaQueryWrapper<AdwebPublicBlackEmail>()
+                                .ne(AdwebPublicBlackEmail::getStatus, 0)
+                                .eq(AdwebPublicBlackEmail::getBlackOrWhite, 0));
 
         if (CollectionUtils.isNotEmpty(emailList)) {
-            List<String> collect = emailList.stream().map(AdwebPublicBlackEmail::getEmail).collect(Collectors.toList());
+            List<String> collect =
+                    emailList.stream()
+                            .map(AdwebPublicBlackEmail::getEmail)
+                            .collect(Collectors.toList());
             adwebRedisUtil.set(BlackEmailKey, collect, 60 * 60 * 24);
         } else {
             adwebRedisUtil.del(BlackEmailKey);
         }
-        List<AdwebPublicBlackEmail> whiteEmailList = adwebPublicBlackEmailService.list(new QueryWrapper<AdwebPublicBlackEmail>().ne("status", 0).eq("black_or_white", 1));
+        List<AdwebPublicBlackEmail> whiteEmailList =
+                adwebPublicBlackEmailService.list(
+                        new LambdaQueryWrapper<AdwebPublicBlackEmail>()
+                                .ne(AdwebPublicBlackEmail::getStatus, 0)
+                                .eq(AdwebPublicBlackEmail::getBlackOrWhite, 1));
 
         if (CollectionUtils.isNotEmpty(whiteEmailList)) {
-            List<String> collect = whiteEmailList.stream().map(AdwebPublicBlackEmail::getEmail).collect(Collectors.toList());
+            List<String> collect =
+                    whiteEmailList.stream()
+                            .map(AdwebPublicBlackEmail::getEmail)
+                            .collect(Collectors.toList());
             adwebRedisUtil.set(WhiteEmailListKey, collect, 60 * 60 * 24);
         } else {
             adwebRedisUtil.del(WhiteEmailListKey);
@@ -198,18 +259,32 @@ public class AdwebPublicBlackEmailController extends JeecgController<AdwebPublic
         adwebRedisUtil.del(EmailOneDayKey + enquiryPublicBlackEmail.getEmail());
         adwebRedisUtil.del(NotBlackEmailWasteEnquiryKey + enquiryPublicBlackEmail.getEmail());
 
-        List<AdwebPublicBlackEmail> emailList = adwebPublicBlackEmailService.list(new QueryWrapper<AdwebPublicBlackEmail>().ne("status", 0).eq("black_or_white", 0));
+        List<AdwebPublicBlackEmail> emailList =
+                adwebPublicBlackEmailService.list(
+                        new LambdaQueryWrapper<AdwebPublicBlackEmail>()
+                                .ne(AdwebPublicBlackEmail::getStatus, 0)
+                                .eq(AdwebPublicBlackEmail::getBlackOrWhite, 0));
 
         if (CollectionUtils.isNotEmpty(emailList)) {
-            List<String> collect = emailList.stream().map(AdwebPublicBlackEmail::getEmail).collect(Collectors.toList());
+            List<String> collect =
+                    emailList.stream()
+                            .map(AdwebPublicBlackEmail::getEmail)
+                            .collect(Collectors.toList());
             adwebRedisUtil.set(BlackEmailKey, collect, 60 * 60 * 24);
         } else {
             adwebRedisUtil.del(BlackEmailKey);
         }
-        List<AdwebPublicBlackEmail> whiteEmailList = adwebPublicBlackEmailService.list(new QueryWrapper<AdwebPublicBlackEmail>().ne("status", 0).eq("black_or_white", 1));
+        List<AdwebPublicBlackEmail> whiteEmailList =
+                adwebPublicBlackEmailService.list(
+                        new LambdaQueryWrapper<AdwebPublicBlackEmail>()
+                                .ne(AdwebPublicBlackEmail::getStatus, 0)
+                                .eq(AdwebPublicBlackEmail::getBlackOrWhite, 1));
 
         if (CollectionUtils.isNotEmpty(whiteEmailList)) {
-            List<String> collect = whiteEmailList.stream().map(AdwebPublicBlackEmail::getEmail).collect(Collectors.toList());
+            List<String> collect =
+                    whiteEmailList.stream()
+                            .map(AdwebPublicBlackEmail::getEmail)
+                            .collect(Collectors.toList());
             adwebRedisUtil.set(WhiteEmailListKey, collect, 60 * 60 * 24);
         } else {
             adwebRedisUtil.del(WhiteEmailListKey);
@@ -235,32 +310,54 @@ public class AdwebPublicBlackEmailController extends JeecgController<AdwebPublic
 
         List<String> idList = Arrays.asList(ids.split(","));
 
-        List<AdwebPublicBlackEmail> list = adwebPublicBlackEmailService.list(new QueryWrapper<AdwebPublicBlackEmail>().in("id", idList).ne("status", 0));
+        List<AdwebPublicBlackEmail> list =
+                adwebPublicBlackEmailService.list(
+                        new LambdaQueryWrapper<AdwebPublicBlackEmail>()
+                                .in(AdwebPublicBlackEmail::getId, idList)
+                                .ne(AdwebPublicBlackEmail::getStatus, 0));
 
         if (list.isEmpty()) {
             return Result.error("未找到对应数据");
         }
 
-        boolean update = adwebPublicBlackEmailService.update(new UpdateWrapper<AdwebPublicBlackEmail>().in("id", idList).set("status", 0));
+        boolean update =
+                adwebPublicBlackEmailService.update(
+                        new LambdaUpdateWrapper<AdwebPublicBlackEmail>()
+                                .in(AdwebPublicBlackEmail::getId, idList)
+                                .set(AdwebPublicBlackEmail::getStatus, 0));
 
-        //删除redis中的数据
+        // 删除redis中的数据
         for (AdwebPublicBlackEmail enquiryPublicBlackEmail : list) {
             adwebRedisUtil.del(EmailTenMinKey + enquiryPublicBlackEmail.getEmail());
             adwebRedisUtil.del(EmailOneDayKey + enquiryPublicBlackEmail.getEmail());
             adwebRedisUtil.del(NotBlackEmailWasteEnquiryKey + enquiryPublicBlackEmail.getEmail());
         }
-        List<AdwebPublicBlackEmail> emailList = adwebPublicBlackEmailService.list(new QueryWrapper<AdwebPublicBlackEmail>().ne("status", 0).eq("black_or_white", 0));
+        List<AdwebPublicBlackEmail> emailList =
+                adwebPublicBlackEmailService.list(
+                        new LambdaQueryWrapper<AdwebPublicBlackEmail>()
+                                .ne(AdwebPublicBlackEmail::getStatus, 0)
+                                .eq(AdwebPublicBlackEmail::getBlackOrWhite, 0));
 
         if (emailList != null) {
-            List<String> collect = emailList.stream().map(AdwebPublicBlackEmail::getEmail).collect(Collectors.toList());
+            List<String> collect =
+                    emailList.stream()
+                            .map(AdwebPublicBlackEmail::getEmail)
+                            .collect(Collectors.toList());
             adwebRedisUtil.set(BlackEmailKey, collect, 60 * 60 * 24);
         } else {
             adwebRedisUtil.del(BlackEmailKey);
         }
-        List<AdwebPublicBlackEmail> whiteEmailList = adwebPublicBlackEmailService.list(new QueryWrapper<AdwebPublicBlackEmail>().ne("status", 0).eq("black_or_white", 1));
+        List<AdwebPublicBlackEmail> whiteEmailList =
+                adwebPublicBlackEmailService.list(
+                        new LambdaQueryWrapper<AdwebPublicBlackEmail>()
+                                .ne(AdwebPublicBlackEmail::getStatus, 0)
+                                .eq(AdwebPublicBlackEmail::getBlackOrWhite, 1));
 
         if (whiteEmailList != null) {
-            List<String> collect = whiteEmailList.stream().map(AdwebPublicBlackEmail::getEmail).collect(Collectors.toList());
+            List<String> collect =
+                    whiteEmailList.stream()
+                            .map(AdwebPublicBlackEmail::getEmail)
+                            .collect(Collectors.toList());
             adwebRedisUtil.set(WhiteEmailListKey, collect, 60 * 60 * 24);
         } else {
             adwebRedisUtil.del(WhiteEmailListKey);
@@ -299,8 +396,10 @@ public class AdwebPublicBlackEmailController extends JeecgController<AdwebPublic
      * @param enquiryPublicBlackEmail
      */
     @RequestMapping(value = "/exportXls")
-    public ModelAndView exportXls(HttpServletRequest request, AdwebPublicBlackEmail enquiryPublicBlackEmail) {
-        return super.exportXls(request, enquiryPublicBlackEmail, AdwebPublicBlackEmail.class, "询盘公共邮箱黑名单");
+    public ModelAndView exportXls(
+            HttpServletRequest request, AdwebPublicBlackEmail enquiryPublicBlackEmail) {
+        return super.exportXls(
+                request, enquiryPublicBlackEmail, AdwebPublicBlackEmail.class, "询盘公共邮箱黑名单");
     }
 
     /**
@@ -314,5 +413,4 @@ public class AdwebPublicBlackEmailController extends JeecgController<AdwebPublic
     public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
         return super.importExcel(request, response, AdwebPublicBlackEmail.class);
     }
-
 }

+ 122 - 36
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/controller/AdwebPublicBlackIpController.java

@@ -1,15 +1,19 @@
 package org.jeecg.modules.adweb.enquiry.controller;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+
 import jakarta.annotation.Resource;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
+
 import lombok.extern.slf4j.Slf4j;
+
 import org.apache.commons.collections4.CollectionUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
@@ -34,13 +38,12 @@ import java.util.stream.Collectors;
 @RestController
 @RequestMapping("/blackip/adwebBlackIp")
 @Slf4j
-public class AdwebPublicBlackIpController extends JeecgController<AdwebPublicBlackIp, IAdwebPublicBlackIpService> {
+public class AdwebPublicBlackIpController
+        extends JeecgController<AdwebPublicBlackIp, IAdwebPublicBlackIpService> {
 
-    @Resource
-    private IAdwebPublicBlackIpService adwebBlackIpService;
+    @Resource private IAdwebPublicBlackIpService adwebBlackIpService;
 
-    @Resource
-    private AdwebRedisUtil adwebRedisUtil;
+    @Resource private AdwebRedisUtil adwebRedisUtil;
 
     private static final String IpTenMinKey = "JUDGE_WASTE_ENQUIRY_IP_BY_10_MIN::";
     private static final String IpOneDayKey = "JUDGE_WASTE_ENQUIRY_IP_BY_ONE_DAY::";
@@ -60,14 +63,17 @@ public class AdwebPublicBlackIpController extends JeecgController<AdwebPublicBla
     @AutoLog(value = "IP黑名单-分页列表查询")
     @Operation(summary = "IP黑名单-分页列表查询")
     @GetMapping(value = "/list")
-    public Result<?> queryPageList(AdwebPublicBlackIp adwebBlackIp,
-                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                   HttpServletRequest req) {
+    public Result<?> queryPageList(
+            AdwebPublicBlackIp adwebBlackIp,
+            @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+            @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+            HttpServletRequest req) {
         Page<AdwebPublicBlackIp> page = new Page<AdwebPublicBlackIp>(pageNo, pageSize);
         String column = req.getParameter("column");
         String order = req.getParameter("order");
-        IPage<AdwebPublicBlackIp> pageList = adwebBlackIpService.pageList(page, adwebBlackIp.getIp(), adwebBlackIp.getBlackOrWhite(), column, order);
+        IPage<AdwebPublicBlackIp> pageList =
+                adwebBlackIpService.pageList(
+                        page, adwebBlackIp.getIp(), adwebBlackIp.getBlackOrWhite(), column, order);
         return Result.OK(pageList);
     }
 
@@ -89,7 +95,12 @@ public class AdwebPublicBlackIpController extends JeecgController<AdwebPublicBla
             return Result.error("IP长度不能超过15");
         }
 
-        int count = (int) adwebBlackIpService.count(new QueryWrapper<AdwebPublicBlackIp>().eq("ip", adwebBlackIp.getIp()).eq("status", 1));
+        int count =
+                (int)
+                        adwebBlackIpService.count(
+                                new LambdaQueryWrapper<AdwebPublicBlackIp>()
+                                        .eq(AdwebPublicBlackIp::getIp, adwebBlackIp.getIp())
+                                        .eq(AdwebPublicBlackIp::getStatus, 1));
 
         if (count > 0) {
             return Result.error("该IP已存在");
@@ -97,19 +108,33 @@ public class AdwebPublicBlackIpController extends JeecgController<AdwebPublicBla
 
         adwebBlackIp.setStatus(1);
         adwebBlackIpService.save(adwebBlackIp);
-        List<AdwebPublicBlackIp> blackIpList = adwebBlackIpService.list(new QueryWrapper<AdwebPublicBlackIp>().eq("status", 1).eq("black_or_white", 0));
+        List<AdwebPublicBlackIp> blackIpList =
+                adwebBlackIpService.list(
+                        new LambdaQueryWrapper<AdwebPublicBlackIp>()
+                                .eq(AdwebPublicBlackIp::getStatus, 1)
+                                .eq(AdwebPublicBlackIp::getBlackOrWhite, 0));
 
         if (CollectionUtils.isNotEmpty(blackIpList)) {
-            List<String> collect = blackIpList.stream().map(AdwebPublicBlackIp::getIp).collect(Collectors.toList());
+            List<String> collect =
+                    blackIpList.stream()
+                            .map(AdwebPublicBlackIp::getIp)
+                            .collect(Collectors.toList());
             adwebRedisUtil.set(BlackIpKey, collect, 60 * 60 * 24);
         } else {
             adwebRedisUtil.del(BlackIpKey);
         }
 
-        List<AdwebPublicBlackIp> whiteIpList = adwebBlackIpService.list(new QueryWrapper<AdwebPublicBlackIp>().eq("status", 1).eq("black_or_white", 1));
+        List<AdwebPublicBlackIp> whiteIpList =
+                adwebBlackIpService.list(
+                        new LambdaQueryWrapper<AdwebPublicBlackIp>()
+                                .eq(AdwebPublicBlackIp::getStatus, 1)
+                                .eq(AdwebPublicBlackIp::getBlackOrWhite, 1));
 
         if (CollectionUtils.isNotEmpty(whiteIpList)) {
-            List<String> collect = whiteIpList.stream().map(AdwebPublicBlackIp::getIp).collect(Collectors.toList());
+            List<String> collect =
+                    whiteIpList.stream()
+                            .map(AdwebPublicBlackIp::getIp)
+                            .collect(Collectors.toList());
             adwebRedisUtil.set(WhiteIpListKey, collect, 60 * 60 * 24);
         } else {
             adwebRedisUtil.del(WhiteIpListKey);
@@ -135,7 +160,13 @@ public class AdwebPublicBlackIpController extends JeecgController<AdwebPublicBla
             return Result.error("IP长度不能超过15");
         }
 
-        int count = (int) adwebBlackIpService.count(new QueryWrapper<AdwebPublicBlackIp>().eq("ip", adwebBlackIp.getIp()).eq("status", 1).ne("id", adwebBlackIp.getId()));
+        int count =
+                (int)
+                        adwebBlackIpService.count(
+                                new LambdaQueryWrapper<AdwebPublicBlackIp>()
+                                        .eq(AdwebPublicBlackIp::getIp, adwebBlackIp.getIp())
+                                        .eq(AdwebPublicBlackIp::getStatus, 1)
+                                        .ne(AdwebPublicBlackIp::getId, adwebBlackIp.getId()));
 
         if (count > 0) {
             return Result.error("该IP已存在");
@@ -143,19 +174,33 @@ public class AdwebPublicBlackIpController extends JeecgController<AdwebPublicBla
 
         adwebBlackIpService.updateById(adwebBlackIp);
 
-        List<AdwebPublicBlackIp> blackIpList = adwebBlackIpService.list(new QueryWrapper<AdwebPublicBlackIp>().eq("status", 1).eq("black_or_white", 0));
+        List<AdwebPublicBlackIp> blackIpList =
+                adwebBlackIpService.list(
+                        new LambdaQueryWrapper<AdwebPublicBlackIp>()
+                                .eq(AdwebPublicBlackIp::getStatus, 1)
+                                .eq(AdwebPublicBlackIp::getBlackOrWhite, 0));
 
         if (CollectionUtils.isNotEmpty(blackIpList)) {
-            List<String> collect = blackIpList.stream().map(AdwebPublicBlackIp::getIp).collect(Collectors.toList());
+            List<String> collect =
+                    blackIpList.stream()
+                            .map(AdwebPublicBlackIp::getIp)
+                            .collect(Collectors.toList());
             adwebRedisUtil.set(BlackIpKey, collect, 60 * 60 * 24);
         } else {
             adwebRedisUtil.del(BlackIpKey);
         }
 
-        List<AdwebPublicBlackIp> whiteIpList = adwebBlackIpService.list(new QueryWrapper<AdwebPublicBlackIp>().eq("status", 1).eq("black_or_white", 1));
+        List<AdwebPublicBlackIp> whiteIpList =
+                adwebBlackIpService.list(
+                        new LambdaQueryWrapper<AdwebPublicBlackIp>()
+                                .eq(AdwebPublicBlackIp::getStatus, 1)
+                                .eq(AdwebPublicBlackIp::getBlackOrWhite, 1));
 
         if (CollectionUtils.isNotEmpty(whiteIpList)) {
-            List<String> collect = whiteIpList.stream().map(AdwebPublicBlackIp::getIp).collect(Collectors.toList());
+            List<String> collect =
+                    whiteIpList.stream()
+                            .map(AdwebPublicBlackIp::getIp)
+                            .collect(Collectors.toList());
             adwebRedisUtil.set(WhiteIpListKey, collect, 60 * 60 * 24);
         } else {
             adwebRedisUtil.del(WhiteIpListKey);
@@ -178,7 +223,11 @@ public class AdwebPublicBlackIpController extends JeecgController<AdwebPublicBla
             return Result.error("ID不能为空");
         }
 
-        List<AdwebPublicBlackIp> list = adwebBlackIpService.list(new QueryWrapper<AdwebPublicBlackIp>().eq("id", id).eq("status", 1));
+        List<AdwebPublicBlackIp> list =
+                adwebBlackIpService.list(
+                        new LambdaQueryWrapper<AdwebPublicBlackIp>()
+                                .eq(AdwebPublicBlackIp::getId, id)
+                                .eq(AdwebPublicBlackIp::getStatus, 1));
 
         if (list.size() == 0) {
             return Result.error("该IP不存在");
@@ -193,19 +242,33 @@ public class AdwebPublicBlackIpController extends JeecgController<AdwebPublicBla
         adwebRedisUtil.del(IpOneDayKey + adwebBlackIp.getIp());
         adwebRedisUtil.del(NotBlackIpWasteEnquiryKey + adwebBlackIp.getIp());
 
-        List<AdwebPublicBlackIp> blackIpList = adwebBlackIpService.list(new QueryWrapper<AdwebPublicBlackIp>().eq("status", 1).eq("black_or_white", 0));
+        List<AdwebPublicBlackIp> blackIpList =
+                adwebBlackIpService.list(
+                        new LambdaQueryWrapper<AdwebPublicBlackIp>()
+                                .eq(AdwebPublicBlackIp::getStatus, 1)
+                                .eq(AdwebPublicBlackIp::getBlackOrWhite, 0));
 
         if (CollectionUtils.isNotEmpty(blackIpList)) {
-            List<String> collect = blackIpList.stream().map(AdwebPublicBlackIp::getIp).collect(Collectors.toList());
+            List<String> collect =
+                    blackIpList.stream()
+                            .map(AdwebPublicBlackIp::getIp)
+                            .collect(Collectors.toList());
             adwebRedisUtil.set(BlackIpKey, collect, 60 * 60 * 24);
         } else {
             adwebRedisUtil.del(BlackIpKey);
         }
 
-        List<AdwebPublicBlackIp> whiteIpList = adwebBlackIpService.list(new QueryWrapper<AdwebPublicBlackIp>().eq("status", 1).eq("black_or_white", 1));
+        List<AdwebPublicBlackIp> whiteIpList =
+                adwebBlackIpService.list(
+                        new LambdaQueryWrapper<AdwebPublicBlackIp>()
+                                .eq(AdwebPublicBlackIp::getStatus, 1)
+                                .eq(AdwebPublicBlackIp::getBlackOrWhite, 1));
 
         if (CollectionUtils.isNotEmpty(whiteIpList)) {
-            List<String> collect = whiteIpList.stream().map(AdwebPublicBlackIp::getIp).collect(Collectors.toList());
+            List<String> collect =
+                    whiteIpList.stream()
+                            .map(AdwebPublicBlackIp::getIp)
+                            .collect(Collectors.toList());
             adwebRedisUtil.set(WhiteIpListKey, collect, 60 * 60 * 24);
         } else {
             adwebRedisUtil.del(WhiteIpListKey);
@@ -230,13 +293,20 @@ public class AdwebPublicBlackIpController extends JeecgController<AdwebPublicBla
         }
         List<String> idList = Arrays.asList(ids.split(","));
 
-        List<AdwebPublicBlackIp> list = adwebBlackIpService.list(new QueryWrapper<AdwebPublicBlackIp>().eq("status", 1).in("id", idList));
+        List<AdwebPublicBlackIp> list =
+                adwebBlackIpService.list(
+                        new LambdaQueryWrapper<AdwebPublicBlackIp>()
+                                .eq(AdwebPublicBlackIp::getStatus, 1)
+                                .in(AdwebPublicBlackIp::getId, idList));
 
         if (list.size() == 0) {
             return Result.error("该IP不存在");
         }
 
-        adwebBlackIpService.update(new UpdateWrapper<AdwebPublicBlackIp>().in("id", idList).set("status", 0));
+        adwebBlackIpService.update(
+                new LambdaUpdateWrapper<AdwebPublicBlackIp>()
+                        .in(AdwebPublicBlackIp::getId, idList)
+                        .set(AdwebPublicBlackIp::getStatus, 0));
 
         for (AdwebPublicBlackIp adwebBlackIp : list) {
             adwebRedisUtil.del(IpTenMinKey + adwebBlackIp.getIp());
@@ -244,25 +314,38 @@ public class AdwebPublicBlackIpController extends JeecgController<AdwebPublicBla
             adwebRedisUtil.del(NotBlackIpWasteEnquiryKey + adwebBlackIp.getIp());
         }
 
-        List<AdwebPublicBlackIp> blackIpList = adwebBlackIpService.list(new QueryWrapper<AdwebPublicBlackIp>().eq("status", 1).eq("black_or_white", 0));
+        List<AdwebPublicBlackIp> blackIpList =
+                adwebBlackIpService.list(
+                        new LambdaQueryWrapper<AdwebPublicBlackIp>()
+                                .eq(AdwebPublicBlackIp::getStatus, 1)
+                                .eq(AdwebPublicBlackIp::getBlackOrWhite, 0));
 
         if (CollectionUtils.isNotEmpty(blackIpList)) {
-            List<String> collect = blackIpList.stream().map(AdwebPublicBlackIp::getIp).collect(Collectors.toList());
+            List<String> collect =
+                    blackIpList.stream()
+                            .map(AdwebPublicBlackIp::getIp)
+                            .collect(Collectors.toList());
             adwebRedisUtil.set(BlackIpKey, collect, 60 * 60 * 24);
         } else {
             adwebRedisUtil.del(BlackIpKey);
         }
 
-        List<AdwebPublicBlackIp> whiteIpList = adwebBlackIpService.list(new QueryWrapper<AdwebPublicBlackIp>().eq("status", 1).eq("black_or_white", 1));
+        List<AdwebPublicBlackIp> whiteIpList =
+                adwebBlackIpService.list(
+                        new LambdaQueryWrapper<AdwebPublicBlackIp>()
+                                .eq(AdwebPublicBlackIp::getStatus, 1)
+                                .eq(AdwebPublicBlackIp::getBlackOrWhite, 1));
 
         if (CollectionUtils.isNotEmpty(whiteIpList)) {
-            List<String> collect = whiteIpList.stream().map(AdwebPublicBlackIp::getIp).collect(Collectors.toList());
+            List<String> collect =
+                    whiteIpList.stream()
+                            .map(AdwebPublicBlackIp::getIp)
+                            .collect(Collectors.toList());
             adwebRedisUtil.set(WhiteIpListKey, collect, 60 * 60 * 24);
         } else {
             adwebRedisUtil.del(WhiteIpListKey);
         }
 
-
         return Result.OK("批量删除成功!");
     }
 
@@ -281,7 +364,11 @@ public class AdwebPublicBlackIpController extends JeecgController<AdwebPublicBla
             return Result.error("ID不能为空");
         }
 
-        List<AdwebPublicBlackIp> list = adwebBlackIpService.list(new QueryWrapper<AdwebPublicBlackIp>().eq("id", id).eq("status", 1));
+        List<AdwebPublicBlackIp> list =
+                adwebBlackIpService.list(
+                        new LambdaQueryWrapper<AdwebPublicBlackIp>()
+                                .eq(AdwebPublicBlackIp::getId, id)
+                                .eq(AdwebPublicBlackIp::getStatus, 1));
 
         if (list.size() == 0) {
             return Result.error("该IP不存在");
@@ -312,5 +399,4 @@ public class AdwebPublicBlackIpController extends JeecgController<AdwebPublicBla
     public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
         return super.importExcel(request, response, AdwebPublicBlackIp.class);
     }
-
 }

+ 124 - 40
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/controller/AdwebPublicEnquriyRuleController.java

@@ -4,17 +4,22 @@ import cn.hutool.core.io.IoUtil;
 import cn.hutool.poi.excel.ExcelReader;
 import cn.hutool.poi.excel.ExcelUtil;
 import cn.hutool.poi.excel.ExcelWriter;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+
 import jakarta.annotation.Resource;
 import jakarta.servlet.ServletOutputStream;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
+
 import lombok.extern.slf4j.Slf4j;
+
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.poi.ss.usermodel.Sheet;
@@ -44,9 +49,9 @@ import java.util.stream.Collectors;
 @RestController
 @RequestMapping("/adweb/adwebEnquiryRule")
 @Slf4j
-public class AdwebPublicEnquriyRuleController extends JeecgController<AdwebPublicEnquiryRule, IAdwebPublicEnquiryRuleService> {
-    @Resource
-    private IAdwebPublicEnquiryRuleService adwebEnquiryRuleService;
+public class AdwebPublicEnquriyRuleController
+        extends JeecgController<AdwebPublicEnquiryRule, IAdwebPublicEnquiryRuleService> {
+    @Resource private IAdwebPublicEnquiryRuleService adwebEnquiryRuleService;
 
     /**
      * 分页列表查询
@@ -60,10 +65,11 @@ public class AdwebPublicEnquriyRuleController extends JeecgController<AdwebPubli
     @AutoLog(value = "用于询盘规则过滤-分页列表查询")
     @Operation(summary = "用于询盘规则过滤-分页列表查询")
     @GetMapping(value = "/list")
-    public Result<?> queryPageList(AdwebPublicEnquiryRule adwebEnquiryRule,
-                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                   HttpServletRequest req) {
+    public Result<?> queryPageList(
+            AdwebPublicEnquiryRule adwebEnquiryRule,
+            @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+            @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+            HttpServletRequest req) {
         Page<AdwebPublicEnquiryRule> page = new Page<AdwebPublicEnquiryRule>(pageNo, pageSize);
         String column = req.getParameter("column");
         String order = req.getParameter("order");
@@ -71,8 +77,20 @@ public class AdwebPublicEnquriyRuleController extends JeecgController<AdwebPubli
         return Result.OK(pageList);
     }
 
-    public IPage<AdwebPublicEnquiryRule> getPageList(Page<AdwebPublicEnquiryRule> page, AdwebPublicEnquiryRule adwebEnquiryRule, String column, String order) {
-        IPage<AdwebPublicEnquiryRule> pageList = adwebEnquiryRuleService.pageList(page, adwebEnquiryRule.getWord(), adwebEnquiryRule.getBlackOrWhiteList(), adwebEnquiryRule.getIsEnable(), adwebEnquiryRule.getUseStatus(), column, order);
+    public IPage<AdwebPublicEnquiryRule> getPageList(
+            Page<AdwebPublicEnquiryRule> page,
+            AdwebPublicEnquiryRule adwebEnquiryRule,
+            String column,
+            String order) {
+        IPage<AdwebPublicEnquiryRule> pageList =
+                adwebEnquiryRuleService.pageList(
+                        page,
+                        adwebEnquiryRule.getWord(),
+                        adwebEnquiryRule.getBlackOrWhiteList(),
+                        adwebEnquiryRule.getIsEnable(),
+                        adwebEnquiryRule.getUseStatus(),
+                        column,
+                        order);
         return pageList;
     }
 
@@ -90,9 +108,20 @@ public class AdwebPublicEnquriyRuleController extends JeecgController<AdwebPubli
             return Result.error("规则关键词不能为空");
         }
 
-        adwebEnquiryRule.setWord(adwebEnquiryRule.getWord().replaceAll(" {2,}", " ").trim().toLowerCase());
-
-        int count = (int) adwebEnquiryRuleService.count(new QueryWrapper<AdwebPublicEnquiryRule>().eq("word", adwebEnquiryRule.getWord()).ne("status", 0).eq("use_status", adwebEnquiryRule.getUseStatus()));
+        adwebEnquiryRule.setWord(
+                adwebEnquiryRule.getWord().replaceAll(" {2,}", " ").trim().toLowerCase());
+
+        int count =
+                (int)
+                        adwebEnquiryRuleService.count(
+                                new LambdaQueryWrapper<AdwebPublicEnquiryRule>()
+                                        .eq(
+                                                AdwebPublicEnquiryRule::getWord,
+                                                adwebEnquiryRule.getWord())
+                                        .ne(AdwebPublicEnquiryRule::getStatus, 0)
+                                        .eq(
+                                                AdwebPublicEnquiryRule::getUseStatus,
+                                                adwebEnquiryRule.getUseStatus()));
         if (count > 0) {
             return Result.error("规则关键词已存在");
         }
@@ -116,9 +145,21 @@ public class AdwebPublicEnquriyRuleController extends JeecgController<AdwebPubli
             return Result.error("规则关键词不能为空");
         }
 
-        adwebEnquiryRule.setWord(adwebEnquiryRule.getWord().replaceAll(" {2,}", " ").trim().toLowerCase());
-
-        int count = (int) adwebEnquiryRuleService.count(new QueryWrapper<AdwebPublicEnquiryRule>().eq("word", adwebEnquiryRule.getWord()).ne("status", 0).ne("id", adwebEnquiryRule.getId()).eq("use_status", adwebEnquiryRule.getUseStatus()));
+        adwebEnquiryRule.setWord(
+                adwebEnquiryRule.getWord().replaceAll(" {2,}", " ").trim().toLowerCase());
+
+        int count =
+                (int)
+                        adwebEnquiryRuleService.count(
+                                new LambdaQueryWrapper<AdwebPublicEnquiryRule>()
+                                        .eq(
+                                                AdwebPublicEnquiryRule::getWord,
+                                                adwebEnquiryRule.getWord())
+                                        .ne(AdwebPublicEnquiryRule::getStatus, 0)
+                                        .ne(AdwebPublicEnquiryRule::getId, adwebEnquiryRule.getId())
+                                        .eq(
+                                                AdwebPublicEnquiryRule::getUseStatus,
+                                                adwebEnquiryRule.getUseStatus()));
 
         if (count > 0) {
             return Result.error("规则关键词已存在");
@@ -142,7 +183,11 @@ public class AdwebPublicEnquriyRuleController extends JeecgController<AdwebPubli
         if (id == null) {
             return Result.error("参数不识别!");
         }
-        boolean update = adwebEnquiryRuleService.update(new UpdateWrapper<AdwebPublicEnquiryRule>().set("status", 0).eq("id", id));
+        boolean update =
+                adwebEnquiryRuleService.update(
+                        new LambdaUpdateWrapper<AdwebPublicEnquiryRule>()
+                                .set(AdwebPublicEnquiryRule::getStatus, 0)
+                                .eq(AdwebPublicEnquiryRule::getId, id));
 
         return update ? Result.OK("删除成功!") : Result.error("删除失败!");
     }
@@ -161,7 +206,11 @@ public class AdwebPublicEnquriyRuleController extends JeecgController<AdwebPubli
             return Result.error("参数不识别!");
         }
         List<String> idList = Arrays.asList(ids.split(","));
-        boolean update = adwebEnquiryRuleService.update(new UpdateWrapper<AdwebPublicEnquiryRule>().set("status", 0).in("id", idList));
+        boolean update =
+                adwebEnquiryRuleService.update(
+                        new LambdaUpdateWrapper<AdwebPublicEnquiryRule>()
+                                .set(AdwebPublicEnquiryRule::getStatus, 0)
+                                .in(AdwebPublicEnquiryRule::getId, idList));
         return update ? Result.OK("批量删除成功!") : Result.error("批量删除失败!");
     }
 
@@ -193,14 +242,19 @@ public class AdwebPublicEnquriyRuleController extends JeecgController<AdwebPubli
      * @param adwebEnquiryRule
      */
     @RequestMapping(value = "/exportXls")
-    public void exportXls(HttpServletRequest request, AdwebPublicEnquiryRule adwebEnquiryRule, HttpServletResponse response) {
+    public void exportXls(
+            HttpServletRequest request,
+            AdwebPublicEnquiryRule adwebEnquiryRule,
+            HttpServletResponse response) {
         Page<AdwebPublicEnquiryRule> page = new Page<AdwebPublicEnquiryRule>(1, -1);
         String column = request.getParameter("column");
         String order = request.getParameter("order");
-        List<AdwebPublicEnquiryRule> list = getPageList(page, adwebEnquiryRule, column, order).getRecords();
-//		QueryWrapper<AdwebPublicEnquiryRule> queryWrapper = QueryGenerator.initQueryWrapper(adwebEnquiryRule, request.getParameterMap());
-//		queryWrapper.ne("status", 0);
-//		List<AdwebPublicEnquiryRule> list = adwebEnquiryRuleService.list(queryWrapper);
+        List<AdwebPublicEnquiryRule> list =
+                getPageList(page, adwebEnquiryRule, column, order).getRecords();
+        //		QueryWrapper<AdwebPublicEnquiryRule> queryWrapper =
+        // QueryGenerator.initQueryWrapper(adwebEnquiryRule, request.getParameterMap());
+        //		queryWrapper.ne("status", 0);
+        //		List<AdwebPublicEnquiryRule> list = adwebEnquiryRuleService.list(queryWrapper);
         // 通过工具类创建writer,默认创建xls格式
         ExcelWriter writer = ExcelUtil.getWriter(true);
 
@@ -223,7 +277,11 @@ public class AdwebPublicEnquriyRuleController extends JeecgController<AdwebPubli
             sheet.setDefaultColumnWidth(12);
             sheet.setDefaultRowHeightInPoints(20);
             // 设置请求头属性
-            response.setHeader("Content-Disposition", "attachment;filename=" + new String((fileName + ".xlsx").getBytes(), StandardCharsets.ISO_8859_1));
+            response.setHeader(
+                    "Content-Disposition",
+                    "attachment;filename="
+                            + new String(
+                                    (fileName + ".xlsx").getBytes(), StandardCharsets.ISO_8859_1));
             out = response.getOutputStream();
             writer.write(list, true);
             AdaptiveWidthUtils.setSizeColumn(sheet, 3);
@@ -247,11 +305,11 @@ public class AdwebPublicEnquriyRuleController extends JeecgController<AdwebPubli
     @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
     public Result<?> importExcel(@RequestParam("file") MultipartFile file) {
         try {
-            //字节输入流
+            // 字节输入流
             InputStream inputStream = file.getInputStream();
-            //通过输入流创建ExcelReader 对象
+            // 通过输入流创建ExcelReader 对象
             ExcelReader reader = ExcelUtil.getReader(inputStream);
-            //这个同上导入
+            // 这个同上导入
             reader.addHeaderAlias("关键词", "word");
             reader.addHeaderAlias("关键词翻译", "translateWord");
             reader.addHeaderAlias("黑白名单", "blackOrWhiteList");
@@ -265,30 +323,56 @@ public class AdwebPublicEnquriyRuleController extends JeecgController<AdwebPubli
             }
 
             for (AdwebPublicEnquiryRule adwebEnquiryRule : rulesList) {
-                UpdateWrapper updateWrapper = new UpdateWrapper();
-                updateWrapper.eq("word", adwebEnquiryRule.getWord());
-                updateWrapper.ne("status", 0);
-                updateWrapper.eq("use_status", 0);
-                updateWrapper.set("translate_word", adwebEnquiryRule.getTranslateWord());
+                LambdaUpdateWrapper<AdwebPublicEnquiryRule> updateWrapper =
+                        new LambdaUpdateWrapper();
+                updateWrapper.eq(AdwebPublicEnquiryRule::getWord, adwebEnquiryRule.getWord());
+                updateWrapper.ne(AdwebPublicEnquiryRule::getStatus, 0);
+                updateWrapper.eq(AdwebPublicEnquiryRule::getUseStatus, 0);
+                updateWrapper.set(
+                        AdwebPublicEnquiryRule::getTranslateWord,
+                        adwebEnquiryRule.getTranslateWord());
                 adwebEnquiryRuleService.update(updateWrapper);
             }
 
-            List<String> wordList = rulesList.stream().map(AdwebPublicEnquiryRule::getWord).collect(Collectors.toList());
-            List<AdwebPublicEnquiryRule> adwebEnquiryRules = adwebEnquiryRuleService.list(new QueryWrapper<AdwebPublicEnquiryRule>().in("word", wordList).ne("status", 0).select("word").eq("use_status", 0));
-            List<String> adwebEnquiryRuleList = adwebEnquiryRules.stream().map(AdwebPublicEnquiryRule::getWord).collect(Collectors.toList());
-
-            List<AdwebPublicEnquiryRule> collect = rulesList.stream().filter(adwebEnquiryRule -> !adwebEnquiryRuleList.contains(adwebEnquiryRule.getWord())).collect(Collectors.toList());
+            List<String> wordList =
+                    rulesList.stream()
+                            .map(AdwebPublicEnquiryRule::getWord)
+                            .collect(Collectors.toList());
+            List<AdwebPublicEnquiryRule> adwebEnquiryRules =
+                    adwebEnquiryRuleService.list(
+                            new LambdaQueryWrapper<AdwebPublicEnquiryRule>()
+                                    .in(AdwebPublicEnquiryRule::getWord, wordList)
+                                    .ne(AdwebPublicEnquiryRule::getStatus, 0)
+                                    .select(AdwebPublicEnquiryRule::getWord)
+                                    .eq(AdwebPublicEnquiryRule::getUseStatus, 0));
+            List<String> adwebEnquiryRuleList =
+                    adwebEnquiryRules.stream()
+                            .map(AdwebPublicEnquiryRule::getWord)
+                            .collect(Collectors.toList());
+
+            List<AdwebPublicEnquiryRule> collect =
+                    rulesList.stream()
+                            .filter(
+                                    adwebEnquiryRule ->
+                                            !adwebEnquiryRuleList.contains(
+                                                    adwebEnquiryRule.getWord()))
+                            .collect(Collectors.toList());
 
             collect.forEach(adwebEnquiryRule -> adwebEnquiryRule.setStatus(1));
 
             if (CollectionUtils.isNotEmpty(collect)) {
                 adwebEnquiryRuleService.saveBatch(collect);
             }
-            return Result.OK("文件导入成功!数据行数:" + rulesList.size() + ",重复数据行数:" + adwebEnquiryRules.size() + ",导入数据行数:" + collect.size());
+            return Result.OK(
+                    "文件导入成功!数据行数:"
+                            + rulesList.size()
+                            + ",重复数据行数:"
+                            + adwebEnquiryRules.size()
+                            + ",导入数据行数:"
+                            + collect.size());
         } catch (IOException e) {
             e.printStackTrace();
             return Result.error("文件导入失败!失败信息:" + e.getMessage());
         }
     }
-
 }

+ 251 - 110
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/controller/AdwebSiteBlackEmailController.java

@@ -1,15 +1,19 @@
 package org.jeecg.modules.adweb.enquiry.controller;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+
 import jakarta.annotation.Resource;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
+
 import lombok.extern.slf4j.Slf4j;
+
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.shiro.SecurityUtils;
@@ -44,35 +48,30 @@ import java.util.stream.Collectors;
 @RestController
 @RequestMapping("/adweb/enquirySiteBlackEmail")
 @Slf4j
-public class AdwebSiteBlackEmailController extends JeecgController<AdwebSiteBlackEmail, IAdwebSiteBlackEmailService> {
-
-    @Resource
-    private IAdwebSiteBlackEmailService enquirySiteBlackEmailService;
+public class AdwebSiteBlackEmailController
+        extends JeecgController<AdwebSiteBlackEmail, IAdwebSiteBlackEmailService> {
 
-    @Resource
-    private AdwebRedisUtil adwebRedisUtil;
+    @Resource private IAdwebSiteBlackEmailService enquirySiteBlackEmailService;
 
-    @Resource
-    private SysAdwebApi sysAdwebApi;
+    @Resource private AdwebRedisUtil adwebRedisUtil;
 
-    @Resource
-    private IAdwebSiteService adwebSiteService;
-    @Resource
-    private ISiteUserPermissionService siteUserPermissionService;
-    @Resource
-    private IAdwebPublicBlackEmailService enquiryPublicBlackEmailService;
-    @Resource
-    private IAdwebEnquiryBlacklistService adwebEnquiryBlacklistService;
+    @Resource private SysAdwebApi sysAdwebApi;
 
+    @Resource private IAdwebSiteService adwebSiteService;
+    @Resource private ISiteUserPermissionService siteUserPermissionService;
+    @Resource private IAdwebPublicBlackEmailService enquiryPublicBlackEmailService;
+    @Resource private IAdwebEnquiryBlacklistService adwebEnquiryBlacklistService;
 
     private static final String SiteBlackEmailKey = "SITE_BLACK_EMAIL_LIST";
     private static final String SiteWhiteEmailListKey = "SITE_WHITE_EMAIL_LIST";
     private static final String SiteEmailTenMinKey = "JUDGE_WASTE_SITE_ENQUIRY_EMAIL_BY_10_MIN::";
     private static final String SiteEmailOneDayKey = "JUDGE_WASTE_SITE_ENQUIRY_EMAIL_BY_ONE_DAY::";
-    private static final String NotBlackEmailWasteSiteEnquiryKey = "NOT_BLACK_EMAIL_WASTE_SITE_ENQUIRY_MAP::";
+    private static final String NotBlackEmailWasteSiteEnquiryKey =
+            "NOT_BLACK_EMAIL_WASTE_SITE_ENQUIRY_MAP::";
     //	private static final String EmailTenMinKey = "JUDGE_WASTE_ENQUIRY_EMAIL_BY_10_MIN::";
-//	private static final String EmailOneDayKey = "JUDGE_WASTE_ENQUIRY_EMAIL_BY_ONE_DAY::";
-//	private static final String NotBlackEmailWasteEnquiryKey = "NOT_BLACK_EMAIL_WASTE_ENQUIRY_MAP::";
+    //	private static final String EmailOneDayKey = "JUDGE_WASTE_ENQUIRY_EMAIL_BY_ONE_DAY::";
+    //	private static final String NotBlackEmailWasteEnquiryKey =
+    // "NOT_BLACK_EMAIL_WASTE_ENQUIRY_MAP::";
     private static final String BlackEmailKey = "BLACK_EMAIL_LIST";
 
     /**
@@ -87,10 +86,11 @@ public class AdwebSiteBlackEmailController extends JeecgController<AdwebSiteBlac
     @AutoLog(value = "adweb_site_black_email-分页列表查询")
     @Operation(summary = "adweb_site_black_email-分页列表查询")
     @GetMapping(value = "/list")
-    public Result<?> queryPageList(AdwebSiteBlackEmail enquirySiteBlackEmail,
-                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                   HttpServletRequest req) {
+    public Result<?> queryPageList(
+            AdwebSiteBlackEmail enquirySiteBlackEmail,
+            @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+            @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+            HttpServletRequest req) {
         Page<AdwebSiteBlackEmail> page = new Page<AdwebSiteBlackEmail>(pageNo, pageSize);
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         List<String> codeList = null;
@@ -111,25 +111,34 @@ public class AdwebSiteBlackEmailController extends JeecgController<AdwebSiteBlac
         if (enquirySiteBlackEmail.getSiteId() != null) {
             String siteCode = adwebSiteService.getSiteCodeById(enquirySiteBlackEmail.getSiteId());
             if (StringUtils.isNotBlank(siteCode)) {
-                QueryWrapper<AdwebSite> queryWrapper = new QueryWrapper<>();
-                queryWrapper.eq("id", enquirySiteBlackEmail.getSiteId()).or().eq("parent_group_code", siteCode);
-                queryWrapper.ne("status", 0);
-                queryWrapper.in(!sysAdwebApi.isAdmin(), "code", siteCodeList);
-                codeList = adwebSiteService.list(queryWrapper).stream().map(AdwebSite::getCode).collect(Collectors.toList());
+                LambdaQueryWrapper<AdwebSite> queryWrapper = new LambdaQueryWrapper<>();
+                queryWrapper
+                        .eq(AdwebSite::getId, enquirySiteBlackEmail.getSiteId())
+                        .or()
+                        .eq(AdwebSite::getParentGroupCode, siteCode);
+                queryWrapper.ne(AdwebSite::getStatus, 0);
+                queryWrapper.in(!sysAdwebApi.isAdmin(), AdwebSite::getCode, siteCodeList);
+                codeList =
+                        adwebSiteService.list(queryWrapper).stream()
+                                .map(AdwebSite::getCode)
+                                .collect(Collectors.toList());
             }
         } else {
             codeList = siteCodeList;
         }
         String column = req.getParameter("column");
         String order = req.getParameter("order");
-        IPage<AdwebSiteBlackEmail> pageList = enquirySiteBlackEmailService.pageList(page, enquirySiteBlackEmail, codeList, column, order);
+        IPage<AdwebSiteBlackEmail> pageList =
+                enquirySiteBlackEmailService.pageList(
+                        page, enquirySiteBlackEmail, codeList, column, order);
         List<AdwebSiteBlackEmail> record = pageList.getRecords();
 
         if (CollectionUtils.isNotEmpty(record)) {
             for (AdwebSiteBlackEmail enquirySiteBlackEmail1 : record) {
                 if (enquirySiteBlackEmail1.getType().equals("0")) {
                     if (enquirySiteBlackEmail1.getWasteGeneralEnquiryNum() != null) {
-                        enquirySiteBlackEmail1.setWasteEnquiryNum(enquirySiteBlackEmail1.getWasteGeneralEnquiryNum());
+                        enquirySiteBlackEmail1.setWasteEnquiryNum(
+                                enquirySiteBlackEmail1.getWasteGeneralEnquiryNum());
                     }
                 }
             }
@@ -153,22 +162,38 @@ public class AdwebSiteBlackEmailController extends JeecgController<AdwebSiteBlac
             return Result.error("邮箱不能为空");
         }
 
-        //将邮箱转换为小写
+        // 将邮箱转换为小写
         enquirySiteBlackEmail.setEmail(enquirySiteBlackEmail.getEmail().trim().toLowerCase());
 
-        int count = (int) enquirySiteBlackEmailService.count(new QueryWrapper<AdwebSiteBlackEmail>().ne("status", 0).eq("email", enquirySiteBlackEmail.getEmail())
-                .eq("site_id", enquirySiteBlackEmail.getSiteId()).eq("type", enquirySiteBlackEmail.getType()));
+        int count =
+                (int)
+                        enquirySiteBlackEmailService.count(
+                                new LambdaQueryWrapper<AdwebSiteBlackEmail>()
+                                        .ne(AdwebSiteBlackEmail::getStatus, 0)
+                                        .eq(
+                                                AdwebSiteBlackEmail::getEmail,
+                                                enquirySiteBlackEmail.getEmail())
+                                        .eq(
+                                                AdwebSiteBlackEmail::getSiteId,
+                                                enquirySiteBlackEmail.getSiteId())
+                                        .eq(
+                                                AdwebSiteBlackEmail::getType,
+                                                enquirySiteBlackEmail.getType()));
 
         if (count > 0) {
             return Result.error("邮箱已存在");
         }
 
-        //判断站点询盘黑名单是否存在添加进来的黑名单
-        QueryWrapper<AdwebEnquiryBlacklist> adwebEnquiryBlacklistQueryWrapper = new QueryWrapper<>();
-        adwebEnquiryBlacklistQueryWrapper.eq("site_id", enquirySiteBlackEmail.getSiteId());
-        adwebEnquiryBlacklistQueryWrapper.eq("status", 1);
-        adwebEnquiryBlacklistQueryWrapper.eq("email", enquirySiteBlackEmail.getEmail());
-        List<AdwebEnquiryBlacklist> enquiryBlacklists = adwebEnquiryBlacklistService.list(adwebEnquiryBlacklistQueryWrapper);
+        // 判断站点询盘黑名单是否存在添加进来的黑名单
+        LambdaQueryWrapper<AdwebEnquiryBlacklist> adwebEnquiryBlacklistQueryWrapper =
+                new LambdaQueryWrapper<>();
+        adwebEnquiryBlacklistQueryWrapper.eq(
+                AdwebEnquiryBlacklist::getSiteId, enquirySiteBlackEmail.getSiteId());
+        adwebEnquiryBlacklistQueryWrapper.eq(AdwebEnquiryBlacklist::getStatus, 1);
+        adwebEnquiryBlacklistQueryWrapper.eq(
+                AdwebEnquiryBlacklist::getEmail, enquirySiteBlackEmail.getEmail());
+        List<AdwebEnquiryBlacklist> enquiryBlacklists =
+                adwebEnquiryBlacklistService.list(adwebEnquiryBlacklistQueryWrapper);
 
         if (CollectionUtils.isNotEmpty(enquiryBlacklists)) {
             return Result.error("在拒收的邮箱黑名单中已存在!");
@@ -178,20 +203,28 @@ public class AdwebSiteBlackEmailController extends JeecgController<AdwebSiteBlac
         enquirySiteBlackEmail.setCreateTime(new Date());
         enquirySiteBlackEmailService.save(enquirySiteBlackEmail);
 
-        Map<String, List<String>> enquirySiteBlackEmailListMap = enquirySiteBlackEmailService.getSiteBlackEmailListBySiteId(enquirySiteBlackEmail.getSiteId());
+        Map<String, List<String>> enquirySiteBlackEmailListMap =
+                enquirySiteBlackEmailService.getSiteBlackEmailListBySiteId(
+                        enquirySiteBlackEmail.getSiteId());
         List<String> emailList = enquirySiteBlackEmailListMap.get("black");
         List<String> whiteEmailList = enquirySiteBlackEmailListMap.get("white");
 
-        //处理对应站点的黑名单
+        // 处理对应站点的黑名单
         if (CollectionUtils.isNotEmpty(emailList)) {
-            adwebRedisUtil.set(SiteBlackEmailKey + "::" + enquirySiteBlackEmail.getSiteId(), emailList, 60 * 60 * 24);
+            adwebRedisUtil.set(
+                    SiteBlackEmailKey + "::" + enquirySiteBlackEmail.getSiteId(),
+                    emailList,
+                    60 * 60 * 24);
         } else {
             adwebRedisUtil.del(SiteBlackEmailKey + "::" + enquirySiteBlackEmail.getSiteId());
         }
 
-        //处理对应站点的白名单
+        // 处理对应站点的白名单
         if (CollectionUtils.isNotEmpty(whiteEmailList)) {
-            adwebRedisUtil.set(SiteWhiteEmailListKey + "::" + enquirySiteBlackEmail.getSiteId(), whiteEmailList, 60 * 60 * 24);
+            adwebRedisUtil.set(
+                    SiteWhiteEmailListKey + "::" + enquirySiteBlackEmail.getSiteId(),
+                    whiteEmailList,
+                    60 * 60 * 24);
         } else {
             adwebRedisUtil.del(SiteWhiteEmailListKey + "::" + enquirySiteBlackEmail.getSiteId());
         }
@@ -214,32 +247,60 @@ public class AdwebSiteBlackEmailController extends JeecgController<AdwebSiteBlac
             return Result.error("邮箱不能为空");
         }
 
-        //将邮箱转换为小写
+        // 将邮箱转换为小写
         enquirySiteBlackEmail.setEmail(enquirySiteBlackEmail.getEmail().trim().toLowerCase());
 
-        int count = (int) enquirySiteBlackEmailService.count(new QueryWrapper<AdwebSiteBlackEmail>().ne("status", 0).eq("email", enquirySiteBlackEmail.getEmail()).eq("site_id", enquirySiteBlackEmail.getSiteId()).eq("black_or_white", enquirySiteBlackEmail.getBlackOrWhite()).ne("id", enquirySiteBlackEmail.getId()));
+        int count =
+                (int)
+                        enquirySiteBlackEmailService.count(
+                                new LambdaQueryWrapper<AdwebSiteBlackEmail>()
+                                        .ne(AdwebSiteBlackEmail::getStatus, 0)
+                                        .eq(
+                                                AdwebSiteBlackEmail::getEmail,
+                                                enquirySiteBlackEmail.getEmail())
+                                        .eq(
+                                                AdwebSiteBlackEmail::getSiteId,
+                                                enquirySiteBlackEmail.getSiteId())
+                                        .eq(
+                                                AdwebSiteBlackEmail::getBlackOrWhite,
+                                                enquirySiteBlackEmail.getBlackOrWhite())
+                                        .ne(
+                                                AdwebSiteBlackEmail::getId,
+                                                enquirySiteBlackEmail.getId()));
 
         if (count > 0) {
             return Result.error("邮箱已存在");
         }
 
-        //判断站点询盘黑名单是否存在添加进来的黑名单
-        QueryWrapper<AdwebEnquiryBlacklist> adwebEnquiryBlacklistQueryWrapper = new QueryWrapper<>();
-        adwebEnquiryBlacklistQueryWrapper.eq("site_id", enquirySiteBlackEmail.getSiteId());
-        adwebEnquiryBlacklistQueryWrapper.eq("status", 1);
-        adwebEnquiryBlacklistQueryWrapper.eq("email", enquirySiteBlackEmail.getEmail());
-        List<AdwebEnquiryBlacklist> enquiryBlacklists = adwebEnquiryBlacklistService.list(adwebEnquiryBlacklistQueryWrapper);
+        // 判断站点询盘黑名单是否存在添加进来的黑名单
+        LambdaQueryWrapper<AdwebEnquiryBlacklist> adwebEnquiryBlacklistQueryWrapper =
+                new LambdaQueryWrapper<>();
+        adwebEnquiryBlacklistQueryWrapper.eq(
+                AdwebEnquiryBlacklist::getSiteId, enquirySiteBlackEmail.getSiteId());
+        adwebEnquiryBlacklistQueryWrapper.eq(AdwebEnquiryBlacklist::getStatus, 1);
+        adwebEnquiryBlacklistQueryWrapper.eq(
+                AdwebEnquiryBlacklist::getEmail, enquirySiteBlackEmail.getEmail());
+        List<AdwebEnquiryBlacklist> enquiryBlacklists =
+                adwebEnquiryBlacklistService.list(adwebEnquiryBlacklistQueryWrapper);
 
         if (CollectionUtils.isNotEmpty(enquiryBlacklists)) {
             return Result.error("在拒收的邮箱黑名单中已存在!");
         }
 
-        AdwebSiteBlackEmail oldAdwebSiteBlackEmail = enquirySiteBlackEmailService.getById(enquirySiteBlackEmail.getId());
+        AdwebSiteBlackEmail oldAdwebSiteBlackEmail =
+                enquirySiteBlackEmailService.getById(enquirySiteBlackEmail.getId());
 
-        //判断公共询盘缓存的是否包含历史的黑名单数据
+        // 判断公共询盘缓存的是否包含历史的黑名单数据
         if (!oldAdwebSiteBlackEmail.getEmail().equals(enquirySiteBlackEmail.getEmail())) {
-            List<AdwebPublicBlackEmail> emailList = enquiryPublicBlackEmailService.list(new QueryWrapper<AdwebPublicBlackEmail>().eq("status", 1).eq("black_or_white", 0));
-            List<String> pubicBlackEmailList = emailList.stream().map(AdwebPublicBlackEmail::getEmail).collect(Collectors.toList());
+            List<AdwebPublicBlackEmail> emailList =
+                    enquiryPublicBlackEmailService.list(
+                            new LambdaQueryWrapper<AdwebPublicBlackEmail>()
+                                    .eq(AdwebPublicBlackEmail::getStatus, 1)
+                                    .eq(AdwebPublicBlackEmail::getBlackOrWhite, 0));
+            List<String> pubicBlackEmailList =
+                    emailList.stream()
+                            .map(AdwebPublicBlackEmail::getEmail)
+                            .collect(Collectors.toList());
 
             List<String> publicBlackList = (List<String>) adwebRedisUtil.get(BlackEmailKey);
 
@@ -263,53 +324,72 @@ public class AdwebSiteBlackEmailController extends JeecgController<AdwebSiteBlac
         enquirySiteBlackEmail.setUpdateTime(new Date());
         enquirySiteBlackEmailService.updateById(enquirySiteBlackEmail);
 
-        QueryWrapper<AdwebSiteBlackEmail> siteAllEmailQueryWrapper = new QueryWrapper<>();
-        siteAllEmailQueryWrapper.ne("status", 0);
-        siteAllEmailQueryWrapper.eq("site_id", enquirySiteBlackEmail.getSiteId());
-        List<AdwebSiteBlackEmail> allEmailList = enquirySiteBlackEmailService.list(siteAllEmailQueryWrapper);
+        LambdaQueryWrapper<AdwebSiteBlackEmail> siteAllEmailQueryWrapper =
+                new LambdaQueryWrapper<>();
+        siteAllEmailQueryWrapper.ne(AdwebSiteBlackEmail::getStatus, 0);
+        siteAllEmailQueryWrapper.eq(
+                AdwebSiteBlackEmail::getSiteId, enquirySiteBlackEmail.getSiteId());
+        List<AdwebSiteBlackEmail> allEmailList =
+                enquirySiteBlackEmailService.list(siteAllEmailQueryWrapper);
         if (CollectionUtils.isEmpty(allEmailList)) {
             log.info("未获取到对应站点的黑白名单数据");
         }
 
-        Map<String, List<String>> enquirySiteBlackEmailListMap = enquirySiteBlackEmailService.getSiteBlackEmailListBySiteId(enquirySiteBlackEmail.getSiteId());
+        Map<String, List<String>> enquirySiteBlackEmailListMap =
+                enquirySiteBlackEmailService.getSiteBlackEmailListBySiteId(
+                        enquirySiteBlackEmail.getSiteId());
         List<String> emailList = enquirySiteBlackEmailListMap.get("black");
         List<String> whiteEmailList = enquirySiteBlackEmailListMap.get("white");
 
-        //处理对应站点的黑名单
+        // 处理对应站点的黑名单
         if (CollectionUtils.isNotEmpty(emailList)) {
-            adwebRedisUtil.set(SiteBlackEmailKey + "::" + enquirySiteBlackEmail.getSiteId(), emailList, 60 * 60 * 24);
+            adwebRedisUtil.set(
+                    SiteBlackEmailKey + "::" + enquirySiteBlackEmail.getSiteId(),
+                    emailList,
+                    60 * 60 * 24);
         } else {
             adwebRedisUtil.del(SiteBlackEmailKey + "::" + enquirySiteBlackEmail.getSiteId());
         }
 
-        //处理对应站点的白名单
+        // 处理对应站点的白名单
         if (CollectionUtils.isNotEmpty(whiteEmailList)) {
-            adwebRedisUtil.set(SiteWhiteEmailListKey + "::" + enquirySiteBlackEmail.getSiteId(), whiteEmailList, 60 * 60 * 24);
+            adwebRedisUtil.set(
+                    SiteWhiteEmailListKey + "::" + enquirySiteBlackEmail.getSiteId(),
+                    whiteEmailList,
+                    60 * 60 * 24);
         } else {
             adwebRedisUtil.del(SiteWhiteEmailListKey + "::" + enquirySiteBlackEmail.getSiteId());
         }
 
-        //处理站点改变的数据缓存
+        // 处理站点改变的数据缓存
         if (!oldAdwebSiteBlackEmail.getSiteId().equals(enquirySiteBlackEmail.getSiteId())) {
-            Map<String, List<String>> oldAdwebSiteBlackEmailListMap = enquirySiteBlackEmailService.getSiteBlackEmailListBySiteId(oldAdwebSiteBlackEmail.getSiteId());
+            Map<String, List<String>> oldAdwebSiteBlackEmailListMap =
+                    enquirySiteBlackEmailService.getSiteBlackEmailListBySiteId(
+                            oldAdwebSiteBlackEmail.getSiteId());
             List<String> oldEmailList = oldAdwebSiteBlackEmailListMap.get("black");
             List<String> oldWhiteEmailList = oldAdwebSiteBlackEmailListMap.get("white");
-            //处理对应站点的黑名单
+            // 处理对应站点的黑名单
             if (CollectionUtils.isNotEmpty(oldEmailList)) {
-                adwebRedisUtil.set(SiteBlackEmailKey + "::" + oldAdwebSiteBlackEmail.getSiteId(), oldEmailList, 60 * 60 * 24);
+                adwebRedisUtil.set(
+                        SiteBlackEmailKey + "::" + oldAdwebSiteBlackEmail.getSiteId(),
+                        oldEmailList,
+                        60 * 60 * 24);
             } else {
                 adwebRedisUtil.del(SiteBlackEmailKey + "::" + oldAdwebSiteBlackEmail.getSiteId());
             }
 
-            //处理对应站点的白名单
+            // 处理对应站点的白名单
             if (CollectionUtils.isNotEmpty(oldWhiteEmailList)) {
-                adwebRedisUtil.set(SiteWhiteEmailListKey + "::" + oldAdwebSiteBlackEmail.getSiteId(), oldWhiteEmailList, 60 * 60 * 24);
+                adwebRedisUtil.set(
+                        SiteWhiteEmailListKey + "::" + oldAdwebSiteBlackEmail.getSiteId(),
+                        oldWhiteEmailList,
+                        60 * 60 * 24);
             } else {
-                adwebRedisUtil.del(SiteWhiteEmailListKey + "::" + oldAdwebSiteBlackEmail.getSiteId());
+                adwebRedisUtil.del(
+                        SiteWhiteEmailListKey + "::" + oldAdwebSiteBlackEmail.getSiteId());
             }
         }
 
-
         return Result.OK("编辑成功!");
     }
 
@@ -333,9 +413,16 @@ public class AdwebSiteBlackEmailController extends JeecgController<AdwebSiteBlac
             return Result.error("未找到对应数据");
         }
 
-        //判断公共询盘缓存的是否包含历史的黑名单数据
-        List<AdwebPublicBlackEmail> pubicEmailList = enquiryPublicBlackEmailService.list(new QueryWrapper<AdwebPublicBlackEmail>().eq("status", 1).eq("black_or_white", 0));
-        List<String> pubicBlackEmailList = pubicEmailList.stream().map(AdwebPublicBlackEmail::getEmail).collect(Collectors.toList());
+        // 判断公共询盘缓存的是否包含历史的黑名单数据
+        List<AdwebPublicBlackEmail> pubicEmailList =
+                enquiryPublicBlackEmailService.list(
+                        new LambdaQueryWrapper<AdwebPublicBlackEmail>()
+                                .eq(AdwebPublicBlackEmail::getStatus, 1)
+                                .eq(AdwebPublicBlackEmail::getBlackOrWhite, 0));
+        List<String> pubicBlackEmailList =
+                pubicEmailList.stream()
+                        .map(AdwebPublicBlackEmail::getEmail)
+                        .collect(Collectors.toList());
 
         List<String> publicBlackList = (List<String>) adwebRedisUtil.get(BlackEmailKey);
 
@@ -362,14 +449,29 @@ public class AdwebSiteBlackEmailController extends JeecgController<AdwebSiteBlac
         enquirySiteBlackEmail.setUpdateTime(new Date());
         enquirySiteBlackEmailService.updateById(enquirySiteBlackEmail);
 
-        adwebRedisUtil.del(SiteEmailTenMinKey + enquirySiteBlackEmail.getSiteId() + "::" + enquirySiteBlackEmail.getEmail());
-        adwebRedisUtil.del(SiteEmailOneDayKey + enquirySiteBlackEmail.getSiteId() + "::" + enquirySiteBlackEmail.getEmail());
-        adwebRedisUtil.del(NotBlackEmailWasteSiteEnquiryKey + enquirySiteBlackEmail.getSiteId() + "::" + enquirySiteBlackEmail.getEmail());
-
-        QueryWrapper<AdwebSiteBlackEmail> siteAllEmailQueryWrapper = new QueryWrapper<>();
-        siteAllEmailQueryWrapper.ne("status", 0);
-        siteAllEmailQueryWrapper.eq("site_id", enquirySiteBlackEmail.getSiteId());
-        List<AdwebSiteBlackEmail> allEmailList = enquirySiteBlackEmailService.list(siteAllEmailQueryWrapper);
+        adwebRedisUtil.del(
+                SiteEmailTenMinKey
+                        + enquirySiteBlackEmail.getSiteId()
+                        + "::"
+                        + enquirySiteBlackEmail.getEmail());
+        adwebRedisUtil.del(
+                SiteEmailOneDayKey
+                        + enquirySiteBlackEmail.getSiteId()
+                        + "::"
+                        + enquirySiteBlackEmail.getEmail());
+        adwebRedisUtil.del(
+                NotBlackEmailWasteSiteEnquiryKey
+                        + enquirySiteBlackEmail.getSiteId()
+                        + "::"
+                        + enquirySiteBlackEmail.getEmail());
+
+        LambdaQueryWrapper<AdwebSiteBlackEmail> siteAllEmailQueryWrapper =
+                new LambdaQueryWrapper<>();
+        siteAllEmailQueryWrapper.ne(AdwebSiteBlackEmail::getStatus, 0);
+        siteAllEmailQueryWrapper.eq(
+                AdwebSiteBlackEmail::getSiteId, enquirySiteBlackEmail.getSiteId());
+        List<AdwebSiteBlackEmail> allEmailList =
+                enquirySiteBlackEmailService.list(siteAllEmailQueryWrapper);
         if (CollectionUtils.isEmpty(allEmailList)) {
             log.info("未获取到对应站点的黑白名单数据");
         }
@@ -393,16 +495,22 @@ public class AdwebSiteBlackEmailController extends JeecgController<AdwebSiteBlac
                 }
             }
         }
-        //处理对应站点的黑名单
+        // 处理对应站点的黑名单
         if (CollectionUtils.isNotEmpty(emailList)) {
-            adwebRedisUtil.set(SiteBlackEmailKey + "::" + enquirySiteBlackEmail.getSiteId(), emailList, 60 * 60 * 24);
+            adwebRedisUtil.set(
+                    SiteBlackEmailKey + "::" + enquirySiteBlackEmail.getSiteId(),
+                    emailList,
+                    60 * 60 * 24);
         } else {
             adwebRedisUtil.del(SiteBlackEmailKey + "::" + enquirySiteBlackEmail.getSiteId());
         }
 
-        //处理对应站点的白名单
+        // 处理对应站点的白名单
         if (CollectionUtils.isNotEmpty(whiteEmailList)) {
-            adwebRedisUtil.set(SiteWhiteEmailListKey + "::" + enquirySiteBlackEmail.getSiteId(), whiteEmailList, 60 * 60 * 24);
+            adwebRedisUtil.set(
+                    SiteWhiteEmailListKey + "::" + enquirySiteBlackEmail.getSiteId(),
+                    whiteEmailList,
+                    60 * 60 * 24);
         } else {
             adwebRedisUtil.del(SiteWhiteEmailListKey + "::" + enquirySiteBlackEmail.getSiteId());
         }
@@ -428,21 +536,36 @@ public class AdwebSiteBlackEmailController extends JeecgController<AdwebSiteBlac
 
         List<String> idList = Arrays.asList(ids.split(","));
 
-        List<AdwebSiteBlackEmail> list = enquirySiteBlackEmailService.list(new QueryWrapper<AdwebSiteBlackEmail>().in("id", idList).ne("status", 0));
+        List<AdwebSiteBlackEmail> list =
+                enquirySiteBlackEmailService.list(
+                        new LambdaQueryWrapper<AdwebSiteBlackEmail>()
+                                .in(AdwebSiteBlackEmail::getId, idList)
+                                .ne(AdwebSiteBlackEmail::getStatus, 0));
 
         if (list.isEmpty()) {
             return Result.error("未找到对应数据");
         }
 
-        boolean update = enquirySiteBlackEmailService.update(new UpdateWrapper<AdwebSiteBlackEmail>().in("id", idList).set("status", 0));
+        boolean update =
+                enquirySiteBlackEmailService.update(
+                        new LambdaUpdateWrapper<AdwebSiteBlackEmail>()
+                                .in(AdwebSiteBlackEmail::getId, idList)
+                                .set(AdwebSiteBlackEmail::getStatus, 0));
 
         HashSet<Integer> siteList = new HashSet<>();
-        //删除redis中的数据
+        // 删除redis中的数据
         for (AdwebSiteBlackEmail enquirySiteBlackEmail : list) {
 
-            //判断公共询盘缓存的是否包含历史的黑名单数据
-            List<AdwebPublicBlackEmail> pubicEmailList = enquiryPublicBlackEmailService.list(new QueryWrapper<AdwebPublicBlackEmail>().eq("status", 1).eq("black_or_white", 0));
-            List<String> pubicBlackEmailList = pubicEmailList.stream().map(AdwebPublicBlackEmail::getEmail).collect(Collectors.toList());
+            // 判断公共询盘缓存的是否包含历史的黑名单数据
+            List<AdwebPublicBlackEmail> pubicEmailList =
+                    enquiryPublicBlackEmailService.list(
+                            new LambdaQueryWrapper<AdwebPublicBlackEmail>()
+                                    .eq(AdwebPublicBlackEmail::getStatus, 1)
+                                    .eq(AdwebPublicBlackEmail::getBlackOrWhite, 0));
+            List<String> pubicBlackEmailList =
+                    pubicEmailList.stream()
+                            .map(AdwebPublicBlackEmail::getEmail)
+                            .collect(Collectors.toList());
 
             List<String> publicBlackList = (List<String>) adwebRedisUtil.get(BlackEmailKey);
 
@@ -466,18 +589,31 @@ public class AdwebSiteBlackEmailController extends JeecgController<AdwebSiteBlac
                 adwebRedisUtil.set(BlackEmailKey, pubicBlackEmailList, 60 * 60 * 24);
             }
 
-            adwebRedisUtil.del(SiteEmailTenMinKey + enquirySiteBlackEmail.getSiteId() + "::" + enquirySiteBlackEmail.getEmail());
-            adwebRedisUtil.del(SiteEmailOneDayKey + enquirySiteBlackEmail.getSiteId() + "::" + enquirySiteBlackEmail.getEmail());
-            adwebRedisUtil.del(NotBlackEmailWasteSiteEnquiryKey + enquirySiteBlackEmail.getSiteId() + "::" + enquirySiteBlackEmail.getEmail());
+            adwebRedisUtil.del(
+                    SiteEmailTenMinKey
+                            + enquirySiteBlackEmail.getSiteId()
+                            + "::"
+                            + enquirySiteBlackEmail.getEmail());
+            adwebRedisUtil.del(
+                    SiteEmailOneDayKey
+                            + enquirySiteBlackEmail.getSiteId()
+                            + "::"
+                            + enquirySiteBlackEmail.getEmail());
+            adwebRedisUtil.del(
+                    NotBlackEmailWasteSiteEnquiryKey
+                            + enquirySiteBlackEmail.getSiteId()
+                            + "::"
+                            + enquirySiteBlackEmail.getEmail());
             siteList.add(enquirySiteBlackEmail.getSiteId());
         }
 
-
         for (Integer siteId : siteList) {
-            QueryWrapper<AdwebSiteBlackEmail> siteAllEmailQueryWrapper = new QueryWrapper<>();
-            siteAllEmailQueryWrapper.ne("status", 0);
-            siteAllEmailQueryWrapper.eq("site_id", siteId);
-            List<AdwebSiteBlackEmail> allEmailList = enquirySiteBlackEmailService.list(siteAllEmailQueryWrapper);
+            LambdaQueryWrapper<AdwebSiteBlackEmail> siteAllEmailQueryWrapper =
+                    new LambdaQueryWrapper<>();
+            siteAllEmailQueryWrapper.ne(AdwebSiteBlackEmail::getStatus, 0);
+            siteAllEmailQueryWrapper.eq(AdwebSiteBlackEmail::getSiteId, siteId);
+            List<AdwebSiteBlackEmail> allEmailList =
+                    enquirySiteBlackEmailService.list(siteAllEmailQueryWrapper);
             if (CollectionUtils.isEmpty(allEmailList)) {
                 log.info("未获取到对应站点的黑白名单数据");
             }
@@ -501,16 +637,17 @@ public class AdwebSiteBlackEmailController extends JeecgController<AdwebSiteBlac
                     }
                 }
             }
-            //处理对应站点的黑名单
+            // 处理对应站点的黑名单
             if (CollectionUtils.isNotEmpty(emailList)) {
                 adwebRedisUtil.set(SiteBlackEmailKey + "::" + siteId, emailList, 60 * 60 * 24);
             } else {
                 adwebRedisUtil.del(SiteBlackEmailKey + "::" + siteId);
             }
 
-            //处理对应站点的白名单
+            // 处理对应站点的白名单
             if (CollectionUtils.isNotEmpty(whiteEmailList)) {
-                adwebRedisUtil.set(SiteWhiteEmailListKey + "::" + siteId, whiteEmailList, 60 * 60 * 24);
+                adwebRedisUtil.set(
+                        SiteWhiteEmailListKey + "::" + siteId, whiteEmailList, 60 * 60 * 24);
             } else {
                 adwebRedisUtil.del(SiteWhiteEmailListKey + "::" + siteId);
             }
@@ -542,8 +679,13 @@ public class AdwebSiteBlackEmailController extends JeecgController<AdwebSiteBlac
      * @param enquirySiteBlackEmail
      */
     @RequestMapping(value = "/exportXls")
-    public ModelAndView exportXls(HttpServletRequest request, AdwebSiteBlackEmail enquirySiteBlackEmail) {
-        return super.exportXls(request, enquirySiteBlackEmail, AdwebSiteBlackEmail.class, "adweb_site_black_email");
+    public ModelAndView exportXls(
+            HttpServletRequest request, AdwebSiteBlackEmail enquirySiteBlackEmail) {
+        return super.exportXls(
+                request,
+                enquirySiteBlackEmail,
+                AdwebSiteBlackEmail.class,
+                "adweb_site_black_email");
     }
 
     /**
@@ -557,5 +699,4 @@ public class AdwebSiteBlackEmailController extends JeecgController<AdwebSiteBlac
     public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
         return super.importExcel(request, response, AdwebSiteBlackEmail.class);
     }
-
 }

+ 177 - 60
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/controller/AdwebSiteBlackIpController.java

@@ -1,15 +1,19 @@
 package org.jeecg.modules.adweb.enquiry.controller;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+
 import jakarta.annotation.Resource;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
+
 import lombok.extern.slf4j.Slf4j;
+
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.shiro.SecurityUtils;
@@ -40,23 +44,20 @@ import java.util.stream.Collectors;
 @RestController
 @RequestMapping("/adweb/adwebSiteBlackIp")
 @Slf4j
-public class AdwebSiteBlackIpController extends JeecgController<AdwebSiteBlackIp, IAdwebSiteBlackIpService> {
-    @Resource
-    private IAdwebSiteBlackIpService adwebSiteBlackIpService;
-    @Resource
-    private IAdwebSiteService adwebSiteService;
-    @Resource
-    private ISiteUserPermissionService siteUserPermissionService;
+public class AdwebSiteBlackIpController
+        extends JeecgController<AdwebSiteBlackIp, IAdwebSiteBlackIpService> {
+    @Resource private IAdwebSiteBlackIpService adwebSiteBlackIpService;
+    @Resource private IAdwebSiteService adwebSiteService;
+    @Resource private ISiteUserPermissionService siteUserPermissionService;
 
-    @Resource
-    private SysAdwebApi sysAdwebApi;
+    @Resource private SysAdwebApi sysAdwebApi;
 
-    @Resource
-    private AdwebRedisUtil adwebRedisUtil;
+    @Resource private AdwebRedisUtil adwebRedisUtil;
 
     private static final String SiteIpTenMinKey = "JUDGE_WASTE_ENQUIRY_SITE_IP_BY_10_MIN::";
     private static final String SiteIpOneDayKey = "JUDGE_WASTE_ENQUIRY_SITE_IP_BY_ONE_DAY::";
-    private static final String NotSiteBlackIpWasteEnquiryKey = "NOT_SITE_BLACK_IP_WASTE_ENQUIRY_MAP::";
+    private static final String NotSiteBlackIpWasteEnquiryKey =
+            "NOT_SITE_BLACK_IP_WASTE_ENQUIRY_MAP::";
     private static final String SiteBlackIpKey = "SITE_BLACK_IP_LIST";
     private static final String SiteWhiteIpListKey = "SITE_WHITE_IP_LIST";
 
@@ -72,10 +73,11 @@ public class AdwebSiteBlackIpController extends JeecgController<AdwebSiteBlackIp
     @AutoLog(value = "adweb_site_black_ip-分页列表查询")
     @Operation(summary = "adweb_site_black_ip-分页列表查询")
     @GetMapping(value = "/list")
-    public Result<?> queryPageList(AdwebSiteBlackIp adwebSiteBlackIp,
-                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                   HttpServletRequest req) {
+    public Result<?> queryPageList(
+            AdwebSiteBlackIp adwebSiteBlackIp,
+            @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+            @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+            HttpServletRequest req) {
 
         Page<AdwebSiteBlackIp> page = new Page<AdwebSiteBlackIp>(pageNo, pageSize);
 
@@ -98,11 +100,17 @@ public class AdwebSiteBlackIpController extends JeecgController<AdwebSiteBlackIp
         if (adwebSiteBlackIp.getSiteId() != null) {
             String siteCode = adwebSiteService.getSiteCodeById(adwebSiteBlackIp.getSiteId());
             if (StringUtils.isNotBlank(siteCode)) {
-                QueryWrapper<AdwebSite> queryWrapper = new QueryWrapper<>();
-                queryWrapper.eq("id", adwebSiteBlackIp.getSiteId()).or().eq("parent_group_code", siteCode);
-                queryWrapper.ne("status", 0);
-                queryWrapper.in(!sysAdwebApi.isAdmin(), "code", siteCodeList);
-                codeList = adwebSiteService.list(queryWrapper).stream().map(AdwebSite::getCode).collect(Collectors.toList());
+                LambdaQueryWrapper<AdwebSite> queryWrapper = new LambdaQueryWrapper<>();
+                queryWrapper
+                        .eq(AdwebSite::getId, adwebSiteBlackIp.getSiteId())
+                        .or()
+                        .eq(AdwebSite::getParentGroupCode, siteCode);
+                queryWrapper.ne(AdwebSite::getStatus, 0);
+                queryWrapper.in(!sysAdwebApi.isAdmin(), AdwebSite::getCode, siteCodeList);
+                codeList =
+                        adwebSiteService.list(queryWrapper).stream()
+                                .map(AdwebSite::getCode)
+                                .collect(Collectors.toList());
             }
         } else {
             codeList = siteCodeList;
@@ -110,7 +118,8 @@ public class AdwebSiteBlackIpController extends JeecgController<AdwebSiteBlackIp
 
         String column = req.getParameter("column");
         String order = req.getParameter("order");
-        IPage<AdwebSiteBlackIp> pageList = adwebSiteBlackIpService.pageList(page, adwebSiteBlackIp, codeList, column, order);
+        IPage<AdwebSiteBlackIp> pageList =
+                adwebSiteBlackIpService.pageList(page, adwebSiteBlackIp, codeList, column, order);
         List<AdwebSiteBlackIp> record = pageList.getRecords();
 
         return Result.OK(pageList);
@@ -128,8 +137,15 @@ public class AdwebSiteBlackIpController extends JeecgController<AdwebSiteBlackIp
     public Result<?> add(@RequestBody AdwebSiteBlackIp adwebSiteBlackIp) {
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
 
-        int count = (int) adwebSiteBlackIpService.count(new QueryWrapper<AdwebSiteBlackIp>().ne("status", 0).eq("ip", adwebSiteBlackIp.getIp())
-                .eq("site_id", adwebSiteBlackIp.getSiteId()));
+        int count =
+                (int)
+                        adwebSiteBlackIpService.count(
+                                new LambdaQueryWrapper<AdwebSiteBlackIp>()
+                                        .ne(AdwebSiteBlackIp::getStatus, 0)
+                                        .eq(AdwebSiteBlackIp::getIp, adwebSiteBlackIp.getIp())
+                                        .eq(
+                                                AdwebSiteBlackIp::getSiteId,
+                                                adwebSiteBlackIp.getSiteId()));
 
         if (count > 0) {
             return Result.error("当前站点已存在此ip");
@@ -138,7 +154,11 @@ public class AdwebSiteBlackIpController extends JeecgController<AdwebSiteBlackIp
         adwebSiteBlackIp.setCreateTime(new Date());
         adwebSiteBlackIpService.save(adwebSiteBlackIp);
 
-        List<AdwebSiteBlackIp> siteBlackIpList = adwebSiteBlackIpService.list(new QueryWrapper<AdwebSiteBlackIp>().eq("status", 1).eq("site_id", adwebSiteBlackIp.getSiteId()));
+        List<AdwebSiteBlackIp> siteBlackIpList =
+                adwebSiteBlackIpService.list(
+                        new LambdaQueryWrapper<AdwebSiteBlackIp>()
+                                .eq(AdwebSiteBlackIp::getStatus, 1)
+                                .eq(AdwebSiteBlackIp::getSiteId, adwebSiteBlackIp.getSiteId()));
 
         if (CollectionUtils.isEmpty(siteBlackIpList)) {
             adwebRedisUtil.del(SiteBlackIpKey + "::" + adwebSiteBlackIp.getSiteId());
@@ -146,16 +166,30 @@ public class AdwebSiteBlackIpController extends JeecgController<AdwebSiteBlackIp
             return Result.OK("编辑成功!");
         }
 
-        List<String> blackIpList = siteBlackIpList.stream().filter(siteBlackIp -> siteBlackIp.getBlackOrWhite().equals(0)).map(AdwebSiteBlackIp::getIp).collect(Collectors.toList());
+        List<String> blackIpList =
+                siteBlackIpList.stream()
+                        .filter(siteBlackIp -> siteBlackIp.getBlackOrWhite().equals(0))
+                        .map(AdwebSiteBlackIp::getIp)
+                        .collect(Collectors.toList());
         if (CollectionUtils.isNotEmpty(blackIpList)) {
-            adwebRedisUtil.set(SiteBlackIpKey + "::" + adwebSiteBlackIp.getSiteId(), blackIpList, 60 * 60 * 24);
+            adwebRedisUtil.set(
+                    SiteBlackIpKey + "::" + adwebSiteBlackIp.getSiteId(),
+                    blackIpList,
+                    60 * 60 * 24);
         } else {
             adwebRedisUtil.del(SiteBlackIpKey + "::" + adwebSiteBlackIp.getSiteId());
         }
 
-        List<String> whiteIpList = siteBlackIpList.stream().filter(siteBlackIp -> siteBlackIp.getBlackOrWhite().equals(1)).map(AdwebSiteBlackIp::getIp).collect(Collectors.toList());
+        List<String> whiteIpList =
+                siteBlackIpList.stream()
+                        .filter(siteBlackIp -> siteBlackIp.getBlackOrWhite().equals(1))
+                        .map(AdwebSiteBlackIp::getIp)
+                        .collect(Collectors.toList());
         if (CollectionUtils.isNotEmpty(whiteIpList)) {
-            adwebRedisUtil.set(SiteWhiteIpListKey + "::" + adwebSiteBlackIp.getSiteId(), whiteIpList, 60 * 60 * 24);
+            adwebRedisUtil.set(
+                    SiteWhiteIpListKey + "::" + adwebSiteBlackIp.getSiteId(),
+                    whiteIpList,
+                    60 * 60 * 24);
         } else {
             adwebRedisUtil.del(SiteWhiteIpListKey + "::" + adwebSiteBlackIp.getSiteId());
         }
@@ -174,8 +208,16 @@ public class AdwebSiteBlackIpController extends JeecgController<AdwebSiteBlackIp
     public Result<?> edit(@RequestBody AdwebSiteBlackIp adwebSiteBlackIp) {
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
 
-        int count = (int) adwebSiteBlackIpService.count(new QueryWrapper<AdwebSiteBlackIp>().ne("status", 0).eq("ip", adwebSiteBlackIp.getIp())
-                .eq("site_id", adwebSiteBlackIp.getSiteId()).ne("id", adwebSiteBlackIp.getId()));
+        int count =
+                (int)
+                        adwebSiteBlackIpService.count(
+                                new LambdaQueryWrapper<AdwebSiteBlackIp>()
+                                        .ne(AdwebSiteBlackIp::getStatus, 0)
+                                        .eq(AdwebSiteBlackIp::getIp, adwebSiteBlackIp.getIp())
+                                        .eq(
+                                                AdwebSiteBlackIp::getSiteId,
+                                                adwebSiteBlackIp.getSiteId())
+                                        .ne(AdwebSiteBlackIp::getId, adwebSiteBlackIp.getId()));
 
         if (count > 0) {
             return Result.error("当前站点已存在此ip");
@@ -187,7 +229,11 @@ public class AdwebSiteBlackIpController extends JeecgController<AdwebSiteBlackIp
         }
         adwebSiteBlackIpService.updateById(adwebSiteBlackIp);
 
-        List<AdwebSiteBlackIp> siteBlackIpList = adwebSiteBlackIpService.list(new QueryWrapper<AdwebSiteBlackIp>().eq("status", 1).eq("site_id", adwebSiteBlackIp.getSiteId()));
+        List<AdwebSiteBlackIp> siteBlackIpList =
+                adwebSiteBlackIpService.list(
+                        new LambdaQueryWrapper<AdwebSiteBlackIp>()
+                                .eq(AdwebSiteBlackIp::getStatus, 1)
+                                .eq(AdwebSiteBlackIp::getSiteId, adwebSiteBlackIp.getSiteId()));
 
         if (CollectionUtils.isEmpty(siteBlackIpList)) {
             adwebRedisUtil.del(SiteBlackIpKey + "::" + adwebSiteBlackIp.getSiteId());
@@ -195,16 +241,30 @@ public class AdwebSiteBlackIpController extends JeecgController<AdwebSiteBlackIp
             return Result.OK("编辑成功!");
         }
 
-        List<String> blackIpList = siteBlackIpList.stream().filter(siteBlackIp -> siteBlackIp.getBlackOrWhite().equals(0)).map(AdwebSiteBlackIp::getIp).collect(Collectors.toList());
+        List<String> blackIpList =
+                siteBlackIpList.stream()
+                        .filter(siteBlackIp -> siteBlackIp.getBlackOrWhite().equals(0))
+                        .map(AdwebSiteBlackIp::getIp)
+                        .collect(Collectors.toList());
         if (CollectionUtils.isNotEmpty(blackIpList)) {
-            adwebRedisUtil.set(SiteBlackIpKey + "::" + adwebSiteBlackIp.getSiteId(), blackIpList, 60 * 60 * 24);
+            adwebRedisUtil.set(
+                    SiteBlackIpKey + "::" + adwebSiteBlackIp.getSiteId(),
+                    blackIpList,
+                    60 * 60 * 24);
         } else {
             adwebRedisUtil.del(SiteBlackIpKey + "::" + adwebSiteBlackIp.getSiteId());
         }
 
-        List<String> whiteIpList = siteBlackIpList.stream().filter(siteBlackIp -> siteBlackIp.getBlackOrWhite().equals(1)).map(AdwebSiteBlackIp::getIp).collect(Collectors.toList());
+        List<String> whiteIpList =
+                siteBlackIpList.stream()
+                        .filter(siteBlackIp -> siteBlackIp.getBlackOrWhite().equals(1))
+                        .map(AdwebSiteBlackIp::getIp)
+                        .collect(Collectors.toList());
         if (CollectionUtils.isNotEmpty(whiteIpList)) {
-            adwebRedisUtil.set(SiteWhiteIpListKey + "::" + adwebSiteBlackIp.getSiteId(), whiteIpList, 60 * 60 * 24);
+            adwebRedisUtil.set(
+                    SiteWhiteIpListKey + "::" + adwebSiteBlackIp.getSiteId(),
+                    whiteIpList,
+                    60 * 60 * 24);
         } else {
             adwebRedisUtil.del(SiteWhiteIpListKey + "::" + adwebSiteBlackIp.getSiteId());
         }
@@ -227,7 +287,11 @@ public class AdwebSiteBlackIpController extends JeecgController<AdwebSiteBlackIp
             return Result.error("id不能为空");
         }
 
-        List<AdwebSiteBlackIp> list = adwebSiteBlackIpService.list(new QueryWrapper<AdwebSiteBlackIp>().eq("id", id).eq("status", 1));
+        List<AdwebSiteBlackIp> list =
+                adwebSiteBlackIpService.list(
+                        new LambdaQueryWrapper<AdwebSiteBlackIp>()
+                                .eq(AdwebSiteBlackIp::getId, id)
+                                .eq(AdwebSiteBlackIp::getStatus, 1));
 
         if (list.size() == 0) {
             return Result.error("该IP不存在");
@@ -237,11 +301,21 @@ public class AdwebSiteBlackIpController extends JeecgController<AdwebSiteBlackIp
         adwebSiteBlackIp.setStatus(0);
         adwebSiteBlackIpService.updateById(adwebSiteBlackIp);
 
-        adwebRedisUtil.del(SiteIpTenMinKey + adwebSiteBlackIp.getSiteId() + "::" + adwebSiteBlackIp.getIp());
-        adwebRedisUtil.del(SiteIpOneDayKey + adwebSiteBlackIp.getSiteId() + "::" + adwebSiteBlackIp.getIp());
-        adwebRedisUtil.del(NotSiteBlackIpWasteEnquiryKey + adwebSiteBlackIp.getSiteId() + "::" + adwebSiteBlackIp.getIp());
-
-        List<AdwebSiteBlackIp> siteBlackIpList = adwebSiteBlackIpService.list(new QueryWrapper<AdwebSiteBlackIp>().eq("status", 1).eq("site_id", adwebSiteBlackIp.getSiteId()));
+        adwebRedisUtil.del(
+                SiteIpTenMinKey + adwebSiteBlackIp.getSiteId() + "::" + adwebSiteBlackIp.getIp());
+        adwebRedisUtil.del(
+                SiteIpOneDayKey + adwebSiteBlackIp.getSiteId() + "::" + adwebSiteBlackIp.getIp());
+        adwebRedisUtil.del(
+                NotSiteBlackIpWasteEnquiryKey
+                        + adwebSiteBlackIp.getSiteId()
+                        + "::"
+                        + adwebSiteBlackIp.getIp());
+
+        List<AdwebSiteBlackIp> siteBlackIpList =
+                adwebSiteBlackIpService.list(
+                        new LambdaQueryWrapper<AdwebSiteBlackIp>()
+                                .eq(AdwebSiteBlackIp::getStatus, 1)
+                                .eq(AdwebSiteBlackIp::getSiteId, adwebSiteBlackIp.getSiteId()));
 
         if (CollectionUtils.isEmpty(siteBlackIpList)) {
             adwebRedisUtil.del(SiteBlackIpKey + "::" + adwebSiteBlackIp.getSiteId());
@@ -249,16 +323,30 @@ public class AdwebSiteBlackIpController extends JeecgController<AdwebSiteBlackIp
             return Result.OK("编辑成功!");
         }
 
-        List<String> blackIpList = siteBlackIpList.stream().filter(siteBlackIp -> siteBlackIp.getBlackOrWhite().equals(0)).map(AdwebSiteBlackIp::getIp).collect(Collectors.toList());
+        List<String> blackIpList =
+                siteBlackIpList.stream()
+                        .filter(siteBlackIp -> siteBlackIp.getBlackOrWhite().equals(0))
+                        .map(AdwebSiteBlackIp::getIp)
+                        .collect(Collectors.toList());
         if (CollectionUtils.isNotEmpty(blackIpList)) {
-            adwebRedisUtil.set(SiteBlackIpKey + "::" + adwebSiteBlackIp.getSiteId(), blackIpList, 60 * 60 * 24);
+            adwebRedisUtil.set(
+                    SiteBlackIpKey + "::" + adwebSiteBlackIp.getSiteId(),
+                    blackIpList,
+                    60 * 60 * 24);
         } else {
             adwebRedisUtil.del(SiteBlackIpKey + "::" + adwebSiteBlackIp.getSiteId());
         }
 
-        List<String> whiteIpList = siteBlackIpList.stream().filter(siteBlackIp -> siteBlackIp.getBlackOrWhite().equals(1)).map(AdwebSiteBlackIp::getIp).collect(Collectors.toList());
+        List<String> whiteIpList =
+                siteBlackIpList.stream()
+                        .filter(siteBlackIp -> siteBlackIp.getBlackOrWhite().equals(1))
+                        .map(AdwebSiteBlackIp::getIp)
+                        .collect(Collectors.toList());
         if (CollectionUtils.isNotEmpty(whiteIpList)) {
-            adwebRedisUtil.set(SiteWhiteIpListKey + "::" + adwebSiteBlackIp.getSiteId(), whiteIpList, 60 * 60 * 24);
+            adwebRedisUtil.set(
+                    SiteWhiteIpListKey + "::" + adwebSiteBlackIp.getSiteId(),
+                    whiteIpList,
+                    60 * 60 * 24);
         } else {
             adwebRedisUtil.del(SiteWhiteIpListKey + "::" + adwebSiteBlackIp.getSiteId());
         }
@@ -283,27 +371,48 @@ public class AdwebSiteBlackIpController extends JeecgController<AdwebSiteBlackIp
         }
         List<String> idList = Arrays.asList(ids.split(","));
 
-        List<AdwebSiteBlackIp> list = adwebSiteBlackIpService.list(new QueryWrapper<AdwebSiteBlackIp>().eq("status", 1).in("id", idList));
+        List<AdwebSiteBlackIp> list =
+                adwebSiteBlackIpService.list(
+                        new LambdaQueryWrapper<AdwebSiteBlackIp>()
+                                .eq(AdwebSiteBlackIp::getStatus, 1)
+                                .in(AdwebSiteBlackIp::getId, idList));
 
         if (list.size() == 0) {
             return Result.error("该IP不存在");
         }
 
-        UpdateWrapper<AdwebSiteBlackIp> adwebSiteBlackIpUpdateWrapper = new UpdateWrapper<>();
-        adwebSiteBlackIpUpdateWrapper.in("id", idList);
-        adwebSiteBlackIpUpdateWrapper.set("status", 0);
+        LambdaUpdateWrapper<AdwebSiteBlackIp> adwebSiteBlackIpUpdateWrapper =
+                new LambdaUpdateWrapper<>();
+        adwebSiteBlackIpUpdateWrapper.in(AdwebSiteBlackIp::getId, idList);
+        adwebSiteBlackIpUpdateWrapper.set(AdwebSiteBlackIp::getStatus, 0);
         adwebSiteBlackIpService.update(adwebSiteBlackIpUpdateWrapper);
 
         HashSet<Integer> siteIdHashSet = new HashSet<Integer>();
         for (AdwebSiteBlackIp adwebSiteBlackIp : list) {
-            adwebRedisUtil.del(SiteIpTenMinKey + adwebSiteBlackIp.getSiteId() + "::" + adwebSiteBlackIp.getIp());
-            adwebRedisUtil.del(SiteIpOneDayKey + adwebSiteBlackIp.getSiteId() + "::" + adwebSiteBlackIp.getIp());
-            adwebRedisUtil.del(NotSiteBlackIpWasteEnquiryKey + adwebSiteBlackIp.getSiteId() + "::" + adwebSiteBlackIp.getIp());
+            adwebRedisUtil.del(
+                    SiteIpTenMinKey
+                            + adwebSiteBlackIp.getSiteId()
+                            + "::"
+                            + adwebSiteBlackIp.getIp());
+            adwebRedisUtil.del(
+                    SiteIpOneDayKey
+                            + adwebSiteBlackIp.getSiteId()
+                            + "::"
+                            + adwebSiteBlackIp.getIp());
+            adwebRedisUtil.del(
+                    NotSiteBlackIpWasteEnquiryKey
+                            + adwebSiteBlackIp.getSiteId()
+                            + "::"
+                            + adwebSiteBlackIp.getIp());
             siteIdHashSet.add(adwebSiteBlackIp.getSiteId());
         }
 
         for (Integer siteId : siteIdHashSet) {
-            List<AdwebSiteBlackIp> siteBlackIpList = adwebSiteBlackIpService.list(new QueryWrapper<AdwebSiteBlackIp>().eq("status", 1).eq("site_id", siteId));
+            List<AdwebSiteBlackIp> siteBlackIpList =
+                    adwebSiteBlackIpService.list(
+                            new LambdaQueryWrapper<AdwebSiteBlackIp>()
+                                    .eq(AdwebSiteBlackIp::getStatus, 1)
+                                    .eq(AdwebSiteBlackIp::getSiteId, siteId));
 
             if (CollectionUtils.isEmpty(siteBlackIpList)) {
                 adwebRedisUtil.del(SiteBlackIpKey + "::" + siteId);
@@ -311,14 +420,22 @@ public class AdwebSiteBlackIpController extends JeecgController<AdwebSiteBlackIp
                 return Result.OK("编辑成功!");
             }
 
-            List<String> blackIpList = siteBlackIpList.stream().filter(siteBlackIp -> siteBlackIp.getBlackOrWhite().equals(0)).map(AdwebSiteBlackIp::getIp).collect(Collectors.toList());
+            List<String> blackIpList =
+                    siteBlackIpList.stream()
+                            .filter(siteBlackIp -> siteBlackIp.getBlackOrWhite().equals(0))
+                            .map(AdwebSiteBlackIp::getIp)
+                            .collect(Collectors.toList());
             if (CollectionUtils.isNotEmpty(blackIpList)) {
                 adwebRedisUtil.set(SiteBlackIpKey + "::" + siteId, blackIpList, 60 * 60 * 24);
             } else {
                 adwebRedisUtil.del(SiteBlackIpKey + "::" + siteId);
             }
 
-            List<String> whiteIpList = siteBlackIpList.stream().filter(siteBlackIp -> siteBlackIp.getBlackOrWhite().equals(1)).map(AdwebSiteBlackIp::getIp).collect(Collectors.toList());
+            List<String> whiteIpList =
+                    siteBlackIpList.stream()
+                            .filter(siteBlackIp -> siteBlackIp.getBlackOrWhite().equals(1))
+                            .map(AdwebSiteBlackIp::getIp)
+                            .collect(Collectors.toList());
             if (CollectionUtils.isNotEmpty(whiteIpList)) {
                 adwebRedisUtil.set(SiteWhiteIpListKey + "::" + siteId, whiteIpList, 60 * 60 * 24);
             } else {
@@ -354,7 +471,8 @@ public class AdwebSiteBlackIpController extends JeecgController<AdwebSiteBlackIp
      */
     @RequestMapping(value = "/exportXls")
     public ModelAndView exportXls(HttpServletRequest request, AdwebSiteBlackIp adwebSiteBlackIp) {
-        return super.exportXls(request, adwebSiteBlackIp, AdwebSiteBlackIp.class, "adweb_site_black_ip");
+        return super.exportXls(
+                request, adwebSiteBlackIp, AdwebSiteBlackIp.class, "adweb_site_black_ip");
     }
 
     /**
@@ -368,5 +486,4 @@ public class AdwebSiteBlackIpController extends JeecgController<AdwebSiteBlackIp
     public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
         return super.importExcel(request, response, AdwebSiteBlackIp.class);
     }
-
 }

+ 43 - 28
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/controller/AdwebSiteEnquiryRuleController.java

@@ -1,14 +1,18 @@
 package org.jeecg.modules.adweb.enquiry.controller;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+
 import jakarta.annotation.Resource;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
+
 import lombok.extern.slf4j.Slf4j;
+
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
@@ -41,17 +45,13 @@ import java.util.stream.Collectors;
 @RestController
 @RequestMapping("/adweb/adwebEnquirySiteRule")
 @Slf4j
-public class AdwebSiteEnquiryRuleController extends JeecgController<AdwebSiteEnquiryRule, IAdwebSiteEnquiryRuleService> {
-    @Resource
-    private IAdwebSiteEnquiryRuleService adwebSiteEnquiryRuleService;
-    @Resource
-    private AdwebSiteEnquiryRuleMapper adwebEnquirySiteRuleMapper;
-    @Resource
-    private IAdwebSiteService adwebSiteService;
-    @Resource
-    private SysAdwebApi sysAdwebApi;
-    @Resource
-    private ISiteUserPermissionService siteUserPermissionService;
+public class AdwebSiteEnquiryRuleController
+        extends JeecgController<AdwebSiteEnquiryRule, IAdwebSiteEnquiryRuleService> {
+    @Resource private IAdwebSiteEnquiryRuleService adwebSiteEnquiryRuleService;
+    @Resource private AdwebSiteEnquiryRuleMapper adwebEnquirySiteRuleMapper;
+    @Resource private IAdwebSiteService adwebSiteService;
+    @Resource private SysAdwebApi sysAdwebApi;
+    @Resource private ISiteUserPermissionService siteUserPermissionService;
 
     /**
      * 分页列表查询
@@ -65,10 +65,11 @@ public class AdwebSiteEnquiryRuleController extends JeecgController<AdwebSiteEnq
     @AutoLog(value = "adweb_site_enquiry_rule-分页列表查询")
     @Operation(summary = "adweb_site_enquiry_rule-分页列表查询")
     @GetMapping(value = "/list")
-    public Result<?> queryPageList(AdwebSiteEnquiryRule adwebEnquirySiteRule,
-                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                   HttpServletRequest req) {
+    public Result<?> queryPageList(
+            AdwebSiteEnquiryRule adwebEnquirySiteRule,
+            @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+            @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+            HttpServletRequest req) {
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         List<String> codeList = null;
         List<String> uidList = null;
@@ -88,11 +89,17 @@ public class AdwebSiteEnquiryRuleController extends JeecgController<AdwebSiteEnq
         if (adwebEnquirySiteRule.getSiteId() != null) {
             String siteCode = adwebSiteService.getSiteCodeById(adwebEnquirySiteRule.getSiteId());
             if (StringUtils.isNotBlank(siteCode)) {
-                QueryWrapper<AdwebSite> queryWrapper = new QueryWrapper<>();
-                queryWrapper.eq("id", adwebEnquirySiteRule.getSiteId()).or().eq("parent_group_code", siteCode);
-                queryWrapper.ne("status", 0);
-                queryWrapper.in(!sysAdwebApi.isAdmin(), "code", siteCodeList);
-                codeList = adwebSiteService.list(queryWrapper).stream().map(AdwebSite::getCode).collect(Collectors.toList());
+                LambdaQueryWrapper<AdwebSite> queryWrapper = new LambdaQueryWrapper<>();
+                queryWrapper
+                        .eq(AdwebSite::getId, adwebEnquirySiteRule.getSiteId())
+                        .or()
+                        .eq(AdwebSite::getParentGroupCode, siteCode);
+                queryWrapper.ne(AdwebSite::getStatus, 0);
+                queryWrapper.in(!sysAdwebApi.isAdmin(), AdwebSite::getCode, siteCodeList);
+                codeList =
+                        adwebSiteService.list(queryWrapper).stream()
+                                .map(AdwebSite::getCode)
+                                .collect(Collectors.toList());
             }
         } else {
             codeList = siteCodeList;
@@ -104,9 +111,13 @@ public class AdwebSiteEnquiryRuleController extends JeecgController<AdwebSiteEnq
         return Result.OK(pageList);
     }
 
-    public IPage<AdwebSiteEnquiryRule> getPageList(Page<AdwebSiteEnquiryRule> page, AdwebSiteEnquiryRule adwebEnquirySiteRule, List<String> codeList) {
+    public IPage<AdwebSiteEnquiryRule> getPageList(
+            Page<AdwebSiteEnquiryRule> page,
+            AdwebSiteEnquiryRule adwebEnquirySiteRule,
+            List<String> codeList) {
 
-        IPage<AdwebSiteEnquiryRule> pageList = adwebEnquirySiteRuleMapper.pageList(page, adwebEnquirySiteRule, codeList);
+        IPage<AdwebSiteEnquiryRule> pageList =
+                adwebEnquirySiteRuleMapper.pageList(page, adwebEnquirySiteRule, codeList);
         return pageList;
     }
 
@@ -162,7 +173,7 @@ public class AdwebSiteEnquiryRuleController extends JeecgController<AdwebSiteEnq
         AdwebSiteEnquiryRule adwebEnquirySiteRule = adwebSiteEnquiryRuleService.getById(id);
         adwebEnquirySiteRule.setStatus(0);
         adwebSiteEnquiryRuleService.updateById(adwebEnquirySiteRule);
-//		adwebSiteEnquiryRuleService.removeById(id);
+        //		adwebSiteEnquiryRuleService.removeById(id);
         return Result.OK("删除成功!");
     }
 
@@ -184,7 +195,7 @@ public class AdwebSiteEnquiryRuleController extends JeecgController<AdwebSiteEnq
             adwebEnquirySiteRule.setStatus(0);
             adwebSiteEnquiryRuleService.updateById(adwebEnquirySiteRule);
         }
-//		this.adwebSiteEnquiryRuleService.removeByIds(Arrays.asList(ids.split(",")));
+        //		this.adwebSiteEnquiryRuleService.removeByIds(Arrays.asList(ids.split(",")));
         return Result.OK("批量删除成功!");
     }
 
@@ -212,8 +223,13 @@ public class AdwebSiteEnquiryRuleController extends JeecgController<AdwebSiteEnq
      * @param adwebEnquirySiteRule
      */
     @RequestMapping(value = "/exportXls")
-    public ModelAndView exportXls(HttpServletRequest request, AdwebSiteEnquiryRule adwebEnquirySiteRule) {
-        return super.exportXls(request, adwebEnquirySiteRule, AdwebSiteEnquiryRule.class, "adweb_site_enquiry_rule");
+    public ModelAndView exportXls(
+            HttpServletRequest request, AdwebSiteEnquiryRule adwebEnquirySiteRule) {
+        return super.exportXls(
+                request,
+                adwebEnquirySiteRule,
+                AdwebSiteEnquiryRule.class,
+                "adweb_site_enquiry_rule");
     }
 
     /**
@@ -227,5 +243,4 @@ public class AdwebSiteEnquiryRuleController extends JeecgController<AdwebSiteEnq
     public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
         return super.importExcel(request, response, AdwebSiteEnquiryRule.class);
     }
-
 }

+ 9 - 4
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/dto/EnquiryDTO.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.adweb.enquiry.dto;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+
 import lombok.Data;
 
 import java.util.Date;
@@ -10,7 +11,7 @@ import java.util.Date;
  */
 @Data
 public class EnquiryDTO {
-    //站点code,关联站点表
+    // 站点code,关联站点表
     private String siteCode;
     private String fromEmail;
     private Object forms;
@@ -18,12 +19,16 @@ public class EnquiryDTO {
     private String fromIp;
     private String siteHost;
 
-    @JsonFormat(shape = JsonFormat.Shape.STRING, timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(
+            shape = JsonFormat.Shape.STRING,
+            timezone = "GMT+8",
+            pattern = "yyyy-MM-dd HH:mm:ss")
     private Date recordCtime;
+
     private String recordId;
-    //访问人id
+    // 访问人id
     private String visitId;
-    //站点id
+    // 站点id
     private Integer siteId;
     private String siteToken;
     private String formName;

+ 1 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/dto/IndependentEnquiryDto.java

@@ -20,6 +20,7 @@ public class IndependentEnquiryDto {
     private String path;
     private String country;
     private String whatsApp;
+
     public String dealFromPage() {
         return this.pageTitle + " " + this.pageHref;
     }

+ 1 - 3
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/dto/param/EffectiveEnquiryParamDto.java

@@ -2,9 +2,7 @@ package org.jeecg.modules.adweb.enquiry.dto.param;
 
 import lombok.Data;
 
-/**
- * 有效询盘参数
- */
+/** 有效询盘参数 */
 @Data
 public class EffectiveEnquiryParamDto {
     private String id;

+ 1 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/dto/param/EnquiryListSearchDto.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.adweb.enquiry.dto.param;
 
 import lombok.Data;
+
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.util.Date;

+ 7 - 8
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/dto/param/EnquirySearchDto.java

@@ -4,19 +4,19 @@ import lombok.Data;
 
 @Data
 public class EnquirySearchDto {
-    //询盘模块类型
+    // 询盘模块类型
     private String modular;
-    //阶段
+    // 阶段
     private String phase;
-    //跟进状态
+    // 跟进状态
     private String trackStatus;
-    //跟进人id
+    // 跟进人id
     private Long tracker;
-    //是否系统有效
+    // 是否系统有效
     private Integer isSysEffective;
-    //获取回复状态
+    // 获取回复状态
     private String replayStatus;
-    //获取用户有效性
+    // 获取用户有效性
     private Integer userEffective;
     private String siteCode;
     private Integer siteId;
@@ -24,7 +24,6 @@ public class EnquirySearchDto {
     private String ctimeBegin;
     private String ctimeEnd;
 
-
     private String whatsApp;
 
     private String wasteEnquiryType;

+ 24 - 31
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/dto/result/EnquiryListDto.java

@@ -11,28 +11,29 @@ import java.util.List;
 public class EnquiryListDto {
     @JsonSerialize(using = ToStringSerializer.class)
     private Long id;
-    //询盘编号(系统生成)
+
+    // 询盘编号(系统生成)
     private String no;
     private String noOut;
-    //询盘创建时间(发起时间)
+    // 询盘创建时间(发起时间)
     private Date recordCtime;
     // 询盘入库时间
     private Date ctime;
-    //询盘业务模块
+    // 询盘业务模块
     private String modular;
-    //询盘联系人
+    // 询盘联系人
     private String contact;
-    //询盘内容
+    // 询盘内容
     private String context;
-    //询盘发送邮箱
+    // 询盘发送邮箱
     private String fromEmail;
-    //国家/地区
+    // 国家/地区
     private String country;
-    //发送询盘的站点
+    // 发送询盘的站点
     private String siteHost;
-    //用户有效性
+    // 用户有效性
     private Integer userEffective;
-    //回复状态
+    // 回复状态
     private String replayStatus;
     private Integer status;
     private Integer siteId;
@@ -41,29 +42,27 @@ public class EnquiryListDto {
     private List<String> job;
     // 简历路径
     private String path;
-    /**
-     * 后台处理字段
-     */
 
-    //来源页面
+    /** 后台处理字段 */
+
+    // 来源页面
     private String fromPage;
-    //电话
+
+    // 电话
     private String phone;
-    //表单公司
+    // 表单公司
     private String formCompany;
-    //用户有效性
+    // 用户有效性
     private String userEffectiveStr;
-    //敏感词
+    // 敏感词
     private String sensitiveMessage;
-    //系统有效性
+    // 系统有效性
     private Integer sysEffective;
     private String siteName;
     private String transContent;
     private String cartItems;
 
-    /**
-     * 用于前端默认展示第一行数据
-     */
+    /** 用于前端默认展示第一行数据 */
     private Integer dataIndex;
 
     private String whatsApp;
@@ -84,21 +83,15 @@ public class EnquiryListDto {
 
     private String principalUid;
 
-    /**
-     * 特殊字段名
-     */
+    /** 特殊字段名 */
     private String specialField;
 
     private List<EnquirySpecialFields> specialFieldList;
 
-    /**
-     * 疑似垃圾询盘理由
-     */
+    /** 疑似垃圾询盘理由 */
     private String effectiveReason;
 
-    /**
-     * 询盘来源插件名称
-     */
+    /** 询盘来源插件名称 */
     private String pluginName;
 
     private String wasteEnquiryType;

+ 2 - 6
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/dto/result/EnquirySpecialFields.java

@@ -5,13 +5,9 @@ import lombok.Data;
 @Data
 public class EnquirySpecialFields {
 
-    /**
-     * 特殊字段名
-     */
+    /** 特殊字段名 */
     private String field;
 
-    /**
-     * 特殊字段值
-     */
+    /** 特殊字段值 */
     private String value;
 }

+ 15 - 17
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/AdwebOpenApiService.java

@@ -1,6 +1,6 @@
 package org.jeecg.modules.adweb.enquiry.service;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 
 import jakarta.annotation.Resource;
 
@@ -22,20 +22,18 @@ import java.util.List;
 @Service
 @Slf4j
 public class AdwebOpenApiService {
-    @Resource
-    private IAdwebSiteService adwebSiteService;
+    @Resource private IAdwebSiteService adwebSiteService;
 
     @Value("${server.servlet.context-path}")
     public String contextPath;
 
-
     /**
      * @param siteCode
      * @return
      */
     public List<AdwebSite> selectBySiteCode(String siteCode) {
-        QueryWrapper<AdwebSite> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("code", siteCode);
+        LambdaQueryWrapper<AdwebSite> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(AdwebSite::getCode, siteCode);
         return adwebSiteService.list(queryWrapper);
     }
 
@@ -50,7 +48,7 @@ public class AdwebOpenApiService {
         List<AdwebSite> adwebSites = selectBySiteCode(siteCode);
         if (CollectionUtils.isNotEmpty(adwebSites)) {
             AdwebSite adwebSite = adwebSites.get(0);
-            if(adwebSite.getDayEnquiryCount()!= null){
+            if (adwebSite.getDayEnquiryCount() != null) {
                 code = adwebSite.getDayEnquiryCount() + 1;
             } else {
                 code = 1;
@@ -61,14 +59,14 @@ public class AdwebOpenApiService {
         return String.format("%04d", code);
     }
 
-//    public String loadOutNoByUser(String uid) {
-//        if (StringUtils.isEmpty(uid)) {
-//            return "000";
-//        }
-//        Date todayZero = DateUtil.formatDate(new Date(), DateUtil.DATE_PATTERN);
-//        QueryWrapper<AdwebEnquiry> queryWrapper = new QueryWrapper<>();
-//        queryWrapper.eq("uid", uid).gt("ctime", todayZero);
-//        int count = (int) adwebEnquiryService.count(queryWrapper);
-//        return String.format("%03d", count + 1);
-//    }
+    //    public String loadOutNoByUser(String uid) {
+    //        if (StringUtils.isEmpty(uid)) {
+    //            return "000";
+    //        }
+    //        Date todayZero = DateUtil.formatDate(new Date(), DateUtil.DATE_PATTERN);
+    //        QueryWrapper<AdwebEnquiry> queryWrapper = new QueryWrapper<>();
+    //        queryWrapper.eq("uid", uid).gt("ctime", todayZero);
+    //        int count = (int) adwebEnquiryService.count(queryWrapper);
+    //        return String.format("%03d", count + 1);
+    //    }
 }

+ 4 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/EnquiryRedisService.java

@@ -11,8 +11,10 @@ public class EnquiryRedisService {
 
     @Value(value = "${spring.data.redis.host}")
     private String JEDIS_IP;
+
     @Value(value = "${spring.data.redis.port}")
     private int JEDIS_PORT;
+
     @Value(value = "${spring.data.redis.password:#{null}}")
     private String JEDIS_PASSWORD;
 
@@ -21,10 +23,10 @@ public class EnquiryRedisService {
     }
 
     @Async
-    public void startEnquiryEmailMessageListener(String channel, IEnquiryEmailMessageService enquiryEmailMessageService) {
+    public void startEnquiryEmailMessageListener(
+            String channel, IEnquiryEmailMessageService enquiryEmailMessageService) {
         EnquiryEmailSenderListener listener = new EnquiryEmailSenderListener();
         listener.setEnquiryEmailMessageService(enquiryEmailMessageService);
         JedisUtil.subscribeMsg(listener, channel);
     }
-
 }

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/IAdwebEnquiryBlacklistService.java

@@ -7,7 +7,7 @@ import org.jeecg.modules.adweb.enquiry.entity.AdwebEnquiryBlacklist;
 /**
  * @Description: adweb_enquiry_blacklist
  * @Author: jeecg-boot
- * @Date:   2022-08-05
+ * @Date: 2022-08-05
  * @Version: V1.0
  */
 public interface IAdwebEnquiryBlacklistService extends IService<AdwebEnquiryBlacklist> {

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/IAdwebEnquiryFormService.java

@@ -6,7 +6,7 @@ import org.jeecg.modules.adweb.enquiry.entity.AdwebEnquiryForm;
 /**
  * @Description: adweb_enquiry_form
  * @Author: jeecg-boot
- * @Date:   2022-08-03
+ * @Date: 2022-08-03
  * @Version: V1.0
  */
 public interface IAdwebEnquiryFormService extends IService<AdwebEnquiryForm> {

+ 3 - 6
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/IAdwebEnquiryService.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.adweb.enquiry.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+
 import org.jeecg.modules.adweb.enquiry.dto.EnquiryDTO;
 import org.jeecg.modules.adweb.enquiry.dto.param.EffectiveEnquiryParamDto;
 import org.jeecg.modules.adweb.enquiry.entity.AdwebEnquiry;
@@ -18,14 +19,10 @@ public interface IAdwebEnquiryService extends IService<AdwebEnquiry> {
 
     void addEnquiry(EnquiryDTO enquiryDTO, String plugin, List<AdwebSite> adwebSites);
 
-    /**
-     * 返回用户名称
-     */
+    /** 返回用户名称 */
     void returnSalesperson(String siteCode, String inquiryId, String sales);
 
-    /**
-     * 根据地区更新询盘跟进人
-     */
+    /** 根据地区更新询盘跟进人 */
     void updatePrincipalUidByRegion(Integer siteId);
 
     /**

+ 10 - 6
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/IAdwebPublicBlackEmailService.java

@@ -8,14 +8,18 @@ import org.jeecg.modules.adweb.enquiry.entity.AdwebPublicBlackEmail;
 /**
  * @Description: 询盘公共邮箱黑名单
  * @Author: jeecg-boot
- * @Date:   2024-10-17
+ * @Date: 2024-10-17
  * @Version: V1.0
- *
  */
 public interface IAdwebPublicBlackEmailService extends IService<AdwebPublicBlackEmail> {
-    IPage<AdwebPublicBlackEmail> pageList(Page<AdwebPublicBlackEmail> page, String email, Integer blackOrWhite,String column,String order);
+    IPage<AdwebPublicBlackEmail> pageList(
+            Page<AdwebPublicBlackEmail> page,
+            String email,
+            Integer blackOrWhite,
+            String column,
+            String order);
 
-//    void updateBlackListByEmailAndIp();
-//
-//    void updateEnquiryBlackList();
+    //    void updateBlackListByEmailAndIp();
+    //
+    //    void updateEnquiryBlackList();
 }

+ 8 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/IAdwebPublicBlackIpService.java

@@ -3,14 +3,20 @@ package org.jeecg.modules.adweb.enquiry.service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
+
 import org.jeecg.modules.adweb.enquiry.entity.AdwebPublicBlackIp;
 
 /**
  * @Description: IP黑名单
  * @Author: jeecg-boot
- * @Date:   2023-02-20
+ * @Date: 2023-02-20
  * @Version: V1.0
  */
 public interface IAdwebPublicBlackIpService extends IService<AdwebPublicBlackIp> {
-    IPage<AdwebPublicBlackIp> pageList(Page<AdwebPublicBlackIp> page, String ip, Integer blackOrWhite,String column,String order);
+    IPage<AdwebPublicBlackIp> pageList(
+            Page<AdwebPublicBlackIp> page,
+            String ip,
+            Integer blackOrWhite,
+            String column,
+            String order);
 }

+ 10 - 3
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/IAdwebPublicEnquiryRuleService.java

@@ -3,6 +3,7 @@ package org.jeecg.modules.adweb.enquiry.service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
+
 import org.jeecg.modules.adweb.enquiry.entity.AdwebPublicEnquiryRule;
 
 import java.util.List;
@@ -10,7 +11,7 @@ import java.util.List;
 /**
  * @Description: 用于询盘规则过滤
  * @Author: jeecg-boot
- * @Date:   2024-10-17
+ * @Date: 2024-10-17
  * @Version: V1.0
  */
 public interface IAdwebPublicEnquiryRuleService extends IService<AdwebPublicEnquiryRule> {
@@ -19,6 +20,12 @@ public interface IAdwebPublicEnquiryRuleService extends IService<AdwebPublicEnqu
 
     List<String> getEnquiryBlackList();
 
-    IPage<AdwebPublicEnquiryRule> pageList(Page<AdwebPublicEnquiryRule> page, String word, Integer blackOrWhiteList, Integer isEnable, Integer useStatus, String column, String order);
-
+    IPage<AdwebPublicEnquiryRule> pageList(
+            Page<AdwebPublicEnquiryRule> page,
+            String word,
+            Integer blackOrWhiteList,
+            Integer isEnable,
+            Integer useStatus,
+            String column,
+            String order);
 }

+ 10 - 7
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/IAdwebSiteBlackEmailService.java

@@ -3,6 +3,7 @@ package org.jeecg.modules.adweb.enquiry.service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
+
 import org.jeecg.modules.adweb.enquiry.dto.param.EffectiveEnquiryParamDto;
 import org.jeecg.modules.adweb.enquiry.entity.AdwebSiteBlackEmail;
 
@@ -16,14 +17,11 @@ import java.util.Map;
  * @Version: V1.0
  */
 public interface IAdwebSiteBlackEmailService extends IService<AdwebSiteBlackEmail> {
-    /**
-     * 根据站点id获取并存取黑名单数据到redis
-     */
+
+    /** 根据站点id获取并存取黑名单数据到redis */
     void saveRedisSiteBlackEmailBySiteId(Integer siteId, Integer blackOrWhite);
 
-    /**
-     * 根据站点id获取对应所有的黑白名单数据
-     */
+    /** 根据站点id获取对应所有的黑白名单数据 */
     Map<String, List<String>> getSiteBlackEmailListBySiteId(Integer siteId);
 
     /**
@@ -34,7 +32,12 @@ public interface IAdwebSiteBlackEmailService extends IService<AdwebSiteBlackEmai
      * @param codeList
      * @return
      */
-    IPage<AdwebSiteBlackEmail> pageList(Page<AdwebSiteBlackEmail> page, AdwebSiteBlackEmail enquirySiteBlackEmail, List<String> codeList, String column, String order);
+    IPage<AdwebSiteBlackEmail> pageList(
+            Page<AdwebSiteBlackEmail> page,
+            AdwebSiteBlackEmail enquirySiteBlackEmail,
+            List<String> codeList,
+            String column,
+            String order);
 
     /**
      * 更改为垃圾询盘处理邮箱黑名单

+ 9 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/IAdwebSiteBlackIpService.java

@@ -11,23 +11,30 @@ import java.util.List;
 /**
  * @Description: adweb_site_black_ip
  * @Author: jeecg-boot
- * @Date:   2023-08-31
+ * @Date: 2023-08-31
  * @Version: V1.0
  */
 public interface IAdwebSiteBlackIpService extends IService<AdwebSiteBlackIp> {
 
     /**
      * 更改为垃圾询盘处理ip黑名单
+     *
      * @param effectiveEnquiryParamDto
      */
     void addBlackIpByContent(EffectiveEnquiryParamDto effectiveEnquiryParamDto);
 
     /**
      * 获取分页列表数据
+     *
      * @param page
      * @param adwebSiteBlackIp
      * @param codeList
      * @return
      */
-    IPage<AdwebSiteBlackIp> pageList(Page<AdwebSiteBlackIp> page, AdwebSiteBlackIp adwebSiteBlackIp, List<String> codeList, String column, String order);
+    IPage<AdwebSiteBlackIp> pageList(
+            Page<AdwebSiteBlackIp> page,
+            AdwebSiteBlackIp adwebSiteBlackIp,
+            List<String> codeList,
+            String column,
+            String order);
 }

+ 12 - 13
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/IEnquiryEmailMessageService.java

@@ -10,28 +10,27 @@ import java.util.List;
 /**
  * @Description: adweb_enquiry_email_message
  * @Author: jeecg-boot
- * @Date:   2023-02-01
+ * @Date: 2023-02-01
  * @Version: V1.0
  */
 public interface IEnquiryEmailMessageService extends IService<EnquiryEmailMessage> {
 
-     void sendEnquiryEmail(Long enquiryId);
+    void sendEnquiryEmail(Long enquiryId);
 
-     void sendEmailByMessage(EnquiryEmailMessage message);
+    void sendEmailByMessage(EnquiryEmailMessage message);
 
-     /**
-      * 获取待发送询盘
-      * 1、首次发送失败的
-      * 2、超过timeout分钟未处理的
-      *
-      * @param timeout 留给首次实时处理的时间,单位分钟,超过这个时间则认为首次邮件发送失败,应该由定时器处理
-      * @param num     获取邮件数量
-      * @return 邮件列表
-      */
-     List<EnquiryEmailMessage> getWaitSendEmail(int timeout, int num);
+    /**
+     * 获取待发送询盘 1、首次发送失败的 2、超过timeout分钟未处理的
+     *
+     * @param timeout 留给首次实时处理的时间,单位分钟,超过这个时间则认为首次邮件发送失败,应该由定时器处理
+     * @param num 获取邮件数量
+     * @return 邮件列表
+     */
+    List<EnquiryEmailMessage> getWaitSendEmail(int timeout, int num);
 
     /**
      * 添加并发送询盘邮件
+     *
      * @param adwebEnquiry
      */
     Result<?> addAndEnquiryEmailMsg(AdwebEnquiry adwebEnquiry, String uid);

+ 1 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/ISubUserEmailService.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.adweb.enquiry.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+
 import org.jeecg.modules.adweb.enquiry.entity.SubUserEmail;
 
 /**

+ 16 - 9
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/impl/AdwebEnquiryBlacklistServiceImpl.java

@@ -1,9 +1,11 @@
 package org.jeecg.modules.adweb.enquiry.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xkcoding.http.util.StringUtil;
+
 import jakarta.annotation.Resource;
+
 import org.jeecg.modules.adweb.enquiry.entity.AdwebEnquiry;
 import org.jeecg.modules.adweb.enquiry.entity.AdwebEnquiryBlacklist;
 import org.jeecg.modules.adweb.enquiry.mapper.AdwebEnquiryBlacklistMapper;
@@ -16,14 +18,15 @@ import java.util.List;
 /**
  * @Description: adweb_enquiry_blacklist
  * @Author: jeecg-boot
- * @Date:   2022-08-05
+ * @Date: 2022-08-05
  * @Version: V1.0
  */
 @Service
-public class AdwebEnquiryBlacklistServiceImpl extends ServiceImpl<AdwebEnquiryBlacklistMapper, AdwebEnquiryBlacklist> implements IAdwebEnquiryBlacklistService {
+public class AdwebEnquiryBlacklistServiceImpl
+        extends ServiceImpl<AdwebEnquiryBlacklistMapper, AdwebEnquiryBlacklist>
+        implements IAdwebEnquiryBlacklistService {
 
-    @Resource
-    private IAdwebSiteService adwebSiteService;
+    @Resource private IAdwebSiteService adwebSiteService;
 
     /**
      * 判断询盘是否是处于黑名单中,根据手机号和邮箱进行匹配,两个都不为空且都相同才算匹配上
@@ -39,10 +42,14 @@ public class AdwebEnquiryBlacklistServiceImpl extends ServiceImpl<AdwebEnquiryBl
             return false;
         }
         List<Integer> siteIds = adwebSiteService.getAllSiteIdBySiteId(adwebEnquiry.getSiteId());
-        QueryWrapper<AdwebEnquiryBlacklist> queryWrapper = new QueryWrapper<>();
-        queryWrapper.in("site_id", siteIds);
-        queryWrapper.eq("status", 1);
-        queryWrapper.and(wrapper -> wrapper.eq("email", email).or().eq("phone", phone));
+        LambdaQueryWrapper<AdwebEnquiryBlacklist> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.in(AdwebEnquiryBlacklist::getSiteId, siteIds);
+        queryWrapper.eq(AdwebEnquiryBlacklist::getStatus, 1);
+        queryWrapper.and(
+                wrapper ->
+                        wrapper.eq(AdwebEnquiryBlacklist::getEmail, email)
+                                .or()
+                                .eq(AdwebEnquiryBlacklist::getPhone, phone));
         return this.count(queryWrapper) > 0;
     }
 }

+ 7 - 6
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/impl/AdwebEnquiryFormServiceImpl.java

@@ -1,6 +1,6 @@
 package org.jeecg.modules.adweb.enquiry.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.jeecg.modules.adweb.enquiry.entity.AdwebEnquiryForm;
 import org.jeecg.modules.adweb.enquiry.mapper.AdwebEnquiryFormMapper;
@@ -10,17 +10,18 @@ import org.springframework.stereotype.Service;
 /**
  * @Description: adweb_enquiry_form
  * @Author: jeecg-boot
- * @Date:   2022-08-03
+ * @Date: 2022-08-03
  * @Version: V1.0
  */
 @Service
-public class AdwebEnquiryFormServiceImpl extends ServiceImpl<AdwebEnquiryFormMapper, AdwebEnquiryForm> implements IAdwebEnquiryFormService {
+public class AdwebEnquiryFormServiceImpl
+        extends ServiceImpl<AdwebEnquiryFormMapper, AdwebEnquiryForm>
+        implements IAdwebEnquiryFormService {
 
     @Override
     public AdwebEnquiryForm getByEnquiryId(long enquiryId) {
-        QueryWrapper<AdwebEnquiryForm> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("enquiry_id", enquiryId);
+        LambdaQueryWrapper<AdwebEnquiryForm> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(AdwebEnquiryForm::getEnquiryId, enquiryId);
         return getOne(queryWrapper);
     }
-
 }

+ 4 - 3
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/impl/AdwebEnquiryRecordServiceImpl.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.adweb.enquiry.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
 import org.jeecg.modules.adweb.enquiry.entity.AdwebEnquiryRecord;
 import org.jeecg.modules.adweb.enquiry.mapper.AdwebEnquiryRecordMapper;
 import org.jeecg.modules.adweb.enquiry.service.IAdwebEnquiryRecordService;
@@ -13,6 +14,6 @@ import org.springframework.stereotype.Service;
  * @Version: V1.0
  */
 @Service
-public class AdwebEnquiryRecordServiceImpl extends ServiceImpl<AdwebEnquiryRecordMapper, AdwebEnquiryRecord> implements IAdwebEnquiryRecordService {
-
-}
+public class AdwebEnquiryRecordServiceImpl
+        extends ServiceImpl<AdwebEnquiryRecordMapper, AdwebEnquiryRecord>
+        implements IAdwebEnquiryRecordService {}

Fișier diff suprimat deoarece este prea mare
+ 340 - 225
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/impl/AdwebEnquiryServiceImpl.java


+ 170 - 122
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/impl/AdwebPublicBlackEmailServiceImpl.java

@@ -3,15 +3,17 @@ package org.jeecg.modules.adweb.enquiry.service.impl;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
 import jakarta.annotation.Resource;
+
 import lombok.extern.slf4j.Slf4j;
+
 import org.jeecg.modules.adweb.enquiry.entity.AdwebPublicBlackEmail;
 import org.jeecg.modules.adweb.enquiry.mapper.AdwebPublicBlackEmailMapper;
 import org.jeecg.modules.adweb.enquiry.service.IAdwebPublicBlackEmailService;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
-
 /**
  * @Description: 询盘公共邮箱黑名单
  * @Author: jeecg-boot
@@ -20,147 +22,193 @@ import org.springframework.stereotype.Service;
  */
 @Slf4j
 @Service
-public class AdwebPublicBlackEmailServiceImpl extends ServiceImpl<AdwebPublicBlackEmailMapper, AdwebPublicBlackEmail> implements IAdwebPublicBlackEmailService {
+public class AdwebPublicBlackEmailServiceImpl
+        extends ServiceImpl<AdwebPublicBlackEmailMapper, AdwebPublicBlackEmail>
+        implements IAdwebPublicBlackEmailService {
 
-//    @Resource
-//    private IAdwebEnquiryService adwebEnquiryService;
-//    @Resource
-//    private IAdwebPublicBlackIpService adwebPublicBlackIpService;
-//    @Resource
-//    private AdwebRedisUtil adwebRedisUtil;
+    //    @Resource
+    //    private IAdwebEnquiryService adwebEnquiryService;
+    //    @Resource
+    //    private IAdwebPublicBlackIpService adwebPublicBlackIpService;
+    //    @Resource
+    //    private AdwebRedisUtil adwebRedisUtil;
 
     @Value("${judge_waste_enquiry.ip.delOrdIpDate}")
     private Integer delOrdIpDate;
+
     @Value("${judge_waste_enquiry.email.tenMinNum}")
     private Integer emailTenMinNum;
+
     @Value("${judge_waste_enquiry.email.oneDayNum}")
     private Integer emailOneDayNum;
+
     @Value("${judge_waste_enquiry.ip.tenMinNum}")
     private Integer ipTenMinNum;
+
     @Value("${judge_waste_enquiry.ip.oneDayNum}")
     private Integer ipOneDayNum;
+
     private static final String BlackEmailKey = "BLACK_EMAIL_LIST";
     private static final String WhiteEmailListKey = "WHITE_EMAIL_LIST";
     private static final String WhiteIpListKey = "WHITE_IP_LIST";
     private static final String BlackIpKey = "BLACK_IP_LIST";
 
-    @Resource
-    AdwebPublicBlackEmailMapper adwebPublicBlackEmailMapper;
+    @Resource AdwebPublicBlackEmailMapper adwebPublicBlackEmailMapper;
 
     @Override
-    public IPage<AdwebPublicBlackEmail> pageList(Page<AdwebPublicBlackEmail> page, String email, Integer blackOrWhite, String column, String order) {
+    public IPage<AdwebPublicBlackEmail> pageList(
+            Page<AdwebPublicBlackEmail> page,
+            String email,
+            Integer blackOrWhite,
+            String column,
+            String order) {
         return adwebPublicBlackEmailMapper.pageList(page, email, blackOrWhite, column, order);
     }
 
-    //定时器执行
-//    @Override
-//    public void updateBlackListByEmailAndIp() {
-//
-//        List<AdwebPublicBlackEmail> emailList = this.list(new QueryWrapper<AdwebPublicBlackEmail>().eq("status", 1));
-//
-//        log.info("获取到的email黑名单数量为:{}", emailList.size());
-//
-//        List<String> blackEmailList = emailList.stream().filter(e -> e.getBlackOrWhite() == 0).map(AdwebPublicBlackEmail::getEmail).collect(Collectors.toList());
-//
-//        List<String> whiteEmailList = emailList.stream().filter(e -> e.getBlackOrWhite() == 1).map(AdwebPublicBlackEmail::getEmail).collect(Collectors.toList());
-//
-//        adwebRedisUtil.set(BlackEmailKey, blackEmailList, 60 * 60 * 24);
-//        adwebRedisUtil.set(WhiteEmailListKey, whiteEmailList, 60 * 60 * 24);
-//
-//        log.info("更新email黑名单成功,黑名单数量为:{},白名单数量为{}", blackEmailList.size(), whiteEmailList.size());
-//
-//        //90天内的ip
-//        List<AdwebPublicBlackIp> ipList = adwebPublicBlackIpService.list(new QueryWrapper<AdwebPublicBlackIp>().eq("status", 1).gt("create_time", DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -delOrdIpDate)));
-//
-//        log.info("获取到的ip黑名单数量为:{}", ipList.size());
-//
-//        List<String> blackIpList = ipList.stream().filter(e -> e.getBlackOrWhite() == 0).map(AdwebPublicBlackIp::getIp).collect(Collectors.toList());
-//
-//        List<String> whiteIpList = ipList.stream().filter(e -> e.getBlackOrWhite() == 1).map(AdwebPublicBlackIp::getIp).collect(Collectors.toList());
-//
-//        adwebRedisUtil.set(BlackIpKey, blackIpList, 60 * 60 * 24);
-//        adwebRedisUtil.set(WhiteIpListKey, whiteIpList, 60 * 60 * 24);
-//
-//        log.info("更新ip黑名单成功,黑名单数量为:{},白名单数量为{}", blackIpList.size(), whiteIpList.size());
-//
-//        List<AdwebPublicBlackIp> ordBlackIpList = adwebPublicBlackIpService.list(new QueryWrapper<AdwebPublicBlackIp>().eq("black_or_white", 0).eq("status", 1).lt("create_time", DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -delOrdIpDate)));
-//
-//        if (ordBlackIpList.size() == 0) {
-//            log.info("没有需要删除的ip黑名单");
-//            return;
-//        }
-//
-//        List<AdwebEnquiry> list = adwebEnquiryService.list(new QueryWrapper<AdwebEnquiry>().eq("status", 1).eq("user_effective", 0).in("from_ip", ordBlackIpList.stream().map(AdwebPublicBlackIp::getIp).collect(Collectors.toList())).select("DISTINCT id,from_ip"));
-//
-//        //删除90天前并且期间没有发过询盘
-//        if (list.size() > 0) {
-//            adwebPublicBlackIpService.update(new UpdateWrapper<AdwebPublicBlackIp>().eq("black_or_white", 0).eq("status", 1).lt("create_time", DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -delOrdIpDate)).notIn("ip", list.stream().map(AdwebEnquiry::getFromIp).collect(Collectors.toList())).set("status", 0));
-//            return;
-//        }
-//        adwebPublicBlackIpService.update(new UpdateWrapper<AdwebPublicBlackIp>().eq("black_or_white", 0).eq("status", 1).lt("create_time", DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -delOrdIpDate)).set("status", 0).in("ip", ordBlackIpList.stream().map(AdwebPublicBlackIp::getIp).collect(Collectors.toList())));
-//
-//        log.info("删除90天前的ip黑名单成功");
-//    }
-
-    /**
-     * 定时器执行
-     */
-//    @Override
-//    public void updateEnquiryBlackList() {
-//        List<AdwebEnquiry> enquiryListByTenMin = adwebEnquiryService.list(new QueryWrapper<AdwebEnquiry>().eq("user_effective", 0).eq("status", 1).select("DISTINCT email").groupBy("email,UNIX_TIMESTAMP( record_ctime ) DIV 600 ").having("count(id) > "+emailTenMinNum));
-//
-//        List<AdwebEnquiry> enquiryListByOneDay = adwebEnquiryService.list(new QueryWrapper<AdwebEnquiry>().eq("user_effective", 0).eq("status", 1).select("DISTINCT email").groupBy("email,UNIX_TIMESTAMP( record_ctime ) DIV 3600 ").having("count(id) > "+emailOneDayNum));
-//
-//        List<AdwebEnquiry> enquiryListByIpTenMin = adwebEnquiryService.list(new QueryWrapper<AdwebEnquiry>().eq("user_effective", 0).eq("status", 1).select("DISTINCT from_ip").groupBy("from_ip,UNIX_TIMESTAMP( record_ctime ) DIV 600 ").having("count(id) > "+ipTenMinNum));
-//
-//        List<AdwebEnquiry> enquiryListByIpOneDay = adwebEnquiryService.list(new QueryWrapper<AdwebEnquiry>().eq("user_effective", 0).eq("status", 1).select("DISTINCT from_ip").groupBy("from_ip,UNIX_TIMESTAMP( record_ctime ) DIV 3600 ").having("count(id) > "+ipOneDayNum));
-//
-//        Set<String> emailSet = new HashSet<>();
-//        emailSet.addAll(enquiryListByTenMin.stream().map(AdwebEnquiry::getEmail).collect(Collectors.toList()));
-//        emailSet.addAll(enquiryListByOneDay.stream().map(AdwebEnquiry::getEmail).collect(Collectors.toList()));
-//
-//        Set<String> ipSet = new HashSet<>();
-//        ipSet.addAll(enquiryListByIpTenMin.stream().map(AdwebEnquiry::getFromIp).collect(Collectors.toList()));
-//        ipSet.addAll(enquiryListByIpOneDay.stream().map(AdwebEnquiry::getFromIp).collect(Collectors.toList()));
-//
-//        List<AdwebPublicBlackEmail> emailList = this.list(new QueryWrapper<AdwebPublicBlackEmail>().eq("status", 1));
-//
-//        List<AdwebPublicBlackIp> ipList = adwebPublicBlackIpService.list(new QueryWrapper<AdwebPublicBlackIp>().eq("status", 1));
-//
-//
-//        List<AdwebPublicBlackEmail> blackEmailList = new ArrayList<>();
-//        List<AdwebPublicBlackIp> blackIpList = new ArrayList<>();
-//
-//        //判断是否在存在
-//        for (String email : emailSet) {
-//            if (emailList.stream().noneMatch(e -> e.getEmail().equals(email))) {
-//                AdwebPublicBlackEmail blackEmail = new AdwebPublicBlackEmail();
-//                blackEmail.setEmail(email);
-//                blackEmail.setBlackOrWhite(0);
-//                blackEmail.setStatus(1);
-//                blackEmail.setCreateTime(new Date());
-//                blackEmailList.add(blackEmail);
-//            }
-//        }
-//
-//        //判断是否在存在
-//        for (String ip : ipSet) {
-//            if (ipList.stream().noneMatch(e -> e.getIp().equals(ip))) {
-//                AdwebPublicBlackIp blackIp = new AdwebPublicBlackIp();
-//                blackIp.setIp(ip);
-//                blackIp.setBlackOrWhite(0);
-//                blackIp.setStatus(1);
-//                blackIp.setCreateTime(new Date());
-//                blackIpList.add(blackIp);
-//            }
-//        }
-//
-//        if (blackEmailList.size() > 0) {
-//            this.saveBatch(blackEmailList);
-//        }
-//        if (blackIpList.size() > 0) {
-//            adwebPublicBlackIpService.saveBatch(blackIpList);
-//        }
-//        log.info("从询盘更新Email和IP黑名单成功,新增Email黑名单数量为:" + blackEmailList.size() + ",新增IP黑名单数量为" + blackIpList.size());
-//    }
+    // 定时器执行
+    //    @Override
+    //    public void updateBlackListByEmailAndIp() {
+    //
+    //        List<AdwebPublicBlackEmail> emailList = this.list(new
+    // QueryWrapper<AdwebPublicBlackEmail>().eq("status", 1));
+    //
+    //        log.info("获取到的email黑名单数量为:{}", emailList.size());
+    //
+    //        List<String> blackEmailList = emailList.stream().filter(e -> e.getBlackOrWhite() ==
+    // 0).map(AdwebPublicBlackEmail::getEmail).collect(Collectors.toList());
+    //
+    //        List<String> whiteEmailList = emailList.stream().filter(e -> e.getBlackOrWhite() ==
+    // 1).map(AdwebPublicBlackEmail::getEmail).collect(Collectors.toList());
+    //
+    //        adwebRedisUtil.set(BlackEmailKey, blackEmailList, 60 * 60 * 24);
+    //        adwebRedisUtil.set(WhiteEmailListKey, whiteEmailList, 60 * 60 * 24);
+    //
+    //        log.info("更新email黑名单成功,黑名单数量为:{},白名单数量为{}", blackEmailList.size(),
+    // whiteEmailList.size());
+    //
+    //        //90天内的ip
+    //        List<AdwebPublicBlackIp> ipList = adwebPublicBlackIpService.list(new
+    // QueryWrapper<AdwebPublicBlackIp>().eq("status", 1).gt("create_time",
+    // DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -delOrdIpDate)));
+    //
+    //        log.info("获取到的ip黑名单数量为:{}", ipList.size());
+    //
+    //        List<String> blackIpList = ipList.stream().filter(e -> e.getBlackOrWhite() ==
+    // 0).map(AdwebPublicBlackIp::getIp).collect(Collectors.toList());
+    //
+    //        List<String> whiteIpList = ipList.stream().filter(e -> e.getBlackOrWhite() ==
+    // 1).map(AdwebPublicBlackIp::getIp).collect(Collectors.toList());
+    //
+    //        adwebRedisUtil.set(BlackIpKey, blackIpList, 60 * 60 * 24);
+    //        adwebRedisUtil.set(WhiteIpListKey, whiteIpList, 60 * 60 * 24);
+    //
+    //        log.info("更新ip黑名单成功,黑名单数量为:{},白名单数量为{}", blackIpList.size(), whiteIpList.size());
+    //
+    //        List<AdwebPublicBlackIp> ordBlackIpList = adwebPublicBlackIpService.list(new
+    // QueryWrapper<AdwebPublicBlackIp>().eq("black_or_white", 0).eq("status", 1).lt("create_time",
+    // DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -delOrdIpDate)));
+    //
+    //        if (ordBlackIpList.size() == 0) {
+    //            log.info("没有需要删除的ip黑名单");
+    //            return;
+    //        }
+    //
+    //        List<AdwebEnquiry> list = adwebEnquiryService.list(new
+    // QueryWrapper<AdwebEnquiry>().eq("status", 1).eq("user_effective", 0).in("from_ip",
+    // ordBlackIpList.stream().map(AdwebPublicBlackIp::getIp).collect(Collectors.toList())).select("DISTINCT id,from_ip"));
+    //
+    //        //删除90天前并且期间没有发过询盘
+    //        if (list.size() > 0) {
+    //            adwebPublicBlackIpService.update(new
+    // UpdateWrapper<AdwebPublicBlackIp>().eq("black_or_white", 0).eq("status", 1).lt("create_time",
+    // DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -delOrdIpDate)).notIn("ip",
+    // list.stream().map(AdwebEnquiry::getFromIp).collect(Collectors.toList())).set("status", 0));
+    //            return;
+    //        }
+    //        adwebPublicBlackIpService.update(new
+    // UpdateWrapper<AdwebPublicBlackIp>().eq("black_or_white", 0).eq("status", 1).lt("create_time",
+    // DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -delOrdIpDate)).set("status", 0).in("ip",
+    // ordBlackIpList.stream().map(AdwebPublicBlackIp::getIp).collect(Collectors.toList())));
+    //
+    //        log.info("删除90天前的ip黑名单成功");
+    //    }
+
+    /** 定时器执行 */
+    //    @Override
+    //    public void updateEnquiryBlackList() {
+    //        List<AdwebEnquiry> enquiryListByTenMin = adwebEnquiryService.list(new
+    // QueryWrapper<AdwebEnquiry>().eq("user_effective", 0).eq("status", 1).select("DISTINCT
+    // email").groupBy("email,UNIX_TIMESTAMP( record_ctime ) DIV 600 ").having("count(id) >
+    // "+emailTenMinNum));
+    //
+    //        List<AdwebEnquiry> enquiryListByOneDay = adwebEnquiryService.list(new
+    // QueryWrapper<AdwebEnquiry>().eq("user_effective", 0).eq("status", 1).select("DISTINCT
+    // email").groupBy("email,UNIX_TIMESTAMP( record_ctime ) DIV 3600 ").having("count(id) >
+    // "+emailOneDayNum));
+    //
+    //        List<AdwebEnquiry> enquiryListByIpTenMin = adwebEnquiryService.list(new
+    // QueryWrapper<AdwebEnquiry>().eq("user_effective", 0).eq("status", 1).select("DISTINCT
+    // from_ip").groupBy("from_ip,UNIX_TIMESTAMP( record_ctime ) DIV 600 ").having("count(id) >
+    // "+ipTenMinNum));
+    //
+    //        List<AdwebEnquiry> enquiryListByIpOneDay = adwebEnquiryService.list(new
+    // QueryWrapper<AdwebEnquiry>().eq("user_effective", 0).eq("status", 1).select("DISTINCT
+    // from_ip").groupBy("from_ip,UNIX_TIMESTAMP( record_ctime ) DIV 3600 ").having("count(id) >
+    // "+ipOneDayNum));
+    //
+    //        Set<String> emailSet = new HashSet<>();
+    //
+    // emailSet.addAll(enquiryListByTenMin.stream().map(AdwebEnquiry::getEmail).collect(Collectors.toList()));
+    //
+    // emailSet.addAll(enquiryListByOneDay.stream().map(AdwebEnquiry::getEmail).collect(Collectors.toList()));
+    //
+    //        Set<String> ipSet = new HashSet<>();
+    //
+    // ipSet.addAll(enquiryListByIpTenMin.stream().map(AdwebEnquiry::getFromIp).collect(Collectors.toList()));
+    //
+    // ipSet.addAll(enquiryListByIpOneDay.stream().map(AdwebEnquiry::getFromIp).collect(Collectors.toList()));
+    //
+    //        List<AdwebPublicBlackEmail> emailList = this.list(new
+    // QueryWrapper<AdwebPublicBlackEmail>().eq("status", 1));
+    //
+    //        List<AdwebPublicBlackIp> ipList = adwebPublicBlackIpService.list(new
+    // QueryWrapper<AdwebPublicBlackIp>().eq("status", 1));
+    //
+    //
+    //        List<AdwebPublicBlackEmail> blackEmailList = new ArrayList<>();
+    //        List<AdwebPublicBlackIp> blackIpList = new ArrayList<>();
+    //
+    //        //判断是否在存在
+    //        for (String email : emailSet) {
+    //            if (emailList.stream().noneMatch(e -> e.getEmail().equals(email))) {
+    //                AdwebPublicBlackEmail blackEmail = new AdwebPublicBlackEmail();
+    //                blackEmail.setEmail(email);
+    //                blackEmail.setBlackOrWhite(0);
+    //                blackEmail.setStatus(1);
+    //                blackEmail.setCreateTime(new Date());
+    //                blackEmailList.add(blackEmail);
+    //            }
+    //        }
+    //
+    //        //判断是否在存在
+    //        for (String ip : ipSet) {
+    //            if (ipList.stream().noneMatch(e -> e.getIp().equals(ip))) {
+    //                AdwebPublicBlackIp blackIp = new AdwebPublicBlackIp();
+    //                blackIp.setIp(ip);
+    //                blackIp.setBlackOrWhite(0);
+    //                blackIp.setStatus(1);
+    //                blackIp.setCreateTime(new Date());
+    //                blackIpList.add(blackIp);
+    //            }
+    //        }
+    //
+    //        if (blackEmailList.size() > 0) {
+    //            this.saveBatch(blackEmailList);
+    //        }
+    //        if (blackIpList.size() > 0) {
+    //            adwebPublicBlackIpService.saveBatch(blackIpList);
+    //        }
+    //        log.info("从询盘更新Email和IP黑名单成功,新增Email黑名单数量为:" + blackEmailList.size() + ",新增IP黑名单数量为" +
+    // blackIpList.size());
+    //    }
 }

+ 14 - 6
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/impl/AdwebPublicBlackIpServiceImpl.java

@@ -3,7 +3,9 @@ package org.jeecg.modules.adweb.enquiry.service.impl;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
 import jakarta.annotation.Resource;
+
 import org.jeecg.modules.adweb.enquiry.entity.AdwebPublicBlackIp;
 import org.jeecg.modules.adweb.enquiry.mapper.AdwebPublicBlackIpMapper;
 import org.jeecg.modules.adweb.enquiry.service.IAdwebPublicBlackIpService;
@@ -12,17 +14,23 @@ import org.springframework.stereotype.Service;
 /**
  * @Description: IP黑名单
  * @Author: jeecg-boot
- * @Date:   2023-02-20
+ * @Date: 2023-02-20
  * @Version: V1.0
  */
 @Service
-public class AdwebPublicBlackIpServiceImpl extends ServiceImpl<AdwebPublicBlackIpMapper, AdwebPublicBlackIp> implements IAdwebPublicBlackIpService {
+public class AdwebPublicBlackIpServiceImpl
+        extends ServiceImpl<AdwebPublicBlackIpMapper, AdwebPublicBlackIp>
+        implements IAdwebPublicBlackIpService {
 
-    @Resource
-    private AdwebPublicBlackIpMapper adwebPublicBlackIpMapper;
+    @Resource private AdwebPublicBlackIpMapper adwebPublicBlackIpMapper;
 
     @Override
-    public IPage<AdwebPublicBlackIp> pageList(Page<AdwebPublicBlackIp> page, String ip, Integer blackOrWhite,String column,String order) {
-        return adwebPublicBlackIpMapper.pageList(page,ip,blackOrWhite,column,order);
+    public IPage<AdwebPublicBlackIp> pageList(
+            Page<AdwebPublicBlackIp> page,
+            String ip,
+            Integer blackOrWhite,
+            String column,
+            String order) {
+        return adwebPublicBlackIpMapper.pageList(page, ip, blackOrWhite, column, order);
     }
 }

+ 30 - 19
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/impl/AdwebPublicEnquiryRuleServiceImpl.java

@@ -1,7 +1,6 @@
 package org.jeecg.modules.adweb.enquiry.service.impl;
 
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -20,27 +19,38 @@ import java.util.stream.Collectors;
 /**
  * @Description: 用于询盘规则过滤
  * @Author: cpq
- * @Date:   2024-10-17
+ * @Date: 2024-10-17
  * @Version: V1.0
  */
 @Service
-public class AdwebPublicEnquiryRuleServiceImpl extends ServiceImpl<AdwebPublicEnquiryRuleMapper, AdwebPublicEnquiryRule> implements IAdwebPublicEnquiryRuleService {
+public class AdwebPublicEnquiryRuleServiceImpl
+        extends ServiceImpl<AdwebPublicEnquiryRuleMapper, AdwebPublicEnquiryRule>
+        implements IAdwebPublicEnquiryRuleService {
 
-    @Resource
-    private AdwebPublicEnquiryRuleMapper adwebPublicEnquiryRuleMapper;
+    @Resource private AdwebPublicEnquiryRuleMapper adwebPublicEnquiryRuleMapper;
 
     @Override
-    public IPage<AdwebPublicEnquiryRule> pageList(Page<AdwebPublicEnquiryRule> page, String word, Integer blackOrWhiteList, Integer isEnable, Integer useStatus,String column,String order) {
-        return adwebPublicEnquiryRuleMapper.pageList(page, word, blackOrWhiteList, isEnable, useStatus,column,order);
+    public IPage<AdwebPublicEnquiryRule> pageList(
+            Page<AdwebPublicEnquiryRule> page,
+            String word,
+            Integer blackOrWhiteList,
+            Integer isEnable,
+            Integer useStatus,
+            String column,
+            String order) {
+        return adwebPublicEnquiryRuleMapper.pageList(
+                page, word, blackOrWhiteList, isEnable, useStatus, column, order);
     }
 
     @Override
     public List<String> getOpenAiBlackList() {
-        List<AdwebPublicEnquiryRule> list = this.list(new QueryWrapper<AdwebPublicEnquiryRule>()
-                .eq("status", 1)
-                .eq("use_status", 1)
-                .eq("is_enable", 1)
-                .eq("black_or_white_list", 0));
+        List<AdwebPublicEnquiryRule> list =
+                this.list(
+                        new LambdaQueryWrapper<AdwebPublicEnquiryRule>()
+                                .eq(AdwebPublicEnquiryRule::getStatus, 1)
+                                .eq(AdwebPublicEnquiryRule::getUseStatus, 1)
+                                .eq(AdwebPublicEnquiryRule::getIsEnable, 1)
+                                .eq(AdwebPublicEnquiryRule::getBlackOrWhiteList, 0));
         if (CollectionUtils.isEmpty(list)) {
             return null;
         }
@@ -49,15 +59,16 @@ public class AdwebPublicEnquiryRuleServiceImpl extends ServiceImpl<AdwebPublicEn
 
     @Override
     public List<String> getEnquiryBlackList() {
-        List<AdwebPublicEnquiryRule> list = this.list(new QueryWrapper<AdwebPublicEnquiryRule>()
-                .eq("status", 1)
-                .eq("use_status", 0)
-                .eq("is_enable", 1)
-                .eq("black_or_white_list", 0));
+        List<AdwebPublicEnquiryRule> list =
+                this.list(
+                        new LambdaQueryWrapper<AdwebPublicEnquiryRule>()
+                                .eq(AdwebPublicEnquiryRule::getStatus, 1)
+                                .eq(AdwebPublicEnquiryRule::getUseStatus, 0)
+                                .eq(AdwebPublicEnquiryRule::getIsEnable, 1)
+                                .eq(AdwebPublicEnquiryRule::getBlackOrWhiteList, 0));
         if (CollectionUtils.isEmpty(list)) {
             return null;
         }
         return list.stream().map(AdwebPublicEnquiryRule::getWord).collect(Collectors.toList());
     }
-
 }

+ 58 - 39
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/impl/AdwebSiteBlackEmailServiceImpl.java

@@ -1,10 +1,12 @@
 package org.jeecg.modules.adweb.enquiry.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
 import jakarta.annotation.Resource;
+
 import org.apache.commons.collections4.CollectionUtils;
 import org.jeecg.modules.adweb.common.util.AdwebRedisUtil;
 import org.jeecg.modules.adweb.enquiry.dto.param.EffectiveEnquiryParamDto;
@@ -22,28 +24,28 @@ import java.util.*;
  * @Version: V1.0
  */
 @Service
-public class AdwebSiteBlackEmailServiceImpl extends ServiceImpl<AdwebSiteBlackEmailMapper, AdwebSiteBlackEmail> implements IAdwebSiteBlackEmailService {
+public class AdwebSiteBlackEmailServiceImpl
+        extends ServiceImpl<AdwebSiteBlackEmailMapper, AdwebSiteBlackEmail>
+        implements IAdwebSiteBlackEmailService {
 
-    @Resource
-    private AdwebRedisUtil adwebRedisUtil;
-    @Resource
-    private AdwebSiteBlackEmailMapper enquirySiteBlackEmailMapper;
+    @Resource private AdwebRedisUtil adwebRedisUtil;
+    @Resource private AdwebSiteBlackEmailMapper enquirySiteBlackEmailMapper;
 
     private static final String SiteBlackEmailKey = "SITE_BLACK_EMAIL_LIST";
     private static final String SiteWhiteEmailListKey = "SITE_WHITE_EMAIL_LIST";
     private static final String SiteEmailTenMinKey = "JUDGE_WASTE_SITE_ENQUIRY_EMAIL_BY_10_MIN::";
     private static final String SiteEmailOneDayKey = "JUDGE_WASTE_SITE_ENQUIRY_EMAIL_BY_ONE_DAY::";
-    private static final String NotBlackEmailWasteSiteEnquiryKey = "NOT_BLACK_EMAIL_WASTE_SITE_ENQUIRY_MAP::";
+    private static final String NotBlackEmailWasteSiteEnquiryKey =
+            "NOT_BLACK_EMAIL_WASTE_SITE_ENQUIRY_MAP::";
 
-    /**
-     * 根据站点id获取并存取黑名单数据到redis
-     */
+    /** 根据站点id获取并存取黑名单数据到redis */
     @Override
     public void saveRedisSiteBlackEmailBySiteId(Integer siteId, Integer blackOrWhite) {
-        QueryWrapper<AdwebSiteBlackEmail> siteAllEmailQueryWrapper = new QueryWrapper<>();
-        siteAllEmailQueryWrapper.ne("status", 0);
-        siteAllEmailQueryWrapper.eq("site_id", siteId);
-        siteAllEmailQueryWrapper.eq("black_or_white", blackOrWhite);
+        LambdaQueryWrapper<AdwebSiteBlackEmail> siteAllEmailQueryWrapper =
+                new LambdaQueryWrapper<>();
+        siteAllEmailQueryWrapper.ne(AdwebSiteBlackEmail::getStatus, 0);
+        siteAllEmailQueryWrapper.eq(AdwebSiteBlackEmail::getSiteId, siteId);
+        siteAllEmailQueryWrapper.eq(AdwebSiteBlackEmail::getBlackOrWhite, blackOrWhite);
         List<AdwebSiteBlackEmail> allEmailList = list(siteAllEmailQueryWrapper);
         if (CollectionUtils.isEmpty(allEmailList)) {
             log.warn("未获取到对应站点的名单数据");
@@ -59,7 +61,7 @@ public class AdwebSiteBlackEmailServiceImpl extends ServiceImpl<AdwebSiteBlackEm
                 }
             }
         }
-        //处理对应站点的黑名单
+        // 处理对应站点的黑名单
         if (blackOrWhite == 0) {
             if (CollectionUtils.isNotEmpty(emailList)) {
                 adwebRedisUtil.set(SiteBlackEmailKey + "::" + siteId, emailList, 60 * 60 * 24);
@@ -73,17 +75,15 @@ public class AdwebSiteBlackEmailServiceImpl extends ServiceImpl<AdwebSiteBlackEm
                 adwebRedisUtil.del(SiteWhiteEmailListKey + "::" + siteId);
             }
         }
-
     }
 
-    /**
-     * 根据站点id获取对应所有的黑白名单数据
-     */
+    /** 根据站点id获取对应所有的黑白名单数据 */
     @Override
     public Map<String, List<String>> getSiteBlackEmailListBySiteId(Integer siteId) {
-        QueryWrapper<AdwebSiteBlackEmail> siteAllEmailQueryWrapper = new QueryWrapper<>();
-        siteAllEmailQueryWrapper.ne("status", 0);
-        siteAllEmailQueryWrapper.eq("site_id", siteId);
+        LambdaQueryWrapper<AdwebSiteBlackEmail> siteAllEmailQueryWrapper =
+                new LambdaQueryWrapper<>();
+        siteAllEmailQueryWrapper.ne(AdwebSiteBlackEmail::getStatus, 0);
+        siteAllEmailQueryWrapper.eq(AdwebSiteBlackEmail::getSiteId, siteId);
         List<AdwebSiteBlackEmail> allEmailList = list(siteAllEmailQueryWrapper);
         if (CollectionUtils.isEmpty(allEmailList)) {
             log.warn("未获取到对应站点的黑白名单数据");
@@ -124,8 +124,14 @@ public class AdwebSiteBlackEmailServiceImpl extends ServiceImpl<AdwebSiteBlackEm
      * @return
      */
     @Override
-    public IPage<AdwebSiteBlackEmail> pageList(Page<AdwebSiteBlackEmail> page, AdwebSiteBlackEmail enquirySiteBlackEmail, List<String> codeList, String column, String order) {
-        return enquirySiteBlackEmailMapper.getPageList(page, enquirySiteBlackEmail, codeList, column, order);
+    public IPage<AdwebSiteBlackEmail> pageList(
+            Page<AdwebSiteBlackEmail> page,
+            AdwebSiteBlackEmail enquirySiteBlackEmail,
+            List<String> codeList,
+            String column,
+            String order) {
+        return enquirySiteBlackEmailMapper.getPageList(
+                page, enquirySiteBlackEmail, codeList, column, order);
     }
 
     /**
@@ -135,15 +141,20 @@ public class AdwebSiteBlackEmailServiceImpl extends ServiceImpl<AdwebSiteBlackEm
      */
     @Override
     public void addBlackEmailByContent(EffectiveEnquiryParamDto effectiveEnquiryParamDto) {
-        //排查添加的邮箱是否已有
-        QueryWrapper<AdwebSiteBlackEmail> enquirySiteBlackEmailQueryWrapper = new QueryWrapper<>();
-        enquirySiteBlackEmailQueryWrapper.eq("email", effectiveEnquiryParamDto.getWasteEnquirySeason());
-        enquirySiteBlackEmailQueryWrapper.eq("site_id", effectiveEnquiryParamDto.getSiteId());
-        enquirySiteBlackEmailQueryWrapper.eq("site_code", effectiveEnquiryParamDto.getSiteCode());
-        enquirySiteBlackEmailQueryWrapper.eq("status", 1);
-        List<AdwebSiteBlackEmail> enquirySiteBlackEmailList = list(enquirySiteBlackEmailQueryWrapper);
+        // 排查添加的邮箱是否已有
+        LambdaQueryWrapper<AdwebSiteBlackEmail> enquirySiteBlackEmailQueryWrapper =
+                new LambdaQueryWrapper<>();
+        enquirySiteBlackEmailQueryWrapper.eq(
+                AdwebSiteBlackEmail::getEmail, effectiveEnquiryParamDto.getWasteEnquirySeason());
+        enquirySiteBlackEmailQueryWrapper.eq(
+                AdwebSiteBlackEmail::getSiteId, effectiveEnquiryParamDto.getSiteId());
+        enquirySiteBlackEmailQueryWrapper.eq(
+                AdwebSiteBlackEmail::getSiteCode, effectiveEnquiryParamDto.getSiteCode());
+        enquirySiteBlackEmailQueryWrapper.eq(AdwebSiteBlackEmail::getStatus, 1);
+        List<AdwebSiteBlackEmail> enquirySiteBlackEmailList =
+                list(enquirySiteBlackEmailQueryWrapper);
         if (CollectionUtils.isNotEmpty(enquirySiteBlackEmailList)) {
-            //如果有白名单 先删除原数据,后添加新的黑名单数据
+            // 如果有白名单 先删除原数据,后添加新的黑名单数据
             for (AdwebSiteBlackEmail enquirySiteBlackEmail : enquirySiteBlackEmailList) {
                 if (enquirySiteBlackEmail.getBlackOrWhite() == 1) {
                     if (enquirySiteBlackEmail.getType().equals("1")) {
@@ -153,7 +164,8 @@ public class AdwebSiteBlackEmailServiceImpl extends ServiceImpl<AdwebSiteBlackEm
                     }
 
                     AdwebSiteBlackEmail newEnquirySiteBlackEmail = new AdwebSiteBlackEmail();
-                    newEnquirySiteBlackEmail.setEmail(effectiveEnquiryParamDto.getWasteEnquirySeason());
+                    newEnquirySiteBlackEmail.setEmail(
+                            effectiveEnquiryParamDto.getWasteEnquirySeason());
                     newEnquirySiteBlackEmail.setBlackOrWhite(0);
                     newEnquirySiteBlackEmail.setType("1");
                     newEnquirySiteBlackEmail.setSiteId(effectiveEnquiryParamDto.getSiteId());
@@ -175,21 +187,28 @@ public class AdwebSiteBlackEmailServiceImpl extends ServiceImpl<AdwebSiteBlackEm
             save(enquirySiteBlackEmail);
         }
 
-        //重新处理站点的黑名单redis缓存
-        Map<String, List<String>> enquirySiteBlackEmailListMap = getSiteBlackEmailListBySiteId(effectiveEnquiryParamDto.getSiteId());
+        // 重新处理站点的黑名单redis缓存
+        Map<String, List<String>> enquirySiteBlackEmailListMap =
+                getSiteBlackEmailListBySiteId(effectiveEnquiryParamDto.getSiteId());
         List<String> emailList = enquirySiteBlackEmailListMap.get("black");
         List<String> whiteEmailList = enquirySiteBlackEmailListMap.get("white");
 
-        //处理对应站点的黑名单
+        // 处理对应站点的黑名单
         if (CollectionUtils.isNotEmpty(emailList)) {
-            adwebRedisUtil.set(SiteBlackEmailKey + "::" + effectiveEnquiryParamDto.getSiteId(), emailList, 60 * 60 * 24);
+            adwebRedisUtil.set(
+                    SiteBlackEmailKey + "::" + effectiveEnquiryParamDto.getSiteId(),
+                    emailList,
+                    60 * 60 * 24);
         } else {
             adwebRedisUtil.del(SiteBlackEmailKey + "::" + effectiveEnquiryParamDto.getSiteId());
         }
 
-        //处理对应站点的白名单
+        // 处理对应站点的白名单
         if (CollectionUtils.isNotEmpty(whiteEmailList)) {
-            adwebRedisUtil.set(SiteWhiteEmailListKey + "::" + effectiveEnquiryParamDto.getSiteId(), whiteEmailList, 60 * 60 * 24);
+            adwebRedisUtil.set(
+                    SiteWhiteEmailListKey + "::" + effectiveEnquiryParamDto.getSiteId(),
+                    whiteEmailList,
+                    60 * 60 * 24);
         } else {
             adwebRedisUtil.del(SiteWhiteEmailListKey + "::" + effectiveEnquiryParamDto.getSiteId());
         }

+ 52 - 27
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/impl/AdwebSiteBlackIpServiceImpl.java

@@ -1,11 +1,12 @@
 package org.jeecg.modules.adweb.enquiry.service.impl;
 
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
 import jakarta.annotation.Resource;
+
 import org.apache.commons.collections4.CollectionUtils;
 import org.jeecg.modules.adweb.common.util.AdwebRedisUtil;
 import org.jeecg.modules.adweb.enquiry.dto.param.EffectiveEnquiryParamDto;
@@ -25,16 +26,17 @@ import java.util.stream.Collectors;
  * @Version: V1.0
  */
 @Service
-public class AdwebSiteBlackIpServiceImpl extends ServiceImpl<AdwebSiteBlackIpMapper, AdwebSiteBlackIp> implements IAdwebSiteBlackIpService {
+public class AdwebSiteBlackIpServiceImpl
+        extends ServiceImpl<AdwebSiteBlackIpMapper, AdwebSiteBlackIp>
+        implements IAdwebSiteBlackIpService {
 
-    @Resource
-    private AdwebSiteBlackIpMapper adwebSiteBlackIpMapper;
-    @Resource
-    private AdwebRedisUtil adwebRedisUtil;
+    @Resource private AdwebSiteBlackIpMapper adwebSiteBlackIpMapper;
+    @Resource private AdwebRedisUtil adwebRedisUtil;
 
     private static final String SiteIpTenMinKey = "JUDGE_WASTE_ENQUIRY_SITE_IP_BY_10_MIN::";
     private static final String SiteIpOneDayKey = "JUDGE_WASTE_ENQUIRY_SITE_IP_BY_ONE_DAY::";
-    private static final String NotSiteBlackIpWasteEnquiryKey = "NOT_SITE_BLACK_IP_WASTE_ENQUIRY_MAP::";
+    private static final String NotSiteBlackIpWasteEnquiryKey =
+            "NOT_SITE_BLACK_IP_WASTE_ENQUIRY_MAP::";
     private static final String SiteBlackIpKey = "SITE_BLACK_IP_LIST";
     private static final String SiteWhiteIpListKey = "SITE_WHITE_IP_LIST";
 
@@ -45,15 +47,19 @@ public class AdwebSiteBlackIpServiceImpl extends ServiceImpl<AdwebSiteBlackIpMap
      */
     @Override
     public void addBlackIpByContent(EffectiveEnquiryParamDto effectiveEnquiryParamDto) {
-        //排查添加的ip是否已有
-        QueryWrapper<AdwebSiteBlackIp> adwebSiteBlackIpQueryWrapper = new QueryWrapper<>();
-        adwebSiteBlackIpQueryWrapper.eq("ip", effectiveEnquiryParamDto.getWasteEnquirySeason());
-        adwebSiteBlackIpQueryWrapper.eq("site_id", effectiveEnquiryParamDto.getSiteId());
-        adwebSiteBlackIpQueryWrapper.eq("site_code", effectiveEnquiryParamDto.getSiteCode());
-        adwebSiteBlackIpQueryWrapper.eq("status", 1);
+        // 排查添加的ip是否已有
+        LambdaQueryWrapper<AdwebSiteBlackIp> adwebSiteBlackIpQueryWrapper =
+                new LambdaQueryWrapper<>();
+        adwebSiteBlackIpQueryWrapper.eq(
+                AdwebSiteBlackIp::getIp, effectiveEnquiryParamDto.getWasteEnquirySeason());
+        adwebSiteBlackIpQueryWrapper.eq(
+                AdwebSiteBlackIp::getSiteId, effectiveEnquiryParamDto.getSiteId());
+        adwebSiteBlackIpQueryWrapper.eq(
+                AdwebSiteBlackIp::getSiteCode, effectiveEnquiryParamDto.getSiteCode());
+        adwebSiteBlackIpQueryWrapper.eq(AdwebSiteBlackIp::getStatus, 1);
         List<AdwebSiteBlackIp> adwebSiteBlackIpList = list(adwebSiteBlackIpQueryWrapper);
         if (!adwebSiteBlackIpList.isEmpty()) {
-            //如果有白名单 先删除原数据,后添加新的黑名单数据
+            // 如果有白名单 先删除原数据,后添加新的黑名单数据
             AdwebSiteBlackIp adwebSiteBlackIp = adwebSiteBlackIpList.get(0);
             if (adwebSiteBlackIp.getBlackOrWhite() == 1) {
                 adwebSiteBlackIp.setStatus(0);
@@ -79,11 +85,11 @@ public class AdwebSiteBlackIpServiceImpl extends ServiceImpl<AdwebSiteBlackIpMap
             save(newSiteBlackIp);
         }
 
-        //重新调整对应站点redis缓存
-        QueryWrapper<AdwebSiteBlackIp> redisWrapper = new QueryWrapper<>();
-        redisWrapper.eq("site_id", effectiveEnquiryParamDto.getSiteId());
-        redisWrapper.eq("site_code", effectiveEnquiryParamDto.getSiteCode());
-        redisWrapper.eq("status", 1);
+        // 重新调整对应站点redis缓存
+        LambdaQueryWrapper<AdwebSiteBlackIp> redisWrapper = new LambdaQueryWrapper<>();
+        redisWrapper.eq(AdwebSiteBlackIp::getSiteId, effectiveEnquiryParamDto.getSiteId());
+        redisWrapper.eq(AdwebSiteBlackIp::getSiteCode, effectiveEnquiryParamDto.getSiteCode());
+        redisWrapper.eq(AdwebSiteBlackIp::getStatus, 1);
         List<AdwebSiteBlackIp> redisList = list(redisWrapper);
 
         if (!redisList.isEmpty()) {
@@ -91,21 +97,35 @@ public class AdwebSiteBlackIpServiceImpl extends ServiceImpl<AdwebSiteBlackIpMap
             adwebRedisUtil.del(SiteWhiteIpListKey + "::" + effectiveEnquiryParamDto.getSiteId());
         }
         if (CollectionUtils.isNotEmpty(redisList)) {
-            List<String> blackIpList = redisList.stream().filter(siteBlackIp -> siteBlackIp.getBlackOrWhite().equals(0)).map(AdwebSiteBlackIp::getIp).collect(Collectors.toList());
+            List<String> blackIpList =
+                    redisList.stream()
+                            .filter(siteBlackIp -> siteBlackIp.getBlackOrWhite().equals(0))
+                            .map(AdwebSiteBlackIp::getIp)
+                            .collect(Collectors.toList());
             if (CollectionUtils.isNotEmpty(blackIpList)) {
-                adwebRedisUtil.set(SiteBlackIpKey + "::" + effectiveEnquiryParamDto.getSiteId(), blackIpList, 60 * 60 * 24);
+                adwebRedisUtil.set(
+                        SiteBlackIpKey + "::" + effectiveEnquiryParamDto.getSiteId(),
+                        blackIpList,
+                        60 * 60 * 24);
             } else {
                 adwebRedisUtil.del(SiteBlackIpKey + "::" + effectiveEnquiryParamDto.getSiteId());
             }
 
-            List<String> whiteIpList = redisList.stream().filter(siteBlackIp -> siteBlackIp.getBlackOrWhite().equals(1)).map(AdwebSiteBlackIp::getIp).collect(Collectors.toList());
+            List<String> whiteIpList =
+                    redisList.stream()
+                            .filter(siteBlackIp -> siteBlackIp.getBlackOrWhite().equals(1))
+                            .map(AdwebSiteBlackIp::getIp)
+                            .collect(Collectors.toList());
             if (CollectionUtils.isNotEmpty(whiteIpList)) {
-                adwebRedisUtil.set(SiteWhiteIpListKey + "::" + effectiveEnquiryParamDto.getSiteId(), whiteIpList, 60 * 60 * 24);
+                adwebRedisUtil.set(
+                        SiteWhiteIpListKey + "::" + effectiveEnquiryParamDto.getSiteId(),
+                        whiteIpList,
+                        60 * 60 * 24);
             } else {
-                adwebRedisUtil.del(SiteWhiteIpListKey + "::" + effectiveEnquiryParamDto.getSiteId());
+                adwebRedisUtil.del(
+                        SiteWhiteIpListKey + "::" + effectiveEnquiryParamDto.getSiteId());
             }
         }
-
     }
 
     /**
@@ -117,7 +137,12 @@ public class AdwebSiteBlackIpServiceImpl extends ServiceImpl<AdwebSiteBlackIpMap
      * @return
      */
     @Override
-    public IPage<AdwebSiteBlackIp> pageList(Page<AdwebSiteBlackIp> page, AdwebSiteBlackIp adwebSiteBlackIp, List<String> codeList, String column, String order) {
+    public IPage<AdwebSiteBlackIp> pageList(
+            Page<AdwebSiteBlackIp> page,
+            AdwebSiteBlackIp adwebSiteBlackIp,
+            List<String> codeList,
+            String column,
+            String order) {
         return adwebSiteBlackIpMapper.getPageList(page, adwebSiteBlackIp, codeList, column, order);
     }
 }

+ 18 - 10
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/impl/AdwebSiteEnquiryRuleServiceImpl.java

@@ -1,7 +1,8 @@
 package org.jeecg.modules.adweb.enquiry.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
 import org.jeecg.modules.adweb.enquiry.dto.param.EffectiveEnquiryParamDto;
 import org.jeecg.modules.adweb.enquiry.entity.AdwebSiteEnquiryRule;
 import org.jeecg.modules.adweb.enquiry.mapper.AdwebSiteEnquiryRuleMapper;
@@ -18,7 +19,9 @@ import java.util.List;
  * @Version: V1.0
  */
 @Service
-public class AdwebSiteEnquiryRuleServiceImpl extends ServiceImpl<AdwebSiteEnquiryRuleMapper, AdwebSiteEnquiryRule> implements IAdwebSiteEnquiryRuleService {
+public class AdwebSiteEnquiryRuleServiceImpl
+        extends ServiceImpl<AdwebSiteEnquiryRuleMapper, AdwebSiteEnquiryRule>
+        implements IAdwebSiteEnquiryRuleService {
 
     /**
      * 更改为垃圾询盘处理关键词黑名单
@@ -27,15 +30,20 @@ public class AdwebSiteEnquiryRuleServiceImpl extends ServiceImpl<AdwebSiteEnquir
      */
     @Override
     public void addBlackKeywordByContent(EffectiveEnquiryParamDto effectiveEnquiryParamDto) {
-        //排查添加的关键词是否已有
-        QueryWrapper<AdwebSiteEnquiryRule> adwebEnquirySiteRuleQueryWrapper = new QueryWrapper<>();
-        adwebEnquirySiteRuleQueryWrapper.eq("word", effectiveEnquiryParamDto.getWasteEnquirySeason());
-        adwebEnquirySiteRuleQueryWrapper.eq("site_id", effectiveEnquiryParamDto.getSiteId());
-        adwebEnquirySiteRuleQueryWrapper.eq("site_code", effectiveEnquiryParamDto.getSiteCode());
-        adwebEnquirySiteRuleQueryWrapper.eq("status", 1);
-        List<AdwebSiteEnquiryRule> adwebEnquirySiteRuleList = list(adwebEnquirySiteRuleQueryWrapper);
+        // 排查添加的关键词是否已有
+        LambdaQueryWrapper<AdwebSiteEnquiryRule> adwebEnquirySiteRuleQueryWrapper =
+                new LambdaQueryWrapper<>();
+        adwebEnquirySiteRuleQueryWrapper.eq(
+                AdwebSiteEnquiryRule::getWord, effectiveEnquiryParamDto.getWasteEnquirySeason());
+        adwebEnquirySiteRuleQueryWrapper.eq(
+                AdwebSiteEnquiryRule::getSiteId, effectiveEnquiryParamDto.getSiteId());
+        adwebEnquirySiteRuleQueryWrapper.eq(
+                AdwebSiteEnquiryRule::getSiteCode, effectiveEnquiryParamDto.getSiteCode());
+        adwebEnquirySiteRuleQueryWrapper.eq(AdwebSiteEnquiryRule::getStatus, 1);
+        List<AdwebSiteEnquiryRule> adwebEnquirySiteRuleList =
+                list(adwebEnquirySiteRuleQueryWrapper);
         if (!adwebEnquirySiteRuleList.isEmpty()) {
-            //如果有白名单 先删除原数据,后添加新的黑名单数据
+            // 如果有白名单 先删除原数据,后添加新的黑名单数据
             AdwebSiteEnquiryRule adwebEnquirySiteRule = adwebEnquirySiteRuleList.get(0);
             if (adwebEnquirySiteRule.getBlackOrWhite() == 1) {
                 adwebEnquirySiteRule.setStatus(0);

+ 93 - 77
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/impl/EnquiryEmailMessageServiceImpl.java

@@ -1,13 +1,17 @@
 package org.jeecg.modules.adweb.enquiry.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
+
 import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.google.common.io.Resources;
+
 import jakarta.annotation.Resource;
+
 import lombok.Data;
+
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.jeecg.common.api.vo.Result;
@@ -50,37 +54,29 @@ import java.util.stream.Collectors;
  * @Version: V1.0
  */
 @Service
-public class EnquiryEmailMessageServiceImpl extends ServiceImpl<EnquiryEmailMessageMapper, EnquiryEmailMessage> implements IEnquiryEmailMessageService {
+public class EnquiryEmailMessageServiceImpl
+        extends ServiceImpl<EnquiryEmailMessageMapper, EnquiryEmailMessage>
+        implements IEnquiryEmailMessageService {
 
     private static byte[] redisKey = EnquiryConstants.ENQUIRY_EMAIL.getBytes();
 
-    @Resource
-    private EnquiryEmailMessageMapper enquiryEmailMessageMapper;
+    @Resource private EnquiryEmailMessageMapper enquiryEmailMessageMapper;
 
-    @Resource
-    private FeishuService feishuService;
+    @Resource private FeishuService feishuService;
 
-    @Resource
-    private AdwebRedisUtil adwebRedisUtil;
+    @Resource private AdwebRedisUtil adwebRedisUtil;
 
-    @Resource
-    private ISysDictService sysDictService;
+    @Resource private ISysDictService sysDictService;
 
-    @Resource
-    private IAdwebEnquiryFormService adwebEnquiryFormService;
+    @Resource private IAdwebEnquiryFormService adwebEnquiryFormService;
 
-    @Resource
-    private ISysExceptionService sysExceptionService;
+    @Resource private ISysExceptionService sysExceptionService;
 
-    @Resource
-    private IAdwebSiteService adwebSiteService;
+    @Resource private IAdwebSiteService adwebSiteService;
 
-    @Resource
-    @Lazy
-    private ISysUserService sysUserService;
+    @Resource @Lazy private ISysUserService sysUserService;
 
-    @Autowired
-    private IMasterSubAccountRelationService masterSubAccountRelationService;
+    @Autowired private IMasterSubAccountRelationService masterSubAccountRelationService;
 
     @Override
     public void sendEnquiryEmail(Long enquiryId) {
@@ -89,15 +85,19 @@ public class EnquiryEmailMessageServiceImpl extends ServiceImpl<EnquiryEmailMess
             return;
         }
 
-        QueryWrapper<EnquiryEmailMessage> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("enquiry_id", enquiryId);
-        queryWrapper.eq("send_status", EnquirySendStatus.WAIT_SEND);
+        LambdaQueryWrapper<EnquiryEmailMessage> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(EnquiryEmailMessage::getEnquiryId, enquiryId);
+        queryWrapper.eq(EnquiryEmailMessage::getSendStatus, EnquirySendStatus.WAIT_SEND);
         List<EnquiryEmailMessage> messageList = list(queryWrapper);
         if (CollUtil.isNotEmpty(messageList)) {
-            UpdateWrapper<EnquiryEmailMessage> updateWrapper = new UpdateWrapper<>();
-            updateWrapper.in("id", messageList.stream().map(EnquiryEmailMessage::getId).collect(Collectors.toList()));
-            updateWrapper.set("send_status", EnquirySendStatus.SENDING);
-            updateWrapper.set("send_start_time", new Date());
+            LambdaUpdateWrapper<EnquiryEmailMessage> updateWrapper = new LambdaUpdateWrapper<>();
+            updateWrapper.in(
+                    EnquiryEmailMessage::getId,
+                    messageList.stream()
+                            .map(EnquiryEmailMessage::getId)
+                            .collect(Collectors.toList()));
+            updateWrapper.set(EnquiryEmailMessage::getSendStatus, EnquirySendStatus.SENDING);
+            updateWrapper.set(EnquiryEmailMessage::getSendStartTime, new Date());
             this.update(updateWrapper);
             for (EnquiryEmailMessage message : messageList) {
                 sendEmailByMessage(message);
@@ -110,10 +110,16 @@ public class EnquiryEmailMessageServiceImpl extends ServiceImpl<EnquiryEmailMess
     @Override
     public void sendEmailByMessage(EnquiryEmailMessage message) {
         try {
-            EmailSendMsgHandle sendMsgHandle = (EmailSendMsgHandle) Class.forName(SendMsgTypeEnum.EMAIL.getImplClass()).newInstance();
-            AdwebSite site = adwebSiteService.getOne(new QueryWrapper<AdwebSite>().eq("code", message.getSiteCode()));
+            EmailSendMsgHandle sendMsgHandle =
+                    (EmailSendMsgHandle)
+                            Class.forName(SendMsgTypeEnum.EMAIL.getImplClass()).newInstance();
+            AdwebSite site =
+                    adwebSiteService.getOne(
+                            new LambdaQueryWrapper<AdwebSite>()
+                                    .eq(AdwebSite::getCode, message.getSiteCode()));
             String fromName = Objects.toString(site.getCompanyName(), site.getName());
-            sendMsgHandle.sendMsg(message.getEmail(), fromName, getEmailContent(message.getEnquiryId()));
+            sendMsgHandle.sendMsg(
+                    message.getEmail(), fromName, getEmailContent(message.getEnquiryId()));
             dealSendSuccess(message);
         } catch (Exception e) {
             log.error(e.getMessage(), e);
@@ -122,8 +128,7 @@ public class EnquiryEmailMessageServiceImpl extends ServiceImpl<EnquiryEmailMess
     }
 
     /**
-     * 处理发送时间超过10分钟的邮件消息
-     * 1、清除发送时间
+     * 处理发送时间超过10分钟的邮件消息 1、清除发送时间
      *
      * @return 如果返回true,需要重新发送
      */
@@ -138,24 +143,14 @@ public class EnquiryEmailMessageServiceImpl extends ServiceImpl<EnquiryEmailMess
     //     return false;
     // }
 
-    /**
-     * 邮件发送失败处理
-     * 1、更新发送状态
-     * 2、清除发送时间
-     */
+    /** 邮件发送失败处理 1、更新发送状态 2、清除发送时间 */
     private void dealSendSuccess(EnquiryEmailMessage message) {
         message.setSendStatus(EnquirySendStatus.SEND_SUCCESS);
         message.setSendStartTime(null);
         updateById(message);
     }
 
-    /**
-     * 邮件发送失败处理
-     * 1、增加错误次数
-     * 2、更新发送状态
-     * 3、清除发送时间
-     * 4、如果错误次数到达三次,发送飞书通知
-     */
+    /** 邮件发送失败处理 1、增加错误次数 2、更新发送状态 3、清除发送时间 4、如果错误次数到达三次,发送飞书通知 */
     private void dealSendFail(EnquiryEmailMessage message, String errorMsg) {
         if (StringUtils.isEmpty(errorMsg)) {
             errorMsg = "发送询盘邮件失败";
@@ -172,7 +167,8 @@ public class EnquiryEmailMessageServiceImpl extends ServiceImpl<EnquiryEmailMess
         message.setSendErrorMsg(msg);
         updateById(message);
         if (message.getSendErrorNum() >= 3) {
-            feishuService.sendEnquiryEmailFailMsg(message.getEnquiryId(), message.getSiteCode(), message.getEmail(), errorMsg);
+            feishuService.sendEnquiryEmailFailMsg(
+                    message.getEnquiryId(), message.getSiteCode(), message.getEmail(), errorMsg);
         }
 
         // 异常入库
@@ -190,16 +186,18 @@ public class EnquiryEmailMessageServiceImpl extends ServiceImpl<EnquiryEmailMess
     private String getEmailContent(long enquiryId) throws IOException {
         String bodyTemplate =
                 Resources.toString(
-                        Objects.requireNonNull(this.getClass()
-                                .getClassLoader()
-                                .getResource("enquiry/email/body.tmpl")),
+                        Objects.requireNonNull(
+                                this.getClass()
+                                        .getClassLoader()
+                                        .getResource("enquiry/email/body.tmpl")),
                         StandardCharsets.UTF_8);
 
         String itemTemplate =
                 Resources.toString(
-                        Objects.requireNonNull(this.getClass()
-                                .getClassLoader()
-                                .getResource("enquiry/email/item.tmpl")),
+                        Objects.requireNonNull(
+                                this.getClass()
+                                        .getClassLoader()
+                                        .getResource("enquiry/email/item.tmpl")),
                         StandardCharsets.UTF_8);
         StringBuilder content = new StringBuilder();
 
@@ -215,7 +213,10 @@ public class EnquiryEmailMessageServiceImpl extends ServiceImpl<EnquiryEmailMess
             String formItemValue = enquiryFormItem.getValue();
             String item1 = itemTemplate;
             item1 = item1.replace("{{title}}", formItemName);
-            item1 = item1.replace("{{content}}", formItemValue == null || formItemValue == "" ? " " : formItemValue);
+            item1 =
+                    item1.replace(
+                            "{{content}}",
+                            formItemValue == null || formItemValue == "" ? " " : formItemValue);
             if (i == 0) {
                 item1 = item1.replace("border-top:1px solid #dddddd;", "");
             }
@@ -226,12 +227,10 @@ public class EnquiryEmailMessageServiceImpl extends ServiceImpl<EnquiryEmailMess
     }
 
     /**
-     * 获取待发送询盘
-     * 1、首次发送失败的
-     * 2、超过timeout分钟未处理的
+     * 获取待发送询盘 1、首次发送失败的 2、超过timeout分钟未处理的
      *
      * @param timeout 留给首次实时处理的时间,单位分钟,超过这个时间则认为首次邮件发送失败,应该由定时器处理
-     * @param num     获取邮件数量
+     * @param num 获取邮件数量
      * @return 邮件列表
      */
     @Override
@@ -246,15 +245,27 @@ public class EnquiryEmailMessageServiceImpl extends ServiceImpl<EnquiryEmailMess
      */
     @Override
     public Result<?> addAndEnquiryEmailMsg(AdwebEnquiry adwebEnquiry, String uid) {
-        //处理已有发送的询盘邮件
+        // 处理已有发送的询盘邮件
         List<String> emailList = new ArrayList<>();
         if ("ALL".equals(uid)) {
-            //获取子账户邮箱
-            List<String> subAccountIdList = masterSubAccountRelationService.getSubAccountIdByMaster(String.valueOf(adwebEnquiry.getUid()));
+            // 获取子账户邮箱
+            List<String> subAccountIdList =
+                    masterSubAccountRelationService.getSubAccountIdByMaster(
+                            String.valueOf(adwebEnquiry.getUid()));
             if (!subAccountIdList.isEmpty()) {
-                List<SysUser> principalEmailList = sysUserService.list(new QueryWrapper<SysUser>().in("id", subAccountIdList).eq("del_flag", 0).isNotNull("email").ne("email", "").select("id", "email"));
+                List<SysUser> principalEmailList =
+                        sysUserService.list(
+                                new LambdaQueryWrapper<SysUser>()
+                                        .in(SysUser::getId, subAccountIdList)
+                                        .eq(SysUser::getDelFlag, 0)
+                                        .isNotNull(SysUser::getEmail)
+                                        .ne(SysUser::getEmail, "")
+                                        .select(SysUser::getId, SysUser::getEmail));
                 if (CollectionUtils.isNotEmpty(principalEmailList)) {
-                    emailList = principalEmailList.stream().map(SysUser::getEmail).collect(Collectors.toList());
+                    emailList =
+                            principalEmailList.stream()
+                                    .map(SysUser::getEmail)
+                                    .collect(Collectors.toList());
                 }
             }
         } else {
@@ -265,14 +276,21 @@ public class EnquiryEmailMessageServiceImpl extends ServiceImpl<EnquiryEmailMess
         }
 
         if (CollectionUtils.isNotEmpty(emailList)) {
-            QueryWrapper<EnquiryEmailMessage> enquiryEmailMessageQueryWrapper = new QueryWrapper<>();
-            enquiryEmailMessageQueryWrapper.eq("enquiry_id", adwebEnquiry.getId());
-            enquiryEmailMessageQueryWrapper.eq("site_code", adwebEnquiry.getSiteCode());
-            enquiryEmailMessageQueryWrapper.in("email", emailList);
-            List<EnquiryEmailMessage> enquiryEmailMessageList = list(enquiryEmailMessageQueryWrapper);
+            LambdaQueryWrapper<EnquiryEmailMessage> enquiryEmailMessageQueryWrapper =
+                    new LambdaQueryWrapper<>();
+            enquiryEmailMessageQueryWrapper.eq(
+                    EnquiryEmailMessage::getEnquiryId, adwebEnquiry.getId());
+            enquiryEmailMessageQueryWrapper.eq(
+                    EnquiryEmailMessage::getSiteCode, adwebEnquiry.getSiteCode());
+            enquiryEmailMessageQueryWrapper.in(EnquiryEmailMessage::getEmail, emailList);
+            List<EnquiryEmailMessage> enquiryEmailMessageList =
+                    list(enquiryEmailMessageQueryWrapper);
 
             if (CollectionUtils.isNotEmpty(enquiryEmailMessageList)) {
-                List<String> oldEmailList = enquiryEmailMessageList.stream().map(EnquiryEmailMessage::getEmail).collect(Collectors.toList());
+                List<String> oldEmailList =
+                        enquiryEmailMessageList.stream()
+                                .map(EnquiryEmailMessage::getEmail)
+                                .collect(Collectors.toList());
                 List<String> noNeedEmailList = new ArrayList<>();
                 for (String email : emailList) {
                     if (oldEmailList.contains(email)) {
@@ -302,7 +320,9 @@ public class EnquiryEmailMessageServiceImpl extends ServiceImpl<EnquiryEmailMess
                 if (result) {
                     try {
                         JedisUtil.lpush(redisKey, ObjectUtil.object2Bytes(adwebEnquiry.getId()));
-                        JedisUtil.publishMsg(EnquiryConstants.ENQUIRY_EMAIL_CHANNEL, EnquiryConstants.ENQUIRY_EMAIL);
+                        JedisUtil.publishMsg(
+                                EnquiryConstants.ENQUIRY_EMAIL_CHANNEL,
+                                EnquiryConstants.ENQUIRY_EMAIL);
                         return Result.OK();
                     } catch (Exception e) {
                         log.error("发送失败询盘id:" + adwebEnquiry.getId());
@@ -315,10 +335,7 @@ public class EnquiryEmailMessageServiceImpl extends ServiceImpl<EnquiryEmailMess
         return Result.error("子账户邮箱没有配置,询盘邮件发送失败");
     }
 
-    /**
-     * 处理询盘发送信息
-     * wpform
-     */
+    /** 处理询盘发送信息 wpform */
     private List<EnquiryFormItem> dealWpformEnquiryForm(AdwebEnquiryForm adwebEnquiryForm) {
         String form = adwebEnquiryForm.getForm();
         Map<String, JSONObject> formObj = FastJsonUtil.parseObject(form, Map.class);
@@ -328,7 +345,8 @@ public class EnquiryEmailMessageServiceImpl extends ServiceImpl<EnquiryEmailMess
             JSONObject formItem = formObj.get(key);
             EnquiryFormItem enquiryFormItem = new EnquiryFormItem();
             enquiryFormItem.setSort(Integer.parseInt(key));
-            if ("Country".equals(formItem.getString("name")) || "country".equals(formItem.getString("name"))) {
+            if ("Country".equals(formItem.getString("name"))
+                    || "country".equals(formItem.getString("name"))) {
                 countryFlag = false;
             }
             enquiryFormItem.setName(formItem.getString("name"));
@@ -348,7 +366,6 @@ public class EnquiryEmailMessageServiceImpl extends ServiceImpl<EnquiryEmailMess
     }
 }
 
-
 @Data
 class EnquiryFormItem {
 
@@ -357,5 +374,4 @@ class EnquiryFormItem {
     private String name;
 
     private String value;
-
 }

+ 5 - 3
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/impl/SubUserEmailServiceImpl.java

@@ -1,7 +1,9 @@
 package org.jeecg.modules.adweb.enquiry.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
 import jakarta.annotation.Resource;
+
 import org.jeecg.modules.adweb.enquiry.entity.SubUserEmail;
 import org.jeecg.modules.adweb.enquiry.mapper.SubUserEmailMapper;
 import org.jeecg.modules.adweb.enquiry.service.ISubUserEmailService;
@@ -12,9 +14,9 @@ import org.springframework.stereotype.Service;
  * @Description
  */
 @Service
-public class SubUserEmailServiceImpl extends ServiceImpl<SubUserEmailMapper, SubUserEmail> implements ISubUserEmailService {
-    @Resource
-    private SubUserEmailMapper subUserEmailMapper;
+public class SubUserEmailServiceImpl extends ServiceImpl<SubUserEmailMapper, SubUserEmail>
+        implements ISubUserEmailService {
+    @Resource private SubUserEmailMapper subUserEmailMapper;
 
     @Override
     public boolean removeAll() {

+ 7 - 8
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/listener/EnquiryEmailSenderListener.java

@@ -2,10 +2,12 @@ package org.jeecg.modules.adweb.listener;
 
 import lombok.Setter;
 import lombok.extern.slf4j.Slf4j;
+
 import org.jeecg.modules.adweb.common.jedis.ObjectUtil;
 import org.jeecg.modules.adweb.common.util.JedisUtil;
 import org.jeecg.modules.adweb.enquiry.constant.EnquiryConstants;
 import org.jeecg.modules.adweb.enquiry.service.IEnquiryEmailMessageService;
+
 import redis.clients.jedis.JedisPubSub;
 
 @Setter
@@ -37,27 +39,24 @@ public class EnquiryEmailSenderListener extends JedisPubSub {
 
     // 初始化订阅时候的处理
     public void onSubscribe(String channel, int subscribedChannels) {
-        //log.info(channel + "=" + subscribedChannels);
+        // log.info(channel + "=" + subscribedChannels);
     }
 
     // 取消订阅时候的处理
     public void onUnsubscribe(String channel, int subscribedChannels) {
-        //log.info(channel + "=" + subscribedChannels);
+        // log.info(channel + "=" + subscribedChannels);
     }
 
     // 初始化按表达式的方式订阅时候的处理
     public void onPSubscribe(String pattern, int subscribedChannels) {
-        //log.info(pattern + "=" + subscribedChannels);
+        // log.info(pattern + "=" + subscribedChannels);
     }
 
     // 取消按表达式的方式订阅时候的处理
     public void onPUnsubscribe(String pattern, int subscribedChannels) {
-        //log.info(pattern + "=" + subscribedChannels);
+        // log.info(pattern + "=" + subscribedChannels);
     }
 
     // 取得按表达式的方式订阅的消息后的处理
-    public void onPMessage(String pattern, String channel, String message) {
-
-    }
-
+    public void onPMessage(String pattern, String channel, String message) {}
 }

+ 18 - 41
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/marketing/googleads/service/GoogleAdsReportService.java

@@ -7,7 +7,6 @@ import jakarta.annotation.PostConstruct;
 import lombok.extern.slf4j.Slf4j;
 
 import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.lang3.reflect.TypeUtils;
 import org.jeecg.modules.adweb.common.databridge.OpenAPIRequest;
 import org.jeecg.modules.adweb.common.databridge.OpenAPIResponse;
 import org.jeecg.modules.adweb.common.util.AdwebRedisUtil;
@@ -82,7 +81,7 @@ public class GoogleAdsReportService {
 
         // 1. 创建API request
         OpenAPIRequest<ReportRequestDTO> openAPIRequest =
-                this.buildAPIRequest(googleAds, null, null, 1); // limit值无效
+                this.buildOpenAPIRequest(googleAds, null, null, 1); // limit值无效
 
         // 2. 请求API接口
         OpenAPIResponse<CustomerStatsDTO> openAPIResponse =
@@ -90,9 +89,7 @@ public class GoogleAdsReportService {
                         restTemplate,
                         dataBridgeApiHost + GOOGLE_ADS_CUSTOMER_STATS_API_PATH,
                         openAPIRequest,
-                        ParameterizedTypeReference.forType(
-                                TypeUtils.parameterize(
-                                        OpenAPIResponse.class, CustomerStatsDTO.class)));
+                        new ParameterizedTypeReference<>() {});
 
         return CustomerStatsVO.fromCustomerStatsDTO(openAPIResponse.getData());
     }
@@ -123,7 +120,7 @@ public class GoogleAdsReportService {
 
         // 1. 创建API request
         OpenAPIRequest<ReportRequestDTO> openAPIRequest =
-                this.buildAPIRequest(googleAds, start, end, limit);
+                this.buildOpenAPIRequest(googleAds, start, end, limit);
 
         // 2. 请求API接口
         OpenAPIResponse<Map<String, MetricsDTO>> openAPIResponse =
@@ -131,11 +128,7 @@ public class GoogleAdsReportService {
                         restTemplate,
                         dataBridgeApiHost + GOOGLE_ADS_DAILY_STATS_API_PATH,
                         openAPIRequest,
-                        ParameterizedTypeReference.forType(
-                                TypeUtils.parameterize(
-                                        OpenAPIResponse.class,
-                                        TypeUtils.parameterize(
-                                                Map.class, String.class, MetricsDTO.class))));
+                        new ParameterizedTypeReference<>() {});
 
         return openAPIResponse.getData().entrySet().stream()
                 .map(DailyStatsVO::fromMetricsDTO)
@@ -157,7 +150,7 @@ public class GoogleAdsReportService {
 
         // 1. 创建API request
         OpenAPIRequest<ReportRequestDTO> openAPIRequest =
-                this.buildAPIRequest(googleAds, start, end, 50); // 返回top 50
+                this.buildOpenAPIRequest(googleAds, start, end, 50); // 返回top 50
 
         // 2. 请求API接口
         OpenAPIResponse<List<CampaignStatsDTO>> openAPIResponse =
@@ -165,11 +158,7 @@ public class GoogleAdsReportService {
                         restTemplate,
                         dataBridgeApiHost + GOOGLE_ADS_CAMPAIGN_STATS_API_PATH,
                         openAPIRequest,
-                        ParameterizedTypeReference.forType(
-                                TypeUtils.parameterize(
-                                        OpenAPIResponse.class,
-                                        TypeUtils.parameterize(
-                                                List.class, CampaignStatsDTO.class))));
+                        new ParameterizedTypeReference<>() {});
 
         return openAPIResponse.getData().stream()
                 .map(CampaignStatsVO::fromCampaignStatsDTO)
@@ -191,7 +180,7 @@ public class GoogleAdsReportService {
 
         // 1. 创建API request
         OpenAPIRequest<ReportRequestDTO> openAPIRequest =
-                this.buildAPIRequest(googleAds, start, end, 50); // 返回top 50
+                this.buildOpenAPIRequest(googleAds, start, end, 50); // 返回top 50
 
         // 2. 请求API接口
         OpenAPIResponse<Map<String, MetricsDTO>> openAPIResponse =
@@ -199,11 +188,7 @@ public class GoogleAdsReportService {
                         restTemplate,
                         dataBridgeApiHost + GOOGLE_ADS_KEYWORD_STATS_API_PATH,
                         openAPIRequest,
-                        ParameterizedTypeReference.forType(
-                                TypeUtils.parameterize(
-                                        OpenAPIResponse.class,
-                                        TypeUtils.parameterize(
-                                                Map.class, String.class, MetricsDTO.class))));
+                        new ParameterizedTypeReference<>() {});
 
         return openAPIResponse.getData().entrySet().stream()
                 .map(KeywordStatsVO::fromMetricsDTO)
@@ -225,7 +210,7 @@ public class GoogleAdsReportService {
 
         // 1. 创建API request
         OpenAPIRequest<ReportRequestDTO> openAPIRequest =
-                this.buildAPIRequest(googleAds, start, end, 50); // 返回top 50
+                this.buildOpenAPIRequest(googleAds, start, end, 50); // 返回top 50
 
         // 2. 请求API接口
         OpenAPIResponse<Map<String, MetricsDTO>> openAPIResponse =
@@ -233,11 +218,7 @@ public class GoogleAdsReportService {
                         restTemplate,
                         dataBridgeApiHost + GOOGLE_ADS_PLACEMENT_STATS_API_PATH,
                         openAPIRequest,
-                        ParameterizedTypeReference.forType(
-                                TypeUtils.parameterize(
-                                        OpenAPIResponse.class,
-                                        TypeUtils.parameterize(
-                                                Map.class, String.class, MetricsDTO.class))));
+                        new ParameterizedTypeReference<>() {});
 
         return openAPIResponse.getData().entrySet().stream()
                 .map(PlacementStatsVO::fromMetricsDTO)
@@ -259,7 +240,7 @@ public class GoogleAdsReportService {
 
         // 1. 创建API request
         OpenAPIRequest<ReportRequestDTO> openAPIRequest =
-                this.buildAPIRequest(googleAds, start, end, 50); // 返回top 50
+                this.buildOpenAPIRequest(googleAds, start, end, 50); // 返回top 50
 
         // 2. 请求API接口
         OpenAPIResponse<Map<String, MetricsDTO>> openAPIResponse =
@@ -267,11 +248,7 @@ public class GoogleAdsReportService {
                         restTemplate,
                         dataBridgeApiHost + GOOGLE_ADS_COUNTRY_STATS_API_PATH,
                         openAPIRequest,
-                        ParameterizedTypeReference.forType(
-                                TypeUtils.parameterize(
-                                        OpenAPIResponse.class,
-                                        TypeUtils.parameterize(
-                                                Map.class, String.class, MetricsDTO.class))));
+                        new ParameterizedTypeReference<>() {});
 
         return openAPIResponse.getData().entrySet().stream()
                 .map(CountryStatsVO::fromMetricsDTO)
@@ -302,7 +279,7 @@ public class GoogleAdsReportService {
         return googleAds;
     }
 
-    private OpenAPIRequest<ReportRequestDTO> buildAPIRequest(
+    private OpenAPIRequest<ReportRequestDTO> buildOpenAPIRequest(
             GoogleAds googleAds, Date start, Date end, int limit) {
         ReportRequestDTO reportRequest = new ReportRequestDTO();
         reportRequest.setCustomerId(googleAds.getCustomerId());
@@ -318,10 +295,10 @@ public class GoogleAdsReportService {
                         Optional.ofNullable(end).orElse(new Date()), DateUtil.DATE_FORMAT));
         reportRequest.setLimit(limit);
 
-        OpenAPIRequest<ReportRequestDTO> apiRequest = new OpenAPIRequest<>();
-        apiRequest.setRequestServer(this.getClass().getSimpleName());
-        apiRequest.setRequestTime(System.currentTimeMillis());
-        apiRequest.setData(reportRequest);
-        return apiRequest;
+        OpenAPIRequest<ReportRequestDTO> openAPIRequest = new OpenAPIRequest<>();
+        openAPIRequest.setRequestServer(this.getClass().getSimpleName());
+        openAPIRequest.setRequestTime(System.currentTimeMillis());
+        openAPIRequest.setData(reportRequest);
+        return openAPIRequest;
     }
 }

+ 13 - 11
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/product/controller/AdwebProductController.java

@@ -32,8 +32,7 @@ import java.util.Arrays;
 @RequestMapping("/adweb/adwebProduct")
 @Slf4j
 public class AdwebProductController extends JeecgController<AdwebProduct, IAdwebProductService> {
-    @Autowired
-    private IAdwebProductService adwebProductService;
+    @Autowired private IAdwebProductService adwebProductService;
 
     /**
      * 分页列表查询
@@ -44,14 +43,16 @@ public class AdwebProductController extends JeecgController<AdwebProduct, IAdweb
      * @param req
      * @return
      */
-    //@AutoLog(value = "wp站点产品-分页列表查询")
+    // @AutoLog(value = "wp站点产品-分页列表查询")
     @Operation(summary = "wp站点产品-分页列表查询")
     @GetMapping(value = "/list")
-    public Result<IPage<AdwebProduct>> queryPageList(AdwebProduct adwebProduct,
-                                                     @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                                     @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                                     HttpServletRequest req) {
-        QueryWrapper<AdwebProduct> queryWrapper = QueryGenerator.initQueryWrapper(adwebProduct, req.getParameterMap());
+    public Result<IPage<AdwebProduct>> queryPageList(
+            AdwebProduct adwebProduct,
+            @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+            @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+            HttpServletRequest req) {
+        QueryWrapper<AdwebProduct> queryWrapper =
+                QueryGenerator.initQueryWrapper(adwebProduct, req.getParameterMap());
         Page<AdwebProduct> page = new Page<AdwebProduct>(pageNo, pageSize);
         IPage<AdwebProduct> pageList = adwebProductService.page(page, queryWrapper);
         return Result.OK(pageList);
@@ -81,7 +82,9 @@ public class AdwebProductController extends JeecgController<AdwebProduct, IAdweb
     @AutoLog(value = "wp站点产品-编辑")
     @Operation(summary = "wp站点产品-编辑")
     @PreAuthorize("@jps.requiresPermissions('adweb:adweb_product:edit')")
-    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+    @RequestMapping(
+            value = "/edit",
+            method = {RequestMethod.PUT, RequestMethod.POST})
     public Result<String> edit(@RequestBody AdwebProduct adwebProduct) {
         adwebProductService.updateById(adwebProduct);
         return Result.OK("编辑成功!");
@@ -123,7 +126,7 @@ public class AdwebProductController extends JeecgController<AdwebProduct, IAdweb
      * @param id
      * @return
      */
-    //@AutoLog(value = "wp站点产品-通过id查询")
+    // @AutoLog(value = "wp站点产品-通过id查询")
     @Operation(summary = "wp站点产品-通过id查询")
     @GetMapping(value = "/queryById")
     public Result<AdwebProduct> queryById(@RequestParam(name = "id", required = true) String id) {
@@ -158,5 +161,4 @@ public class AdwebProductController extends JeecgController<AdwebProduct, IAdweb
     public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
         return super.importExcel(request, response, AdwebProduct.class);
     }
-
 }

+ 16 - 32
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/product/dto/ProductDTO.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.adweb.product.dto;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+
 import lombok.Data;
 
 import java.util.Date;
@@ -10,56 +11,39 @@ import java.util.Date;
  */
 @Data
 public class ProductDTO {
-    /**
-     *
-     */
+    /** */
     private Integer productId;
 
-    /**
-     * adwebpro or woocommerce
-     */
+    /** adwebpro or woocommerce */
     private String productType;
 
-    /**
-     * add, edit, delete
-     */
+    /** add, edit, delete */
     private String actionType;
 
-    @JsonFormat(shape = JsonFormat.Shape.STRING, timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(
+            shape = JsonFormat.Shape.STRING,
+            timezone = "GMT+8",
+            pattern = "yyyy-MM-dd HH:mm:ss")
     private Date requestTime;
-    /**
-     *
-     */
+
+    /** */
     private String productName;
 
-    /**
-     *
-     */
+    /** */
     private String productNameZh;
 
-    /**
-     *
-     */
+    /** */
     private String productImage;
 
-    /**
-     *
-     */
+    /** */
     private String[] productGalleryImage;
 
-    /**
-     *
-     */
+    /** */
     private String categoryName;
 
-    /**
-     *
-     */
+    /** */
     private String authorName;
 
-    /**
-     * siteHost
-     */
-
+    /** siteHost */
     private String siteHost;
 }

+ 35 - 27
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/product/service/impl/AdwebProductServiceImpl.java

@@ -4,11 +4,14 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.codec.Base64Encoder;
 import cn.hutool.http.HttpRequest;
 import cn.hutool.http.HttpResponse;
+
 import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
 import lombok.extern.slf4j.Slf4j;
+
 import org.jeecg.modules.adweb.common.constant.AdwebConstant;
 import org.jeecg.modules.adweb.product.dto.ProductDTO;
 import org.jeecg.modules.adweb.product.entity.AdwebProduct;
@@ -32,7 +35,8 @@ import java.net.URL;
  */
 @Service
 @Slf4j
-public class AdwebProductServiceImpl extends ServiceImpl<AdwebProductMapper, AdwebProduct> implements IAdwebProductService {
+public class AdwebProductServiceImpl extends ServiceImpl<AdwebProductMapper, AdwebProduct>
+        implements IAdwebProductService {
 
     private final String SOHOEB2B_PUSH_PRODUCT_API = "https://admin.etcpu.com/api/product/product/";
 
@@ -52,13 +56,12 @@ public class AdwebProductServiceImpl extends ServiceImpl<AdwebProductMapper, Adw
         }
 
         pushSohoeB2BProduct(productDTO, adwebSites);
-
     }
 
     private void handleUpdate(ProductDTO productDTO, AdwebSite adwebSites) {
-        QueryWrapper<AdwebProduct> productQuery = new QueryWrapper<>();
-        productQuery.eq("product_id", productDTO.getProductId());
-        productQuery.eq("site_code", adwebSites.getCode());
+        LambdaQueryWrapper<AdwebProduct> productQuery = new LambdaQueryWrapper<>();
+        productQuery.eq(AdwebProduct::getProductId, productDTO.getProductId());
+        productQuery.eq(AdwebProduct::getSiteCode, adwebSites.getCode());
 
         AdwebProduct product = this.getOne(productQuery);
         // 执行更新操作
@@ -70,16 +73,20 @@ public class AdwebProductServiceImpl extends ServiceImpl<AdwebProductMapper, Adw
     }
 
     private void handleDelete(ProductDTO productDTO, AdwebSite adwebSites) {
-        UpdateWrapper<AdwebProduct> productQuery = new UpdateWrapper<>();
-        productQuery.eq("product_id", productDTO.getProductId());
-        productQuery.eq("site_code", adwebSites.getCode());
-        productQuery.set("action_type", "delete");
-        productQuery.set("request_time", productDTO.getRequestTime());
-        productQuery.set("author_name", productDTO.getAuthorName());
+        LambdaUpdateWrapper<AdwebProduct> productQuery = new LambdaUpdateWrapper<>();
+        productQuery.eq(AdwebProduct::getProductId, productDTO.getProductId());
+        productQuery.eq(AdwebProduct::getSiteCode, adwebSites.getCode());
+        productQuery.set(AdwebProduct::getActionType, "delete");
+        productQuery.set(AdwebProduct::getRequestTime, productDTO.getRequestTime());
+        productQuery.set(AdwebProduct::getAuthorName, productDTO.getAuthorName());
 
         try {
             boolean isUpdated = this.update(productQuery);
-            log.info("MQ消息删除产品成功, 网站:{}, 产品ID:{}, 是否更新成功:{}", adwebSites.getCode(), productDTO.getProductId(), isUpdated);
+            log.info(
+                    "MQ消息删除产品成功, 网站:{}, 产品ID:{}, 是否更新成功:{}",
+                    adwebSites.getCode(),
+                    productDTO.getProductId(),
+                    isUpdated);
         } catch (Exception e) {
             log.error("MQ消息删除产品失败:{}", e.getMessage(), e);
         }
@@ -122,8 +129,8 @@ public class AdwebProductServiceImpl extends ServiceImpl<AdwebProductMapper, Adw
 
     /**
      * 异步向苏豪通推送产品消息队列
-     * <p>
-     * TODO 待确定,是否在V3产品中加入推送到苏豪是否成功的状态
+     *
+     * <p>TODO 待确定,是否在V3产品中加入推送到苏豪是否成功的状态
      */
     @Async
     protected void pushSohoeB2BProduct(ProductDTO productDTO, AdwebSite adwebSites) {
@@ -141,12 +148,14 @@ public class AdwebProductServiceImpl extends ServiceImpl<AdwebProductMapper, Adw
 
             log.info("向苏豪推送产品消息,api地址:{}, 参数:{}", SOHOEB2B_PUSH_PRODUCT_API, params);
             try {
-                HttpResponse response = HttpRequest
-                        .post(SOHOEB2B_PUSH_PRODUCT_API)
-                        .header("Content-Type", "application/json")
-                        .header("Authorization", "Token f354b8a705c862abeae1f4f96dc55999fb9b3579")
-                        .body(params.toString())
-                        .execute(true);
+                HttpResponse response =
+                        HttpRequest.post(SOHOEB2B_PUSH_PRODUCT_API)
+                                .header("Content-Type", "application/json")
+                                .header(
+                                        "Authorization",
+                                        "Token f354b8a705c862abeae1f4f96dc55999fb9b3579")
+                                .body(params.toString())
+                                .execute(true);
 
                 if (response != null && response.getStatus() == 200) {
                     log.info("推送产品到苏豪成功:{}", response.body());
@@ -155,7 +164,6 @@ public class AdwebProductServiceImpl extends ServiceImpl<AdwebProductMapper, Adw
                 }
             } catch (Exception e) {
                 log.info("推送产品到苏豪失败:{}", e.getMessage());
-
             }
         }
     }
@@ -173,13 +181,13 @@ public class AdwebProductServiceImpl extends ServiceImpl<AdwebProductMapper, Adw
             is = httpUrl.getInputStream();
 
             outStream = new ByteArrayOutputStream();
-            //创建一个Buffer字符串
+            // 创建一个Buffer字符串
             byte[] buffer = new byte[1024];
-            //每次读取的字符串长度,如果为-1,代表全部读取完毕
+            // 每次读取的字符串长度,如果为-1,代表全部读取完毕
             int len = 0;
-            //使用一个输入流从buffer里把数据读取出来
+            // 使用一个输入流从buffer里把数据读取出来
             while ((len = is.read(buffer)) != -1) {
-                //用输出流往buffer里写入数据,中间参数代表从哪个位置开始读,len代表读取的长度
+                // 用输出流往buffer里写入数据,中间参数代表从哪个位置开始读,len代表读取的长度
                 outStream.write(buffer, 0, len);
             }
             // 对字节数组Base64编码

+ 70 - 57
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/controller/SeoKeywordsController.java

@@ -1,19 +1,26 @@
 package org.jeecg.modules.adweb.seo.controller;
 
+import static cn.hutool.core.collection.CollUtil.distinct;
+
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.io.IoUtil;
 import cn.hutool.poi.excel.ExcelUtil;
 import cn.hutool.poi.excel.ExcelWriter;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xkcoding.http.util.StringUtil;
+
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+
 import jakarta.servlet.ServletOutputStream;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
+
 import lombok.extern.slf4j.Slf4j;
+
 import org.apache.commons.lang.RandomStringUtils;
 import org.apache.poi.ss.usermodel.CellType;
 import org.apache.poi.ss.usermodel.Sheet;
@@ -50,33 +57,28 @@ import java.nio.charset.StandardCharsets;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
-import static cn.hutool.core.collection.CollUtil.distinct;
-
 /**
- * @Description: 关键词 @Author: jeecg-boot @Date: 2024-10-15 @Version: V1.0
+ * @Description: 关键词
+ * @Author: jeecg-boot
+ * @Date: 2024-10-15
+ * @Version: V1.0
  */
 @Tag(name = "关键词")
 @RestController
 @RequestMapping("/seo/seoKeywords")
 @Slf4j
 public class SeoKeywordsController extends JeecgController<SeoKeywords, ISeoKeywordsService> {
-    @Autowired
-    private ISeoKeywordsService seoKeywordsService;
+    @Autowired private ISeoKeywordsService seoKeywordsService;
 
-    @Autowired
-    ISeoKeywordsRankService seoKeywordsRankService;
+    @Autowired ISeoKeywordsRankService seoKeywordsRankService;
 
-    @Autowired
-    ISeoKeywordsRankService seoKpiStatisticsService;
+    @Autowired ISeoKeywordsRankService seoKpiStatisticsService;
 
-    @Autowired
-    private SysAdwebApi sysAdwebApi;
+    @Autowired private SysAdwebApi sysAdwebApi;
 
-    @Autowired
-    private IAdwebSiteService adwebSiteService;
+    @Autowired private IAdwebSiteService adwebSiteService;
 
-    @Autowired
-    private ISeoPlanSubscriptionService seoPlanSubscriptionService;
+    @Autowired private ISeoPlanSubscriptionService seoPlanSubscriptionService;
 
     @Value("${jeecg.path.upload}")
     private String uploadUrl;
@@ -101,18 +103,21 @@ public class SeoKeywordsController extends JeecgController<SeoKeywords, ISeoKeyw
         if ((seoKeywords.getSiteCode() == null || seoKeywords.getSiteCode().isEmpty())) {
             return Result.OK();
         }
-        QueryWrapper<SeoKeywords> queryWrapper = new QueryWrapper<>();
+        LambdaQueryWrapper<SeoKeywords> queryWrapper = new LambdaQueryWrapper<>();
         if (StringUtil.isNotEmpty(seoKeywords.getKeywords())) {
-            queryWrapper.like("keywords", "%" + seoKeywords.getKeywords() + "%");
+            queryWrapper.like(SeoKeywords::getKeywords, "%" + seoKeywords.getKeywords() + "%");
         }
-//        queryWrapper.eq("related_keyword_id", seoKeywords.getRelatedKeywordId());
-//        queryWrapper.eq("subscription_id", seoKeywords.getSubscriptionId());
-        queryWrapper.eq("site_code", seoKeywords.getSiteCode());
+        //        queryWrapper.eq("related_keyword_id", seoKeywords.getRelatedKeywordId());
+        //        queryWrapper.eq("subscription_id", seoKeywords.getSubscriptionId());
+        queryWrapper.eq(SeoKeywords::getSiteCode, seoKeywords.getSiteCode());
         if (seoKeywords.getKeywordType() != null) {
-            queryWrapper.eq("keyword_type", seoKeywords.getKeywordType());
+            queryWrapper.eq(SeoKeywords::getKeywordType, seoKeywords.getKeywordType());
         }
-        queryWrapper.ne("status", 0);
-        queryWrapper.orderByAsc("priority").orderByDesc("optimize_process").orderByDesc("create_time");
+        queryWrapper.ne(SeoKeywords::getStatus, 0);
+        queryWrapper
+                .orderByAsc(SeoKeywords::getPriority)
+                .orderByDesc(SeoKeywords::getOptimizeProcess)
+                .orderByDesc(SeoKeywords::getCreateTime);
         Page<SeoKeywords> page = new Page<SeoKeywords>(pageNo, pageSize);
         IPage<SeoKeywords> pageList = seoKeywordsService.page(page, queryWrapper);
         return Result.OK(pageList);
@@ -129,16 +134,16 @@ public class SeoKeywordsController extends JeecgController<SeoKeywords, ISeoKeyw
     @PreAuthorize("@jps.requiresPermissions('keywords:seo_keywords:add')")
     @PostMapping(value = "/add")
     public Result<String> add(@RequestBody SeoKeywords seoKeywords) {
-//        AdwebSite siteByCode = adwebSiteService.getSiteByCode(seoKeywords.getSiteCode());
-//        if (siteByCode == null) {
-//            return Result.error("未找到对应站点");
-//        }
+        //        AdwebSite siteByCode = adwebSiteService.getSiteByCode(seoKeywords.getSiteCode());
+        //        if (siteByCode == null) {
+        //            return Result.error("未找到对应站点");
+        //        }
         seoKeywords.setAppKey(AdwebConstant.APPKEY);
         // 根据siteCode获取站点域名
-//        String domain = siteByCode.getDomain();
-//        seoKeywords.setDomain(domain);
+        //        String domain = siteByCode.getDomain();
+        //        seoKeywords.setDomain(domain);
         seoKeywords.setStatus(1);
-//        seoKeywords.setLang("en");
+        //        seoKeywords.setLang("en");
         seoKeywordsService.save(seoKeywords);
         return Result.OK("添加成功!");
     }
@@ -218,9 +223,7 @@ public class SeoKeywordsController extends JeecgController<SeoKeywords, ISeoKeyw
         return super.exportXls(request, seoKeywords, SeoKeywords.class, "关键词");
     }
 
-    /**
-     * 关键词排名页面 - 列表数据
-     */
+    /** 关键词排名页面 - 列表数据 */
     @AutoLog(value = "营销推广-SEO-关键词排名统计查询接口")
     @RequestMapping(value = "/keywordList")
     public Result<?> queryRankInfoList(
@@ -229,9 +232,9 @@ public class SeoKeywordsController extends JeecgController<SeoKeywords, ISeoKeyw
             @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
             HttpServletRequest req)
             throws Exception {
-//        if (sysBaseAPI.isNotOwnSite(avesApiSearchKeywordsDTO.getSiteCode())) {
-//            return Result.OK(new Page<>());
-//        }
+        //        if (sysBaseAPI.isNotOwnSite(avesApiSearchKeywordsDTO.getSiteCode())) {
+        //            return Result.OK(new Page<>());
+        //        }
         // 参数判断
         IPage<SeoKeywords> pageList = new Page<>();
         String siteCode = req.getParameter("siteCode");
@@ -360,7 +363,7 @@ public class SeoKeywordsController extends JeecgController<SeoKeywords, ISeoKeyw
                     "Content-Disposition",
                     "attachment;filename="
                             + new String(
-                            (fileName + ".xlsx").getBytes(), StandardCharsets.ISO_8859_1));
+                                    (fileName + ".xlsx").getBytes(), StandardCharsets.ISO_8859_1));
             out = response.getOutputStream();
             log.info("导出数据:" + list);
             writer.write(list, true);
@@ -399,7 +402,8 @@ public class SeoKeywordsController extends JeecgController<SeoKeywords, ISeoKeyw
         if (StringUtil.isEmpty(site.getDomain())) {
             return Result.error("站点域名未设置!");
         }
-        SeoPlanSubscription currentSeoAndSiteSubscription = seoPlanSubscriptionService.getCurrentSeoAndSiteSubscription(site.getId());
+        SeoPlanSubscription currentSeoAndSiteSubscription =
+                seoPlanSubscriptionService.getCurrentSeoAndSiteSubscription(site.getId());
 
         if (currentSeoAndSiteSubscription == null) {
             return Result.error("当前站点没有有效的订阅套餐!");
@@ -414,7 +418,10 @@ public class SeoKeywordsController extends JeecgController<SeoKeywords, ISeoKeyw
             try {
                 SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
                 String formattedDate = dateFormat.format(now);
-                File realFile = new File(uploadUrl, formattedDate + RandomStringUtils.random(4, true, true) + ".xlsx");
+                File realFile =
+                        new File(
+                                uploadUrl,
+                                formattedDate + RandomStringUtils.random(4, true, true) + ".xlsx");
                 file.transferTo(realFile);
                 stream = new FileInputStream(realFile);
                 XSSFWorkbook workbook = new XSSFWorkbook(stream);
@@ -467,14 +474,15 @@ public class SeoKeywordsController extends JeecgController<SeoKeywords, ISeoKeyw
                     list.add(seoKeywords);
                 }
 
-                //新增关键词本身去重
+                // 新增关键词本身去重
                 Integer originalSize = list.size();
                 List<SeoKeywords> listNew = distinct(list);
                 // 去重
-                QueryWrapper<SeoKeywords> queryWrapper = new QueryWrapper<>();
-                queryWrapper.eq("site_code", site.getCode());
-                queryWrapper.ne("status", 0);
-                queryWrapper.eq("subscription_id", currentSeoAndSiteSubscription.getId());
+                LambdaQueryWrapper<SeoKeywords> queryWrapper = new LambdaQueryWrapper<>();
+                queryWrapper.eq(SeoKeywords::getSiteCode, site.getCode());
+                queryWrapper.ne(SeoKeywords::getStatus, 0);
+                queryWrapper.eq(
+                        SeoKeywords::getSubscriptionId, currentSeoAndSiteSubscription.getId());
                 List<SeoKeywords> existingKeywordList = seoKeywordsService.list(queryWrapper);
                 if (CollectionUtil.isNotEmpty(existingKeywordList)) {
                     List<String> existingKeywords = new ArrayList<>();
@@ -495,10 +503,16 @@ public class SeoKeywordsController extends JeecgController<SeoKeywords, ISeoKeyw
 
                 String msg = "关键词导入成功!关键词个数:" + listNew.size();
                 if (originalSize > listNew.size()) {
-                    msg = "关键词导入成功!关键词个数:" + listNew.size() + ",重复关键词已去除!重复个数:" + (originalSize - listNew.size());
+                    msg =
+                            "关键词导入成功!关键词个数:"
+                                    + listNew.size()
+                                    + ",重复关键词已去除!重复个数:"
+                                    + (originalSize - listNew.size());
                 }
 
-                return seoKeywordsService.saveBatch(listNew) ? Result.OK(msg) : Result.error("关键词导入失败!");
+                return seoKeywordsService.saveBatch(listNew)
+                        ? Result.OK(msg)
+                        : Result.error("关键词导入失败!");
 
             } catch (Exception e) {
                 log.error(e.getMessage(), e);
@@ -514,18 +528,17 @@ public class SeoKeywordsController extends JeecgController<SeoKeywords, ISeoKeyw
         return Result.error("文件导入失败!");
     }
 
-
     /**
      * @param seoKeywords
      * @return
      */
     @GetMapping(value = "/getSeoKeyword")
     public Result<?> getSeoKeyword(SeoKeywords seoKeywords) {
-        QueryWrapper<SeoKeywords> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("keywords", seoKeywords.getKeywords());
-        queryWrapper.eq("site_code", seoKeywords.getSiteCode());
-        queryWrapper.ne("status", 0);
-        queryWrapper.eq("subscription_id", seoKeywords.getSubscriptionId());
+        LambdaQueryWrapper<SeoKeywords> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(SeoKeywords::getKeywords, seoKeywords.getKeywords());
+        queryWrapper.eq(SeoKeywords::getSiteCode, seoKeywords.getSiteCode());
+        queryWrapper.ne(SeoKeywords::getStatus, 0);
+        queryWrapper.eq(SeoKeywords::getSubscriptionId, seoKeywords.getSubscriptionId());
         List<SeoKeywords> seoKeywordsList = seoKeywordsService.list(queryWrapper);
         if (!seoKeywordsList.isEmpty()) {
             return Result.OK(false);
@@ -548,10 +561,10 @@ public class SeoKeywordsController extends JeecgController<SeoKeywords, ISeoKeyw
         SeoKeywords temp = seoKeywordsService.getById(id);
         // 改为指定关键词时,判断是否是别的关键词的相关关键词,改为长尾关键词时,判断是否具有相关关键词
         if (type == 2) {
-            QueryWrapper<SeoKeywords> queryWrapper2 = new QueryWrapper<>();
-            queryWrapper2.ne("status", 0);
-            queryWrapper2.eq("subscription_id", temp.getSubscriptionId());
-            queryWrapper2.eq("related_keyword_id", id);
+            LambdaQueryWrapper<SeoKeywords> queryWrapper2 = new LambdaQueryWrapper<>();
+            queryWrapper2.ne(SeoKeywords::getStatus, 0);
+            queryWrapper2.eq(SeoKeywords::getSubscriptionId, temp.getSubscriptionId());
+            queryWrapper2.eq(SeoKeywords::getRelatedKeywordId, id);
             if (seoKeywordsService.count(queryWrapper2) > 0) {
                 return Result.error("此关键词已经关联长尾词!");
             }

+ 11 - 12
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/controller/SeoKeywordsRankController.java

@@ -17,7 +17,10 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * @Description: adweb_seo_keywords_rank @Author: jeecg-boot @Date: 2024-10-09 @Version: V1.0
+ * @Description: adweb_seo_keywords_rank
+ * @Author: jeecg-boot
+ * @Date: 2024-10-09
+ * @Version: V1.0
  */
 @Tag(name = "adweb_seo_keywords_rank")
 @RestController
@@ -33,27 +36,23 @@ public class SeoKeywordsRankController {
         return Result.OK(allSites);
     }
 
-    /**
-     * 根据 站点code 获取 站点的 订阅Id
-     */
+    /** 根据 站点code 获取 站点的 订阅Id */
     @GetMapping(value = "/getSubscriptionIdBySiteCode")
-    public Result<List<SeoPlanSubscription>> getSubscriptionIdBySiteCode(@RequestParam String siteCode) {
-        final List<SeoPlanSubscription> subscriptionIdBySiteCode = seoKeywordsRankService.getSubscriptionIdBySiteCode(siteCode);
+    public Result<List<SeoPlanSubscription>> getSubscriptionIdBySiteCode(
+            @RequestParam String siteCode) {
+        final List<SeoPlanSubscription> subscriptionIdBySiteCode =
+                seoKeywordsRankService.getSubscriptionIdBySiteCode(siteCode);
         return Result.OK(subscriptionIdBySiteCode);
     }
 
-    /**
-     * 获得综合统计信息
-     */
+    /** 获得综合统计信息 */
     @GetMapping(value = "/comprehensiveInfo")
     public Result<?> getComprehensiveInfo(@RequestParam String siteCode) throws ParseException {
         ComprehensiveStatistics statistics = seoKeywordsRankService.getComprehensiveInfo(siteCode);
         return Result.OK(statistics);
     }
 
-    /**
-     * 获取关键字排名信息
-     */
+    /** 获取关键字排名信息 */
     @GetMapping(value = "/getRankInfo")
     public Result<?> getRankInfo(@RequestParam("siteCode") String siteCode) throws ParseException {
         Map map = seoKeywordsRankService.getRankInfo(siteCode);

+ 4 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/controller/SeoKeywordsSerpController.java

@@ -26,7 +26,10 @@ import org.springframework.web.servlet.ModelAndView;
 import java.util.Arrays;
 
 /**
- * @Description: SEO关键词搜索排名 @Author: jeecg-boot @Date: 2024-10-15 @Version: V1.0
+ * @Description: SEO关键词搜索排名
+ * @Author: jeecg-boot
+ * @Date: 2024-10-15
+ * @Version: V1.0
  */
 @Tag(name = "SEO关键词搜索排名")
 @RestController

+ 13 - 8
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/controller/SeoMonthPdfController.java

@@ -1,6 +1,6 @@
 package org.jeecg.modules.adweb.seo.controller;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -21,15 +21,18 @@ import org.springframework.web.bind.annotation.*;
 import java.util.*;
 
 /**
- * @Description: seo_month_pdf @Author: jeecg-boot @Date: 2023-07-06 @Version: V1.0
+ * @Description: seo_month_pdf
+ * @Author: jeecg-boot
+ * @Date: 2023-07-06
+ * @Version: V1.0
  */
 @RestController
 @RequestMapping("/seo/seoMonthPdf")
 @Slf4j
 public class SeoMonthPdfController {
-    
+
     @Autowired private SysAdwebApi sysAdwebApi;
-    
+
     @Autowired private ISysDictItemService sysDictItemService;
 
     @Autowired private ISeoMonthPdfService seoMonthPdfService;
@@ -70,8 +73,8 @@ public class SeoMonthPdfController {
     public Result<?> editSeoMonthPlan(@RequestBody SysDictItem sysDictItem) {
         LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         sysDictItem.setUpdateBy(user.getUsername());
-        QueryWrapper<SysDictItem> currentQueryWrapper = new QueryWrapper();
-        currentQueryWrapper.eq("item_text", sysDictItem.getItemText());
+        LambdaQueryWrapper<SysDictItem> currentQueryWrapper = new LambdaQueryWrapper();
+        currentQueryWrapper.eq(SysDictItem::getItemText, sysDictItem.getItemText());
         SysDictItem sysDictItem1 = sysDictItemService.getOne(currentQueryWrapper);
         sysDictItem.setId(sysDictItem1.getId());
         boolean update = sysDictItemService.updateById(sysDictItem);
@@ -82,9 +85,11 @@ public class SeoMonthPdfController {
     }
 
     @GetMapping("/getSeoKeywordsRank")
-    public Result<?> getSeoKeywordsRank(@RequestParam String siteCode, @RequestParam String exportMonth) {
+    public Result<?> getSeoKeywordsRank(
+            @RequestParam String siteCode, @RequestParam String exportMonth) {
         log.info("siteCode:{},exportMonth:{}", siteCode, exportMonth);
-        MonthPdfKeywordsRankVO seoKeywordsRank = seoMonthPdfService.getSeoKeywordsRank(siteCode, exportMonth);
+        MonthPdfKeywordsRankVO seoKeywordsRank =
+                seoMonthPdfService.getSeoKeywordsRank(siteCode, exportMonth);
         log.info("seoKeywordsRank:{}", seoKeywordsRank);
         return Result.OK(seoKeywordsRank);
     }

+ 134 - 127
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/controller/SeoPlanSubscriptionController.java

@@ -1,164 +1,171 @@
 package org.jeecg.modules.adweb.seo.controller;
 
-import java.util.Arrays;
+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.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
 
 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.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.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.seo.entity.SeoPlanSubscription;
+import org.jeecg.modules.adweb.seo.service.ISeoPlanSubscriptionService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import org.jeecg.common.aspect.annotation.AutoLog;
-import org.springframework.security.access.prepost.PreAuthorize;
 
- /**
+import java.util.Arrays;
+
+/**
  * @Description: seo套餐订购
  * @Author: jeecg-boot
- * @Date:   2024-10-15
+ * @Date: 2024-10-15
  * @Version: V1.0
  */
-@Tag(name="seo套餐订购")
+@Tag(name = "seo套餐订购")
 @RestController
 @RequestMapping("/serp/seoPlanSubscription")
 @Slf4j
-public class SeoPlanSubscriptionController extends JeecgController<SeoPlanSubscription, ISeoPlanSubscriptionService> {
-	@Autowired
-	private ISeoPlanSubscriptionService seoPlanSubscriptionService;
-	
-	/**
-	 * 分页列表查询
-	 *
-	 * @param seoPlanSubscription
-	 * @param pageNo
-	 * @param pageSize
-	 * @param req
-	 * @return
-	 */
-	//@AutoLog(value = "seo套餐订购-分页列表查询")
-	@Operation(summary="seo套餐订购-分页列表查询")
-	@GetMapping(value = "/list")
-	public Result<IPage<SeoPlanSubscription>> queryPageList(SeoPlanSubscription seoPlanSubscription,
-								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
-								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
-								   HttpServletRequest req) {
-		QueryWrapper<SeoPlanSubscription> queryWrapper = QueryGenerator.initQueryWrapper(seoPlanSubscription, req.getParameterMap());
-		Page<SeoPlanSubscription> page = new Page<SeoPlanSubscription>(pageNo, pageSize);
-		IPage<SeoPlanSubscription> pageList = seoPlanSubscriptionService.page(page, queryWrapper);
-		return Result.OK(pageList);
-	}
-	
-	/**
-	 *   添加
-	 *
-	 * @param seoPlanSubscription
-	 * @return
-	 */
-	@AutoLog(value = "seo套餐订购-添加")
-	@Operation(summary="seo套餐订购-添加")
-	@PreAuthorize("@jps.requiresPermissions('serp:seo_plan_subscription:add')")
-	@PostMapping(value = "/add")
-	public Result<String> add(@RequestBody SeoPlanSubscription seoPlanSubscription) {
-		seoPlanSubscriptionService.save(seoPlanSubscription);
-		return Result.OK("添加成功!");
-	}
-	
-	/**
-	 *  编辑
-	 *
-	 * @param seoPlanSubscription
-	 * @return
-	 */
-	@AutoLog(value = "seo套餐订购-编辑")
-	@Operation(summary="seo套餐订购-编辑")
+public class SeoPlanSubscriptionController
+        extends JeecgController<SeoPlanSubscription, ISeoPlanSubscriptionService> {
+    @Autowired private ISeoPlanSubscriptionService seoPlanSubscriptionService;
+
+    /**
+     * 分页列表查询
+     *
+     * @param seoPlanSubscription
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    // @AutoLog(value = "seo套餐订购-分页列表查询")
+    @Operation(summary = "seo套餐订购-分页列表查询")
+    @GetMapping(value = "/list")
+    public Result<IPage<SeoPlanSubscription>> queryPageList(
+            SeoPlanSubscription seoPlanSubscription,
+            @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+            @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+            HttpServletRequest req) {
+        QueryWrapper<SeoPlanSubscription> queryWrapper =
+                QueryGenerator.initQueryWrapper(seoPlanSubscription, req.getParameterMap());
+        Page<SeoPlanSubscription> page = new Page<SeoPlanSubscription>(pageNo, pageSize);
+        IPage<SeoPlanSubscription> pageList = seoPlanSubscriptionService.page(page, queryWrapper);
+        return Result.OK(pageList);
+    }
+
+    /**
+     * 添加
+     *
+     * @param seoPlanSubscription
+     * @return
+     */
+    @AutoLog(value = "seo套餐订购-添加")
+    @Operation(summary = "seo套餐订购-添加")
+    @PreAuthorize("@jps.requiresPermissions('serp:seo_plan_subscription:add')")
+    @PostMapping(value = "/add")
+    public Result<String> add(@RequestBody SeoPlanSubscription seoPlanSubscription) {
+        seoPlanSubscriptionService.save(seoPlanSubscription);
+        return Result.OK("添加成功!");
+    }
+
+    /**
+     * 编辑
+     *
+     * @param seoPlanSubscription
+     * @return
+     */
+    @AutoLog(value = "seo套餐订购-编辑")
+    @Operation(summary = "seo套餐订购-编辑")
     @PreAuthorize("@jps.requiresPermissions('serp:seo_plan_subscription:edit')")
-	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
-	public Result<String> edit(@RequestBody SeoPlanSubscription seoPlanSubscription) {
-		seoPlanSubscriptionService.updateById(seoPlanSubscription);
-		return Result.OK("编辑成功!");
-	}
-	
-	/**
-	 *   通过id删除
-	 *
-	 * @param id
-	 * @return
-	 */
-	@AutoLog(value = "seo套餐订购-通过id删除")
-	@Operation(summary="seo套餐订购-通过id删除")
+    @RequestMapping(
+            value = "/edit",
+            method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<String> edit(@RequestBody SeoPlanSubscription seoPlanSubscription) {
+        seoPlanSubscriptionService.updateById(seoPlanSubscription);
+        return Result.OK("编辑成功!");
+    }
+
+    /**
+     * 通过id删除
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "seo套餐订购-通过id删除")
+    @Operation(summary = "seo套餐订购-通过id删除")
     @PreAuthorize("@jps.requiresPermissions('serp:seo_plan_subscription:delete')")
-	@DeleteMapping(value = "/delete")
-	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
-		seoPlanSubscriptionService.removeById(id);
-		return Result.OK("删除成功!");
-	}
-	
-	/**
-	 *  批量删除
-	 *
-	 * @param ids
-	 * @return
-	 */
-	@AutoLog(value = "seo套餐订购-批量删除")
-	@Operation(summary="seo套餐订购-批量删除")
+    @DeleteMapping(value = "/delete")
+    public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
+        seoPlanSubscriptionService.removeById(id);
+        return Result.OK("删除成功!");
+    }
+
+    /**
+     * 批量删除
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "seo套餐订购-批量删除")
+    @Operation(summary = "seo套餐订购-批量删除")
     @PreAuthorize("@jps.requiresPermissions('serp:seo_plan_subscription:deleteBatch')")
-	@DeleteMapping(value = "/deleteBatch")
-	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
-		this.seoPlanSubscriptionService.removeByIds(Arrays.asList(ids.split(",")));
-		return Result.OK("批量删除成功!");
-	}
-	
-	/**
-	 * 通过id查询
-	 *
-	 * @param id
-	 * @return
-	 */
-	//@AutoLog(value = "seo套餐订购-通过id查询")
-	@Operation(summary="seo套餐订购-通过id查询")
-	@GetMapping(value = "/queryById")
-	public Result<SeoPlanSubscription> queryById(@RequestParam(name="id",required=true) String id) {
-		SeoPlanSubscription seoPlanSubscription = seoPlanSubscriptionService.getById(id);
-		if(seoPlanSubscription==null) {
-			return Result.error("未找到对应数据");
-		}
-		return Result.OK(seoPlanSubscription);
-	}
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        this.seoPlanSubscriptionService.removeByIds(Arrays.asList(ids.split(",")));
+        return Result.OK("批量删除成功!");
+    }
 
     /**
-    * 导出excel
-    *
-    * @param request
-    * @param seoPlanSubscription
-    */
+     * 通过id查询
+     *
+     * @param id
+     * @return
+     */
+    // @AutoLog(value = "seo套餐订购-通过id查询")
+    @Operation(summary = "seo套餐订购-通过id查询")
+    @GetMapping(value = "/queryById")
+    public Result<SeoPlanSubscription> queryById(
+            @RequestParam(name = "id", required = true) String id) {
+        SeoPlanSubscription seoPlanSubscription = seoPlanSubscriptionService.getById(id);
+        if (seoPlanSubscription == null) {
+            return Result.error("未找到对应数据");
+        }
+        return Result.OK(seoPlanSubscription);
+    }
+
+    /**
+     * 导出excel
+     *
+     * @param request
+     * @param seoPlanSubscription
+     */
     @PreAuthorize("@jps.requiresPermissions('serp:seo_plan_subscription:exportXls')")
     @RequestMapping(value = "/exportXls")
-    public ModelAndView exportXls(HttpServletRequest request, SeoPlanSubscription seoPlanSubscription) {
+    public ModelAndView exportXls(
+            HttpServletRequest request, SeoPlanSubscription seoPlanSubscription) {
         return super.exportXls(request, seoPlanSubscription, SeoPlanSubscription.class, "seo套餐订购");
     }
 
     /**
-      * 通过excel导入数据
-    *
-    * @param request
-    * @param response
-    * @return
-    */
+     * 通过excel导入数据
+     *
+     * @param request
+     * @param response
+     * @return
+     */
     @PreAuthorize("@jps.requiresPermissions('serp:seo_plan_subscription:importExcel')")
     @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
     public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
         return super.importExcel(request, response, SeoPlanSubscription.class);
     }
-
 }

+ 2 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/dto/AvesApiSearchKeywordsDTO.java

@@ -16,8 +16,10 @@ import java.util.Date;
 public class AvesApiSearchKeywordsDTO {
     @DateTimeFormat(pattern = "yyyy-MM-dd")
     private Date startTime;
+
     @DateTimeFormat(pattern = "yyyy-MM-dd")
     private Date endTime;
+
     private Integer keywordType;
     private String keywords;
     private Integer rankStart;

+ 10 - 27
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/dto/ComprehensiveStatistics.java

@@ -3,48 +3,31 @@ package org.jeecg.modules.adweb.seo.dto;
 import lombok.Data;
 
 /**
- * @author Zenas
- * 综合统计类
+ * @author Zenas 综合统计类
  */
-
 @Data
 public class ComprehensiveStatistics {
-    /**
-     * 套餐指定词
-     */
+    /** 套餐指定词 */
     private Integer planAppointKeywordNum;
 
-    /**
-     * 套餐长尾词
-     */
+    /** 套餐长尾词 */
     private Integer planLongTailKeywordNum;
 
-    /**
-     * 套餐外链数
-     */
+    /** 套餐外链数 */
     private Integer planOuterLinkNum;
 
-    /**
-     * 套餐文章数
-     */
+    /** 套餐文章数 */
     private Integer planArticleNum;
-    /**
-     * 指定词
-     */
+
+    /** 指定词 */
     private Integer appointKeywordNum;
 
-    /**
-     * 长尾词
-     */
+    /** 长尾词 */
     private Integer longTailKeywordNum;
 
-    /**
-     * 外链数
-     */
+    /** 外链数 */
     private Integer outerLinkNum;
 
-    /**
-     * 文章数
-     */
+    /** 文章数 */
     private Integer articleNum;
 }

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

@@ -45,7 +45,7 @@ public class SeoKeywords implements Serializable {
     @Schema(description = "平台标识")
     private String appKey;
     /**
-     * 用户标识
+     * 网站code
      */
     @Excel(name = "网站code", width = 15)
     @Schema(description = "网站code")

+ 6 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/entity/SeoKeywordsSerp.java

@@ -43,6 +43,12 @@ public class SeoKeywordsSerp implements Serializable {
     @Schema(description = "关键词ID")
     private Integer keywordsId;
     /**
+     * 网站code
+     */
+    @Excel(name = "网站code", width = 15)
+    @Schema(description = "网站code")
+    private String siteCode;
+    /**
      * 搜索地址
      */
     @Excel(name = "搜索地址", width = 15)

+ 9 - 4
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/ISeoKeywordsRankService.java

@@ -14,7 +14,7 @@ import java.util.Map;
 /**
  * @Description: seo_kpi_statistics
  * @Author: jeecg-boot
- * @Date:   2024-10-09
+ * @Date: 2024-10-09
  * @Version: V1.0
  */
 public interface ISeoKeywordsRankService {
@@ -25,10 +25,15 @@ public interface ISeoKeywordsRankService {
 
     Map getRankInfo(String siteCode) throws ParseException;
 
-    List<SeoRankInfoVO> getSeoRankInfo(String siteCode, String historyId)
-            throws ParseException;
+    List<SeoRankInfoVO> getSeoRankInfo(String siteCode, String historyId) throws ParseException;
 
-    void addRankInfoByIntervalTimeByType(List<SeoKeywords> keywordList, Integer keywordType, String siteCode, String historyId, List<String> dateList) throws Exception;
+    void addRankInfoByIntervalTimeByType(
+            List<SeoKeywords> keywordList,
+            Integer keywordType,
+            String siteCode,
+            String historyId,
+            List<String> dateList)
+            throws Exception;
 
     void setSizeColumn(Sheet sheet, int size);
 

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

@@ -1,13 +1,15 @@
 package org.jeecg.modules.adweb.seo.service;
 
-import org.jeecg.modules.adweb.seo.entity.SeoKeywordsSerp;
 import com.baomidou.mybatisplus.extension.service.IService;
+
+import org.jeecg.modules.adweb.seo.entity.SeoKeywordsSerp;
+
 import java.util.Date;
 
 /**
  * @Description: SEO关键词搜索排名
  * @Author: jeecg-boot
- * @Date:   2024-10-15
+ * @Date: 2024-10-15
  * @Version: V1.0
  */
 public interface ISeoKeywordsSerpService extends IService<SeoKeywordsSerp> {

+ 36 - 19
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/ISeoKeywordsService.java

@@ -13,29 +13,46 @@ import java.util.List;
 /**
  * @Description: 关键词
  * @Author: jeecg-boot
- * @Date:   2024-10-15
+ * @Date: 2024-10-15
  * @Version: V1.0
  */
 public interface ISeoKeywordsService extends IService<SeoKeywords> {
 
     List<String> getKeywordsLastSevenDays(String userFlag, Integer keywordType, String historyId);
 
-    RankInfoVO getSeoRankInfo(String siteCode, String historyId, Integer rankStart, Integer rankEnd, String dateStr, String keywordType);
-
-    IPage<SeoKeywords> getKeywordList(IPage<SeoKeywords> page,
-                                      Integer rankStart,
-                                      Integer rankEnd,
-                                      String keyword,
-                                      String siteCode,
-                                      Integer keywordType,
-                                      boolean reachStandard,
-                                      String historyId,
-                                      String column,
-                                      String order,
-                                      String buttonColumn,
-                                      String buttonSort,
-                                      List<String> dateList) throws ParseException;
-
-    IPage<SeoKeywords> pageList(Page<SeoKeywords> page, String siteCode, String keywords, String subscriptionId, String lastSearchTime, String createTime, Integer keywordType,
-                                String column, String order, Integer keywordRank);
+    RankInfoVO getSeoRankInfo(
+            String siteCode,
+            String historyId,
+            Integer rankStart,
+            Integer rankEnd,
+            String dateStr,
+            String keywordType);
+
+    IPage<SeoKeywords> getKeywordList(
+            IPage<SeoKeywords> page,
+            Integer rankStart,
+            Integer rankEnd,
+            String keyword,
+            String siteCode,
+            Integer keywordType,
+            boolean reachStandard,
+            String historyId,
+            String column,
+            String order,
+            String buttonColumn,
+            String buttonSort,
+            List<String> dateList)
+            throws ParseException;
+
+    IPage<SeoKeywords> pageList(
+            Page<SeoKeywords> page,
+            String siteCode,
+            String keywords,
+            String subscriptionId,
+            String lastSearchTime,
+            String createTime,
+            Integer keywordType,
+            String column,
+            String order,
+            Integer keywordRank);
 }

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

@@ -1,6 +1,7 @@
 package org.jeecg.modules.adweb.seo.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.adweb.seo.entity.SeoPlanSubscription;
@@ -32,8 +33,6 @@ public interface ISeoPlanSubscriptionService extends IService<SeoPlanSubscriptio
      */
     boolean addNewSubscription(SeoPlanSubscription seoPlanSubscription, SubscribePlan marketPlan);
 
-    /**
-     * 获取正在使用中的SEO套餐,如果没有使用中的SEO和建站套餐,则查询过期的SEO和建站套餐
-     */
+    /** 获取正在使用中的SEO套餐,如果没有使用中的SEO和建站套餐,则查询过期的SEO和建站套餐 */
     SeoPlanSubscription getCurrentSeoAndSiteSubscription(Integer siteId);
 }

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

@@ -3,7 +3,7 @@ package org.jeecg.modules.adweb.seo.service.dataforseo;
 import cn.hutool.core.collection.CollectionUtil;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.google.common.collect.Lists;
 
 import io.github.dataforseo.client.ApiClient;
@@ -262,12 +262,12 @@ public class DataForSEOService {
             int rankAbsolute = Objects.nonNull(serpItem) ? serpItem.getRankAbsolute() : 0;
 
             // 3.更新adweb_seo_keywords表
-            UpdateWrapper<SeoKeywords> seoKeywordsUpdateWrapper = new UpdateWrapper<>();
-            seoKeywordsUpdateWrapper.eq("id", keywordId);
-            seoKeywordsUpdateWrapper.set("last_search_time", seDatetime);
-            seoKeywordsUpdateWrapper.set("position_url", positionUrl);
-            seoKeywordsUpdateWrapper.set("last_rank", rankGroup);
-            seoKeywordsUpdateWrapper.set("search_status", 0); // 状态 -> 查询结束
+            LambdaUpdateWrapper<SeoKeywords> seoKeywordsUpdateWrapper = new LambdaUpdateWrapper<>();
+            seoKeywordsUpdateWrapper.eq(SeoKeywords::getId, keywordId);
+            seoKeywordsUpdateWrapper.set(SeoKeywords::getLastSearchTime, seDatetime);
+            seoKeywordsUpdateWrapper.set(SeoKeywords::getPositionUrl, positionUrl);
+            seoKeywordsUpdateWrapper.set(SeoKeywords::getLastRank, rankGroup);
+            seoKeywordsUpdateWrapper.set(SeoKeywords::getSearchStatus, 0); // 状态 -> 查询结束
             seoKeywordsService.update(seoKeywordsUpdateWrapper);
 
             // 4. 更新adweb_seo_keywords_serp表
@@ -288,6 +288,7 @@ public class DataForSEOService {
                             .orElse(new SeoKeywordsSerp());
 
             keywordSerp.setKeywordsId(keywordId);
+            keywordSerp.setSiteCode(seoKeyword.getSiteCode());
             keywordSerp.setSearchUrl(serpResult.getCheckUrl());
             keywordSerp.setSeDomain(serpResult.getSeDomain());
             keywordSerp.setLanguageCode(serpResult.getLanguageCode());

+ 25 - 20
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/impl/SeoKeywordsRankServiceImpl.java

@@ -1,10 +1,12 @@
 package org.jeecg.modules.adweb.seo.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.xkcoding.http.util.StringUtil;
+
 import jakarta.annotation.Resource;
+
 import lombok.extern.slf4j.Slf4j;
+
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.CellType;
@@ -38,7 +40,10 @@ import java.util.*;
 import java.util.stream.Collectors;
 
 /**
- * @Description: seo_kpi_statistics @Author: jeecg-boot @Date: 2024-10-09 @Version: V1.0
+ * @Description: seo_kpi_statistics
+ * @Author: jeecg-boot
+ * @Date: 2024-10-09
+ * @Version: V1.0
  */
 @Service
 @Slf4j
@@ -74,17 +79,17 @@ public class SeoKeywordsRankServiceImpl implements ISeoKeywordsRankService {
         List<AdwebSite> siteList = null;
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
 
-        QueryWrapper<AdwebSite> queryWrapper = new QueryWrapper<>();
-        queryWrapper.select("id", "name", "code");
-        queryWrapper.orderByDesc("create_time");
-        queryWrapper.eq("status", AdwebConstant.STATUS).isNull("parent_group_code");
+        LambdaQueryWrapper<AdwebSite> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.select(AdwebSite::getId, AdwebSite::getName, AdwebSite::getCode);
+        queryWrapper.orderByDesc(AdwebSite::getCreateTime);
+        queryWrapper.eq(AdwebSite::getStatus, AdwebConstant.STATUS).isNull(AdwebSite::getParentGroupCode);
         if (sysAdwebApi.isChannelAdmin()) {
             List<String> channelGroupUids = sysAdwebApi.getChannelGroupUids();
             List<String> codeList = siteUserPermissionService.getSiteCodeListByUids(channelGroupUids);
-            queryWrapper.in("code", codeList);
+            queryWrapper.in(AdwebSite::getCode, codeList);
         } else if (!sysAdwebApi.isAdmin()) {
             List<String> codeList = siteUserPermissionService.getSiteCodeList(sysUser.getId());
-            queryWrapper.in("code", codeList);
+            queryWrapper.in(AdwebSite::getCode, codeList);
         }
         siteList = adwebSiteService.list(queryWrapper);
         this.setPlanName(siteList);
@@ -104,10 +109,10 @@ public class SeoKeywordsRankServiceImpl implements ISeoKeywordsRankService {
             siteIds.add(site.getId());
         }
 
-        QueryWrapper<SeoPlanSubscription> historyQueryWrapper = new QueryWrapper<>();
-        historyQueryWrapper.select("id", "plan_id", "site_id", "plan_name", "plan_type");
-        historyQueryWrapper.in("site_id", siteIds);
-        historyQueryWrapper.eq("status", 1);
+        LambdaQueryWrapper<SeoPlanSubscription> historyQueryWrapper = new LambdaQueryWrapper<>();
+        historyQueryWrapper.select(SeoPlanSubscription::getId, SeoPlanSubscription::getPlanId, SeoPlanSubscription::getSiteId, SeoPlanSubscription::getPlanName, SeoPlanSubscription::getPlanType);
+        historyQueryWrapper.in(SeoPlanSubscription::getSiteId, siteIds);
+        historyQueryWrapper.eq(SeoPlanSubscription::getStatus, 1);
         List<SeoPlanSubscription> seoPlanSubscriptions = seoPlanSubscriptionService.list(historyQueryWrapper);
         if (CollectionUtils.isEmpty(seoPlanSubscriptions)) {
             return;
@@ -147,16 +152,16 @@ public class SeoKeywordsRankServiceImpl implements ISeoKeywordsRankService {
         }
         // 添加站点数据
         // 1.获取站点指定词数量
-        QueryWrapper<SeoKeywords> seoKeywordsQueryWrapper = new QueryWrapper<>();
-        seoKeywordsQueryWrapper.eq("site_code", siteCode);
-        seoKeywordsQueryWrapper.eq("status", 1);
-        seoKeywordsQueryWrapper.eq("keyword_type", 1);
+        LambdaQueryWrapper<SeoKeywords> seoKeywordsQueryWrapper = new LambdaQueryWrapper<>();
+        seoKeywordsQueryWrapper.eq(SeoKeywords::getSiteCode, siteCode);
+        seoKeywordsQueryWrapper.eq(SeoKeywords::getStatus, 1);
+        seoKeywordsQueryWrapper.eq(SeoKeywords::getKeywordType, 1);
         Long appointKeywordNum = seoKeywordsMapper.selectCount(seoKeywordsQueryWrapper);
         // 2.获取站点关键词数量
-        QueryWrapper<SeoKeywords> seoKeywordsQueryWrapper1 = new QueryWrapper<>();
-        seoKeywordsQueryWrapper1.eq("site_code", siteCode);
-        seoKeywordsQueryWrapper1.eq("status", 1);
-        seoKeywordsQueryWrapper1.eq("keyword_type", 2);
+        LambdaQueryWrapper<SeoKeywords> seoKeywordsQueryWrapper1 = new LambdaQueryWrapper<>();
+        seoKeywordsQueryWrapper1.eq(SeoKeywords::getSiteCode, siteCode);
+        seoKeywordsQueryWrapper1.eq(SeoKeywords::getStatus, 1);
+        seoKeywordsQueryWrapper1.eq(SeoKeywords::getKeywordType, 2);
         Long longTailKeywordNum = seoKeywordsMapper.selectCount(seoKeywordsQueryWrapper1);
         comprehensiveStatistics.setAppointKeywordNum(Math.toIntExact(appointKeywordNum));
         comprehensiveStatistics.setLongTailKeywordNum(Math.toIntExact(longTailKeywordNum));

+ 5 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/impl/SeoKeywordsSerpServiceImpl.java

@@ -19,7 +19,10 @@ import java.util.List;
 import java.util.Objects;
 
 /**
- * @Description: SEO关键词搜索排名 @Author: jeecg-boot @Date: 2024-10-15 @Version: V1.0
+ * @Description: SEO关键词搜索排名
+ * @Author: jeecg-boot
+ * @Date: 2024-10-15
+ * @Version: V1.0
  */
 @Slf4j
 @Service
@@ -55,6 +58,7 @@ public class SeoKeywordsSerpServiceImpl extends ServiceImpl<SeoKeywordsSerpMappe
             // 设置成跟latestSerp相同的值
             SeoKeywordsSerp serp = new SeoKeywordsSerp();
             serp.setKeywordsId(keywordId);
+            serp.setSiteCode(latestSerp.getSiteCode());
             serp.setSearchUrl(latestSerp.getSearchUrl());
             serp.setSeDomain(latestSerp.getSeDomain());
             serp.setLanguageCode(latestSerp.getLanguageCode());

+ 105 - 59
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/impl/SeoKeywordsServiceImpl.java

@@ -1,64 +1,47 @@
 package org.jeecg.modules.adweb.seo.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
-import com.xkcoding.http.util.StringUtil;
 import jakarta.annotation.Resource;
 
-import jakarta.servlet.http.HttpServletRequest;
 import org.apache.commons.collections4.CollectionUtils;
-import org.apache.poi.ss.usermodel.CellType;
-import org.apache.poi.xssf.usermodel.XSSFCell;
-import org.apache.poi.xssf.usermodel.XSSFRow;
-import org.apache.poi.xssf.usermodel.XSSFSheet;
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.jeecg.common.api.vo.Result;
-import org.jeecg.modules.adweb.common.constant.NumConstant;
 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.jeecg.modules.adweb.site.entity.AdwebSite;
-import org.jeecg.modules.adweb.site.service.IAdwebSiteService;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
-import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.multipart.MultipartHttpServletRequest;
 
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
 import java.text.ParseException;
-import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
-import java.util.Map;
 
 /**
  * @Description: 关键词
  * @Author: jeecg-boot
- * @Date:   2024-10-15
+ * @Date: 2024-10-15
  * @Version: V1.0
  */
 @Service
-public class SeoKeywordsServiceImpl extends ServiceImpl<SeoKeywordsMapper, SeoKeywords> implements ISeoKeywordsService {
+public class SeoKeywordsServiceImpl extends ServiceImpl<SeoKeywordsMapper, SeoKeywords>
+        implements ISeoKeywordsService {
 
     @Resource private SeoKeywordsMapper seoKeywordsMapper;
 
     /**
      * 获取对应站点关键词最新七天时间
+     *
      * @param userFlag
      * @param keywordType
      * @param historyId
      * @return
      */
     @Override
-    public List<String> getKeywordsLastSevenDays(String userFlag, Integer keywordType, String historyId){
-        //获取对应站点最近七天
-        List<String> dateList = seoKeywordsMapper.getKeywordsLastSevenDays(userFlag, historyId,keywordType);
+    public List<String> getKeywordsLastSevenDays(
+            String userFlag, Integer keywordType, String historyId) {
+        // 获取对应站点最近七天
+        List<String> dateList =
+                seoKeywordsMapper.getKeywordsLastSevenDays(userFlag, historyId, keywordType);
         return dateList;
     }
 
@@ -69,29 +52,39 @@ public class SeoKeywordsServiceImpl extends ServiceImpl<SeoKeywordsMapper, SeoKe
      * @return 关键词排名数量
      */
     @Override
-    public RankInfoVO getSeoRankInfo(String siteCode, String historyId, Integer rankStart, Integer rankEnd, String dateStr, String keywordType) {
-        //指定词
-        return seoKeywordsMapper.queryKeywordNumByRankRange(siteCode, historyId,rankStart,rankEnd,dateStr,keywordType);
+    public RankInfoVO getSeoRankInfo(
+            String siteCode,
+            String historyId,
+            Integer rankStart,
+            Integer rankEnd,
+            String dateStr,
+            String keywordType) {
+        // 指定词
+        return seoKeywordsMapper.queryKeywordNumByRankRange(
+                siteCode, historyId, rankStart, rankEnd, dateStr, keywordType);
     }
 
     /**
      * 获取关键词列表
+     *
      * @return 关键词列表
      */
     @Override
-    public IPage<SeoKeywords> getKeywordList(IPage<SeoKeywords> page,
-                                             Integer rankStart,
-                                             Integer rankEnd,
-                                             String keyword,
-                                             String siteCode,
-                                             Integer keywordType,
-                                             boolean reachStandard,
-                                             String historyId,
-                                             String column,
-                                             String order,
-                                             String buttonColumn,
-                                             String buttonSort,
-                                             List<String> dateList) throws ParseException {
+    public IPage<SeoKeywords> getKeywordList(
+            IPage<SeoKeywords> page,
+            Integer rankStart,
+            Integer rankEnd,
+            String keyword,
+            String siteCode,
+            Integer keywordType,
+            boolean reachStandard,
+            String historyId,
+            String column,
+            String order,
+            String buttonColumn,
+            String buttonSort,
+            List<String> dateList)
+            throws ParseException {
         if (reachStandard) {
             rankStart = 1;
             int standard = 10;
@@ -104,24 +97,38 @@ public class SeoKeywordsServiceImpl extends ServiceImpl<SeoKeywordsMapper, SeoKe
         boolean isCustomer = true;
 
         String datesStr = "";
-        if(CollectionUtils.isEmpty(dateList)){
+        if (CollectionUtils.isEmpty(dateList)) {
             return null;
-        }else{
-            for(int i = 0; i < dateList.size(); i++){
-                if(i == dateList.size() - 1){
-                    datesStr +=  "'" + dateList.get(i) + "'";
-                }else{
-                    datesStr +=  "'" + dateList.get(i) + "'" + ",";
+        } else {
+            for (int i = 0; i < dateList.size(); i++) {
+                if (i == dateList.size() - 1) {
+                    datesStr += "'" + dateList.get(i) + "'";
+                } else {
+                    datesStr += "'" + dateList.get(i) + "'" + ",";
                 }
             }
             datesStr = "(" + datesStr + ")";
         }
 
-        return seoKeywordsMapper.getKeywordList(page, rankStart, rankEnd, isCustomer, keyword, siteCode, keywordType, datesStr, historyId,column,order,buttonColumn,buttonSort);
+        return seoKeywordsMapper.getKeywordList(
+                page,
+                rankStart,
+                rankEnd,
+                isCustomer,
+                keyword,
+                siteCode,
+                keywordType,
+                datesStr,
+                historyId,
+                column,
+                order,
+                buttonColumn,
+                buttonSort);
     }
 
     /**
      * 关键词管理列表数据
+     *
      * @param page
      * @param siteCode
      * @param keywords
@@ -135,19 +142,58 @@ public class SeoKeywordsServiceImpl extends ServiceImpl<SeoKeywordsMapper, SeoKe
      * @return
      */
     @Override
-    public IPage<SeoKeywords> pageList(Page<SeoKeywords> page, String siteCode, String keywords, String historyId, String lastSearchTime, String createTime, Integer keywordType,
-                                       String column, String order, Integer keywordRank){
-        if(column.equals("createTime")){
+    public IPage<SeoKeywords> pageList(
+            Page<SeoKeywords> page,
+            String siteCode,
+            String keywords,
+            String historyId,
+            String lastSearchTime,
+            String createTime,
+            Integer keywordType,
+            String column,
+            String order,
+            Integer keywordRank) {
+        if (column.equals("createTime")) {
             column = "create_time";
-            return seoKeywordsMapper.getPageListByCreateTime(page,siteCode,keywords,historyId,lastSearchTime,createTime,keywordType,column,order,keywordRank);
-        }else if(column.equals("lastSearchTime")){
+            return seoKeywordsMapper.getPageListByCreateTime(
+                    page,
+                    siteCode,
+                    keywords,
+                    historyId,
+                    lastSearchTime,
+                    createTime,
+                    keywordType,
+                    column,
+                    order,
+                    keywordRank);
+        } else if (column.equals("lastSearchTime")) {
             column = "last_search_time";
-            return seoKeywordsMapper.getPageListByCreateTime(page,siteCode,keywords,historyId,lastSearchTime,createTime,keywordType,column,order,keywordRank);
-        }else if (column.equals("lastRank")){
+            return seoKeywordsMapper.getPageListByCreateTime(
+                    page,
+                    siteCode,
+                    keywords,
+                    historyId,
+                    lastSearchTime,
+                    createTime,
+                    keywordType,
+                    column,
+                    order,
+                    keywordRank);
+        } else if (column.equals("lastRank")) {
             column = "last_rank";
-        } else if (column.equals("keywords")){
+        } else if (column.equals("keywords")) {
             column = "keywords";
         }
-        return seoKeywordsMapper.getPageList(page,siteCode,keywords,historyId,lastSearchTime,createTime,keywordType,column,order,keywordRank);
+        return seoKeywordsMapper.getPageList(
+                page,
+                siteCode,
+                keywords,
+                historyId,
+                lastSearchTime,
+                createTime,
+                keywordType,
+                column,
+                order,
+                keywordRank);
     }
 }

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/impl/SeoMonthPdfServiceImpl.java

@@ -25,7 +25,7 @@ public class SeoMonthPdfServiceImpl implements ISeoMonthPdfService {
 
     @Override
     public MonthPdfKeywordsRankVO getSeoKeywordsRank(String siteCode, String exportMonth) {
-//        String lastDayOfMonth = getLastDayOfMonth(exportMonth);
+        //        String lastDayOfMonth = getLastDayOfMonth(exportMonth);
         String lastDayOfMonth = "2024-11-25";
         List<KeywordsInfoVO> seoKeywordsRank =
                 seoKeywordsSerpMapper.getSeoKeywordsRank(siteCode, lastDayOfMonth, 1, 50);

+ 63 - 36
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/service/impl/SeoPlanSubscriptionServiceImpl.java

@@ -2,10 +2,12 @@ package org.jeecg.modules.adweb.seo.service.impl;
 
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUnit;
+
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
 import jakarta.annotation.Resource;
+
 import org.apache.commons.collections4.CollectionUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.vo.LoginUser;
@@ -27,13 +29,15 @@ import java.util.List;
  * @Version: V1.0
  */
 @Service
-public class SeoPlanSubscriptionServiceImpl extends ServiceImpl<SeoPlanSubscriptionMapper, SeoPlanSubscription> implements ISeoPlanSubscriptionService {
+public class SeoPlanSubscriptionServiceImpl
+        extends ServiceImpl<SeoPlanSubscriptionMapper, SeoPlanSubscription>
+        implements ISeoPlanSubscriptionService {
 
-    @Resource
-    private ISubscribePlanService subscribePlanService;
+    @Resource private ISubscribePlanService subscribePlanService;
 
     @Override
-    public Result<?> addSeoPlanSubscription(SeoPlanSubscription seoPurchaseHistory, LoginUser sysUser) {
+    public Result<?> addSeoPlanSubscription(
+            SeoPlanSubscription seoPurchaseHistory, LoginUser sysUser) {
         boolean result = false;
 
         SubscribePlan marketPlan = subscribePlanService.getById(seoPurchaseHistory.getPlanId());
@@ -47,28 +51,28 @@ public class SeoPlanSubscriptionServiceImpl extends ServiceImpl<SeoPlanSubscript
             seoPurchaseHistory.setCreateBy("system_auto");
         }
 
-        //如果不是续费客户(就是新客户)的话,直接入库,套餐开启时间即是现在
+        // 如果不是续费客户(就是新客户)的话,直接入库,套餐开启时间即是现在
         if (seoPurchaseHistory.getIsRenew() == null || seoPurchaseHistory.getIsRenew() == 0) {
-            QueryWrapper<SeoPlanSubscription> queryWrapper = new QueryWrapper<>();
-            queryWrapper.eq("site_id", seoPurchaseHistory.getSiteId());
-            queryWrapper.eq("status", 1);
+            LambdaQueryWrapper<SeoPlanSubscription> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.eq(SeoPlanSubscription::getSiteId, seoPurchaseHistory.getSiteId());
+            queryWrapper.eq(SeoPlanSubscription::getStatus, 1);
             List<SeoPlanSubscription> seoPurchaseHistoryList = this.list(queryWrapper);
             if (!CollectionUtils.isEmpty(seoPurchaseHistoryList)) {
                 return Result.error("站点存在使用中套餐,请到期后绑定!");
             }
             result = this.addNewSubscription(seoPurchaseHistory, marketPlan);
-        } else {//续费
-            //判断是否有正在使用的套餐,如果没有,新建status为1的套餐
-            QueryWrapper<SeoPlanSubscription> oldQueryWrapper = new QueryWrapper<>();
-            oldQueryWrapper.eq("site_id", seoPurchaseHistory.getSiteId());
-            oldQueryWrapper.eq("status", 1);
+        } else { // 续费
+            // 判断是否有正在使用的套餐,如果没有,新建status为1的套餐
+            LambdaQueryWrapper<SeoPlanSubscription> oldQueryWrapper = new LambdaQueryWrapper<>();
+            oldQueryWrapper.eq(SeoPlanSubscription::getSiteId, seoPurchaseHistory.getSiteId());
+            oldQueryWrapper.eq(SeoPlanSubscription::getStatus, 1);
             List<SeoPlanSubscription> oldHistoryList = this.list(oldQueryWrapper);
             if (CollectionUtils.isEmpty(oldHistoryList)) {
                 return Result.error("站点不存在使用中套餐,请先新增套餐");
             } else {
-                QueryWrapper<SeoPlanSubscription> queryWrapper = new QueryWrapper<>();
-                queryWrapper.eq("site_id", seoPurchaseHistory.getSiteId());
-                queryWrapper.eq("status", 2);
+                LambdaQueryWrapper<SeoPlanSubscription> queryWrapper = new LambdaQueryWrapper<>();
+                queryWrapper.eq(SeoPlanSubscription::getSiteId, seoPurchaseHistory.getSiteId());
+                queryWrapper.eq(SeoPlanSubscription::getStatus, 2);
                 List<SeoPlanSubscription> seoPurchaseHistoryList = this.list(queryWrapper);
                 if (!CollectionUtils.isEmpty(seoPurchaseHistoryList)) {
                     return Result.error("同一站点不能同时续费多个相同类型的套餐!");
@@ -76,12 +80,26 @@ public class SeoPlanSubscriptionServiceImpl extends ServiceImpl<SeoPlanSubscript
 
                 if (seoPurchaseHistory.getIsCustom() == 0) {
                     // ->不是自定义服务开启时间 需找到多个套餐服务结束时间最大的那个
-                    //此站点所有对应的套餐的最大服务结束时间
-                    SeoPlanSubscription history = this.getOne(new LambdaQueryWrapper<SeoPlanSubscription>()
-                            .eq(SeoPlanSubscription::getSiteId, seoPurchaseHistory.getSiteId())
-                            .and(wrapper -> wrapper.eq(SeoPlanSubscription::getStatus, 1)
-                                    .or().eq(SeoPlanSubscription::getStatus, 2))
-                            .orderByDesc(SeoPlanSubscription::getServiceEndTime).last("limit 1"));
+                    // 此站点所有对应的套餐的最大服务结束时间
+                    SeoPlanSubscription history =
+                            this.getOne(
+                                    new LambdaQueryWrapper<SeoPlanSubscription>()
+                                            .eq(
+                                                    SeoPlanSubscription::getSiteId,
+                                                    seoPurchaseHistory.getSiteId())
+                                            .and(
+                                                    wrapper ->
+                                                            wrapper.eq(
+                                                                            SeoPlanSubscription
+                                                                                    ::getStatus,
+                                                                            1)
+                                                                    .or()
+                                                                    .eq(
+                                                                            SeoPlanSubscription
+                                                                                    ::getStatus,
+                                                                            2))
+                                            .orderByDesc(SeoPlanSubscription::getServiceEndTime)
+                                            .last("limit 1"));
                     Date maxEndTime = null;
                     if (history == null || history.getServiceEndTime() == null) {
                         maxEndTime = new Date();
@@ -97,18 +115,23 @@ public class SeoPlanSubscriptionServiceImpl extends ServiceImpl<SeoPlanSubscript
                     seoPurchaseHistory.setPlanType(marketPlan.getMarketType());
                     seoPurchaseHistory.setServiceMonth(marketPlan.getServiceTime());
                     result = this.save(seoPurchaseHistory);
-                } else if (seoPurchaseHistory.getIsCustom() == 1) {//是自定义套餐开启时间
+                } else if (seoPurchaseHistory.getIsCustom() == 1) { // 是自定义套餐开启时间
                     seoPurchaseHistory.setCreateTime(new Date());
                     seoPurchaseHistory.setPlanName(marketPlan.getPlanName());
                     seoPurchaseHistory.setPlanCode(marketPlan.getPlanCode());
                     seoPurchaseHistory.setPlanPrice(marketPlan.getPrice());
                     seoPurchaseHistory.setPlanType(marketPlan.getMarketType());
                     DateTime today = cn.hutool.core.date.DateUtil.date();
-                    long betweenTime = cn.hutool.core.date.DateUtil.between(seoPurchaseHistory.getPlanStartTime(), today, DateUnit.DAY, false);
+                    long betweenTime =
+                            cn.hutool.core.date.DateUtil.between(
+                                    seoPurchaseHistory.getPlanStartTime(),
+                                    today,
+                                    DateUnit.DAY,
+                                    false);
                     if (betweenTime > 0) {
                         return Result.error("自定义时间请选择于今天之后!");
                     } else {
-                        //如果有正在使用的套餐,才能设置为2,否则设置为1
+                        // 如果有正在使用的套餐,才能设置为2,否则设置为1
                         seoPurchaseHistory.setStatus(2);
                     }
                     seoPurchaseHistory.setServiceMonth(marketPlan.getServiceTime());
@@ -126,13 +149,14 @@ public class SeoPlanSubscriptionServiceImpl extends ServiceImpl<SeoPlanSubscript
     }
 
     @Override
-    public boolean addNewSubscription(SeoPlanSubscription seoPurchaseHistory, SubscribePlan marketPlan) {
+    public boolean addNewSubscription(
+            SeoPlanSubscription seoPurchaseHistory, SubscribePlan marketPlan) {
         boolean result = false;
         try {
             Date startTime = new Date();
             seoPurchaseHistory.setCreateTime(startTime);
             seoPurchaseHistory.setPlanStartTime(startTime);
-            seoPurchaseHistory.setStatus(1);//使用中
+            seoPurchaseHistory.setStatus(1); // 使用中
             seoPurchaseHistory.setPlanName(marketPlan.getPlanName());
             seoPurchaseHistory.setPlanCode(marketPlan.getPlanCode());
             seoPurchaseHistory.setPlanPrice(marketPlan.getPrice());
@@ -145,16 +169,19 @@ public class SeoPlanSubscriptionServiceImpl extends ServiceImpl<SeoPlanSubscript
         return result;
     }
 
-    /**
-     * 获取正在使用中的SEO套餐,如果没有使用中的SEO和建站套餐,则查询过期的SEO和建站套餐
-     */
+    /** 获取正在使用中的SEO套餐,如果没有使用中的SEO和建站套餐,则查询过期的SEO和建站套餐 */
     @Override
     public SeoPlanSubscription getCurrentSeoAndSiteSubscription(Integer siteId) {
-        QueryWrapper<SeoPlanSubscription> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("site_id", siteId);
-        queryWrapper.and(wrapper -> wrapper.eq("plan_type", "SEO").or().eq("plan_type", "STATIONCONSTRUCTION"));
-        queryWrapper.in("status", Arrays.asList(1, -1));
-        queryWrapper.orderByDesc("status", "create_time");
+        LambdaQueryWrapper<SeoPlanSubscription> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(SeoPlanSubscription::getSiteId, siteId);
+        queryWrapper.and(
+                wrapper ->
+                        wrapper.eq(SeoPlanSubscription::getPlanType, "SEO")
+                                .or()
+                                .eq(SeoPlanSubscription::getPlanType, "STATIONCONSTRUCTION"));
+        queryWrapper.in(SeoPlanSubscription::getStatus, Arrays.asList(1, -1));
+        queryWrapper.orderByDesc(
+                SeoPlanSubscription::getStatus, SeoPlanSubscription::getCreateTime);
         List<SeoPlanSubscription> histories = this.list(queryWrapper);
         if (CollectionUtils.isNotEmpty(histories)) {
             return histories.get(0);

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

@@ -6,12 +6,12 @@ import java.util.Date;
 
 @Data
 public class ServerTimeVO {
-	private String reachStandardTime;
-	private int reachStandardDays;
-	private int remainServerDays;
+    private String reachStandardTime;
+    private int reachStandardDays;
+    private int remainServerDays;
 
-	// 是否自定义结束日期 0:否 1:是
-	private int planServiceEndStatus;
-	//套餐开启时间
-	private Date planStartTime;
+    // 是否自定义结束日期 0:否 1:是
+    private int planServiceEndStatus;
+    // 套餐开启时间
+    private Date planStartTime;
 }

+ 13 - 11
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/server/controller/AdwebServerController.java

@@ -32,8 +32,7 @@ import java.util.Arrays;
 @RequestMapping("/adweb/adwebServer")
 @Slf4j
 public class AdwebServerController extends JeecgController<AdwebServer, IAdwebServerService> {
-    @Autowired
-    private IAdwebServerService adwebServerService;
+    @Autowired private IAdwebServerService adwebServerService;
 
     /**
      * 分页列表查询
@@ -44,14 +43,16 @@ public class AdwebServerController extends JeecgController<AdwebServer, IAdwebSe
      * @param req
      * @return
      */
-    //@AutoLog(value = "wp站点服务器配置信息-分页列表查询")
+    // @AutoLog(value = "wp站点服务器配置信息-分页列表查询")
     @Operation(summary = "wp站点服务器配置信息-分页列表查询")
     @GetMapping(value = "/list")
-    public Result<IPage<AdwebServer>> queryPageList(AdwebServer adwebServer,
-                                                    @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                                    @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                                    HttpServletRequest req) {
-        QueryWrapper<AdwebServer> queryWrapper = QueryGenerator.initQueryWrapper(adwebServer, req.getParameterMap());
+    public Result<IPage<AdwebServer>> queryPageList(
+            AdwebServer adwebServer,
+            @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+            @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+            HttpServletRequest req) {
+        QueryWrapper<AdwebServer> queryWrapper =
+                QueryGenerator.initQueryWrapper(adwebServer, req.getParameterMap());
         Page<AdwebServer> page = new Page<AdwebServer>(pageNo, pageSize);
         IPage<AdwebServer> pageList = adwebServerService.page(page, queryWrapper);
         return Result.OK(pageList);
@@ -81,7 +82,9 @@ public class AdwebServerController extends JeecgController<AdwebServer, IAdwebSe
     @AutoLog(value = "wp站点服务器配置信息-编辑")
     @Operation(summary = "wp站点服务器配置信息-编辑")
     @PreAuthorize("@jps.requiresPermissions('adweb:adweb_server:edit')")
-    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+    @RequestMapping(
+            value = "/edit",
+            method = {RequestMethod.PUT, RequestMethod.POST})
     public Result<String> edit(@RequestBody AdwebServer adwebServer) {
         adwebServerService.updateById(adwebServer);
         return Result.OK("编辑成功!");
@@ -123,7 +126,7 @@ public class AdwebServerController extends JeecgController<AdwebServer, IAdwebSe
      * @param id
      * @return
      */
-    //@AutoLog(value = "wp站点服务器配置信息-通过id查询")
+    // @AutoLog(value = "wp站点服务器配置信息-通过id查询")
     @Operation(summary = "wp站点服务器配置信息-通过id查询")
     @GetMapping(value = "/queryById")
     public Result<AdwebServer> queryById(@RequestParam(name = "id", required = true) String id) {
@@ -158,5 +161,4 @@ public class AdwebServerController extends JeecgController<AdwebServer, IAdwebSe
     public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
         return super.importExcel(request, response, AdwebServer.class);
     }
-
 }

+ 1 - 3
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/server/service/IAdwebServerService.java

@@ -9,6 +9,4 @@ import org.jeecg.modules.adweb.server.entity.AdwebServer;
  * @Date: 2025-01-02
  * @Version: V1.0
  */
-public interface IAdwebServerService extends IService<AdwebServer> {
-
-}
+public interface IAdwebServerService extends IService<AdwebServer> {}

+ 3 - 3
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/server/service/impl/AdwebServerServiceImpl.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.adweb.server.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
 import org.jeecg.modules.adweb.server.entity.AdwebServer;
 import org.jeecg.modules.adweb.server.mapper.AdwebServerMapper;
 import org.jeecg.modules.adweb.server.service.IAdwebServerService;
@@ -13,6 +14,5 @@ import org.springframework.stereotype.Service;
  * @Version: V1.0
  */
 @Service
-public class AdwebServerServiceImpl extends ServiceImpl<AdwebServerMapper, AdwebServer> implements IAdwebServerService {
-
-}
+public class AdwebServerServiceImpl extends ServiceImpl<AdwebServerMapper, AdwebServer>
+        implements IAdwebServerService {}

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/constant/WordPressConstants.java

@@ -9,6 +9,6 @@ public class WordPressConstants {
     // dev-ci2
     public static final String DEV_CI2 = "52.83.132.56";
 
-    //prod-server-wp
+    // prod-server-wp
     public static final String PROD_WP_SERVER_IP = "44.227.32.118";
 }

+ 63 - 53
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/controller/AdwebSiteController.java

@@ -1,17 +1,22 @@
 package org.jeecg.modules.adweb.site.controller;
 
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
 import io.netty.util.internal.StringUtil;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+
 import jakarta.annotation.Resource;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
+
 import lombok.extern.slf4j.Slf4j;
+
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.shiro.SecurityUtils;
@@ -52,29 +57,21 @@ import java.util.Map;
 @Slf4j
 public class AdwebSiteController extends JeecgController<AdwebSite, IAdwebSiteService> {
 
-    @Resource
-    private IAdwebSiteService adwebSiteService;
+    @Resource private IAdwebSiteService adwebSiteService;
 
-    @Resource
-    private SysAdwebApi sysAdwebApi;
+    @Resource private SysAdwebApi sysAdwebApi;
 
-    @Resource
-    private ISiteUserPermissionService siteUserPermissionService;
+    @Resource private ISiteUserPermissionService siteUserPermissionService;
 
-    @Resource
-    private ISitePermissionService sitePermissionService;
+    @Resource private ISitePermissionService sitePermissionService;
 
-    @Resource
-    private SeoPlanSubscriptionMapper seoPlanSubscriptionMapper;
+    @Resource private SeoPlanSubscriptionMapper seoPlanSubscriptionMapper;
 
-    @Resource
-    private SelfWebSiteService selfWebSiteService;
+    @Resource private SelfWebSiteService selfWebSiteService;
 
-    @Resource
-    private BaseCommonService baseCommonService;
+    @Resource private BaseCommonService baseCommonService;
 
-    @Resource
-    private Sohoeb2bOrderService sohoeb2bOrderService;
+    @Resource private Sohoeb2bOrderService sohoeb2bOrderService;
 
     /**
      * 分页列表查询
@@ -85,27 +82,32 @@ public class AdwebSiteController extends JeecgController<AdwebSite, IAdwebSiteSe
      * @param req
      * @return
      */
-    //@AutoLog(value = "adweb站点配置表单-分页列表查询")
+    // @AutoLog(value = "adweb站点配置表单-分页列表查询")
     @Operation(summary = "adweb站点配置表单-分页列表查询")
     @GetMapping(value = "/list")
-    public Result<IPage<AdwebSite>> queryPageList(AdwebSite adwebSite,
-                                                  @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                                  @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                                  HttpServletRequest req) {
-        QueryWrapper<AdwebSite> queryWrapper = QueryGenerator.initQueryWrapper(adwebSite, req.getParameterMap());
+    public Result<IPage<AdwebSite>> queryPageList(
+            AdwebSite adwebSite,
+            @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+            @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+            HttpServletRequest req) {
+        QueryWrapper<AdwebSite> queryWrapper =
+                QueryGenerator.initQueryWrapper(adwebSite, req.getParameterMap());
 
         Page<AdwebSite> page = new Page<AdwebSite>(pageNo, pageSize);
 
         // 处理多租户过滤站点列表
-        processTenantFilter(queryWrapper);
+        processTenantFilter(queryWrapper.lambda());
 
         IPage<AdwebSite> pageList = adwebSiteService.page(page, queryWrapper);
 
         // 给站点增加营销计划信息
         List<AdwebSite> siteList = pageList.getRecords();
         for (AdwebSite site : siteList) {
-            Map<String, String> marketPlan = seoPlanSubscriptionMapper.getSubscribePlanBySiteId(site.getId());
-            JSONObject object = FastJsonUtil.parseObject(FastJsonUtil.toJSONString(marketPlan), JSONObject.class);
+            Map<String, String> marketPlan =
+                    seoPlanSubscriptionMapper.getSubscribePlanBySiteId(site.getId());
+            JSONObject object =
+                    FastJsonUtil.parseObject(
+                            FastJsonUtil.toJSONString(marketPlan), JSONObject.class);
             site.setSubscribePlan(object);
 
             // 设置建站进度
@@ -126,7 +128,6 @@ public class AdwebSiteController extends JeecgController<AdwebSite, IAdwebSiteSe
             if (sohoeb2bOrder != null) {
                 adwebSite.setOrderUrl(sohoeb2bOrder.getOrderUrl());
                 adwebSite.setOrderUrlID(String.valueOf(sohoeb2bOrder.getId()));
-
             }
         }
 
@@ -157,7 +158,9 @@ public class AdwebSiteController extends JeecgController<AdwebSite, IAdwebSiteSe
     @AutoLog(value = "adweb站点配置表单-编辑")
     @Operation(summary = "adweb站点配置表单-编辑")
     @PreAuthorize("@jps.requiresPermissions('adweb:adweb_site:edit')")
-    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+    @RequestMapping(
+            value = "/edit",
+            method = {RequestMethod.PUT, RequestMethod.POST})
     public Result<String> edit(@RequestBody AdwebSite adwebSite) {
         adwebSiteService.updateById(adwebSite);
         return Result.OK("编辑成功!");
@@ -177,8 +180,9 @@ public class AdwebSiteController extends JeecgController<AdwebSite, IAdwebSiteSe
         AdwebSite adwebSite = adwebSiteService.getById(id);
 
         // 删除站点权限
-        QueryWrapper<AdwebSitePermission> queryWrapper = new QueryWrapper<AdwebSitePermission>();
-        queryWrapper.eq("site_code", adwebSite.getCode());
+        LambdaQueryWrapper<AdwebSitePermission> queryWrapper =
+                new LambdaQueryWrapper<AdwebSitePermission>();
+        queryWrapper.eq(AdwebSitePermission::getSiteCode, adwebSite.getCode());
         sitePermissionService.remove(queryWrapper);
 
         // 远程删除并备份站点资源
@@ -189,7 +193,10 @@ public class AdwebSiteController extends JeecgController<AdwebSite, IAdwebSiteSe
         adwebSiteService.removeById(id);
 
         // 记录删除站点操作日志
-        baseCommonService.addLog("站点" + adwebSite.getDomain() + "资源已被删除,将在服务器自动备份15天,之后将自动清空:", CommonConstant.LOG_TYPE_2, 3);
+        baseCommonService.addLog(
+                "站点" + adwebSite.getDomain() + "资源已被删除,将在服务器自动备份15天,之后将自动清空:",
+                CommonConstant.LOG_TYPE_2,
+                3);
 
         return Result.ok("该站点资源已经不存在, 站点信息将从系统中删除!");
     }
@@ -215,7 +222,7 @@ public class AdwebSiteController extends JeecgController<AdwebSite, IAdwebSiteSe
      * @param id
      * @return
      */
-    //@AutoLog(value = "adweb站点配置表单-通过id查询")
+    // @AutoLog(value = "adweb站点配置表单-通过id查询")
     @Operation(summary = "adweb站点配置表单-通过id查询")
     @GetMapping(value = "/queryById")
     public Result<AdwebSite> queryById(@RequestParam(name = "id", required = true) String id) {
@@ -251,18 +258,23 @@ public class AdwebSiteController extends JeecgController<AdwebSite, IAdwebSiteSe
         return super.importExcel(request, response, AdwebSite.class);
     }
 
-    /**
-     * 根据uid获取所属一级站点信息
-     * "id", "name", "code", "domain","domain_dev","status"
-     */
+    /** 根据uid获取所属一级站点信息 "id", "name", "code", "domain","domain_dev","status" */
     @GetMapping("/getSiteListByUid")
     public Result<?> getAllSites() {
-        QueryWrapper<AdwebSite> queryWrapper = new QueryWrapper<>();
+        LambdaQueryWrapper<AdwebSite> queryWrapper = new LambdaQueryWrapper<>();
         // 处理多租户过滤站点列表
         processTenantFilter(queryWrapper);
 
-        queryWrapper.ne("status", AdwebConstant.SITE_DEL).isNull("parent_group_code");
-        queryWrapper.select("id", "name", "code", "domain", "domain_dev", "status");
+        queryWrapper
+                .ne(AdwebSite::getStatus, AdwebConstant.SITE_DEL)
+                .isNull(AdwebSite::getParentGroupCode);
+        queryWrapper.select(
+                AdwebSite::getId,
+                AdwebSite::getName,
+                AdwebSite::getCode,
+                AdwebSite::getDomain,
+                AdwebSite::getDomainDev,
+                AdwebSite::getStatus);
         List<AdwebSite> siteList = adwebSiteService.list(queryWrapper);
 
         // 处理域名,全部改为绝对路径
@@ -284,39 +296,37 @@ public class AdwebSiteController extends JeecgController<AdwebSite, IAdwebSiteSe
     /**
      * 更新site表现阶段
      *
-     * @param siteStepDTO
-     * @Author: 陈培庆
-     * @Date: 2024/11/26
+     * @param siteStepDTO @Author: 陈培庆 @Date: 2024/11/26
      */
     @RequestMapping(value = "/finishOrRollbackStep")
     public Result<?> finishOrRollbackStep(SiteStepDTO siteStepDTO) {
 
-
         // 更新流程步骤和状态
-        UpdateWrapper<AdwebSite> siteUpdateWrapper = new UpdateWrapper<>();
-        siteUpdateWrapper.eq("code", siteStepDTO.getSiteCode());
+        LambdaUpdateWrapper<AdwebSite> siteUpdateWrapper = new LambdaUpdateWrapper<>();
+        siteUpdateWrapper.eq(AdwebSite::getCode, siteStepDTO.getSiteCode());
 
-        //建站流程
-
-        siteUpdateWrapper.set("site_current_step", siteStepDTO.getCurrentStep()).set("site_flow_status", siteStepDTO.getStepFlowId());
+        // 建站流程
+        siteUpdateWrapper
+                .set(AdwebSite::getSiteCurrentStep, siteStepDTO.getCurrentStep())
+                .set(AdwebSite::getSiteFlowStatus, siteStepDTO.getStepFlowId());
 
         adwebSiteService.update(siteUpdateWrapper);
         return Result.OK();
     }
 
-    private void processTenantFilter(QueryWrapper<AdwebSite> queryWrapper) {
+    private void processTenantFilter(LambdaQueryWrapper<AdwebSite> queryWrapper) {
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         // 对于非管理员进行租户隔离
         if (sysAdwebApi.isAdmin()) {
 
         } else if (sysAdwebApi.isChannelAdmin()) {
             List<String> channelGroupUids = sysAdwebApi.getChannelGroupUids();
-            List<String> codeList = siteUserPermissionService.getSiteCodeListByUids(channelGroupUids);
-            queryWrapper.in("code", codeList);
+            List<String> codeList =
+                    siteUserPermissionService.getSiteCodeListByUids(channelGroupUids);
+            queryWrapper.in(AdwebSite::getCode, codeList);
         } else {
             List<String> codeList = siteUserPermissionService.getSiteCodeList(sysUser.getId());
-            queryWrapper.in("code", codeList);
+            queryWrapper.in(AdwebSite::getCode, codeList);
         }
     }
-
 }

+ 63 - 41
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/controller/AdwebSiteManageController.java

@@ -1,13 +1,17 @@
 package org.jeecg.modules.adweb.site.controller;
 
-
 import cn.hutool.core.bean.BeanUtil;
+
 import com.alibaba.fastjson.JSON;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+
 import io.swagger.v3.oas.annotations.tags.Tag;
+
 import jakarta.annotation.Resource;
+
 import lombok.extern.slf4j.Slf4j;
+
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.shiro.SecurityUtils;
@@ -48,27 +52,19 @@ import java.util.stream.Collectors;
 @Slf4j
 public class AdwebSiteManageController extends JeecgController<AdwebSite, IAdwebSiteService> {
 
-    @Lazy
-    @Resource
-    private IAdwebSiteService adwebSiteManageService;
+    @Lazy @Resource private IAdwebSiteService adwebSiteManageService;
 
-    @Resource
-    private CommonMapper commonMapper;
+    @Resource private CommonMapper commonMapper;
 
-    @Resource
-    private SiteManageService siteManageService;
+    @Resource private SiteManageService siteManageService;
 
-    @Resource
-    private SysAdwebApi sysAdwebApi;
+    @Resource private SysAdwebApi sysAdwebApi;
 
-    @Resource
-    private ISysUserTenantService sysUserTenantService;
+    @Resource private ISysUserTenantService sysUserTenantService;
 
-    @Resource
-    private ISiteUserPermissionService siteUserPermissionService;
+    @Resource private ISiteUserPermissionService siteUserPermissionService;
 
-    @Resource
-    private Sohoeb2bOrderService sohoeb2bOrderService;
+    @Resource private Sohoeb2bOrderService sohoeb2bOrderService;
 
     /**
      * 查询wordpress站点配置
@@ -83,7 +79,8 @@ public class AdwebSiteManageController extends JeecgController<AdwebSite, IAdweb
             return Result.noauth("您没有权限访问该站点");
         }
 
-        WordPressConfig config = this.adwebSiteManageService.queryWordPressConfig(wordPressConfig.getSiteCode());
+        WordPressConfig config =
+                this.adwebSiteManageService.queryWordPressConfig(wordPressConfig.getSiteCode());
         return Result.OK(config);
     }
 
@@ -97,11 +94,12 @@ public class AdwebSiteManageController extends JeecgController<AdwebSite, IAdweb
             // 如果是渠道管理员,则返回渠道下所有adwebVIP用户
             // 而对于普通adwebVIP用户,只返回该用户自己
             if (sysAdwebApi.isChannelAdmin()) {
-                QueryWrapper<SysUserTenant> queryWrapper = new QueryWrapper<>();
-                queryWrapper.in("tenant_id", user.getRelTenantIds());
+                LambdaUpdateWrapper<SysUserTenant> queryWrapper = new LambdaUpdateWrapper<>();
+                queryWrapper.in(SysUserTenant::getTenantId, user.getRelTenantIds());
 
                 // 查询出和登录用户具有相同租户的userID
-                List<SysUserTenant> sysUserTenants = sysUserTenantService.getBaseMapper().selectList(queryWrapper);
+                List<SysUserTenant> sysUserTenants =
+                        sysUserTenantService.getBaseMapper().selectList(queryWrapper);
                 List<String> userIds;
 
                 if (sysUserTenants != null) {
@@ -112,7 +110,10 @@ public class AdwebSiteManageController extends JeecgController<AdwebSite, IAdweb
 
                 // 对查出的adwebVIP 用户进行租户过滤, 并将自己加入到返回结果中
                 List<SysUser> filterUserList = new ArrayList<>();
-                filterUserList = userList.stream().filter(sysUser -> userIds.contains(sysUser.getId())).collect(Collectors.toList());
+                filterUserList =
+                        userList.stream()
+                                .filter(sysUser -> userIds.contains(sysUser.getId()))
+                                .collect(Collectors.toList());
                 SysUser currentUser = new SysUser();
                 BeanUtil.copyProperties(user, currentUser);
                 filterUserList.add(currentUser);
@@ -120,18 +121,17 @@ public class AdwebSiteManageController extends JeecgController<AdwebSite, IAdweb
                 return Result.ok(filterUserList);
             } else {
                 // 对查出的 adwebVIP 用户进行租户过滤
-                return Result.ok(userList.stream().filter(sysUser -> sysUser.getId().equals(user.getId())).collect(Collectors.toList()));
+                return Result.ok(
+                        userList.stream()
+                                .filter(sysUser -> sysUser.getId().equals(user.getId()))
+                                .collect(Collectors.toList()));
             }
-
         }
 
-
         return Result.OK(userList);
     }
 
-    /**
-     * 获得综合统计信息
-     */
+    /** 获得综合统计信息 */
     @AutoLog(value = "首页仪表盘综合统计信息")
     @GetMapping(value = "/siteBasicInfo")
     public Result<?> getSiteBasicInfo(String siteCode) {
@@ -144,13 +144,14 @@ public class AdwebSiteManageController extends JeecgController<AdwebSite, IAdweb
     }
 
     @PostMapping(value = "/setEnquiryEmailListBySiteCode")
-    public Result<?> setEnquiryEmailListBySiteCode(String siteCode, String companyName, @RequestParam List<String> emailList) {
+    public Result<?> setEnquiryEmailListBySiteCode(
+            String siteCode, String companyName, @RequestParam List<String> emailList) {
 
         if (StringUtils.isBlank(siteCode)) {
             return Result.error("参数错误");
         }
 
-        //判断emailList是否存在重复
+        // 判断emailList是否存在重复
         if (emailList.size() != new HashSet<>(emailList).size()) {
             return Result.error("邮箱列表存在重复");
         }
@@ -158,17 +159,27 @@ public class AdwebSiteManageController extends JeecgController<AdwebSite, IAdweb
         // 去除邮箱前后空格
         emailList.replaceAll(String::trim);
 
-        int count = (int) adwebSiteManageService.count(new QueryWrapper<AdwebSite>().eq("code", siteCode));
+        int count =
+                (int)
+                        adwebSiteManageService.count(
+                                new LambdaQueryWrapper<AdwebSite>()
+                                        .eq(AdwebSite::getCode, siteCode));
         if (count == 0) {
             return Result.error("站点不存在");
         }
 
         log.info("设置站点询盘邮箱列表,站点code:{},邮箱列表:{}", siteCode, emailList);
 
-        boolean update = adwebSiteManageService.update(new UpdateWrapper<AdwebSite>()
-                .set("company_name", companyName)
-                .set("enquiry_email_list", CollectionUtils.isEmpty(emailList) ? null : JSON.toJSONString(emailList))
-                .eq("code", siteCode));
+        boolean update =
+                adwebSiteManageService.update(
+                        new LambdaUpdateWrapper<AdwebSite>()
+                                .set(AdwebSite::getCompanyName, companyName)
+                                .set(
+                                        AdwebSite::getEnquiryEmailList,
+                                        CollectionUtils.isEmpty(emailList)
+                                                ? null
+                                                : JSON.toJSONString(emailList))
+                                .eq(AdwebSite::getCode, siteCode));
 
         return update ? Result.OK("设置成功") : Result.error("设置失败");
     }
@@ -182,11 +193,14 @@ public class AdwebSiteManageController extends JeecgController<AdwebSite, IAdweb
     @PostMapping(value = "/set/order/url")
     public Result<?> setOrderUrl(@RequestBody Sohoeb2bOrder sohoeb2bOrder) {
 
-        if (StringUtils.isBlank(sohoeb2bOrder.getOrderUrl()) || StringUtils.isBlank(sohoeb2bOrder.getDomainName()) || StringUtils.isBlank(sohoeb2bOrder.getSiteCode())) {
+        if (StringUtils.isBlank(sohoeb2bOrder.getOrderUrl())
+                || StringUtils.isBlank(sohoeb2bOrder.getDomainName())
+                || StringUtils.isBlank(sohoeb2bOrder.getSiteCode())) {
             return Result.error("参数不完整,请重试!");
         }
 
-        String newDomainName = sohoeb2bOrder.getDomainName().replace("http://", "").replace("https://", "");
+        String newDomainName =
+                sohoeb2bOrder.getDomainName().replace("http://", "").replace("https://", "");
         sohoeb2bOrder.setDomainName(newDomainName);
         if (sohoeb2bOrder.getId() != null) {
             sohoeb2bOrderService.update(sohoeb2bOrder);
@@ -212,7 +226,15 @@ public class AdwebSiteManageController extends JeecgController<AdwebSite, IAdweb
         Sohoeb2bOrder siteOrderPost = sohoeb2bOrderService.getBySiteCode(siteCode);
         log.info("siteOrderPost:{}", siteOrderPost);
         if (siteOrderPost != null) {
-            resultMap.put("orderUrl", siteOrderPost.getOrderUrl() + "&master=" + (adwebSiteManageService.hasSub(loginUser) ? 1 : 0) + "&username=" + loginUser.getUsername() + "&time=" + DateUtil.getDate().getTime());
+            resultMap.put(
+                    "orderUrl",
+                    siteOrderPost.getOrderUrl()
+                            + "&master="
+                            + (adwebSiteManageService.hasSub(loginUser) ? 1 : 0)
+                            + "&username="
+                            + loginUser.getUsername()
+                            + "&time="
+                            + DateUtil.getDate().getTime());
             resultMap.put("orderInitUrl", siteOrderPost.getOrderUrl());
             resultMap.put("orderID", siteOrderPost.getId());
             return Result.OK(resultMap);
@@ -236,7 +258,8 @@ public class AdwebSiteManageController extends JeecgController<AdwebSite, IAdweb
                 return false;
             }
 
-            List<String> codeList = siteUserPermissionService.getSiteCodeListByUids(channelGroupUids);
+            List<String> codeList =
+                    siteUserPermissionService.getSiteCodeListByUids(channelGroupUids);
             if (codeList == null) {
                 return false;
             }
@@ -250,6 +273,5 @@ public class AdwebSiteManageController extends JeecgController<AdwebSite, IAdweb
 
             return codeList.contains(code);
         }
-
     }
 }

+ 18 - 22
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/controller/WPSiteController.java

@@ -2,7 +2,9 @@ package org.jeecg.modules.adweb.site.controller;
 
 import jakarta.annotation.Resource;
 import jakarta.servlet.http.HttpServletRequest;
+
 import lombok.extern.slf4j.Slf4j;
+
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.shiro.SecurityUtils;
@@ -32,29 +34,24 @@ import java.util.List;
 @RequestMapping("/wpWebSite")
 public class WPSiteController {
 
-    @Resource
-    private SelfWebSiteService selfWebSiteService;
+    @Resource private SelfWebSiteService selfWebSiteService;
 
-    @Resource
-    private AdwebRedisUtil adwebRedisUtil;
+    @Resource private AdwebRedisUtil adwebRedisUtil;
 
-    @Resource
-    private SiteManageService siteManageService;
+    @Resource private SiteManageService siteManageService;
 
-    @Resource
-    private DomainService domainService;
+    @Resource private DomainService domainService;
 
-    @Resource
-    private IResourceQuotaService resourceQuotaService;
+    @Resource private IResourceQuotaService resourceQuotaService;
 
     /**
      * 创建站点
      *
      * @param templateId 模板id
-     * @param planId     域名
-     * @param name       站点名称
-     * @param uid        站点所属用户名称
-     * @param request    请求信息
+     * @param planId 域名
+     * @param name 站点名称
+     * @param uid 站点所属用户名称
+     * @param request 请求信息
      * @return 创建的站点信息
      */
     @RequestMapping("addWebsite")
@@ -106,9 +103,9 @@ public class WPSiteController {
      *
      * <p>该方法通过接收服务器ID、域名和站点代码来申请发布一个网站 用户通过该接口提交发布申请,实际的发布操作由后台异步处理
      *
-     * @param request  HttpServletRequest对象,用于获取请求相关信息
+     * @param request HttpServletRequest对象,用于获取请求相关信息
      * @param serverId 服务器ID,标识要发布的服务器
-     * @param domain   域名,标识要发布的网站域名
+     * @param domain 域名,标识要发布的网站域名
      * @param siteCode 站点代码,用于识别和验证要发布的站点
      * @return 返回一个Result对象,包含发布申请的结果信息
      */
@@ -168,15 +165,14 @@ public class WPSiteController {
 
     /**
      * 检查域名是否有效
-     * <p>
-     * 此方法用于验证提交的域名是否符合特定条件它首先检查域名是否与CNAME或IP地址相同,
-     * 然后检查域名是否已被使用接下来,它验证域名是否以http开头,
+     *
+     * <p>此方法用于验证提交的域名是否符合特定条件它首先检查域名是否与CNAME或IP地址相同, 然后检查域名是否已被使用接下来,它验证域名是否以http开头,
      * 最后检查域名是否指向CNAME或IP地址如果所有条件都满足,则域名被视为有效
      *
      * @param request HttpServletRequest对象,用于获取请求信息
-     * @param cname   用户的CNAME
-     * @param ip      用户的IP地址
-     * @param domain  用户提交的域名
+     * @param cname 用户的CNAME
+     * @param ip 用户的IP地址
+     * @param domain 用户提交的域名
      * @return 返回一个Result对象,包含验证结果和相关信息
      */
     @RequestMapping(value = "/check/domain", method = RequestMethod.POST)

+ 13 - 35
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/dto/WordPressConfig.java

@@ -6,65 +6,43 @@ import java.io.Serializable;
 import java.util.List;
 
 /**
- * @Description: wordpress 配置信息
- * @Author:
+ * @Description: wordpress 配置信息 @Author:
+ *
  * @date
  */
 @Data
 public class WordPressConfig implements Serializable {
 
-    /**
-     * 站点code
-     */
+    /** 站点code */
     private String siteCode;
 
-    /**
-     * wp站点域名
-     */
+    /** wp站点域名 */
     private String domain;
 
-    /**
-     * 物料模块是否嵌入WordPress,0:否;1:是
-     */
+    /** 物料模块是否嵌入WordPress,0:否;1:是 */
     private Integer wordpressSwitch;
 
-    /**
-     * WordPress登录账户
-     */
+    /** WordPress登录账户 */
     private String wordpressName;
 
-    /**
-     * WordPress登录token
-     */
+    /** WordPress登录token */
     private String wordpressToken;
 
-    /**
-     * WordPress站点状态
-     */
+    /** WordPress站点状态 */
     private Integer status;
 
-    /**
-     * ssoResKey
-     */
+    /** ssoResKey */
     private String ssoResKey;
 
-    /**
-     * wordpress配置
-     */
+    /** wordpress配置 */
     private String wordpressSetting;
 
-    /**
-     * openSetting
-     */
+    /** openSetting */
     private List<String> openSetting;
 
-    /**
-     * productType   WP中产品类型
-     */
+    /** productType WP中产品类型 */
     private String productType;
 
-    /**
-     * 是否按用户划分
-     */
+    /** 是否按用户划分 */
     private Integer userAccount;
 }

+ 1 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/dto/param/SiteOrderPost.java

@@ -9,11 +9,10 @@ import lombok.Data;
 public class SiteOrderPost {
 
     private String id;
-    
+
     private String siteCode;
 
     private String domainName;
 
     private String orderUrl;
-
 }

+ 1 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/dto/param/SiteStepDTO.java

@@ -7,7 +7,7 @@ import lombok.Data;
  */
 @Data
 public class SiteStepDTO {
-    //站点code,关联站点表
+    // 站点code,关联站点表
     private String siteCode;
 
     // 当前进度ID
@@ -15,5 +15,4 @@ public class SiteStepDTO {
 
     // 当前进度名称
     private String currentStep;
-
 }

+ 9 - 28
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/dto/result/SiteBasicInfo.java

@@ -1,52 +1,33 @@
 package org.jeecg.modules.adweb.site.dto.result;
 
-
 import lombok.Data;
 
-/**
- * 综合统计类
- */
+/** 综合统计类 */
 @Data
 public class SiteBasicInfo {
 
-    /**
-     * 套餐名称
-     */
+    /** 套餐名称 */
     private String planName;
 
-    /**
-     * 创建时间
-     */
+    /** 创建时间 */
     private String createTime;
 
-    /**
-     * 到期时间
-     */
+    /** 到期时间 */
     private String endTime;
 
-    /**
-     * 运行状态
-     */
+    /** 运行状态 */
     private Integer runStatus;
 
-    /**
-     * 交付状态
-     */
+    /** 交付状态 */
     private String deliveryProgress;
 
-    /**
-     * 运行天数
-     */
+    /** 运行天数 */
     private int runDays;
 
-    /**
-     * 赠送天数
-     */
+    /** 赠送天数 */
     private Integer giveDay;
 
-    /**
-     * 补偿天数
-     */
+    /** 补偿天数 */
     private Integer compensateDay;
 
     private int percentage;

+ 2 - 4
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/site/service/IAdwebSiteService.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.adweb.site.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.adweb.site.dto.WordPressConfig;
 import org.jeecg.modules.adweb.site.entity.AdwebSite;
@@ -15,7 +16,6 @@ import java.util.List;
  */
 public interface IAdwebSiteService extends IService<AdwebSite> {
 
-
     /**
      * 查询wordpress站点配置
      *
@@ -63,9 +63,7 @@ public interface IAdwebSiteService extends IService<AdwebSite> {
      */
     List<Integer> getAllSiteIdByUid(String uid);
 
-    /**
-     * 查询全部有效的站点code
-     */
+    /** 查询全部有效的站点code */
     List<String> getAllActiveSiteCodes();
 
     boolean updateSiteFlow(String siteCode);

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff