Browse Source

拆分代码

syh 5 years ago
parent
commit
ea55ea7c71
100 changed files with 17 additions and 15269 deletions
  1. 1 11
      jeecg-boot-module-system/pom.xml
  2. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceAdvertisePlanController.java
  3. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceAdvertiserBudgetController.java
  4. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceAdvertiserController.java
  5. 0 5
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceAdvertiserPostController.java
  6. 14 16
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceBudgetTemplateController.java
  7. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceCampaignController.java
  8. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceCampaignTemplateController.java
  9. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceCreativeController.java
  10. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceCreativeMaterialController.java
  11. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceCreativeTemplateController.java
  12. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceCustomAudienceController.java
  13. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceImageInfoController.java
  14. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceUserOrientationTemplateController.java
  15. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceVideoInfoController.java
  16. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceAdvertisePlanTemplateController.java
  17. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceAdvertiserDailyReportController.java
  18. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceAdvertiserHourlyReportController.java
  19. 0 4
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceAreaInfoController.java
  20. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceCampaignDailyReportController.java
  21. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceCampaignHourlyReportController.java
  22. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceCreativeDailyReportController.java
  23. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceCreativeHourlyReportController.java
  24. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceDeliveryTargetTemplateController.java
  25. 0 4
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceInterestCategoryController.java
  26. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceNameModelRuleController.java
  27. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedancePlanDailyReportController.java
  28. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedancePlanHourlyReportController.java
  29. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceUrlInfoController.java
  30. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/CallbackController.java
  31. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/FileInfoController.java
  32. 0 4
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/SourceFileController.java
  33. 2 8
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/CreateInternalServiceImpl.java
  34. 0 13
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/sign/itext5/Extension.java
  35. 0 544
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/sign/itext5/GenX509Cert.java
  36. 0 199
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/sign/itext5/ItextUtils.java
  37. 0 281
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/sign/itext5/Pkcs.java
  38. 0 138
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/sign/itext5/SignHighPdf.java
  39. 0 101
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/sign/itext5/SignImage.java
  40. 0 98
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/sign/itext5/SignPdf.java
  41. 0 21
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/sign/itext7/PdfSignInfo.java
  42. 0 29
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/sign/itext7/Sign7.java
  43. 0 148
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/sign/pdf/RSACertHelper.java
  44. 0 193
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/AdvertiserList.vue
  45. 0 157
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/AuthTaskList.vue
  46. 0 168
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BindAccountAuthList.vue
  47. 0 188
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BindAccountLoginList.vue
  48. 0 324
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/ByteDanceAdvertisePlanList.vue
  49. 0 212
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/ByteDanceAdvertiserBudgetList.vue
  50. 0 426
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/ByteDanceAdvertiserList.vue
  51. 0 244
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/ByteDanceBudgetTemplateList.vue
  52. 0 266
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/ByteDanceCampaignList.vue
  53. 0 198
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/ByteDanceCampaignTemplateList.vue
  54. 0 243
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/ByteDanceCreativeList.vue
  55. 0 208
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/ByteDanceCreativeMaterialList.vue
  56. 0 258
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/ByteDanceCreativeTemplateList.vue
  57. 0 218
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/ByteDanceCustomAudienceList.vue
  58. 0 213
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/ByteDanceImageInfoList.vue
  59. 0 334
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/ByteDanceUserOrientationTemplateList.vue
  60. 0 203
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/ByteDanceVideoInfoList.vue
  61. 0 224
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BytedanceAdvertisePlanTemplateList.vue
  62. 0 443
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BytedanceAdvertiserDailyReportList.vue
  63. 0 444
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BytedanceAdvertiserHourlyReportList.vue
  64. 0 453
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BytedanceCampaignDailyReportList.vue
  65. 0 453
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BytedanceCampaignHourlyReportList.vue
  66. 0 458
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BytedanceCreativeDailyReportList.vue
  67. 0 458
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BytedanceCreativeHourlyReportList.vue
  68. 0 229
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BytedanceDeliveryTargetTemplateList.vue
  69. 0 173
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BytedanceNameModelRuleList.vue
  70. 0 458
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BytedancePlanDailyReportList.vue
  71. 0 458
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BytedancePlanHourlyReportList.vue
  72. 0 193
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BytedanceUrlInfoList.vue
  73. 0 204
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/CTopOauthTokenList.vue
  74. 0 173
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/FileInfoList.vue
  75. 0 162
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/SourceFileList.vue
  76. 0 218
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/UserAllocationList.vue
  77. 0 152
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/AdvertiserModal.vue
  78. 0 159
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/AdvertiserModal__Style#Drawer.vue
  79. 0 130
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/AuthTaskModal.vue
  80. 0 137
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/AuthTaskModal__Style#Drawer.vue
  81. 0 136
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/BindAccountAuthModal.vue
  82. 0 143
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/BindAccountAuthModal__Style#Drawer.vue
  83. 0 148
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/BindAccountLoginModal.vue
  84. 0 155
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/BindAccountLoginModal__Style#Drawer.vue
  85. 0 302
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceAdvertisePlanModal.vue
  86. 0 309
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceAdvertisePlanModal__Style#Drawer.vue
  87. 0 143
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceAdvertiserBudgetModal.vue
  88. 0 150
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceAdvertiserBudgetModal__Style#Drawer.vue
  89. 0 292
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceAdvertiserModal.vue
  90. 0 299
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceAdvertiserModal__Style#Drawer.vue
  91. 0 209
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceBudgetTemplateModal.vue
  92. 0 216
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceBudgetTemplateModal__Style#Drawer.vue
  93. 0 197
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceCampaignModal.vue
  94. 0 204
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceCampaignModal__Style#Drawer.vue
  95. 0 155
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceCampaignTemplateModal.vue
  96. 0 162
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceCampaignTemplateModal__Style#Drawer.vue
  97. 0 164
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceCreativeMaterialModal.vue
  98. 0 171
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceCreativeMaterialModal__Style#Drawer.vue
  99. 0 206
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceCreativeModal.vue
  100. 0 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceCreativeModal__Style#Drawer.vue

+ 1 - 11
jeecg-boot-module-system/pom.xml

@@ -85,11 +85,6 @@
             <version>1.49</version>
             <version>1.49</version>
         </dependency>
         </dependency>
         <dependency>
         <dependency>
-            <groupId>com.itextpdf</groupId>
-            <artifactId>itextpdf</artifactId>
-            <version>5.5.13</version>
-        </dependency>
-        <dependency>
             <groupId>org.jeecgframework.boot</groupId>
             <groupId>org.jeecgframework.boot</groupId>
             <artifactId>module-ctop</artifactId>
             <artifactId>module-ctop</artifactId>
             <version>2.0.2</version>
             <version>2.0.2</version>
@@ -101,11 +96,6 @@
             <version>2.0.2</version>
             <version>2.0.2</version>
             <scope>compile</scope>
             <scope>compile</scope>
         </dependency>
         </dependency>
-        <!--<dependency>
-            <groupId>e-iceblue</groupId>
-            <artifactId>spire.pdf</artifactId>
-            <version>2.7.8</version>
-        </dependency>-->
     </dependencies>
     </dependencies>
 
 
     <build>
     <build>
@@ -158,4 +148,4 @@
             </properties>
             </properties>
         </profile>
         </profile>
     </profiles>
     </profiles>
-</project>
+</project>

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

@@ -11,8 +11,6 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.ByteDanceAdvertisePlan;
-import org.jeecg.modules.ctop.service.IByteDanceAdvertisePlanService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;

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

@@ -11,8 +11,6 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.ByteDanceAdvertiserBudget;
-import org.jeecg.modules.ctop.service.IByteDanceAdvertiserBudgetService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;

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

@@ -11,8 +11,6 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.ByteDanceAdvertiser;
-import org.jeecg.modules.ctop.service.IByteDanceAdvertiserService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;

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

@@ -7,11 +7,6 @@ import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.system.vo.LoginUser;
-import org.jeecg.modules.ctop.entity.ByteDanceCustomAudience;
-import org.jeecg.modules.ctop.entity.ByteDanceUserOrientationTemplate;
-import org.jeecg.modules.ctop.service.IByteDanceAdvertiserDataService;
-import org.jeecg.modules.ctop.service.IByteDanceCustomAudienceService;
-import org.jeecg.modules.ctop.service.IFileInfoService;
 import org.jeecg.modules.system.entity.SysDictItem;
 import org.jeecg.modules.system.entity.SysDictItem;
 import org.jeecg.modules.system.service.ISysDictItemService;
 import org.jeecg.modules.system.service.ISysDictItemService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;

+ 14 - 16
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceBudgetTemplateController.java

@@ -13,8 +13,6 @@ import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.ByteDanceBudgetTemplate;
-import org.jeecg.modules.ctop.service.IByteDanceBudgetTemplateService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -48,8 +46,8 @@ import java.util.Map;
 public class ByteDanceBudgetTemplateController {
 public class ByteDanceBudgetTemplateController {
 	@Autowired
 	@Autowired
     private IByteDanceBudgetTemplateService byteDanceBudgetTemplateService;
     private IByteDanceBudgetTemplateService byteDanceBudgetTemplateService;
-	
-	/**
+
+     /**
 	  * 分页列表查询
 	  * 分页列表查询
      * @param byteDanceBudgetTemplate
      * @param byteDanceBudgetTemplate
 	 * @param pageNo
 	 * @param pageNo
@@ -74,8 +72,8 @@ public class ByteDanceBudgetTemplateController {
 		result.setResult(pageList);
 		result.setResult(pageList);
 		return result;
 		return result;
 	}
 	}
-	
-	/**
+
+     /**
 	  *   添加
 	  *   添加
      * @param byteDanceBudgetTemplate
      * @param byteDanceBudgetTemplate
 	 * @return
 	 * @return
@@ -94,8 +92,8 @@ public class ByteDanceBudgetTemplateController {
 		}
 		}
 		return result;
 		return result;
 	}
 	}
-	
-	/**
+
+     /**
 	  *  编辑
 	  *  编辑
      * @param byteDanceBudgetTemplate
      * @param byteDanceBudgetTemplate
 	 * @return
 	 * @return
@@ -115,11 +113,11 @@ public class ByteDanceBudgetTemplateController {
 				result.success("修改成功!");
 				result.success("修改成功!");
 			}
 			}
 		}
 		}
-		
-		return result;
+
+        return result;
 	}
 	}
-	
-	/**
+
+     /**
 	  *   通过id删除
 	  *   通过id删除
 	 * @param id
 	 * @param id
 	 * @return
 	 * @return
@@ -136,8 +134,8 @@ public class ByteDanceBudgetTemplateController {
 		}
 		}
 		return Result.ok("删除成功!");
 		return Result.ok("删除成功!");
 	}
 	}
-	
-	/**
+
+     /**
 	  *  批量删除
 	  *  批量删除
 	 * @param ids
 	 * @param ids
 	 * @return
 	 * @return
@@ -155,8 +153,8 @@ public class ByteDanceBudgetTemplateController {
 		}
 		}
 		return result;
 		return result;
 	}
 	}
-	
-	/**
+
+     /**
 	  * 通过id查询
 	  * 通过id查询
 	 * @param id
 	 * @param id
 	 * @return
 	 * @return

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

@@ -11,8 +11,6 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.ByteDanceCampaign;
-import org.jeecg.modules.ctop.service.IByteDanceCampaignService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;

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

@@ -13,8 +13,6 @@ import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.ByteDanceCampaignTemplate;
-import org.jeecg.modules.ctop.service.IByteDanceCampaignTemplateService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;

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

@@ -11,8 +11,6 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.ByteDanceCreative;
-import org.jeecg.modules.ctop.service.IByteDanceCreativeService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;

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

@@ -11,8 +11,6 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.ByteDanceCreativeMaterial;
-import org.jeecg.modules.ctop.service.IByteDanceCreativeMaterialService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;

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

@@ -11,8 +11,6 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.ByteDanceCreativeTemplate;
-import org.jeecg.modules.ctop.service.IByteDanceCreativeTemplateService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;

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

@@ -11,8 +11,6 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.ByteDanceCustomAudience;
-import org.jeecg.modules.ctop.service.IByteDanceCustomAudienceService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;

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

@@ -11,8 +11,6 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.ByteDanceImageInfo;
-import org.jeecg.modules.ctop.service.IByteDanceImageInfoService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;

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

@@ -13,8 +13,6 @@ import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.ByteDanceUserOrientationTemplate;
-import org.jeecg.modules.ctop.service.IByteDanceUserOrientationTemplateService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;

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

@@ -11,8 +11,6 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.ByteDanceVideoInfo;
-import org.jeecg.modules.ctop.service.IByteDanceVideoInfoService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;

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

@@ -11,8 +11,6 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.BytedanceAdvertisePlanTemplate;
-import org.jeecg.modules.ctop.service.IBytedanceAdvertisePlanTemplateService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;

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

@@ -11,8 +11,6 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.BytedanceAdvertiserDailyReport;
-import org.jeecg.modules.ctop.service.IBytedanceAdvertiserDailyReportService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;

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

@@ -11,8 +11,6 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.BytedanceAdvertiserHourlyReport;
-import org.jeecg.modules.ctop.service.IBytedanceAdvertiserHourlyReportService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;

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

@@ -13,10 +13,6 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.BytedanceAreaInfo;
-import org.jeecg.modules.ctop.service.IBytedanceAreaInfoService;
-
-import java.util.Date;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;

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

@@ -11,8 +11,6 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.BytedanceCampaignDailyReport;
-import org.jeecg.modules.ctop.service.IBytedanceCampaignDailyReportService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;

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

@@ -11,8 +11,6 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.BytedanceCampaignHourlyReport;
-import org.jeecg.modules.ctop.service.IBytedanceCampaignHourlyReportService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;

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

@@ -11,8 +11,6 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.BytedanceCreativeDailyReport;
-import org.jeecg.modules.ctop.service.IBytedanceCreativeDailyReportService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;

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

@@ -11,8 +11,6 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.BytedanceCreativeHourlyReport;
-import org.jeecg.modules.ctop.service.IBytedanceCreativeHourlyReportService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;

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

@@ -13,8 +13,6 @@ import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.BytedanceDeliveryTargetTemplate;
-import org.jeecg.modules.ctop.service.IBytedanceDeliveryTargetTemplateService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;

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

@@ -13,10 +13,6 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.BytedanceInterestCategory;
-import org.jeecg.modules.ctop.service.IBytedanceInterestCategoryService;
-
-import java.util.Date;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;

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

@@ -11,8 +11,6 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.BytedanceNameModelRule;
-import org.jeecg.modules.ctop.service.IBytedanceNameModelRuleService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;

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

@@ -11,8 +11,6 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.BytedancePlanDailyReport;
-import org.jeecg.modules.ctop.service.IBytedancePlanDailyReportService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;

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

@@ -11,8 +11,6 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.BytedancePlanHourlyReport;
-import org.jeecg.modules.ctop.service.IBytedancePlanHourlyReportService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;

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

@@ -13,8 +13,6 @@ import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.BytedanceUrlInfo;
-import org.jeecg.modules.ctop.service.IBytedanceUrlInfoService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;

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

@@ -9,13 +9,11 @@ import cn.com.ctop.toutiao.common.BytedanceInterfaceConstant;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import constant.KuaishouInterfaceConstant;
 import constant.KuaishouInterfaceConstant;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.StringUtils;
-import org.jeecg.modules.ctop.entity.ByteDanceAdvertiser;
 import org.jeecg.modules.ctop.entity.CtopOauthToken;
 import org.jeecg.modules.ctop.entity.CtopOauthToken;
 import org.jeecg.modules.ctop.entity.UserAllocation;
 import org.jeecg.modules.ctop.entity.UserAllocation;
 import org.jeecg.modules.ctop.mapper.CtopOauthTokenMapper;
 import org.jeecg.modules.ctop.mapper.CtopOauthTokenMapper;
 import org.jeecg.modules.ctop.mapper.UserAllocationMapper;
 import org.jeecg.modules.ctop.mapper.UserAllocationMapper;
 import org.jeecg.modules.ctop.service.IBindAccountAuthService;
 import org.jeecg.modules.ctop.service.IBindAccountAuthService;
-import org.jeecg.modules.ctop.service.IByteDanceAdvertiserDataService;
 import org.jeecg.modules.kuaishou.service.IKuaishouInterfaceService;
 import org.jeecg.modules.kuaishou.service.IKuaishouInterfaceService;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;

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

@@ -11,8 +11,6 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.FileInfo;
-import org.jeecg.modules.ctop.service.IFileInfoService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ExportParams;

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

@@ -13,10 +13,6 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.ctop.entity.SourceFile;
-import org.jeecg.modules.ctop.service.ISourceFileService;
-
-import java.util.Date;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;

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

@@ -8,20 +8,14 @@ import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
+import module.entity.CtopOauthToken;
+import module.service.ICtopOauthTokenService;
 import org.apache.http.impl.cookie.BasicClientCookie;
 import org.apache.http.impl.cookie.BasicClientCookie;
 import org.jeecg.common.util.ResultMapUtils;
 import org.jeecg.common.util.ResultMapUtils;
 import org.jeecg.common.util.StatusCode;
 import org.jeecg.common.util.StatusCode;
 import org.jeecg.modules.ctop.entity.BindAccountLogin;
 import org.jeecg.modules.ctop.entity.BindAccountLogin;
-import org.jeecg.modules.ctop.entity.ByteDanceUserOrientationTemplate;
-import org.jeecg.modules.ctop.entity.BytedanceUrlInfo;
-import org.jeecg.modules.ctop.entity.CtopOauthToken;
 import org.jeecg.modules.ctop.mapper.BindAccountLoginMapper;
 import org.jeecg.modules.ctop.mapper.BindAccountLoginMapper;
-import org.jeecg.modules.ctop.mapper.ByteDanceUserOrientationTemplateMapper;
-import org.jeecg.modules.ctop.mapper.BytedanceUrlInfoMapper;
-import org.jeecg.modules.ctop.service.IByteDanceAdvertiserDataService;
-import org.jeecg.modules.ctop.service.IByteDanceUserOrientationTemplateService;
 import org.jeecg.modules.ctop.service.ICreateInternalService;
 import org.jeecg.modules.ctop.service.ICreateInternalService;
-import org.jeecg.modules.ctop.service.ICtopOauthTokenService;
 import org.openqa.selenium.By;
 import org.openqa.selenium.By;
 import org.openqa.selenium.Cookie;
 import org.openqa.selenium.Cookie;
 import org.openqa.selenium.WebDriver;
 import org.openqa.selenium.WebDriver;

+ 0 - 13
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/sign/itext5/Extension.java

@@ -1,13 +0,0 @@
-package org.jeecg.modules.ctop.sign.itext5;
-
-import lombok.Data;
-
-/**
- * @author jeecg-boot
- */
-@Data
-public class Extension {
-    private String oid;
-    private boolean critical;
-    private byte[] value;
-}

+ 0 - 544
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/sign/itext5/GenX509Cert.java

@@ -1,544 +0,0 @@
-//package org.jeecg.modules.ctop.sign.itext5;
-//
-//import java.io.File;
-//import java.io.FileInputStream;
-//import java.io.FileNotFoundException;
-//import java.io.FileOutputStream;
-//import java.io.IOException;
-//import java.math.BigInteger;
-//import java.security.KeyPair;
-//import java.security.KeyPairGenerator;
-//import java.security.KeyStore;
-//import java.security.NoSuchAlgorithmException;
-//import java.security.PrivateKey;
-//import java.security.PublicKey;
-//import java.security.SecureRandom;
-//import java.security.Signature;
-//import java.security.SignatureException;
-//import java.security.cert.Certificate;
-//import java.security.cert.CertificateException;
-//import java.security.cert.X509Certificate;
-//import java.util.Date;
-//import java.util.HashMap;
-//import java.util.Map;
-//import java.util.Vector;
-//import java.util.Map.Entry;
-//
-//
-//import sun.security.util.ObjectIdentifier;
-//import sun.security.x509.AlgorithmId;
-//import sun.security.x509.CertAndKeyGen;
-//import sun.security.x509.CertificateAlgorithmId;
-//import sun.security.x509.CertificateExtensions;
-//import sun.security.x509.CertificateSerialNumber;
-//import sun.security.x509.CertificateValidity;
-//import sun.security.x509.CertificateVersion;
-//import sun.security.x509.CertificateX509Key;
-//import sun.security.x509.ExtendedKeyUsageExtension;
-//import sun.security.x509.KeyIdentifier;
-//import sun.security.x509.KeyUsageExtension;
-//import sun.security.x509.SerialNumber;
-//import sun.security.x509.SubjectKeyIdentifierExtension;
-//import sun.security.x509.X500Name;
-//import sun.security.x509.X500Signer;
-//import sun.security.x509.X509CertImpl;
-//import sun.security.x509.X509CertInfo;
-//
-//public class GenX509Cert {
-//    private SecureRandom sr = new SecureRandom();
-//
-//
-//    private String root = "Root";// 根证书前缀
-//    private static String rootUser = "签名服务器";// 证书颁发者
-//
-//
-//    public GenX509Cert() {
-//        try {
-//            sr = SecureRandom.getInstance("SHA1PRNG", "SUN");
-//        } catch (Exception e) {
-//            System.err.println("实例化SecureRandom出错:"+e.getMessage());
-//        }
-//    }
-//
-//
-//    public void createCert(X509Certificate certificate, PrivateKey rootPrivKey,
-//                           KeyPair kp, String certPath, String user, String password,
-//                           String sbh, String ip) throws Exception {
-//        byte certbytes[] = certificate.getEncoded();
-//        X509CertImpl x509certimpl = new X509CertImpl(certbytes);
-//
-//
-//        X509CertInfo x509certinfo = (X509CertInfo) x509certimpl
-//                .get("x509.info");
-//
-//
-//        x509certinfo.set("key", new CertificateX509Key(kp.getPublic()));
-//
-//
-//        CertificateExtensions certificateextensions = new CertificateExtensions();
-//        certificateextensions.set("SubjectKeyIdentifier",
-//                new SubjectKeyIdentifierExtension((new KeyIdentifier(kp
-//                        .getPublic())).getIdentifier()));
-//        x509certinfo.set("extensions", certificateextensions);
-//
-//
-//// 设置issuer域
-//        X500Name issuer = new X500Name("CN=" + rootUser
-//                + ",OU=hackwp,O=wp,L=BJ,S=BJ,C=CN");
-//        x509certinfo.set("issuer.dname", issuer);
-//        X500Name subject = new X500Name("CN=" + user
-//                + ", OU=wps, O=wps, L=BJ, ST=BJ, C=CN");
-//        x509certinfo.set("subject.dname", subject);
-//
-//
-//        Signature signature = Signature.getInstance("MD5WithRSA");
-//        signature.initSign(kp.getPrivate());
-//        X500Signer signer = new X500Signer(signature, issuer);
-//
-//
-//        AlgorithmId algorithmid = signer.getAlgorithmId();
-//        x509certinfo
-//                .set("algorithmID", new CertificateAlgorithmId(algorithmid));
-//
-//
-//        Date bdate = new Date();
-//        Date edate = new Date();
-//// 天 小时 分 秒 毫秒
-//        edate.setTime(bdate.getTime() + 3650L * 24L * 60L * 60L * 1000L);
-//// validity为有效时间长度 单位为秒
-//        CertificateValidity certificatevalidity = new CertificateValidity(
-//                bdate, edate);
-//        x509certinfo.set("validity", certificatevalidity);
-//// 设置有效期域(包含开始时间和到期时间)域名等同与x509certinfo.VALIDITY
-//        x509certinfo.set("serialNumber", new CertificateSerialNumber(
-//                (int) (new Date().getTime() / 1000L)));
-//// 设置序列号域
-//        CertificateVersion cv = new CertificateVersion(CertificateVersion.V3);
-//        x509certinfo.set(X509CertInfo.VERSION, cv);
-//// 设置版本号 只有v1 ,v2,v3这几个合法值
-///**
-// *以上是证书的基本信息 如果要添加用户扩展信息 则比较麻烦 首先要确定version必须是v3否则不行 然后按照以下步骤
-// **/
-//
-//
-//        String userData = "Digital Signature, Non-Repudiation, Key Encipherment, Data Encipherment (f0)";
-//
-//
-//        byte l = (byte) userData.length();// 数据总长17位
-//        byte f = 0x04;
-//        byte[] bs = new byte[userData.length() + 2];
-//        bs[0] = f;
-//        bs[1] = l;
-//        for (int i = 2; i < bs.length; i++) {
-//            bs[i] = (byte) userData.charAt(i - 2);
-//        }
-//
-//
-//        KeyUsageExtension keyUsage = new KeyUsageExtension();
-//        keyUsage.set(KeyUsageExtension.DIGITAL_SIGNATURE, true);
-//        keyUsage.set(KeyUsageExtension.NON_REPUDIATION, true);
-//        keyUsage.set(KeyUsageExtension.KEY_ENCIPHERMENT, true);
-//        keyUsage.set(KeyUsageExtension.DATA_ENCIPHERMENT, true);
-//
-//
-//// 增强密钥用法
-//        ObjectIdentifier ekeyOid = new ObjectIdentifier(new int[] { 1, 3, 6, 1,
-//                5, 5, 7, 3, 3 });
-//        Vector<ObjectIdentifier> vkeyOid = new Vector<ObjectIdentifier>();
-//        vkeyOid.add(ekeyOid);
-//        ExtendedKeyUsageExtension exKeyUsage = new ExtendedKeyUsageExtension(
-//                vkeyOid);
-//
-//
-//        CertificateExtensions exts = new CertificateExtensions();
-//
-//
-//        exts.set("keyUsage", keyUsage);
-//        exts.set("extendedKeyUsage", exKeyUsage);
-//
-//
-//// 如果有多个extension则都放入CertificateExtensions 类中,
-//        x509certinfo.set(X509CertInfo.EXTENSIONS, exts);
-//
-//
-//        X509CertImpl x509certimpl1 = new X509CertImpl(x509certinfo);
-//        SerialNumber sn = new SerialNumber(new BigInteger(ip
-//                + System.currentTimeMillis()));
-//        x509certimpl1.set(X509CertImpl.SERIAL_ID, sn);// 设置证书序列号
-//        x509certimpl1.sign(rootPrivKey, "MD5WithRSA");// 使用另一个证书的私钥来签名此证书 这里使用
-//// md5散列 用rsa来加密
-//        Certificate[] certChain = { x509certimpl1 };
-//        savePfx(Util.certCA, kp.getPrivate(), password, certChain, certPath);
-//
-//
-//// 生成文件
-//        x509certimpl1.verify(certificate.getPublicKey(), null);
-//    }
-//
-//
-//    /**
-//     * 保存pfx文件,里面包括公钥,私钥,证书链别名
-//     *
-//     * @param alias
-//     * @param privKey
-//     * @param pwd
-//     * @param certChain
-//     * @param filepath
-//     * @throws Exception
-//     */
-//    public void savePfx(String alias, PrivateKey privKey, String pwd,
-//                        Certificate[] certChain, String filepath) throws Exception {
-//        FileOutputStream out = null;
-//        try {
-//            KeyStore outputKeyStore = KeyStore.getInstance("pkcs12");
-//            outputKeyStore.load(null, pwd.toCharArray());
-//            outputKeyStore.setKeyEntry(alias, privKey, pwd.toCharArray(),
-//                    certChain);
-//            out = new FileOutputStream(filepath);
-//            outputKeyStore.store(out, pwd.toCharArray());
-//        } finally {
-//            if (out != null)
-//                out.close();
-//        }
-//
-//
-//    }
-//
-//
-//    /**
-//     * 生成用户证书
-//     *
-//     * @param sbh
-//     *            纳税人识别号(文件名,不包含后缀)
-//     * @param user
-//     *            证书使用者
-//     * @param path
-//     *            证书保存路径(不包括文件名),如要保存在D盘的home目录下则输入:D:/home
-//     * @param password
-//     *            证书密码
-//     * @param ip
-//     *            客户端请求的ip
-//     * @return map里面包含两个key,一个code,一个msg,如果code等于0000则为生成成功,如果code不等于0000则为生成失败,
-//     *         msg里面保存失败原因
-//     */
-//    public Map<String, String> createCA(String sbh, String user, String path,
-//                                        String password, String ip) {
-//        Map<String, String> map = new HashMap<String, String>();
-//        if (sbh == null || "".equals(sbh)) {
-//            map.put("code", "-1");
-//            map.put("msg", "纳税人识别号不能为空");
-//            return map;
-//        }
-//        if (user == null || "".equals(user)) {
-//            map.put("code", "-1");
-//            map.put("msg", "证书使用者不能为空");
-//            return map;
-//        }
-//        if (path == null || "".equals(path)) {
-//            map.put("code", "-1");
-//            map.put("msg", "保存路径不能为空");
-//            return map;
-//        }
-//        if (password == null || "".equals(password)) {
-//            map.put("code", "-1");
-//            map.put("msg", "证书密码不能为空");
-//            return map;
-//        }
-//        if (!Util.ipCheck(ip)) {// 验证IP地址是否合法
-//            map.put("code", "-1");
-//            map.put("msg", "IP地址不合法");
-//            return map;
-//        }
-//        if(!new File(path).exists()){
-//            map.put("code", "5555");
-//            map.put("msg", "保存文件的目录不存在");
-//            return map;
-//        }
-//        String rootPath = path + File.separator + root + sbh + ".pfx";
-//        String certPath = path + File.separator + sbh + ".pfx";
-//        File file = new File(rootPath);
-//        if (file.exists()) {
-//            map.put("code", "6666");
-//            map.put("msg", "文件已存在");
-//            return map;
-//        }
-//        try {
-//            CertAndKeyGen cak = new CertAndKeyGen("RSA", "MD5WithRSA", null);
-//// 参数分别为 公钥算法 签名算法 providername(因为不知道确切的 只好使用null 既使用默认的provider)
-//            cak.generate(1024);
-//            cak.setRandom(sr);
-//// 生成一对key 参数为key的长度 对于rsa不能小于512
-//            X500Name subject = new X500Name(
-//                    "CN=root,OU=root,O=wp,L=BJ,S=BJ,C=CN");
-//// subject name
-//            X509Certificate certificate = cak.getSelfCertificate(subject,
-//                    new Date(), 365L * 24L * 60L * 60L * 1000L * 5L);
-//
-//
-//            X509Certificate[] certs = { certificate };
-//
-//
-//            savePfx(Util.rootCA, cak.getPrivateKey(), password, certs, rootPath);
-//            ip = Util.getIpNum(ip);
-//            signCert(rootPath, certPath, user, password, sbh, ip);
-//            map.put("code", "0000");
-//            map.put("msg", "用户证书生成成功");
-//            return map;
-//        } catch (Exception e) {
-//            if (file != null) {
-//                file.delete();
-//            }
-//            File file2 = new File(certPath);
-//            if (file2.exists())
-//                file2.delete();
-//            map.put("code", "9999");
-//            map.put("msg", "生成用户证书发生异常:" + e.getMessage());
-//            return map;
-//        }
-//    }
-//
-//
-//    /**
-//     *
-//     * @param rootPath
-//     *            根证书路径
-//     * @param certPath
-//     *            用户证书路径
-//     * @param user
-//     *            证书使用者
-//     * @param password
-//     *            证书密码
-//     * @param sbh
-//     *            纳税人识别号
-//     * @param ip
-//     *            请求地址的ip
-//     * @throws Exception
-//     */
-//    public void signCert(String rootPath, String certPath, String user,
-//                         String password, String sbh, String ip) throws Exception {
-//        FileInputStream ksfis = null;
-//        try {
-//            KeyStore ks = KeyStore.getInstance("pkcs12");
-//
-//
-//            ksfis = new FileInputStream(rootPath);
-//            char[] storePwd = password.toCharArray();
-//            char[] keyPwd = password.toCharArray();
-//
-//
-//            ks.load(ksfis, storePwd);
-//
-//
-//// 从密钥仓库得到私钥
-//            PrivateKey privK = (PrivateKey) ks.getKey(Util.rootCA, keyPwd);
-//
-//
-//            X509Certificate certificate = (X509Certificate) ks
-//                    .getCertificate(Util.rootCA);
-//
-//
-//            createCert(certificate, privK, genKey(), certPath, user, password,
-//                    sbh, ip);
-//        } finally {
-//            if (ksfis != null)
-//                ksfis.close();
-//        }
-//    }
-//
-//
-//    public KeyPair genKey() throws NoSuchAlgorithmException {
-//        KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
-//        kpg.initialize(1024, sr);
-//        KeyPair kp = kpg.generateKeyPair();
-//        return kp;
-//    }
-//
-//
-//    /**
-//     * 获取证书序列号和公钥
-//     *
-//     * @param path
-//     *            证读取证书的路径
-//     * @param pass
-//     *            读取证书的密码
-//     * @return
-//     */
-//    public Map<String, String> getCertMessage(String path, String pass) {
-//        Map<String, String> map = new HashMap<String, String>();
-//        KeyStore ks;
-//        FileInputStream fis = null;
-//        if (pass == null || "".equals(pass) || path == null || "".equals(path)) {
-//            map.put("code", "-1");
-//            map.put("msg", "参数错误");
-//            return map;
-//        }
-//        try {
-//            ks = KeyStore.getInstance("PKCS12");
-//            fis = new FileInputStream(path);
-//
-//
-//            char[] nPassword = null;
-//            if ((pass == null) || pass.trim().equals("")) {
-//                nPassword = null;
-//            } else {
-//                nPassword = pass.toCharArray();
-//            }
-//            ks.load(fis, nPassword);
-//
-//
-//            X509Certificate cert = (X509Certificate) ks
-//                    .getCertificate(Util.certCA);
-//            PublicKey pubkey = cert.getPublicKey();
-//
-//
-//            byte pb[] = Serializer.serialize(pubkey);
-//            map.put("code", "0000");
-//            map.put("msg", "数据返回成功");
-//            map.put("certNumber", cert.getSerialNumber().toString());
-//            map.put("cert", Base64Utils.encode(pb));
-//            return map;
-//        } catch (FileNotFoundException e) {
-//            map.put("code", "1111");
-//            map.put("msg", "文件没有找到:" + e.getMessage());
-//            return map;
-//        } catch (CertificateException e) {
-//            map.put("code", "2222");
-//            map.put("msg", "读取证书异常:" + e.getMessage());
-//            return map;
-//        } catch (IOException e) {
-//            map.put("code", "4444");
-//            map.put("msg", "IO异常:" + e.getMessage());
-//            return map;
-//        } catch (Exception e) {
-//            map.put("code", "9999");
-//            map.put("msg", "未知异常:" + e.getMessage());
-//            return map;
-//        }finally{
-//            if(fis!=null)
-//                try {
-//                    fis.close();
-//                } catch (IOException e) {
-//                    e.printStackTrace();
-//                }
-//        }
-//    }
-//
-//
-//    /**
-//     * 签名数据
-//     *
-//     * @param path
-//     *            读取证书路径
-//     * @param pass
-//     *            读取证书密码
-//     * @param data
-//     *            待签名数据
-//     * @return
-//     */
-//    public Map<String, String> signData(String path, String pass, String data) {
-//        Map<String, String> map = new HashMap<String, String>();
-//        KeyStore ks;
-//        FileInputStream fis = null;
-//        if (pass == null || "".equals(pass) || path == null || "".equals(path)
-//                || data == null || "".equals(data)) {
-//            map.put("code", "-1");
-//            map.put("msg", "参数错误");
-//            return map;
-//        }
-//        try {
-//            ks = KeyStore.getInstance("PKCS12");
-//
-//
-//            fis = new FileInputStream(path);
-//
-//
-//            char[] nPassword = null;
-//            if ((pass == null) || pass.trim().equals("")) {
-//                nPassword = null;
-//            } else {
-//                nPassword = pass.toCharArray();
-//            }
-//            ks.load(fis, nPassword);
-//            X509Certificate cert = (X509Certificate) ks.getCertificate(Util.certCA);
-//
-//
-//            PrivateKey prikey = (PrivateKey) ks.getKey(Util.certCA, nPassword);
-//
-//
-//            Signature sig = Signature.getInstance("MD5WithRSA");
-//            sig.initSign(prikey);
-//            sig.update(data.getBytes("UTF-8"));
-//            byte b[] = sig.sign();
-//
-//            map.put("code", "0000");
-//            map.put("msg", "数据返回成功");
-//            map.put("certNumber", cert.getSerialNumber().toString());
-//            map.put("sign", Base64Utils.encode(b));
-//            return map;
-//        } catch (FileNotFoundException e) {
-//            map.put("code", "1111");
-//            map.put("msg", "文件没有找到:" + e.getMessage());
-//            return map;
-//        } catch (CertificateException e) {
-//            map.put("code", "2222");
-//            map.put("msg", "读取证书异常:" + e.getMessage());
-//            return map;
-//        } catch (NoSuchAlgorithmException e) {
-//            map.put("code", "2222");
-//            map.put("msg", "读取证书异常:" + e.getMessage());
-//            return map;
-//        } catch (SignatureException e) {
-//            map.put("code", "3333");
-//            map.put("msg", "签名异常:" + e.getMessage());
-//            return map;
-//        } catch (IOException e) {
-//            map.put("code", "4444");
-//            map.put("msg", "IO异常:" + e.getMessage());
-//            return map;
-//        } catch (Exception e) {
-//            map.put("code", "9999");
-//            map.put("msg", "未知异常:" + e.getMessage());
-//            return map;
-//        } finally {
-//            if (fis != null)
-//                try {
-//                    fis.close();
-//                } catch (IOException e) {
-//                    System.out.println(e.getMessage());
-//                }
-//        }
-//    }
-//
-//
-//    public void verify(String key,String sign,String signData) throws Exception{
-//        byte []pb = Base64Utils.decode(key);
-//        PublicKey pk = (PublicKey) Serializer.unserialize(pb);
-//        Signature sig2=Signature.getInstance("MD5WithRSA");
-//        sig2.initVerify(pk);
-//        sig2.update(sign.getBytes("UTF-8"));
-//        System.out.println("验签结果是:"+sig2.verify(Base64Utils.decode(signData)));
-//    }
-//    public static void main(String[] args) {
-//        try {
-//            GenX509Cert gcert = new GenX509Cert();
-//            String data = "adowdn@#&kajdk";
-//            Map<String, String> map = gcert.createCA("133456", "小科", "e:",
-//                    "123456", "10.26.27.28");
-//            System.out.println(map.get("code") + "\t" + map.get("msg"));
-//            Map<String, String> map1 = gcert.getCertMessage("e:/133456.pfx",
-//                    "123456");
-//            for (Entry<String, String> e : map1.entrySet()) {
-//                System.out.println(e.getKey() + "-->" + e.getValue());
-//            }
-//            Map<String, String> map2 = gcert.signData("e:/133456.pfx",
-//                    "123456", data);
-//            for (Entry<String, String> e : map2.entrySet()) {
-//                System.out.println(e.getKey() + "-->" + e.getValue());
-//            }
-//            gcert.verify(map1.get("cert"), data, map2.get("sign"));
-//        } catch (Exception e) {
-//            e.printStackTrace();
-//        }
-//    }
-//
-//}

+ 0 - 199
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/sign/itext5/ItextUtils.java

@@ -1,199 +0,0 @@
-package org.jeecg.modules.ctop.sign.itext5;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.math.BigInteger;
-import java.security.KeyPair;
-import java.security.KeyPairGenerator;
-import java.security.KeyStore;
-import java.security.NoSuchAlgorithmException;
-import java.security.PrivateKey;
-import java.security.PublicKey;
-import java.security.SecureRandom;
-import java.security.cert.Certificate;
-import java.security.cert.CertificateFactory;
-import java.security.cert.X509Certificate;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
-
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.ASN1Primitive;
-import org.bouncycastle.asn1.x500.X500Name;
-import org.bouncycastle.asn1.x509.BasicConstraints;
-import org.bouncycastle.asn1.x509.CRLDistPoint;
-import org.bouncycastle.asn1.x509.DistributionPoint;
-import org.bouncycastle.asn1.x509.DistributionPointName;
-import org.bouncycastle.asn1.x509.GeneralName;
-import org.bouncycastle.asn1.x509.GeneralNames;
-import org.bouncycastle.asn1.x509.KeyUsage;
-import org.bouncycastle.cert.X509CertificateHolder;
-import org.bouncycastle.cert.X509v3CertificateBuilder;
-import org.bouncycastle.cert.jcajce.JcaX509v3CertificateBuilder;
-import org.bouncycastle.jce.provider.BouncyCastleProvider;
-import org.bouncycastle.operator.ContentSigner;
-import org.bouncycastle.operator.jcajce.JcaContentSignerBuilder;
-
-public class ItextUtils {
-    private static KeyPair getKey() throws NoSuchAlgorithmException {
-        // 密钥对 生成器,RSA算法 生成的  提供者是 BouncyCastle
-        KeyPairGenerator generator = KeyPairGenerator.getInstance("RSA", new BouncyCastleProvider());
-        // 密钥长度 1024
-        generator.initialize(1024);
-        // 证书中的密钥 公钥和私钥
-        KeyPair keyPair = generator.generateKeyPair();
-        return keyPair;
-    }
-
-    /**
-     * @param password       密码
-     * @param issuerStr      颁发机构信息
-     * @param subjectStr     使用者信息
-     * @param certificateCrl 颁发地址
-     * @return
-     */
-    public static Map<String, byte[]> createCert(String password, String issuerStr, String subjectStr, String certificateCrl) {
-
-        Map<String, byte[]> result = new HashMap<String, byte[]>();
-        ByteArrayOutputStream out = null;
-        try {
-            //  生成JKS证书
-            //  KeyStore keyStore = KeyStore.getInstance("JKS");
-            //  标志生成PKCS12证书
-            KeyStore keyStore = KeyStore.getInstance("PKCS7", new BouncyCastleProvider());
-            keyStore.load(null, null);
-            KeyPair keyPair = getKey();
-            //  issuer与 subject相同的证书就是CA证书
-            Certificate cert = generateCertificateV3(issuerStr, subjectStr, keyPair, result, certificateCrl, null);
-            // cretkey随便写,标识别名
-            keyStore.setKeyEntry("cretkey", keyPair.getPrivate(), password.toCharArray(), new Certificate[]{cert});
-            out = new ByteArrayOutputStream();
-            cert.verify(keyPair.getPublic());
-            keyStore.store(out, password.toCharArray());
-            byte[] keyStoreData = out.toByteArray();
-            result.put("keyStoreData", keyStoreData);
-            return result;
-        } catch (Exception e) {
-            e.printStackTrace();
-        } finally {
-            if (out != null) {
-                try {
-                    out.close();
-                } catch (IOException e) {
-                }
-            }
-        }
-        return result;
-    }
-
-    /**
-     * @param issuerStr
-     * @param subjectStr
-     * @param keyPair
-     * @param result
-     * @param certificateCrl
-     * @param extensions
-     * @return
-     */
-    public static Certificate generateCertificateV3(String issuerStr, String subjectStr, KeyPair keyPair, Map<String, byte[]> result,
-                                                    String certificateCrl, List<Extension> extensions) {
-
-        ByteArrayInputStream bout = null;
-        X509Certificate cert = null;
-        try {
-            PublicKey publicKey = keyPair.getPublic();
-            PrivateKey privateKey = keyPair.getPrivate();
-            Date notBefore = new Date();
-            Calendar rightNow = Calendar.getInstance();
-            rightNow.setTime(notBefore);
-            // 日期加1年
-            rightNow.add(Calendar.YEAR, 1);
-            Date notAfter = rightNow.getTime();
-            // 证书序列号
-            BigInteger serial = BigInteger.probablePrime(256, new Random());
-            X509v3CertificateBuilder builder = new JcaX509v3CertificateBuilder(
-                    new X500Name(issuerStr), serial, notBefore, notAfter, new X500Name(subjectStr), publicKey);
-            JcaContentSignerBuilder jBuilder = new JcaContentSignerBuilder("SHA1withRSA");
-            SecureRandom secureRandom = new SecureRandom();
-            jBuilder.setSecureRandom(secureRandom);
-            ContentSigner singer = jBuilder.setProvider(new BouncyCastleProvider()).build(privateKey);
-            // 分发点
-            ASN1ObjectIdentifier crlDistributionPoints = new ASN1ObjectIdentifier("2.5.29.31");
-            GeneralName generalName = new GeneralName(GeneralName.uniformResourceIdentifier, certificateCrl);
-            GeneralNames seneralNames = new GeneralNames(generalName);
-            DistributionPointName distributionPoint = new DistributionPointName(seneralNames);
-            DistributionPoint[] points = new DistributionPoint[1];
-            points[0] = new DistributionPoint(distributionPoint, null, null);
-            CRLDistPoint crlDistPoint = new CRLDistPoint(points);
-            builder.addExtension(crlDistributionPoints, true, crlDistPoint);
-            // 用途
-            ASN1ObjectIdentifier keyUsage = new ASN1ObjectIdentifier("2.5.29.15");
-            // | KeyUsage.nonRepudiation | KeyUsage.keyCertSign
-            builder.addExtension(keyUsage, true, new KeyUsage(KeyUsage.digitalSignature | KeyUsage.keyEncipherment));
-            // 基本限制 X509Extension.java
-            ASN1ObjectIdentifier basicConstraints = new ASN1ObjectIdentifier("2.5.29.19");
-            builder.addExtension(basicConstraints, true, new BasicConstraints(true));
-            // privKey:使用自己的私钥进行签名,CA证书
-            if (extensions != null) {
-                for (Extension ext : extensions) {
-                    builder.addExtension(
-                            new ASN1ObjectIdentifier(ext.getOid()),
-                            ext.isCritical(),
-                            ASN1Primitive.fromByteArray(ext.getValue()));
-                }
-            }
-            X509CertificateHolder holder = builder.build(singer);
-            CertificateFactory cf = CertificateFactory.getInstance("X.509");
-            bout = new ByteArrayInputStream(holder.toASN1Structure().getEncoded());
-            cert = (X509Certificate) cf.generateCertificate(bout);
-            byte[] certBuf = holder.getEncoded();
-            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
-            // 证书数据
-            result.put("certificateData", certBuf);
-            //公钥
-            result.put("publicKey", publicKey.getEncoded());
-            //私钥
-            result.put("privateKey", privateKey.getEncoded());
-            //证书有效开始时间
-            result.put("notBefore", format.format(notBefore).getBytes("utf-8"));
-            //证书有效结束时间
-            result.put("notAfter", format.format(notAfter).getBytes("utf-8"));
-        } catch (Exception e) {
-            e.printStackTrace();
-        } finally {
-            if (bout != null) {
-                try {
-                    bout.close();
-                } catch (IOException e) {
-                }
-            }
-        }
-        return cert;
-    }
-
-    public static void main(String[] args) throws Exception {
-        // CN: 名字与姓氏    OU : 组织单位名称
-        // O :组织名称  L : 城市或区域名称  E : 电子邮件
-        // ST: 州或省份名称  C: 单位的两字母国家代码
-        String issuerStr = "CN=天天凭证,OU=研发部,O=gitbook有限公司,C=CN,E=gitbook@sina.com,L=北京,ST=北京";
-        String subjectStr = "CN=huangjinjin,OU=用户,O=借款人,C=CN,E=huangjinjin@sina.com,L=北京,ST=北京";
-        String certificateCrl = "https://gitbook.cn";
-        Map<String, byte[]> result = createCert("123456", issuerStr, subjectStr, certificateCrl);
-// 生成.p12
-//		FileOutputStream outPutStream = new FileOutputStream("C:/pdf/keystore.p12");
-//		outPutStream.write(result.get("keyStoreData"));
-//		outPutStream.close();
-        //生成.p12颁发给用户的证书
-        FileOutputStream fos = new FileOutputStream(new File("D:/sign/zheng.cer"));
-        fos.write(result.get("certificateData"));
-        fos.flush();
-        fos.close();
-    }
-}

+ 0 - 281
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/sign/itext5/Pkcs.java

@@ -1,281 +0,0 @@
-package org.jeecg.modules.ctop.sign.itext5;
-
-import java.io.*;
-import java.math.BigInteger;
-import java.security.*;
-import java.security.cert.*;
-import java.security.cert.Certificate;
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-import org.bouncycastle.asn1.ASN1ObjectIdentifier;
-import org.bouncycastle.asn1.ASN1Primitive;
-import org.bouncycastle.asn1.x500.X500Name;
-import org.bouncycastle.asn1.x509.BasicConstraints;
-import org.bouncycastle.asn1.x509.CRLDistPoint;
-import org.bouncycastle.asn1.x509.DistributionPoint;
-import org.bouncycastle.asn1.x509.DistributionPointName;
-import org.bouncycastle.asn1.x509.GeneralName;
-import org.bouncycastle.asn1.x509.GeneralNames;
-import org.bouncycastle.asn1.x509.KeyUsage;
-import org.bouncycastle.cert.X509CertificateHolder;
-import org.bouncycastle.cert.X509v3CertificateBuilder;
-import org.bouncycastle.cert.jcajce.JcaX509v3CertificateBuilder;
-import org.bouncycastle.cms.CMSSignedData;
-import org.bouncycastle.cms.SignerInformation;
-import org.bouncycastle.cms.SignerInformationStore;
-import org.bouncycastle.jce.provider.BouncyCastleProvider;
-import org.bouncycastle.operator.ContentSigner;
-import org.bouncycastle.operator.jcajce.JcaContentSignerBuilder;
-
-public class Pkcs {
-
-    private static KeyPair getKey() throws NoSuchAlgorithmException {
-        KeyPairGenerator generator = KeyPairGenerator.getInstance("RSA",
-                new BouncyCastleProvider());
-        generator.initialize(1024);
-        // 证书中的密钥 公钥和私钥
-        KeyPair keyPair = generator.generateKeyPair();
-        return keyPair;
-    }
-
-    /**
-     * @param password       密码
-     * @param issuerStr      颁发机构信息
-     * @param subjectStr     使用者信息
-     * @param certificateCrl 颁发地址
-     * @return
-     */
-    public static Map<String, byte[]> createCert(String password,
-                                                 String issuerStr, String subjectStr, String certificateCrl) {
-        Map<String, byte[]> result = new HashMap<String, byte[]>();
-        ByteArrayOutputStream out = null;
-        try {
-            // 生成JKS证书
-            // KeyStore keyStore = KeyStore.getInstance("JKS");
-            // 标志生成PKCS12证书
-            KeyStore keyStore = KeyStore.getInstance("PKCS12",
-                    new BouncyCastleProvider());
-            keyStore.load(null, null);
-            KeyPair keyPair = getKey();
-            // issuer与 subject相同的证书就是CA证书
-            Certificate cert = generateCertificateV3(issuerStr, subjectStr,
-                    keyPair, result, certificateCrl, null);
-            // cretkey随便写,标识别名
-            keyStore.setKeyEntry("cretkey", keyPair.getPrivate(),
-                    password.toCharArray(), new Certificate[]{cert});
-            out = new ByteArrayOutputStream();
-            cert.verify(keyPair.getPublic());
-            keyStore.store(out, password.toCharArray());
-            byte[] keyStoreData = out.toByteArray();
-            result.put("keyStoreData", keyStoreData);
-            return result;
-        } catch (Exception e) {
-            e.printStackTrace();
-        } finally {
-            if (out != null) {
-                try {
-                    out.close();
-                } catch (IOException e) {
-                }
-            }
-        }
-        return result;
-    }
-
-    /**
-     * @param issuerStr
-     * @param subjectStr
-     * @param keyPair
-     * @param result
-     * @param certificateCrl
-     * @param extensions
-     * @return
-     */
-    public static Certificate generateCertificateV3(String issuerStr,
-                                                    String subjectStr, KeyPair keyPair, Map<String, byte[]> result,
-                                                    String certificateCrl, List<Extension> extensions) {
-        ByteArrayInputStream bout = null;
-        X509Certificate cert = null;
-        try {
-            PublicKey publicKey = keyPair.getPublic();
-            PrivateKey privateKey = keyPair.getPrivate();
-            Date notBefore = new Date();
-            Calendar rightNow = Calendar.getInstance();
-            rightNow.setTime(notBefore);
-            // 日期加1年
-            rightNow.add(Calendar.YEAR, 1);
-            Date notAfter = rightNow.getTime();
-            // 证书序列号
-            BigInteger serial = BigInteger.probablePrime(256, new Random());
-            X509v3CertificateBuilder builder = new JcaX509v3CertificateBuilder(
-                    new X500Name(issuerStr), serial, notBefore, notAfter,
-                    new X500Name(subjectStr), publicKey);
-            JcaContentSignerBuilder jBuilder = new JcaContentSignerBuilder(
-                    "SHA1withRSA");
-            SecureRandom secureRandom = new SecureRandom();
-            jBuilder.setSecureRandom(secureRandom);
-            ContentSigner singer = jBuilder.setProvider(
-                    new BouncyCastleProvider()).build(privateKey);
-            // 分发点
-            ASN1ObjectIdentifier crlDistributionPoints = new ASN1ObjectIdentifier(
-                    "2.5.29.31");
-            GeneralName generalName = new GeneralName(
-                    GeneralName.uniformResourceIdentifier, certificateCrl);
-            GeneralNames seneralNames = new GeneralNames(generalName);
-            DistributionPointName distributionPoint = new DistributionPointName(
-                    seneralNames);
-            DistributionPoint[] points = new DistributionPoint[1];
-            points[0] = new DistributionPoint(distributionPoint, null, null);
-            CRLDistPoint crlDistPoint = new CRLDistPoint(points);
-            builder.addExtension(crlDistributionPoints, true, crlDistPoint);
-            // 用途
-            ASN1ObjectIdentifier keyUsage = new ASN1ObjectIdentifier(
-                    "2.5.29.15");
-            // | KeyUsage.nonRepudiation | KeyUsage.keyCertSign
-            builder.addExtension(keyUsage, true, new KeyUsage(
-                    KeyUsage.digitalSignature | KeyUsage.keyEncipherment));
-            // 基本限制 X509Extension.java
-            ASN1ObjectIdentifier basicConstraints = new ASN1ObjectIdentifier(
-                    "2.5.29.19");
-            builder.addExtension(basicConstraints, true, new BasicConstraints(
-                    true));
-            // privKey:使用自己的私钥进行签名,CA证书
-            if (extensions != null) {
-                for (Extension ext : extensions) {
-                    builder.addExtension(
-                            new ASN1ObjectIdentifier(ext.getOid()),
-                            ext.isCritical(),
-                            ASN1Primitive.fromByteArray(ext.getValue()));
-                }
-            }
-            X509CertificateHolder holder = builder.build(singer);
-            CertificateFactory cf = CertificateFactory.getInstance("X.509");
-            bout = new ByteArrayInputStream(holder.toASN1Structure()
-                    .getEncoded());
-            cert = (X509Certificate) cf.generateCertificate(bout);
-            byte[] certBuf = holder.getEncoded();
-            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
-            // 证书数据
-            result.put("certificateData", certBuf);
-            //公钥
-            result.put("publicKey", publicKey.getEncoded());
-            //私钥
-            result.put("privateKey", privateKey.getEncoded());
-            //证书有效开始时间
-            result.put("notBefore", format.format(notBefore).getBytes("utf-8"));
-            //证书有效结束时间
-            result.put("notAfter", format.format(notAfter).getBytes("utf-8"));
-        } catch (Exception e) {
-            e.printStackTrace();
-        } finally {
-            if (bout != null) {
-                try {
-                    bout.close();
-                } catch (IOException e) {
-                }
-            }
-        }
-        return cert;
-    }
-
-    /**
-     * 使用java自带的安全包。由于jdk中没有对PKCS#7格式签名数据的处理。在做验证时需要三个参数:原文;签名数据和签名者证书/签名者公钥,都是BASE64编码
-     *
-     * @param signData
-     * @param signedData
-     * @param cert
-     * @return
-     */
-    public boolean signedDataVerify(byte[] signData, byte[] signedData, byte[] cert) {
-        boolean verifyRet = true;
-        try {
-            // 创建Factory对象
-            CertificateFactory oCf = CertificateFactory.getInstance("X.509");
-            // 创建X509证书对象
-            InputStream ois = new ByteArrayInputStream(cert);
-            X509Certificate oCert = (X509Certificate) oCf.generateCertificate(ois);
-            // 创建签名对象
-            Signature oSign = Signature.getInstance("SHA1withRSA");
-            // 初始化签名对象
-            oSign.initVerify(oCert);
-            // 传入签名原文
-            oSign.update(signData);
-            // 验证数字签名
-            verifyRet = oSign.verify(signedData);
-        } catch (Exception e) {
-            verifyRet = false;
-            e.printStackTrace();
-            System.out.println("验证数字签名失败");
-        }
-        return verifyRet;
-    }
-
-    /**
-     * 通过bouncycastle的CMSSignedData可以实现pkcs#7格式签名数据的验证,利用CMSSignedData生成pkcs#7格式签名数据。由于pkcs#7里面包含了原文和证书信息,所以参数只需要签名值即可
-     *
-     * @param signedData
-     * @return
-     */
-    public boolean signedDataVerify(byte[] signedData) {
-        boolean verifyRet = true;
-        try {
-            // 新建PKCS#7签名数据处理对象
-            CMSSignedData sign = new CMSSignedData(signedData);
-
-            // 添加BouncyCastle作为安全提供
-            Security.addProvider(new
-                    org.bouncycastle.jce.provider.BouncyCastleProvider());
-
-            // 获得证书信息
-            CertStore certs = sign.getCertificatesAndCRLs("Collection", "BC");
-
-            // 获得签名者信息
-            SignerInformationStore signers = sign.getSignerInfos();
-            Collection c = signers.getSigners();
-            Iterator it = c.iterator();
-
-            // 当有多个签名者信息时需要全部验证
-            while (it.hasNext()) {
-                SignerInformation signer = (SignerInformation) it.next();
-
-                // 证书链
-                Collection certCollection = certs.getCertificates((CertSelector) signer
-                        .getSID());
-                Iterator certIt = certCollection.iterator();
-                X509Certificate cert = (X509Certificate) certIt.next();
-
-                // 验证数字签名
-                if (signer.verify(cert.getPublicKey(), "BC")) {
-                    verifyRet = true;
-                } else {
-                    verifyRet = false;
-                }
-            }
-
-        } catch (Exception e) {
-            verifyRet = false;
-            e.printStackTrace();
-            System.out.println("验证数字签名失败");
-        }
-        return verifyRet;
-    }
-
-    public static void main(String[] args) throws Exception {
-        // CN: 名字与姓氏    OU : 组织单位名称
-        // O :组织名称  L : 城市或区域名称  E : 电子邮件
-        // ST: 州或省份名称  C: 单位的两字母国家代码
-        String issuerStr = "CN=在线医院,OU=gitbook研发部,O=gitbook有限公司,C=CN,E=gitbook@sina.com,L=北京,ST=北京";
-        String subjectStr = "CN=huangjinjin,OU=gitbook研发部,O=gitbook有限公司,C=CN,E=huangjinjin@sina.com,L=北京,ST=北京";
-        String certificateCrl = "https://gitbook.cn";
-        Map<String, byte[]> result = createCert("123456", issuerStr, subjectStr, certificateCrl);
-        // ca.jks
-        FileOutputStream outPutStream = new FileOutputStream("D:/keystore.p12");
-        outPutStream.write(result.get("keyStoreData"));
-        outPutStream.close();
-        FileOutputStream fos = new FileOutputStream(new File("D:/keystore.cer"));
-        fos.write(result.get("certificateData"));
-        fos.flush();
-        fos.close();
-    }
-}

+ 0 - 138
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/sign/itext5/SignHighPdf.java

@@ -1,138 +0,0 @@
-package org.jeecg.modules.ctop.sign.itext5;
-
-import java.io.*;
-import java.security.KeyStore;
-import java.security.PrivateKey;
-import java.security.Security;
-import java.security.cert.Certificate;
-
-import org.bouncycastle.jce.provider.BouncyCastleProvider;
-
-import com.itextpdf.awt.AsianFontMapper;
-import com.itextpdf.text.BaseColor;
-import com.itextpdf.text.Element;
-import com.itextpdf.text.Font;
-import com.itextpdf.text.Paragraph;
-import com.itextpdf.text.Rectangle;
-import com.itextpdf.text.pdf.BaseFont;
-import com.itextpdf.text.pdf.ColumnText;
-import com.itextpdf.text.pdf.PdfReader;
-import com.itextpdf.text.pdf.PdfSignatureAppearance;
-import com.itextpdf.text.pdf.PdfStamper;
-import com.itextpdf.text.pdf.PdfStream;
-import com.itextpdf.text.pdf.PdfTemplate;
-import com.itextpdf.text.pdf.security.BouncyCastleDigest;
-import com.itextpdf.text.pdf.security.DigestAlgorithms;
-import com.itextpdf.text.pdf.security.ExternalDigest;
-import com.itextpdf.text.pdf.security.ExternalSignature;
-import com.itextpdf.text.pdf.security.MakeSignature;
-import com.itextpdf.text.pdf.security.MakeSignature.CryptoStandard;
-import com.itextpdf.text.pdf.security.PrivateKeySignature;
-
-
-public class SignHighPdf {
-
-    /**
-     * @param password     秘钥密码
-     * @param keyStorePath 秘钥文件路径
-     * @param signPdfSrc   签名的PDF文件
-     * @param x
-     * @param y
-     * @return
-     */
-    public static byte[] sign(String password, String keyStorePath, String signPdfSrc,
-                              float x, float y,
-                              String signText) {
-        File signPdfSrcFile = new File(signPdfSrc);
-        PdfReader reader = null;
-        ByteArrayOutputStream signPdfData = null;
-        PdfStamper stp = null;
-        FileInputStream fos = null;
-        try {
-            BouncyCastleProvider provider = new BouncyCastleProvider();
-            Security.addProvider(provider);
-            KeyStore ks = KeyStore.getInstance("PKCS12", new BouncyCastleProvider());
-            fos = new FileInputStream(keyStorePath);
-            // 私钥密码
-            ks.load(fos, password.toCharArray());
-            String alias = (String) ks.aliases().nextElement();
-            PrivateKey key = (PrivateKey) ks.getKey(alias, password.toCharArray());
-            Certificate[] chain = ks.getCertificateChain(alias);
-            reader = new PdfReader(signPdfSrc);
-            signPdfData = new ByteArrayOutputStream();
-            // 临时pdf文件
-            File temp = new File(signPdfSrcFile.getParent(), System.currentTimeMillis() + ".pdf");
-            stp = PdfStamper.createSignature(reader, signPdfData, '\0', temp, true);
-            PdfSignatureAppearance sap = stp.getSignatureAppearance();
-            sap.setReason("数字签名,不可改变");
-            // 是对应x轴和y轴坐标
-            sap.setVisibleSignature(new Rectangle(x, y, x + 150, y + 65), 1,
-                    "sr" + String.valueOf(System.nanoTime()));
-            /////////////////layer 0 Creating the appearance for layer 0
-            PdfTemplate n0 = sap.getLayer(0);
-            n0.reset();
-            float lx = n0.getBoundingBox().getLeft();
-            float by = n0.getBoundingBox().getBottom();
-            float width = n0.getBoundingBox().getWidth();
-            float height = n0.getBoundingBox().getHeight();
-            n0.setRGBColorFill(255, 0, 0);
-            n0.rectangle(lx, by, 5, height);
-            n0.rectangle(lx, by, width, 5);
-            n0.rectangle(lx, by + height - 5, width, 5);
-            n0.rectangle(lx + width - 5, by, 5, height);
-            n0.fill();
-            ///////////////////////layer 2
-            PdfTemplate n2 = sap.getLayer(2);
-            n2.setCharacterSpacing(0.0f);
-            ColumnText ct = new ColumnText(n2);
-            ct.setSimpleColumn(n2.getBoundingBox());
-            n2.setRGBColorFill(255, 0, 0);
-            //做一个占位的动作
-            Paragraph p1 = new Paragraph(" ");
-            BaseFont bf = BaseFont.createFont(AsianFontMapper.ChineseSimplifiedFont, AsianFontMapper.ChineseSimplifiedEncoding_H,
-                    BaseFont.NOT_EMBEDDED);
-            Font font1 = new Font(bf, 5, Font.BOLD, BaseColor.RED);
-            Font font2 = new Font(bf, 13, Font.BOLD, BaseColor.RED);
-            p1.setFont(font1);
-            ct.addElement(p1);
-            Paragraph p = new Paragraph(signText);
-            p.setAlignment(Element.ALIGN_CENTER);
-            p.setFont(font2);
-            ct.addElement(p);
-            ct.go();
-            stp.getWriter().setCompressionLevel(PdfStream.BEST_COMPRESSION);
-            ExternalDigest digest = new BouncyCastleDigest();
-            ExternalSignature signature = new PrivateKeySignature(key, DigestAlgorithms.SHA512, provider.getName());
-            MakeSignature.signDetached(sap, digest, signature, chain, null, null, null, 0, CryptoStandard.CADES);
-            stp.close();
-            reader.close();
-            return signPdfData.toByteArray();
-        } catch (Exception e) {
-            e.printStackTrace();
-        } finally {
-            if (signPdfData != null) {
-                try {
-                    signPdfData.close();
-                } catch (IOException e) {
-                }
-            }
-            if (fos != null) {
-                try {
-                    fos.close();
-                } catch (IOException e) {
-                }
-            }
-        }
-        return null;
-    }
-
-    public static void main(String[] args) throws Exception {
-        //对已经签章的signed.pdf文件再次签章,这次是高清签章
-        byte[] fileData = sign("123456", "C:\\Users\\syh\\Desktop\\keystore.p12",
-                "C:\\Users\\syh\\Desktop\\test.pdf", 350, 290, "华佗\n2017-12-20");
-        FileOutputStream f = new FileOutputStream(new File("C:\\Users\\syh\\Desktop\\signed2.pdf"));
-        f.write(fileData);
-        f.close();
-    }
-
-}

+ 0 - 101
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/sign/itext5/SignImage.java

@@ -1,101 +0,0 @@
-//package org.jeecg.modules.ctop.sign.itext5;
-//
-//import java.awt.Color;
-//import java.awt.Font;
-//import java.awt.FontMetrics;
-//import java.awt.Graphics2D;
-//import java.awt.RenderingHints;
-//import java.awt.image.BufferedImage;
-//import java.io.FileOutputStream;
-//import java.io.IOException;
-//
-//import sun.font.FontDesignMetrics;
-//
-//import com.sun.image.codec.jpeg.JPEGCodec;
-//import com.sun.image.codec.jpeg.JPEGEncodeParam;
-//import com.sun.image.codec.jpeg.JPEGImageEncoder;
-//
-//public class SignImage {
-//
-//    /**
-//     * @param doctorName   String 医生名字
-//     * @param hospitalName String 医生名称
-//     * @param date         String 签名日期
-//     *                     图片高度
-//     * @param jpgname      String jpg图片名
-//     * @return
-//     */
-//    public static boolean createSignTextImg(
-//            String doctorName, //
-//            String hospitalName, //
-//            String date,
-//            String jpgname) {
-//        int width = 255;
-//        int height = 100;
-//        FileOutputStream out = null;
-//        //背景色
-//        Color bgcolor = Color.WHITE;
-//        //字色
-//        Color fontcolor = Color.RED;
-//        Font doctorNameFont = new Font(null, Font.BOLD, 20);
-//        Font othorTextFont = new Font(null, Font.BOLD, 18);
-//        try { // 宽度 高度
-//            BufferedImage bimage = new BufferedImage(width, height,
-//                    BufferedImage.TYPE_INT_RGB);
-//            Graphics2D g = bimage.createGraphics();
-//            g.setColor(bgcolor); // 背景色
-//            g.fillRect(0, 0, width, height); // 画一个矩形
-//            g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
-//                    RenderingHints.VALUE_ANTIALIAS_ON); // 去除锯齿(当设置的字体过大的时候,会出现锯齿)
-//
-//            g.setColor(Color.RED);
-//            g.fillRect(0, 0, 8, height);
-//            g.fillRect(0, 0, width, 8);
-//            g.fillRect(0, height - 8, width, height);
-//            g.fillRect(width - 8, 0, width, height);
-//
-//            g.setColor(fontcolor); // 字的颜色
-//            g.setFont(doctorNameFont); // 字体字形字号
-//            FontMetrics fm = FontDesignMetrics.getMetrics(doctorNameFont);
-//            int font1_Hight = fm.getHeight();
-//            int strWidth = fm.stringWidth(doctorName);
-//            int y = 35;
-//            int x = (width - strWidth) / 2;
-//            g.drawString(doctorName, x, y); // 在指定坐标除添加文字
-//
-//            g.setFont(othorTextFont); // 字体字形字号
-//
-//            fm = FontDesignMetrics.getMetrics(othorTextFont);
-//            int font2_Hight = fm.getHeight();
-//            strWidth = fm.stringWidth(hospitalName);
-//            x = (width - strWidth) / 2;
-//            g.drawString(hospitalName, x, y + font1_Hight); // 在指定坐标除添加文字
-//
-//            strWidth = fm.stringWidth(date);
-//            x = (width - strWidth) / 2;
-//            g.drawString(date, x, y + font1_Hight + font2_Hight); // 在指定坐标除添加文字
-//
-//            g.dispose();
-//            out = new FileOutputStream(jpgname); // 指定输出文件
-//            JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
-//            JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bimage);
-//            param.setQuality(50f, true);
-//            encoder.encode(bimage, param); // 存盘
-//            out.flush();
-//            return true;
-//        } catch (Exception e) {
-//            return false;
-//        } finally {
-//            if (out != null) {
-//                try {
-//                    out.close();
-//                } catch (IOException e) {
-//                }
-//            }
-//        }
-//    }
-//
-//    public static void main(String[] args) {
-//        createSignTextImg("华佗", "在线医院", "2018.01.01", "C:\\sign.jpg");
-//    }
-//}

+ 0 - 98
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/sign/itext5/SignPdf.java

@@ -1,98 +0,0 @@
-package org.jeecg.modules.ctop.sign.itext5;
-
-import com.itextpdf.text.Image;
-import com.itextpdf.text.Rectangle;
-import com.itextpdf.text.pdf.PdfReader;
-import com.itextpdf.text.pdf.PdfSignatureAppearance;
-import com.itextpdf.text.pdf.PdfSignatureAppearance.RenderingMode;
-import com.itextpdf.text.pdf.PdfStamper;
-import com.itextpdf.text.pdf.security.*;
-import com.itextpdf.text.pdf.security.MakeSignature.CryptoStandard;
-import org.bouncycastle.jce.provider.BouncyCastleProvider;
-
-import java.io.*;
-import java.security.KeyStore;
-import java.security.PrivateKey;
-import java.security.Security;
-import java.security.cert.Certificate;
-import java.util.UUID;
-
-
-public class SignPdf {
-    /**
-     * @param password     秘钥密码
-     * @param keyStorePath 秘钥文件路径
-     * @param signPdfSrc   签名的PDF文件
-     * @param signImage    签名图片文件
-     * @param x            x坐标
-     * @param y            y坐标
-     * @return
-     */
-    public static byte[] sign(String password, String keyStorePath, String signPdfSrc, String signImage,
-                              float x, float y) {
-        File signPdfSrcFile = new File(signPdfSrc);
-        PdfReader reader = null;
-        ByteArrayOutputStream signPdfData = null;
-        PdfStamper stp = null;
-        FileInputStream fos = null;
-        try {
-            BouncyCastleProvider provider = new BouncyCastleProvider();
-            Security.addProvider(provider);
-            KeyStore ks = KeyStore.getInstance("JKS", new BouncyCastleProvider());
-            fos = new FileInputStream(keyStorePath);
-            // 私钥密码 为Pkcs生成证书是的私钥密码 123456
-            ks.load(fos, password.toCharArray());
-            String alias = (String) ks.aliases().nextElement();
-            PrivateKey key = (PrivateKey) ks.getKey(alias, password.toCharArray());
-            Certificate[] chain = ks.getCertificateChain(alias);
-            reader = new PdfReader(signPdfSrc);
-            signPdfData = new ByteArrayOutputStream();
-            // 临时pdf文件
-            File temp = new File(signPdfSrcFile.getParent(), System.currentTimeMillis() + ".pdf");
-            stp = PdfStamper.createSignature(reader, signPdfData, '\0', temp, true);
-            stp.setFullCompression();
-            PdfSignatureAppearance sap = stp.getSignatureAppearance();
-            sap.setReason("数字签名,不可改变");
-            // 使用png格式透明图片
-            Image image = Image.getInstance(signImage);
-            sap.setImageScale(0);
-            sap.setSignatureGraphic(image);
-            sap.setRenderingMode(RenderingMode.GRAPHIC);
-            // 是对应x轴和y轴坐标
-            sap.setVisibleSignature(new Rectangle(x, y, x + 185, y + 68), 1,
-                    UUID.randomUUID().toString().replaceAll("-", ""));
-            stp.getWriter().setCompressionLevel(5);
-            ExternalDigest digest = new BouncyCastleDigest();
-            ExternalSignature signature = new PrivateKeySignature(key, DigestAlgorithms.SHA512, provider.getName());
-            MakeSignature.signDetached(sap, digest, signature, chain, null, null, null, 0, CryptoStandard.CADES);
-            stp.close();
-            reader.close();
-            return signPdfData.toByteArray();
-        } catch (Exception e) {
-            e.printStackTrace();
-        } finally {
-            if (signPdfData != null) {
-                try {
-                    signPdfData.close();
-                } catch (IOException e) {
-                }
-            }
-            if (fos != null) {
-                try {
-                    fos.close();
-                } catch (IOException e) {
-                }
-            }
-        }
-        return null;
-    }
-
-    public static void main(String[] args) throws Exception {
-        byte[] fileData = sign("123456", "C:\\Users\\宋英豪\\Desktop\\sign\\keystore.p12",
-                "C:\\Users\\宋英豪\\Desktop\\sign\\test.pdf",
-                "C:\\Users\\宋英豪\\Desktop\\sign\\sign.jpg", 100, 290);
-        FileOutputStream f = new FileOutputStream(new File("C:\\Users\\宋英豪\\Desktop\\sign\\signed.pdf"));
-        f.write(fileData);
-        f.close();
-    }
-}

+ 0 - 21
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/sign/itext7/PdfSignInfo.java

@@ -1,21 +0,0 @@
-package org.jeecg.modules.ctop.sign.itext7;
-
-import lombok.Data;
-
-import java.util.Date;
-
-/**
- * 获取签名信息实体类
- */
-@Data
-public class PdfSignInfo {
-    private Date signDate;
-    private String digestAlgorithm;
-    private String reason;
-    private String location;
-    private String signatureName;
-    private String encryptionAlgorithm;
-    private String signerName;
-    private String contactInfo;
-    private int revisionNumber;
-}

+ 0 - 29
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/sign/itext7/Sign7.java

@@ -1,29 +0,0 @@
-//package org.jeecg.modules.ctop.sign.itext7;
-//
-//import com.itextpdf.text.DocumentException;
-//import com.itextpdf.text.Image;
-//import com.itextpdf.text.Rectangle;
-//import com.itextpdf.text.pdf.*;
-//
-//import java.io.ByteArrayInputStream;
-//import java.io.FileOutputStream;
-//import java.io.IOException;
-//import java.io.InputStream;
-//import java.security.GeneralSecurityException;
-//
-//public class Sign7 {
-//    public void get() throws Exception {
-//        PdfReader reader = new PdfReader("C:\\Users\\宋英豪\\Desktop\\sign\\test.pdf");
-//        FileOutputStream fout = new FileOutputStream("C:\\Users\\宋英豪\\Desktop\\sign\\signed.pdf");
-//        PdfStamper stp = PdfStamper.createSignature(reader,fout,'\0',null,true);
-//        PdfSignatureAppearance sap = stp.getSignatureAppearance();
-//        sap.setCertificationLevel(PdfSignatureAppearance.NOT_CERTIFIED);
-//        sap.setVisibleSignature(new Rectangle(60,100,773,231),1,"signature1");
-//        sap.setSignatureGraphic(Image.getInstance("C:\\Users\\宋英豪\\Desktop\\sign\\sign.jpg"));
-//        sap.setRenderingMode(PdfSignatureAppearance.RenderingMode.GRAPHIC);
-//
-//        PdfSignature dic = new PdfSignature(PdfName.ADOBE_PPKLITE,new PdfName("adbe.pkcs7.detached"));
-//        dic.setReason(sap.getReason());
-//    }
-//
-//}

+ 0 - 148
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/sign/pdf/RSACertHelper.java

@@ -1,148 +0,0 @@
-//package org.jeecg.modules.ctop.sign.pdf;
-//
-//import cn.hutool.core.codec.Base64;
-//import com.spire.pdf.PdfDocument;
-//import com.spire.pdf.graphics.PdfImage;
-//import com.spire.pdf.security.GraphicMode;
-//import com.spire.pdf.security.PdfCertificate;
-//import com.spire.pdf.security.PdfCertificationFlags;
-//import com.spire.pdf.security.PdfSignature;
-//
-//import java.awt.*;
-//import java.awt.geom.Point2D;
-//import java.awt.geom.Rectangle2D;
-//import java.io.FileInputStream;
-//import java.io.FileNotFoundException;
-//import java.io.FileOutputStream;
-//import java.security.Key;
-//import java.security.KeyStore;
-//import java.security.PublicKey;
-//import java.security.cert.Certificate;
-//import java.security.cert.CertificateException;
-//import java.security.cert.CertificateFactory;
-//
-///**
-// * @Author: zhangsong
-// * @Date: 2019/5/28 20:21
-// * @Version 1.0
-// * 首先需要通过jdk的keytool生成秘钥库等,需确保机器中安装有jdk
-// * 0.在本代码环境下,执行1命令时,秘钥库的密码和证书的密码须一致,请自行修改路径
-// * 请确保路径下无名为mykeystore.keystore的文件,否则可能会报密码错等
-// * 1.keytool -genkey -alias mykey -keyalg RSA -keystore D:/mykeystore.keystore -keysize 1024 -validity 3650
-// * 123456 songyh hcst hcst bj bj CH   秘钥口令  123456
-// * 2.keytool -export -alias mykey -keystore C:/mykeystore.keystore -file  C:/mykey.cer
-// * 3.代码中的秘钥库密码为keystore,请自行修改
-// */
-//public class RSACertHelper {
-//    public static void main(String[] args) {
-//        //定义输入、输出文件和数字签名文件
-//        String inputFile = "C:\\Users\\宋英豪\\Desktop\\sign\\test.pdf";
-//        String outputFile = "C:\\Users\\宋英豪\\Desktop\\sign\\signed.pdf";
-//        String pfxPath = "C:\\Users\\宋英豪\\Desktop\\sign\\mykey.pfx";
-//        //加载PDF文件
-//        PdfDocument doc = new PdfDocument();
-//        doc.loadFromFile(inputFile);
-//        //加载证书
-//        PdfCertificate cert = new PdfCertificate(pfxPath, "123456");
-//        PdfSignature signature = new PdfSignature(doc, doc.getPages().get(0), cert, "signature0");
-//        Rectangle2D rect = new Rectangle2D.Float();
-//        rect.setFrame(new Point2D.Float(90, 550), new Dimension(270, 90));
-//        signature.setBounds(rect);
-//        //设置图形显示模式,如果不设置图形显示模式,则应用默认的图形显示模式
-//        signature.setGraphicMode(GraphicMode.Sign_Image_Only);
-//        signature.setNameLabel("Signer:");
-//        signature.setName("Gary");
-//        signature.setContactInfoLabel("ContactInfo:");
-//        signature.setContactInfo("136558284211");
-//        signature.setDateLabel("Date:");
-//        signature.setDate(new java.util.Date());
-//        signature.setLocationInfoLabel("Location:");
-//        signature.setLocationInfo("Chengdu");
-//        signature.setReasonLabel("Reason: ");
-//        signature.setReason("The certificate of this document");
-//        signature.setDistinguishedNameLabel("DN: ");
-//        signature.setDistinguishedName(signature.getCertificate().get_IssuerName().getName());
-//        signature.setSignImageSource(PdfImage.fromFile("C:\\Users\\宋英豪\\Desktop\\sign\\sign.jpg"));
-//        signature.setDocumentPermissions(PdfCertificationFlags.Forbid_Changes);
-//        signature.setCertificated(true);
-//        //保存文件
-//        doc.saveToFile(outputFile);
-//        doc.close();
-//    }
-//
-//    public static void getPfxFile() {
-//        String path = "D:/";
-//        String keyStoreFile = "mykeystore.keystore";
-//        String passwd = "123456";
-//        String keyAlias = "mykey";
-//        String pfxFile = "mykey.pfx";
-//        String cerFile = "mykey.cer";
-//
-//        System.out.println("请确保已执行完注释中的两条命令再执行本代码\n\n");
-//        System.out.println("1.开始生成PFX文件");
-//        coverToPfx(path + keyStoreFile, passwd, keyAlias, path + pfxFile);
-//        System.out.println("===============================================================");
-//        System.out.println("2.开始提取.cer中的公钥字符串");
-//        String cerStr = getPubStr(path + cerFile);
-//        System.out.println("从.cer文件中提取的公钥字符串如下:");
-//        System.out.println(cerStr);
-//    }
-//
-//    /**
-//     * 生成pfx文件
-//     */
-//    public static void coverToPfx(String keyStoreFile, String passwd, String keyAlias, String pfxFile) {
-//        try {
-//            KeyStore inputKeyStore = KeyStore.getInstance("JKS");
-//            FileInputStream fis = new FileInputStream(keyStoreFile);
-//            char[] nPassword = null;
-//            if ((passwd == null)
-//                    || "".equals(passwd.trim())) {
-//                nPassword = null;
-//            } else {
-//                nPassword = passwd.toCharArray();
-//            }
-//            inputKeyStore.load(fis, nPassword);
-//            fis.close();
-//            KeyStore outputKeyStore = KeyStore.getInstance("PKCS12");
-//            outputKeyStore.load(null, passwd.toCharArray());
-//
-////            System.out.println("alias=[" + keyAlias + "]");
-//            if (inputKeyStore.isKeyEntry(keyAlias)) {
-//                Key key = inputKeyStore.getKey(keyAlias, passwd.toCharArray());
-//                Certificate[] certChain = inputKeyStore
-//                        .getCertificateChain(keyAlias);
-//                outputKeyStore.setKeyEntry(keyAlias, key, passwd
-//                        .toCharArray(), certChain);
-//            }
-//            FileOutputStream out = new FileOutputStream(pfxFile);
-//            outputKeyStore.store(out, nPassword);
-//            out.close();
-//            System.out.println("已生成PFX文件" + pfxFile);
-//        } catch (Exception e) {
-//            e.printStackTrace();
-//        }
-//    }
-//
-//    /**
-//     * 获取公钥字符串
-//     */
-//    public static String getPubStr(String cerFile) {
-//        String key = "";
-//        // 读取证书文件
-//        try {
-//            CertificateFactory cf = CertificateFactory.getInstance("X.509");
-//            FileInputStream in = new FileInputStream(cerFile);
-//
-//            //生成一个证书对象并使用从输入流 inStream 中读取的数据对它进行初始化。
-//            Certificate c = cf.generateCertificate(in);
-//            PublicKey publicKey = c.getPublicKey();
-//            key = Base64.encode(publicKey.getEncoded());
-//        } catch (CertificateException e) {
-//            e.printStackTrace();
-//        } catch (FileNotFoundException e) {
-//            e.printStackTrace();
-//        }
-//        return key;
-//    }
-//}

+ 0 - 193
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/AdvertiserList.vue

@@ -1,193 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="广告主名称">
-                            <a-input placeholder="请输入广告主名称" v-model="queryParam.name"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="行业ID">
-                            <a-input placeholder="请输入行业ID" v-model="queryParam.industryId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="联系人姓名">
-                                <a-input placeholder="请输入联系人姓名" v-model="queryParam.contact"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="联系人手机">
-                                <a-input placeholder="请输入联系人手机" v-model="queryParam.mobile"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="联系人邮箱">
-                                <a-input placeholder="请输入联系人邮箱" v-model="queryParam.email"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('广告主信息表')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <advertiser-modal ref="modalForm" @ok="modalFormOk"></advertiser-modal>
-    </a-card>
-</template>
-
-<script>
-    import AdvertiserModal from './modules/AdvertiserModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "AdvertiserList",
-        mixins: [JeecgListMixin],
-        components: {
-            AdvertiserModal
-        },
-        data() {
-            return {
-                description: '广告主信息表管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '广告主名称',
-                        align: "center",
-                        dataIndex: 'name'
-                    },
-                    {
-                        title: '行业ID',
-                        align: "center",
-                        dataIndex: 'industryId'
-                    },
-                    {
-                        title: '联系人姓名',
-                        align: "center",
-                        dataIndex: 'contact'
-                    },
-                    {
-                        title: '联系人手机',
-                        align: "center",
-                        dataIndex: 'mobile'
-                    },
-                    {
-                        title: '联系人邮箱',
-                        align: "center",
-                        dataIndex: 'email'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/ctop/advertiser/list",
-                    delete: "/ctop/advertiser/delete",
-                    deleteBatch: "/ctop/advertiser/deleteBatch",
-                    exportXlsUrl: "ctop/advertiser/exportXls",
-                    importExcelUrl: "ctop/advertiser/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 157
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/AuthTaskList.vue

@@ -1,157 +0,0 @@
-<template>
-  <a-card :bordered="false">
-
-    <!-- 查询区域 -->
-    <div class="table-page-search-wrapper">
-      <a-form layout="inline">
-        <a-row :gutter="24">
-
-          <a-col :md="6" :sm="8">
-            <a-form-item label="广告主ID">
-              <a-input placeholder="请输入广告主ID" v-model="queryParam.advertiserId"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :md="6" :sm="8">
-            <a-form-item label="task_id">
-              <a-input placeholder="请输入task_id" v-model="queryParam.taskId"></a-input>
-            </a-form-item>
-          </a-col>
-          </template>
-          <a-col :md="6" :sm="8" >
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-          </a-col>
-
-        </a-row>
-      </a-form>
-    </div>
-
-    <!-- 操作按钮区域 -->
-    <div class="table-operator">
-      <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-      <a-button type="primary" icon="download" @click="handleExportXls('关联用户分配')">导出</a-button>
-      <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
-        <a-button type="primary" icon="import">导入</a-button>
-      </a-upload>
-      <a-dropdown v-if="selectedRowKeys.length > 0">
-        <a-menu slot="overlay">
-          <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
-        </a-menu>
-        <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
-      </a-dropdown>
-    </div>
-
-    <!-- table区域-begin -->
-    <div>
-      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-        <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
-        <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-      </div>
-
-      <a-table
-        ref="table"
-        size="middle"
-        bordered
-        rowKey="id"
-        :columns="columns"
-        :dataSource="dataSource"
-        :pagination="ipagination"
-        :loading="loading"
-        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-        @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical" />
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-      </a-table>
-    </div>
-    <!-- table区域-end -->
-
-    <!-- 表单区域 -->
-    <authTask-modal ref="modalForm" @ok="modalFormOk"></authTask-modal>
-  </a-card>
-</template>
-
-<script>
-  import AuthTaskModal from './modules/AuthTaskModal'
-  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-
-  export default {
-    name: "AuthTaskList",
-    mixins:[JeecgListMixin],
-    components: {
-      AuthTaskModal
-    },
-    data () {
-      return {
-        description: '关联用户分配管理页面',
-        // 表头
-        columns: [
-          {
-            title: '#',
-            dataIndex: '',
-            key:'rowIndex',
-            width:60,
-            align:"center",
-            customRender:function (t,r,index) {
-              return parseInt(index)+1;
-            }
-           },
-		   {
-            title: '广告主ID',
-            align:"center",
-            dataIndex: 'advertiserId'
-           },
-		   {
-            title: 'task_id',
-            align:"center",
-            dataIndex: 'taskId'
-           },
-          {
-            title: '操作',
-            dataIndex: 'action',
-            align:"center",
-            scopedSlots: { customRender: 'action' },
-          }
-        ],
-		url: {
-          list: "/ctop/authTask/list",
-          delete: "/ctop/authTask/delete",
-          deleteBatch: "/ctop/authTask/deleteBatch",
-          exportXlsUrl: "ctop/authTask/exportXls",
-          importExcelUrl: "ctop/authTask/importExcel",
-       },
-    }
-  },
-  computed: {
-    importExcelUrl: function(){
-      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-    }
-  },
-    methods: {
-     
-    }
-  }
-</script>
-<style scoped>
-  @import '~@assets/less/common.less'
-</style>

+ 0 - 168
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BindAccountAuthList.vue

@@ -1,168 +0,0 @@
-<template>
-  <a-card :bordered="false">
-
-    <!-- 查询区域 -->
-    <div class="table-page-search-wrapper">
-      <a-form layout="inline">
-        <a-row :gutter="24">
-
-          <a-col :md="6" :sm="8">
-            <a-form-item label="广告id">
-              <a-input placeholder="请输入广告id" v-model="queryParam.advertiserId"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :md="6" :sm="8">
-            <a-form-item label="授权方式">
-              <a-input placeholder="请输入授权方式" v-model="queryParam.authType"></a-input>
-            </a-form-item>
-          </a-col>
-        <template v-if="toggleSearchStatus">
-        <a-col :md="6" :sm="8">
-            <a-form-item label="回调返回广告主id">
-              <a-input placeholder="请输入回调返回广告主id" v-model="queryParam.accountId"></a-input>
-            </a-form-item>
-          </a-col>
-          </template>
-          <a-col :md="6" :sm="8" >
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-          </a-col>
-
-        </a-row>
-      </a-form>
-    </div>
-
-    <!-- 操作按钮区域 -->
-    <div class="table-operator">
-      <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-      <a-button type="primary" icon="download" @click="handleExportXls('账号绑定-授权')">导出</a-button>
-      <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
-        <a-button type="primary" icon="import">导入</a-button>
-      </a-upload>
-      <a-dropdown v-if="selectedRowKeys.length > 0">
-        <a-menu slot="overlay">
-          <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
-        </a-menu>
-        <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
-      </a-dropdown>
-    </div>
-
-    <!-- table区域-begin -->
-    <div>
-      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-        <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
-        <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-      </div>
-
-      <a-table
-        ref="table"
-        size="middle"
-        bordered
-        rowKey="id"
-        :columns="columns"
-        :dataSource="dataSource"
-        :pagination="ipagination"
-        :loading="loading"
-        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-        @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical" />
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-      </a-table>
-    </div>
-    <!-- table区域-end -->
-
-    <!-- 表单区域 -->
-    <bindAccountAuth-modal ref="modalForm" @ok="modalFormOk"></bindAccountAuth-modal>
-  </a-card>
-</template>
-
-<script>
-  import BindAccountAuthModal from './modules/BindAccountAuthModal'
-  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-
-  export default {
-    name: "BindAccountAuthList",
-    mixins:[JeecgListMixin],
-    components: {
-      BindAccountAuthModal
-    },
-    data () {
-      return {
-        description: '账号绑定-授权管理页面',
-        // 表头
-        columns: [
-          {
-            title: '#',
-            dataIndex: '',
-            key:'rowIndex',
-            width:60,
-            align:"center",
-            customRender:function (t,r,index) {
-              return parseInt(index)+1;
-            }
-           },
-		   {
-            title: '广告id',
-            align:"center",
-            dataIndex: 'advertiserId'
-           },
-		   {
-            title: '授权方式',
-            align:"center",
-            dataIndex: 'authType'
-           },
-		   {
-            title: '回调返回广告主id',
-            align:"center",
-            dataIndex: 'accountId'
-           },
-          {
-            title: '操作',
-            dataIndex: 'action',
-            align:"center",
-            scopedSlots: { customRender: 'action' },
-          }
-        ],
-		url: {
-          list: "/ctop/bindAccountAuth/list",
-          delete: "/ctop/bindAccountAuth/delete",
-          deleteBatch: "/ctop/bindAccountAuth/deleteBatch",
-          exportXlsUrl: "ctop/bindAccountAuth/exportXls",
-          importExcelUrl: "ctop/bindAccountAuth/importExcel",
-       },
-    }
-  },
-  computed: {
-    importExcelUrl: function(){
-      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-    }
-  },
-    methods: {
-     
-    }
-  }
-</script>
-<style scoped>
-  @import '~@assets/less/common.less'
-</style>

+ 0 - 188
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BindAccountLoginList.vue

@@ -1,188 +0,0 @@
-<template>
-  <a-card :bordered="false">
-
-    <!-- 查询区域 -->
-    <div class="table-page-search-wrapper">
-      <a-form layout="inline">
-        <a-row :gutter="24">
-
-          <a-col :md="6" :sm="8">
-            <a-form-item label="广告id">
-              <a-input placeholder="请输入广告id" v-model="queryParam.advertiserId"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :md="6" :sm="8">
-            <a-form-item label="账号">
-              <a-input placeholder="请输入账号" v-model="queryParam.accountName"></a-input>
-            </a-form-item>
-          </a-col>
-        <template v-if="toggleSearchStatus">
-        <a-col :md="6" :sm="8">
-            <a-form-item label="密码">
-              <a-input placeholder="请输入密码" v-model="queryParam.password"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :md="6" :sm="8">
-            <a-form-item label="登录方式">
-              <a-input placeholder="请输入登录方式" v-model="queryParam.loginType"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :md="6" :sm="8">
-            <a-form-item label="1未登陆 2已登陆">
-              <a-input placeholder="请输入1未登陆 2已登陆" v-model="queryParam.status"></a-input>
-            </a-form-item>
-          </a-col>
-          </template>
-          <a-col :md="6" :sm="8" >
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-          </a-col>
-
-        </a-row>
-      </a-form>
-    </div>
-
-    <!-- 操作按钮区域 -->
-    <div class="table-operator">
-      <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-      <a-button type="primary" icon="download" @click="handleExportXls('账号绑定-登陆')">导出</a-button>
-      <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
-        <a-button type="primary" icon="import">导入</a-button>
-      </a-upload>
-      <a-dropdown v-if="selectedRowKeys.length > 0">
-        <a-menu slot="overlay">
-          <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
-        </a-menu>
-        <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
-      </a-dropdown>
-    </div>
-
-    <!-- table区域-begin -->
-    <div>
-      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-        <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
-        <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-      </div>
-
-      <a-table
-        ref="table"
-        size="middle"
-        bordered
-        rowKey="id"
-        :columns="columns"
-        :dataSource="dataSource"
-        :pagination="ipagination"
-        :loading="loading"
-        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-        @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical" />
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-      </a-table>
-    </div>
-    <!-- table区域-end -->
-
-    <!-- 表单区域 -->
-    <bindAccountLogin-modal ref="modalForm" @ok="modalFormOk"></bindAccountLogin-modal>
-  </a-card>
-</template>
-
-<script>
-  import BindAccountLoginModal from './modules/BindAccountLoginModal'
-  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-
-  export default {
-    name: "BindAccountLoginList",
-    mixins:[JeecgListMixin],
-    components: {
-      BindAccountLoginModal
-    },
-    data () {
-      return {
-        description: '账号绑定-登陆管理页面',
-        // 表头
-        columns: [
-          {
-            title: '#',
-            dataIndex: '',
-            key:'rowIndex',
-            width:60,
-            align:"center",
-            customRender:function (t,r,index) {
-              return parseInt(index)+1;
-            }
-           },
-		   {
-            title: '广告id',
-            align:"center",
-            dataIndex: 'advertiserId'
-           },
-		   {
-            title: '账号',
-            align:"center",
-            dataIndex: 'accountName'
-           },
-		   {
-            title: '密码',
-            align:"center",
-            dataIndex: 'password'
-           },
-		   {
-            title: '登录方式',
-            align:"center",
-            dataIndex: 'loginType'
-           },
-		   {
-            title: '1未登陆 2已登陆',
-            align:"center",
-            dataIndex: 'status'
-           },
-          {
-            title: '操作',
-            dataIndex: 'action',
-            align:"center",
-            scopedSlots: { customRender: 'action' },
-          }
-        ],
-		url: {
-          list: "/ctop/bindAccountLogin/list",
-          delete: "/ctop/bindAccountLogin/delete",
-          deleteBatch: "/ctop/bindAccountLogin/deleteBatch",
-          exportXlsUrl: "ctop/bindAccountLogin/exportXls",
-          importExcelUrl: "ctop/bindAccountLogin/importExcel",
-       },
-    }
-  },
-  computed: {
-    importExcelUrl: function(){
-      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-    }
-  },
-    methods: {
-     
-    }
-  }
-</script>
-<style scoped>
-  @import '~@assets/less/common.less'
-</style>

+ 0 - 324
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/ByteDanceAdvertisePlanList.vue

@@ -1,324 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="平台广告主id">
-                            <a-input placeholder="请输入平台广告主id" v-model="queryParam.advertiserId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="头条广告主id">
-                            <a-input placeholder="请输入头条广告主id" v-model="queryParam.toutiaoId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="计划名称">
-                                <a-input placeholder="请输入计划名称" v-model="queryParam.name"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="广告组id">
-                                <a-input placeholder="请输入广告组id" v-model="queryParam.campaignId"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="上次修改时间戳(用于更新时提交,服务端判断是否基于最新信息修改)">
-                                <a-input placeholder="请输入上次修改时间戳(用于更新时提交,服务端判断是否基于最新信息修改)"
-                                         v-model="queryParam.planModifyTime"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('今日头条广告计划信息')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <byteDanceAdvertisePlan-modal ref="modalForm" @ok="modalFormOk"></byteDanceAdvertisePlan-modal>
-    </a-card>
-</template>
-
-<script>
-    import ByteDanceAdvertisePlanModal from './modules/ByteDanceAdvertisePlanModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "ByteDanceAdvertisePlanList",
-        mixins: [JeecgListMixin],
-        components: {
-            ByteDanceAdvertisePlanModal
-        },
-        data() {
-            return {
-                description: '今日头条广告计划信息管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '平台广告主id',
-                        align: "center",
-                        dataIndex: 'advertiserId'
-                    },
-                    {
-                        title: '头条广告主id',
-                        align: "center",
-                        dataIndex: 'toutiaoId'
-                    },
-                    {
-                        title: '计划名称',
-                        align: "center",
-                        dataIndex: 'name'
-                    },
-                    {
-                        title: '广告组id',
-                        align: "center",
-                        dataIndex: 'campaignId'
-                    },
-                    {
-                        title: '上次修改时间戳(用于更新时提交,服务端判断是否基于最新信息修改)',
-                        align: "center",
-                        dataIndex: 'planModifyTime'
-                    },
-                    {
-                        title: '投放范围',
-                        align: "center",
-                        dataIndex: 'deliveryRange'
-                    },
-                    {
-                        title: '计划上次修改时间',
-                        align: "center",
-                        dataIndex: 'adModifyTime'
-                    },
-                    {
-                        title: '计划创建时间',
-                        align: "center",
-                        dataIndex: 'adCreateTime'
-                    },
-                    {
-                        title: '广告预算类型',
-                        align: "center",
-                        dataIndex: 'budgetMode'
-                    },
-                    {
-                        title: '广告预算',
-                        align: "center",
-                        dataIndex: 'budget'
-                    },
-                    {
-                        title: '广告计划投放状态',
-                        align: "center",
-                        dataIndex: 'toutiaoStatus'
-                    },
-                    {
-                        title: '广告计划操作状态',
-                        align: "center",
-                        dataIndex: 'optStatus'
-                    },
-                    {
-                        title: '广告投放起始时间',
-                        align: "center",
-                        dataIndex: 'startTime'
-                    },
-                    {
-                        title: '广告投放结束时间',
-                        align: "center",
-                        dataIndex: 'endTime'
-                    },
-                    {
-                        title: '广告出价',
-                        align: "center",
-                        dataIndex: 'bid'
-                    },
-                    {
-                        title: '广告出价类型',
-                        align: "center",
-                        dataIndex: 'pricing'
-                    },
-                    {
-                        title: '广告投放时间类型',
-                        align: "center",
-                        dataIndex: 'scheduleType'
-                    },
-                    {
-                        title: '广告投放时段',
-                        align: "center",
-                        dataIndex: 'scheduleTime'
-                    },
-                    {
-                        title: '广告投放速度类型',
-                        align: "center",
-                        dataIndex: 'flowControlMode'
-                    },
-                    {
-                        title: '应用直达链接',
-                        align: "center",
-                        dataIndex: 'openUrl'
-                    },
-                    {
-                        title: '应用下载方式',
-                        align: "center",
-                        dataIndex: 'downloadType'
-                    },
-                    {
-                        title: '广告落地页链接',
-                        align: "center",
-                        dataIndex: 'externalUrl'
-                    },
-                    {
-                        title: '广告应用下载包名',
-                        align: "center",
-                        dataIndex: 'toutiaoPackage'
-                    },
-                    {
-                        title: '广告应用下载类型',
-                        align: "center",
-                        dataIndex: 'appType'
-                    },
-                    {
-                        title: '广告计划审核不通过原因',
-                        align: "center",
-                        dataIndex: 'auditRejectReason'
-                    },
-                    {
-                        title: 'ocpc广告转化出价',
-                        align: "center",
-                        dataIndex: 'cpaBid'
-                    },
-                    {
-                        title: 'ocpc广告是否跳过第一阶段',
-                        align: "center",
-                        dataIndex: 'cpaSkipFirstPhrase'
-                    },
-                    {
-                        title: '转化类型广告的转化工具id',
-                        align: "center",
-                        dataIndex: 'convertId'
-                    },
-                    {
-                        title: '过滤已转化用户类型字段',
-                        align: "center",
-                        dataIndex: 'hideIfConverted'
-                    },
-                    {
-                        title: '过滤已安装,当推广目标为安卓应用下载时可填',
-                        align: "center",
-                        dataIndex: 'hideIfExists'
-                    },
-                    {
-                        title: 'audience',
-                        align: "center",
-                        dataIndex: 'audience'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/ctop/byteDanceAdvertisePlan/list",
-                    delete: "/ctop/byteDanceAdvertisePlan/delete",
-                    deleteBatch: "/ctop/byteDanceAdvertisePlan/deleteBatch",
-                    exportXlsUrl: "ctop/byteDanceAdvertisePlan/exportXls",
-                    importExcelUrl: "ctop/byteDanceAdvertisePlan/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 212
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/ByteDanceAdvertiserBudgetList.vue

@@ -1,212 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="平台账号id">
-                            <a-input placeholder="请输入平台账号id" v-model="queryParam.advertiserId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="预算类型
-BUDGET_MODE_INFINITE 	不限
-BUDGET_MODE_DAY 	日预算
-BUDGET_MODE_TOTAL 	总预算">
-                            <a-input placeholder="请输入预算类型
-BUDGET_MODE_INFINITE 	不限
-BUDGET_MODE_DAY 	日预算
-BUDGET_MODE_TOTAL 	总预算" v-model="queryParam.budgetMode"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="预算数量,当budget_mode=BUDGET_MODE_DAY时有值
-取值范围: ≥ 0">
-                                <a-input placeholder="请输入预算数量,当budget_mode=BUDGET_MODE_DAY时有值
-取值范围: ≥ 0" v-model="queryParam.budget"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('今日头条广告主预算信息')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <byteDanceAdvertiserBudget-modal ref="modalForm" @ok="modalFormOk"></byteDanceAdvertiserBudget-modal>
-    </a-card>
-</template>
-
-<script>
-    import ByteDanceAdvertiserBudgetModal from './modules/ByteDanceAdvertiserBudgetModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "ByteDanceAdvertiserBudgetList",
-        mixins: [JeecgListMixin],
-        components: {
-            ByteDanceAdvertiserBudgetModal
-        },
-        data() {
-            return {
-                description: '今日头条广告主预算信息管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '平台账号id',
-                        align: "center",
-                        dataIndex: 'advertiserId'
-                    },
-                    {
-                        title: '预算类型
-                        BUDGET_MODE_INFINITE    不限
-                        BUDGET_MODE_DAY    日预算
-                        BUDGET_MODE_TOTAL    总预算',
-                        align
-        :
-            "center",
-                dataIndex
-        :
-            'budgetMode'
-        },
-            {
-                title: '预算数量,当budget_mode=BUDGET_MODE_DAY时有值
-                取值范围: ≥
-                0
-                ',
-                align:"center",
-                    dataIndex
-            :
-                'budget'
-            }
-        ,
-            {
-                title: '操作',
-                    dataIndex
-            :
-                'action',
-                    align
-            :
-                "center",
-                    scopedSlots
-            :
-                {
-                    customRender: 'action'
-                }
-            ,
-            }
-        ],
-            url: {
-                list: "/ctop/byteDanceAdvertiserBudget/list",
-                    delete
-            :
-                "/ctop/byteDanceAdvertiserBudget/delete",
-                    deleteBatch
-            :
-                "/ctop/byteDanceAdvertiserBudget/deleteBatch",
-                    exportXlsUrl
-            :
-                "ctop/byteDanceAdvertiserBudget/exportXls",
-                    importExcelUrl
-            :
-                "ctop/byteDanceAdvertiserBudget/importExcel",
-            }
-        ,
-        }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 426
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/ByteDanceAdvertiserList.vue

@@ -1,426 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="本平台id">
-                            <a-input placeholder="请输入本平台id" v-model="queryParam.advertiserId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="头条账户名">
-                            <a-input placeholder="请输入头条账户名" v-model="queryParam.name"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="品牌描述,即推广内容">
-                                <a-input placeholder="请输入品牌描述,即推广内容" v-model="queryParam.description"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="邮箱">
-                                <a-input placeholder="请输入邮箱" v-model="queryParam.email"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="联系人">
-                                <a-input placeholder="请输入联系人" v-model="queryParam.contacter"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('今日头条广告主信息')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <byteDanceAdvertiser-modal ref="modalForm" @ok="modalFormOk"></byteDanceAdvertiser-modal>
-    </a-card>
-</template>
-
-<script>
-    import ByteDanceAdvertiserModal from './modules/ByteDanceAdvertiserModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "ByteDanceAdvertiserList",
-        mixins: [JeecgListMixin],
-        components: {
-            ByteDanceAdvertiserModal
-        },
-        data() {
-            return {
-                description: '今日头条广告主信息管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '本平台id',
-                        align: "center",
-                        dataIndex: 'advertiserId'
-                    },
-                    {
-                        title: '头条账户名',
-                        align: "center",
-                        dataIndex: 'name'
-                    },
-                    {
-                        title: '品牌描述,即推广内容',
-                        align: "center",
-                        dataIndex: 'description'
-                    },
-                    {
-                        title: '邮箱',
-                        align: "center",
-                        dataIndex: 'email'
-                    },
-                    {
-                        title: '联系人',
-                        align: "center",
-                        dataIndex: 'contacter'
-                    },
-                    {
-                        title: '手机号',
-                        align: "center",
-                        dataIndex: 'phonenumber'
-                    },
-                    {
-                        title: '角色
-                        ROLE_ADVERTISER    普通广告主(直客)
-ROLE_CHILD_ADVERTISER
-            普通广告主(代理商子客户)
-ROLE_CHILD_AGENT
-            二级代理商
-            ROLE_AGENT
-            一级代理商
-            ',
-            align:"center",
-                dataIndex
-        :
-            'role'
-        },
-            {
-                title: '广告主状态
-                STATUS_DISABLE
-                已禁用
-                STATUS_PENDING_CONFIRM
-                申请待审核
-                STATUS_PENDING_VERIFIED
-                待验证
-                STATUS_CONFIRM_FAIL
-                审核不通过
-                STATUS_ENABLE
-                已审核
-                STATUS_CONFIRM_FAIL_END
-                CRM审核不通过
-                STATUS_PENDING_CONFIRM_MODIFY
-                修改待审核
-                STATUS_CONFIRM_MODIFY_FAIL
-                修改审核不通过
-                ',
-                align:"center",
-                    dataIndex
-            :
-                'toutiaoStatus'
-            }
-        ,
-            {
-                title: '固定电话',
-                    align
-            :
-                "center",
-                    dataIndex
-            :
-                'telephone'
-            }
-        ,
-            {
-                title: '地址',
-                    align
-            :
-                "center",
-                    dataIndex
-            :
-                'address'
-            }
-        ,
-            {
-                title: '执照预览地址(链接默认1小时内有效)',
-                    align
-            :
-                "center",
-                    dataIndex
-            :
-                'licenseUrl'
-            }
-        ,
-            {
-                title: '执照编号',
-                    align
-            :
-                "center",
-                    dataIndex
-            :
-                'licenseNo'
-            }
-        ,
-            {
-                title: '执照省份',
-                    align
-            :
-                "center",
-                    dataIndex
-            :
-                'licenseProvince'
-            }
-        ,
-            {
-                title: '执照城市',
-                    align
-            :
-                "center",
-                    dataIndex
-            :
-                'licenseCity'
-            }
-        ,
-            {
-                title: '公司名称',
-                    align
-            :
-                "center",
-                    dataIndex
-            :
-                'company'
-            }
-        ,
-            {
-                title: '经营类别',
-                    align
-            :
-                "center",
-                    dataIndex
-            :
-                'brand'
-            }
-        ,
-            {
-                title: '运营区域',
-                    align
-            :
-                "center",
-                    dataIndex
-            :
-                'promotionArea'
-            }
-        ,
-            {
-                title: '运营省份',
-                    align
-            :
-                "center",
-                    dataIndex
-            :
-                'promotionCenterProvince'
-            }
-        ,
-            {
-                title: '运营城市',
-                    align
-            :
-                "center",
-                    dataIndex
-            :
-                'promotionCenterCity'
-            }
-        ,
-            {
-                title: '一级行业名称',
-                    align
-            :
-                "center",
-                    dataIndex
-            :
-                'firstIndustryName'
-            }
-        ,
-            {
-                title: '二级行业名称',
-                    align
-            :
-                "center",
-                    dataIndex
-            :
-                'secondIndustryName'
-            }
-        ,
-            {
-                title: '审核拒绝原因',
-                    align
-            :
-                "center",
-                    dataIndex
-            :
-                'reason'
-            }
-        ,
-            {
-                title: '账户总余额,单位元',
-                    align
-            :
-                "center",
-                    dataIndex
-            :
-                'balance'
-            }
-        ,
-            {
-                title: '头条平台中广告主创建时间',
-                    align
-            :
-                "center",
-                    dataIndex
-            :
-                'toutiaoCreateTime'
-            }
-        ,
-            {
-                title: '数据状态',
-                    align
-            :
-                "center",
-                    dataIndex
-            :
-                'status'
-            }
-        ,
-            {
-                title: '操作',
-                    dataIndex
-            :
-                'action',
-                    align
-            :
-                "center",
-                    scopedSlots
-            :
-                {
-                    customRender: 'action'
-                }
-            ,
-            }
-        ],
-            url: {
-                list: "/ctop/byteDanceAdvertiser/list",
-                    delete
-            :
-                "/ctop/byteDanceAdvertiser/delete",
-                    deleteBatch
-            :
-                "/ctop/byteDanceAdvertiser/deleteBatch",
-                    exportXlsUrl
-            :
-                "ctop/byteDanceAdvertiser/exportXls",
-                    importExcelUrl
-            :
-                "ctop/byteDanceAdvertiser/importExcel",
-            }
-        ,
-        }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 244
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/ByteDanceBudgetTemplateList.vue

@@ -1,244 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="广告主id">
-                            <a-input placeholder="请输入广告主id" v-model="queryParam.advertiserId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="头条账号id">
-                            <a-input placeholder="请输入头条账号id" v-model="queryParam.toutiaoId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="bidType">
-                                <a-input placeholder="请输入bidType" v-model="queryParam.bidType"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="flowControlMode">
-                                <a-input placeholder="请输入flowControlMode"
-                                         v-model="queryParam.flowControlMode"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="budgetPrice">
-                                <a-input placeholder="请输入budgetPrice" v-model="queryParam.budgetPrice"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('今日头条预算模板信息')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <byteDanceBudgetTemplate-modal ref="modalForm" @ok="modalFormOk"></byteDanceBudgetTemplate-modal>
-    </a-card>
-</template>
-
-<script>
-    import ByteDanceBudgetTemplateModal from './modules/ByteDanceBudgetTemplateModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "ByteDanceBudgetTemplateList",
-        mixins: [JeecgListMixin],
-        components: {
-            ByteDanceBudgetTemplateModal
-        },
-        data() {
-            return {
-                description: '今日头条预算模板信息管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '广告主id',
-                        align: "center",
-                        dataIndex: 'advertiserId'
-                    },
-                    {
-                        title: '头条账号id',
-                        align: "center",
-                        dataIndex: 'toutiaoId'
-                    },
-                    {
-                        title: 'bidType',
-                        align: "center",
-                        dataIndex: 'bidType'
-                    },
-                    {
-                        title: 'flowControlMode',
-                        align: "center",
-                        dataIndex: 'flowControlMode'
-                    },
-                    {
-                        title: 'budgetPrice',
-                        align: "center",
-                        dataIndex: 'budgetPrice'
-                    },
-                    {
-                        title: 'budgetMode',
-                        align: "center",
-                        dataIndex: 'budgetMode'
-                    },
-                    {
-                        title: 'flowDateType',
-                        align: "center",
-                        dataIndex: 'flowDateType'
-                    },
-                    {
-                        title: 'startDate',
-                        align: "center",
-                        dataIndex: 'startDate'
-                    },
-                    {
-                        title: 'endDate',
-                        align: "center",
-                        dataIndex: 'endDate'
-                    },
-                    {
-                        title: 'dateQuantum',
-                        align: "center",
-                        dataIndex: 'dateQuantum'
-                    },
-                    {
-                        title: 'dateQuantumRange',
-                        align: "center",
-                        dataIndex: 'dateQuantumRange'
-                    },
-                    {
-                        title: 'priceType',
-                        align: "center",
-                        dataIndex: 'priceType'
-                    },
-                    {
-                        title: 'convertPrice',
-                        align: "center",
-                        dataIndex: 'convertPrice'
-                    },
-                    {
-                        title: 'filterType',
-                        align: "center",
-                        dataIndex: 'filterType'
-                    },
-                    {
-                        title: 'status',
-                        align: "center",
-                        dataIndex: 'status'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/ctop/byteDanceBudgetTemplate/list",
-                    delete: "/ctop/byteDanceBudgetTemplate/delete",
-                    deleteBatch: "/ctop/byteDanceBudgetTemplate/deleteBatch",
-                    exportXlsUrl: "ctop/byteDanceBudgetTemplate/exportXls",
-                    importExcelUrl: "ctop/byteDanceBudgetTemplate/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 266
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/ByteDanceCampaignList.vue

@@ -1,266 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="平台用户id">
-                            <a-input placeholder="请输入平台用户id" v-model="queryParam.advertiserId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="头条账号id">
-                            <a-input placeholder="请输入头条账号id" v-model="queryParam.toutiaoId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="广告组名称">
-                                <a-input placeholder="请输入广告组名称" v-model="queryParam.name"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="广告组预算">
-                                <a-input placeholder="请输入广告组预算" v-model="queryParam.budget"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="广告组预算类型">
-                                <a-input placeholder="请输入广告组预算类型" v-model="queryParam.budgetMode"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('今日头条广告组信息')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <byteDanceCampaign-modal ref="modalForm" @ok="modalFormOk"></byteDanceCampaign-modal>
-    </a-card>
-</template>
-
-<script>
-    import ByteDanceCampaignModal from './modules/ByteDanceCampaignModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "ByteDanceCampaignList",
-        mixins: [JeecgListMixin],
-        components: {
-            ByteDanceCampaignModal
-        },
-        data() {
-            return {
-                description: '今日头条广告组信息管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '平台用户id',
-                        align: "center",
-                        dataIndex: 'advertiserId'
-                    },
-                    {
-                        title: '头条账号id',
-                        align: "center",
-                        dataIndex: 'toutiaoId'
-                    },
-                    {
-                        title: '广告组名称',
-                        align: "center",
-                        dataIndex: 'name'
-                    },
-                    {
-                        title: '广告组预算',
-                        align: "center",
-                        dataIndex: 'budget'
-                    },
-                    {
-                        title: '广告组预算类型',
-                        align: "center",
-                        dataIndex: 'budgetMode'
-                    },
-                    {
-                        title: '广告组推广目的',
-                        align: "center",
-                        dataIndex: 'landingType'
-                    },
-                    {
-                        title: '广告组时间戳,用于更新时提交,服务端判断是否基于最新信息修改',
-                        align: "center",
-                        dataIndex: 'modifyTime'
-                    },
-                    {
-                        title: '广告组状态
-                        CAMPAIGN_STATUS_ENABLE    启用
-                        CAMPAIGN_STATUS_DISABLE    暂停
-                        CAMPAIGN_STATUS_DELETE    删除
-                        CAMPAIGN_STATUS_ALL    所有包含已删除
-                        CAMPAIGN_STATUS_NOT_DELETE    所有不包含已删除(状态过滤默认值)
-CAMPAIGN_STATUS_ADVERTISER_BUDGET_EXCEED
-            超出账户日预算
-            ',
-            align:"center",
-                dataIndex
-        :
-            'status'
-        },
-            {
-                title: 'optStatus',
-                    align
-            :
-                "center",
-                    dataIndex
-            :
-                'optStatus'
-            }
-        ,
-            {
-                title: '广告组创建时间',
-                    align
-            :
-                "center",
-                    dataIndex
-            :
-                'campaignCreateTime'
-            }
-        ,
-            {
-                title: '广告组修改时间',
-                    align
-            :
-                "center",
-                    dataIndex
-            :
-                'campaignModifyTime'
-            }
-        ,
-            {
-                title: '操作',
-                    dataIndex
-            :
-                'action',
-                    align
-            :
-                "center",
-                    scopedSlots
-            :
-                {
-                    customRender: 'action'
-                }
-            ,
-            }
-        ],
-            url: {
-                list: "/ctop/byteDanceCampaign/list",
-                    delete
-            :
-                "/ctop/byteDanceCampaign/delete",
-                    deleteBatch
-            :
-                "/ctop/byteDanceCampaign/deleteBatch",
-                    exportXlsUrl
-            :
-                "ctop/byteDanceCampaign/exportXls",
-                    importExcelUrl
-            :
-                "ctop/byteDanceCampaign/importExcel",
-            }
-        ,
-        }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 198
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/ByteDanceCampaignTemplateList.vue

@@ -1,198 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="accountId">
-                            <a-input placeholder="请输入accountId" v-model="queryParam.accountId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="投放目标">
-                            <a-input placeholder="请输入投放目标" v-model="queryParam.promationPurpuse"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="投放方式">
-                                <a-input placeholder="请输入投放方式" v-model="queryParam.campaignBudget"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="日预算">
-                                <a-input placeholder="请输入日预算" v-model="queryParam.budgetDaily"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="广告组名称">
-                                <a-input placeholder="请输入广告组名称" v-model="queryParam.campaignName"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('今日头条广告组模板信息')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <byteDanceCampaignTemplate-modal ref="modalForm" @ok="modalFormOk"></byteDanceCampaignTemplate-modal>
-    </a-card>
-</template>
-
-<script>
-    import ByteDanceCampaignTemplateModal from './modules/ByteDanceCampaignTemplateModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "ByteDanceCampaignTemplateList",
-        mixins: [JeecgListMixin],
-        components: {
-            ByteDanceCampaignTemplateModal
-        },
-        data() {
-            return {
-                description: '今日头条广告组模板信息管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: 'accountId',
-                        align: "center",
-                        dataIndex: 'accountId'
-                    },
-                    {
-                        title: '投放目标',
-                        align: "center",
-                        dataIndex: 'promationPurpuse'
-                    },
-                    {
-                        title: '投放方式',
-                        align: "center",
-                        dataIndex: 'campaignBudget'
-                    },
-                    {
-                        title: '日预算',
-                        align: "center",
-                        dataIndex: 'budgetDaily'
-                    },
-                    {
-                        title: '广告组名称',
-                        align: "center",
-                        dataIndex: 'campaignName'
-                    },
-                    {
-                        title: '模板状态',
-                        align: "center",
-                        dataIndex: 'status'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/ctop/byteDanceCampaignTemplate/list",
-                    delete: "/ctop/byteDanceCampaignTemplate/delete",
-                    deleteBatch: "/ctop/byteDanceCampaignTemplate/deleteBatch",
-                    exportXlsUrl: "ctop/byteDanceCampaignTemplate/exportXls",
-                    importExcelUrl: "ctop/byteDanceCampaignTemplate/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 243
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/ByteDanceCreativeList.vue

@@ -1,243 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="广告计划id">
-                            <a-input placeholder="请输入广告计划id" v-model="queryParam.planId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="头条平台id">
-                            <a-input placeholder="请输入头条平台id" v-model="queryParam.toutiaoId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="本平台广告主id">
-                                <a-input placeholder="请输入本平台广告主id" v-model="queryParam.accountId"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="创意素材标题">
-                                <a-input placeholder="请输入创意素材标题" v-model="queryParam.title"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="动态词包列表">
-                                <a-input placeholder="请输入动态词包列表" v-model="queryParam.creativeWordIds"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('今日头条创意信息')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <byteDanceCreative-modal ref="modalForm" @ok="modalFormOk"></byteDanceCreative-modal>
-    </a-card>
-</template>
-
-<script>
-    import ByteDanceCreativeModal from './modules/ByteDanceCreativeModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "ByteDanceCreativeList",
-        mixins: [JeecgListMixin],
-        components: {
-            ByteDanceCreativeModal
-        },
-        data() {
-            return {
-                description: '今日头条创意信息管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '广告计划id',
-                        align: "center",
-                        dataIndex: 'planId'
-                    },
-                    {
-                        title: '头条平台id',
-                        align: "center",
-                        dataIndex: 'toutiaoId'
-                    },
-                    {
-                        title: '本平台广告主id',
-                        align: "center",
-                        dataIndex: 'accountId'
-                    },
-                    {
-                        title: '创意素材标题',
-                        align: "center",
-                        dataIndex: 'title'
-                    },
-                    {
-                        title: '动态词包列表',
-                        align: "center",
-                        dataIndex: 'creativeWordIds'
-                    },
-                    {
-                        title: '创意素材状态',
-                        align: "center",
-                        dataIndex: 'status'
-                    },
-                    {
-                        title: '创意素材创作状态',
-                        align: "center",
-                        dataIndex: 'optStatus'
-                    },
-                    {
-                        title: '创意素材类型',
-                        align: "center",
-                        dataIndex: 'imageMode'
-                    },
-                    {
-                        title: '图片素材id列表',
-                        align: "center",
-                        dataIndex: 'imageIds'
-                    },
-                    {
-                        title: '视频素材封面',
-                        align: "center",
-                        dataIndex: 'imageId'
-                    },
-                    {
-                        title: '视频id',
-                        align: "center",
-                        dataIndex: 'videoId'
-                    },
-                    {
-                        title: '创意审核信息',
-                        align: "center",
-                        dataIndex: 'auditRejectReason'
-                    },
-                    {
-                        title: '第三方id',
-                        align: "center",
-                        dataIndex: 'thirdPartyId'
-                    },
-                    {
-                        title: '广告创意创建时间',
-                        align: "center",
-                        dataIndex: 'creativeCreateTime'
-                    },
-                    {
-                        title: '广告创意更新时间',
-                        align: "center",
-                        dataIndex: 'creativeModifyTime'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/ctop/byteDanceCreative/list",
-                    delete: "/ctop/byteDanceCreative/delete",
-                    deleteBatch: "/ctop/byteDanceCreative/deleteBatch",
-                    exportXlsUrl: "ctop/byteDanceCreative/exportXls",
-                    importExcelUrl: "ctop/byteDanceCreative/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 208
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/ByteDanceCreativeMaterialList.vue

@@ -1,208 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="平台广告主id">
-                            <a-input placeholder="请输入平台广告主id" v-model="queryParam.advertiserId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="广告id">
-                            <a-input placeholder="请输入广告id" v-model="queryParam.adId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="头天广告主id">
-                                <a-input placeholder="请输入头天广告主id" v-model="queryParam.toutiaoId"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="创意标题">
-                                <a-input placeholder="请输入创意标题" v-model="queryParam.title"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="创意状态">
-                                <a-input placeholder="请输入创意状态" v-model="queryParam.status"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('今日头条创意素材信息')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <byteDanceCreativeMaterial-modal ref="modalForm" @ok="modalFormOk"></byteDanceCreativeMaterial-modal>
-    </a-card>
-</template>
-
-<script>
-    import ByteDanceCreativeMaterialModal from './modules/ByteDanceCreativeMaterialModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "ByteDanceCreativeMaterialList",
-        mixins: [JeecgListMixin],
-        components: {
-            ByteDanceCreativeMaterialModal
-        },
-        data() {
-            return {
-                description: '今日头条创意素材信息管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '平台广告主id',
-                        align: "center",
-                        dataIndex: 'advertiserId'
-                    },
-                    {
-                        title: '广告id',
-                        align: "center",
-                        dataIndex: 'adId'
-                    },
-                    {
-                        title: '头天广告主id',
-                        align: "center",
-                        dataIndex: 'toutiaoId'
-                    },
-                    {
-                        title: '创意标题',
-                        align: "center",
-                        dataIndex: 'title'
-                    },
-                    {
-                        title: '创意状态',
-                        align: "center",
-                        dataIndex: 'status'
-                    },
-                    {
-                        title: '创意状态',
-                        align: "center",
-                        dataIndex: 'optStatus'
-                    },
-                    {
-                        title: '创意类型',
-                        align: "center",
-                        dataIndex: 'imageMode'
-                    },
-                    {
-                        title: '图片素材信息',
-                        align: "center",
-                        dataIndex: 'imageInfo'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/ctop/byteDanceCreativeMaterial/list",
-                    delete: "/ctop/byteDanceCreativeMaterial/delete",
-                    deleteBatch: "/ctop/byteDanceCreativeMaterial/deleteBatch",
-                    exportXlsUrl: "ctop/byteDanceCreativeMaterial/exportXls",
-                    importExcelUrl: "ctop/byteDanceCreativeMaterial/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 258
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/ByteDanceCreativeTemplateList.vue

@@ -1,258 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="用户头条id">
-                            <a-input placeholder="请输入用户头条id" v-model="queryParam.accountId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="广告主id">
-                            <a-input placeholder="请输入广告主id" v-model="queryParam.advertiserId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="广告计划id">
-                                <a-input placeholder="请输入广告计划id" v-model="queryParam.adId"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="视频id">
-                                <a-input placeholder="请输入视频id" v-model="queryParam.videoId"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="图片id">
-                                <a-input placeholder="请输入图片id" v-model="queryParam.imageId"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('广告创意模板')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <byteDanceCreativeTemplate-modal ref="modalForm" @ok="modalFormOk"></byteDanceCreativeTemplate-modal>
-    </a-card>
-</template>
-
-<script>
-    import ByteDanceCreativeTemplateModal from './modules/ByteDanceCreativeTemplateModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "ByteDanceCreativeTemplateList",
-        mixins: [JeecgListMixin],
-        components: {
-            ByteDanceCreativeTemplateModal
-        },
-        data() {
-            return {
-                description: '广告创意模板管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '用户头条id',
-                        align: "center",
-                        dataIndex: 'accountId'
-                    },
-                    {
-                        title: '广告主id',
-                        align: "center",
-                        dataIndex: 'advertiserId'
-                    },
-                    {
-                        title: '广告计划id',
-                        align: "center",
-                        dataIndex: 'adId'
-                    },
-                    {
-                        title: '视频id',
-                        align: "center",
-                        dataIndex: 'videoId'
-                    },
-                    {
-                        title: '图片id',
-                        align: "center",
-                        dataIndex: 'imageId'
-                    },
-                    {
-                        title: '创意文案',
-                        align: "center",
-                        dataIndex: 'createText'
-                    },
-                    {
-                        title: '来源',
-                        align: "center",
-                        dataIndex: 'source'
-                    },
-                    {
-                        title: '图片生成视频',
-                        align: "center",
-                        dataIndex: 'imageToVideo'
-                    },
-                    {
-                        title: '最优衍生计划',
-                        align: "center",
-                        dataIndex: 'derivativePlan'
-                    },
-                    {
-                        title: '是否开启广告评论',
-                        align: "center",
-                        dataIndex: 'commentOpen'
-                    },
-                    {
-                        title: '展现方式',
-                        align: "center",
-                        dataIndex: 'presentType'
-                    },
-                    {
-                        title: '创意分类',
-                        align: "center",
-                        dataIndex: 'creativeCategory'
-                    },
-                    {
-                        title: '创意标签',
-                        align: "center",
-                        dataIndex: 'createTitle'
-                    },
-                    {
-                        title: '第三方监测链接展示',
-                        align: "center",
-                        dataIndex: 'monitorLinkDisplay'
-                    },
-                    {
-                        title: '第三方监测链接点击',
-                        align: "center",
-                        dataIndex: 'monitorLinkClick'
-                    },
-                    {
-                        title: '第三方监测链接视频播放',
-                        align: "center",
-                        dataIndex: 'monitorLinkPlay'
-                    },
-                    {
-                        title: '第三方监测链接视频播完',
-                        align: "center",
-                        dataIndex: 'monitorLinkPlayed'
-                    },
-                    {
-                        title: 'status',
-                        align: "center",
-                        dataIndex: 'status'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/ctop/byteDanceCreativeTemplate/list",
-                    delete: "/ctop/byteDanceCreativeTemplate/delete",
-                    deleteBatch: "/ctop/byteDanceCreativeTemplate/deleteBatch",
-                    exportXlsUrl: "ctop/byteDanceCreativeTemplate/exportXls",
-                    importExcelUrl: "ctop/byteDanceCreativeTemplate/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 218
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/ByteDanceCustomAudienceList.vue

@@ -1,218 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="广告主id">
-                            <a-input placeholder="请输入广告主id" v-model="queryParam.advertiserId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="头条账号id">
-                            <a-input placeholder="请输入头条账号id" v-model="queryParam.accountId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="是否删除">
-                                <a-input placeholder="请输入是否删除" v-model="queryParam.isdel"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="数据源id">
-                                <a-input placeholder="请输入数据源id" v-model="queryParam.dataSourceId"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="人群包名称">
-                                <a-input placeholder="请输入人群包名称" v-model="queryParam.name"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('人群包信息')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <byteDanceCustomAudience-modal ref="modalForm" @ok="modalFormOk"></byteDanceCustomAudience-modal>
-    </a-card>
-</template>
-
-<script>
-    import ByteDanceCustomAudienceModal from './modules/ByteDanceCustomAudienceModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "ByteDanceCustomAudienceList",
-        mixins: [JeecgListMixin],
-        components: {
-            ByteDanceCustomAudienceModal
-        },
-        data() {
-            return {
-                description: '人群包信息管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '广告主id',
-                        align: "center",
-                        dataIndex: 'advertiserId'
-                    },
-                    {
-                        title: '头条账号id',
-                        align: "center",
-                        dataIndex: 'accountId'
-                    },
-                    {
-                        title: '是否删除',
-                        align: "center",
-                        dataIndex: 'isdel'
-                    },
-                    {
-                        title: '数据源id',
-                        align: "center",
-                        dataIndex: 'dataSourceId'
-                    },
-                    {
-                        title: '人群包名称',
-                        align: "center",
-                        dataIndex: 'name'
-                    },
-                    {
-                        title: '人群包来源',
-                        align: "center",
-                        dataIndex: 'source'
-                    },
-                    {
-                        title: '人群包状态',
-                        align: "center",
-                        dataIndex: 'status'
-                    },
-                    {
-                        title: '人群包覆盖人群数目',
-                        align: "center",
-                        dataIndex: 'coverNum'
-                    },
-                    {
-                        title: '上传类型人群包包含人群数目',
-                        align: "center",
-                        dataIndex: 'uploadNum'
-                    },
-                    {
-                        title: '人群分组',
-                        align: "center",
-                        dataIndex: 'tag'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/ctop/byteDanceCustomAudience/list",
-                    delete: "/ctop/byteDanceCustomAudience/delete",
-                    deleteBatch: "/ctop/byteDanceCustomAudience/deleteBatch",
-                    exportXlsUrl: "ctop/byteDanceCustomAudience/exportXls",
-                    importExcelUrl: "ctop/byteDanceCustomAudience/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 213
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/ByteDanceImageInfoList.vue

@@ -1,213 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="文件id">
-                            <a-input placeholder="请输入文件id" v-model="queryParam.fileId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="头条平台账号id">
-                            <a-input placeholder="请输入头条平台账号id" v-model="queryParam.accountId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="图片大小">
-                                <a-input placeholder="请输入图片大小" v-model="queryParam.size"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="图片宽度">
-                                <a-input placeholder="请输入图片宽度" v-model="queryParam.width"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="图片高度">
-                                <a-input placeholder="请输入图片高度" v-model="queryParam.height"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('头条图片素材信息')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <byteDanceImageInfo-modal ref="modalForm" @ok="modalFormOk"></byteDanceImageInfo-modal>
-    </a-card>
-</template>
-
-<script>
-    import ByteDanceImageInfoModal from './modules/ByteDanceImageInfoModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "ByteDanceImageInfoList",
-        mixins: [JeecgListMixin],
-        components: {
-            ByteDanceImageInfoModal
-        },
-        data() {
-            return {
-                description: '头条图片素材信息管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '文件id',
-                        align: "center",
-                        dataIndex: 'fileId'
-                    },
-                    {
-                        title: '头条平台账号id',
-                        align: "center",
-                        dataIndex: 'accountId'
-                    },
-                    {
-                        title: '图片大小',
-                        align: "center",
-                        dataIndex: 'size'
-                    },
-                    {
-                        title: '图片宽度',
-                        align: "center",
-                        dataIndex: 'width'
-                    },
-                    {
-                        title: '图片高度',
-                        align: "center",
-                        dataIndex: 'height'
-                    },
-                    {
-                        title: '预览地址',
-                        align: "center",
-                        dataIndex: 'url'
-                    },
-                    {
-                        title: '图片格式',
-                        align: "center",
-                        dataIndex: 'format'
-                    },
-                    {
-                        title: '图片Md5',
-                        align: "center",
-                        dataIndex: 'signature'
-                    },
-                    {
-                        title: 'status',
-                        align: "center",
-                        dataIndex: 'status'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/ctop/byteDanceImageInfo/list",
-                    delete: "/ctop/byteDanceImageInfo/delete",
-                    deleteBatch: "/ctop/byteDanceImageInfo/deleteBatch",
-                    exportXlsUrl: "ctop/byteDanceImageInfo/exportXls",
-                    importExcelUrl: "ctop/byteDanceImageInfo/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 334
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/ByteDanceUserOrientationTemplateList.vue

@@ -1,334 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="头条账号id">
-                            <a-input placeholder="请输入头条账号id" v-model="queryParam.accountId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="广告主id">
-                            <a-input placeholder="请输入广告主id" v-model="queryParam.advertiserId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="定向人群包列表">
-                                <a-input placeholder="请输入定向人群包列表" v-model="queryParam.retargetingTagsInclude"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="排除人群包列表">
-                                <a-input placeholder="请输入排除人群包列表" v-model="queryParam.retargetingTagsExclude"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="受众性别">
-                                <a-input placeholder="请输入受众性别" v-model="queryParam.gender"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('今日头条受众模板信息')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <byteDanceUserOrientationTemplate-modal ref="modalForm"
-                                                @ok="modalFormOk"></byteDanceUserOrientationTemplate-modal>
-    </a-card>
-</template>
-
-<script>
-    import ByteDanceUserOrientationTemplateModal from './modules/ByteDanceUserOrientationTemplateModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "ByteDanceUserOrientationTemplateList",
-        mixins: [JeecgListMixin],
-        components: {
-            ByteDanceUserOrientationTemplateModal
-        },
-        data() {
-            return {
-                description: '今日头条受众模板信息管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '头条账号id',
-                        align: "center",
-                        dataIndex: 'accountId'
-                    },
-                    {
-                        title: '广告主id',
-                        align: "center",
-                        dataIndex: 'advertiserId'
-                    },
-                    {
-                        title: '定向人群包列表',
-                        align: "center",
-                        dataIndex: 'retargetingTagsInclude'
-                    },
-                    {
-                        title: '排除人群包列表',
-                        align: "center",
-                        dataIndex: 'retargetingTagsExclude'
-                    },
-                    {
-                        title: '受众性别',
-                        align: "center",
-                        dataIndex: 'gender'
-                    },
-                    {
-                        title: '年龄',
-                        align: "center",
-                        dataIndex: 'age'
-                    },
-                    {
-                        title: '受众最低android版本',
-                        align: "center",
-                        dataIndex: 'androidOsv'
-                    },
-                    {
-                        title: '受众最低ios版本',
-                        align: "center",
-                        dataIndex: 'iosOsv'
-                    },
-                    {
-                        title: '运营商类型',
-                        align: "center",
-                        dataIndex: 'carrier'
-                    },
-                    {
-                        title: '受众网络类型',
-                        align: "center",
-                        dataIndex: 'ac'
-                    },
-                    {
-                        title: '手机品牌',
-                        align: "center",
-                        dataIndex: 'deviceBrand'
-                    },
-                    {
-                        title: '受众文章分类',
-                        align: "center",
-                        dataIndex: 'articleCategory'
-                    },
-                    {
-                        title: '用户首次激活时间',
-                        align: "center",
-                        dataIndex: 'activateType'
-                    },
-                    {
-                        title: '受众平台',
-                        align: "center",
-                        dataIndex: 'platform'
-                    },
-                    {
-                        title: '地域定向城市或者区县列表',
-                        align: "center",
-                        dataIndex: 'city'
-                    },
-                    {
-                        title: '商圈ID数组',
-                        align: "center",
-                        dataIndex: 'businessIds'
-                    },
-                    {
-                        title: '地域类型',
-                        align: "center",
-                        dataIndex: 'district'
-                    },
-                    {
-                        title: '受众位置类型',
-                        align: "center",
-                        dataIndex: 'locationType'
-                    },
-                    {
-                        title: '兴趣分类',
-                        align: "center",
-                        dataIndex: 'adTag'
-                    },
-                    {
-                        title: '兴趣关键词, 传入具体的词id,非兴趣词包id',
-                        align: "center",
-                        dataIndex: 'interestTags'
-                    },
-                    {
-                        title: '行为定向',
-                        align: "center",
-                        dataIndex: 'appBehaviorTarget'
-                    },
-                    {
-                        title: 'APP行为定向,分类集合',
-                        align: "center",
-                        dataIndex: 'appCategory'
-                    },
-                    {
-                        title: 'APP行为定向,APP集合',
-                        align: "center",
-                        dataIndex: 'appIds'
-                    },
-                    {
-                        title: '产品目录ID(ID由查询产品目录接口得到)',
-                        align: "center",
-                        dataIndex: 'productPlatformId'
-                    },
-                    {
-                        title: 'H5地址参数',
-                        align: "center",
-                        dataIndex: 'externalUrlParams'
-                    },
-                    {
-                        title: '直达链接参数',
-                        align: "center",
-                        dataIndex: 'openUrlParams'
-                    },
-                    {
-                        title: '是否自定义商品定向',
-                        align: "center",
-                        dataIndex: 'dpaLocalAudience'
-                    },
-                    {
-                        title: '排除人群包',
-                        align: "center",
-                        dataIndex: 'excludeCustomActions'
-                    },
-                    {
-                        title: '包含人群包',
-                        align: "center",
-                        dataIndex: 'includeCustomActions'
-                    },
-                    {
-                        title: '精选流量包',
-                        align: "center",
-                        dataIndex: 'superiorPopularityType'
-                    },
-                    {
-                        title: '定向流量包ID数组',
-                        align: "center",
-                        dataIndex: 'flowPackage'
-                    },
-                    {
-                        title: '排除流量包ID数组',
-                        align: "center",
-                        dataIndex: 'excludeFlowPackage'
-                    },
-                    {
-                        title: 'status',
-                        align: "center",
-                        dataIndex: 'status'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/ctop/byteDanceUserOrientationTemplate/list",
-                    delete: "/ctop/byteDanceUserOrientationTemplate/delete",
-                    deleteBatch: "/ctop/byteDanceUserOrientationTemplate/deleteBatch",
-                    exportXlsUrl: "ctop/byteDanceUserOrientationTemplate/exportXls",
-                    importExcelUrl: "ctop/byteDanceUserOrientationTemplate/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 203
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/ByteDanceVideoInfoList.vue

@@ -1,203 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="对应本文件id">
-                            <a-input placeholder="请输入对应本文件id" v-model="queryParam.fileId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="视频宽度">
-                            <a-input placeholder="请输入视频宽度" v-model="queryParam.width"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="视频高度">
-                                <a-input placeholder="请输入视频高度" v-model="queryParam.height"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="视频时长">
-                                <a-input placeholder="请输入视频时长" v-model="queryParam.duration"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="视频大小">
-                                <a-input placeholder="请输入视频大小" v-model="queryParam.size"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('今日头条视频素材信息')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <byteDanceVideoInfo-modal ref="modalForm" @ok="modalFormOk"></byteDanceVideoInfo-modal>
-    </a-card>
-</template>
-
-<script>
-    import ByteDanceVideoInfoModal from './modules/ByteDanceVideoInfoModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "ByteDanceVideoInfoList",
-        mixins: [JeecgListMixin],
-        components: {
-            ByteDanceVideoInfoModal
-        },
-        data() {
-            return {
-                description: '今日头条视频素材信息管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '对应本文件id',
-                        align: "center",
-                        dataIndex: 'fileId'
-                    },
-                    {
-                        title: '视频宽度',
-                        align: "center",
-                        dataIndex: 'width'
-                    },
-                    {
-                        title: '视频高度',
-                        align: "center",
-                        dataIndex: 'height'
-                    },
-                    {
-                        title: '视频时长',
-                        align: "center",
-                        dataIndex: 'duration'
-                    },
-                    {
-                        title: '视频大小',
-                        align: "center",
-                        dataIndex: 'size'
-                    },
-                    {
-                        title: '视频地址',
-                        align: "center",
-                        dataIndex: 'videoUrl'
-                    },
-                    {
-                        title: 'status',
-                        align: "center",
-                        dataIndex: 'status'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/ctop/byteDanceVideoInfo/list",
-                    delete: "/ctop/byteDanceVideoInfo/delete",
-                    deleteBatch: "/ctop/byteDanceVideoInfo/deleteBatch",
-                    exportXlsUrl: "ctop/byteDanceVideoInfo/exportXls",
-                    importExcelUrl: "ctop/byteDanceVideoInfo/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 224
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BytedanceAdvertisePlanTemplateList.vue

@@ -1,224 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="头条账号id">
-                            <a-input placeholder="请输入头条账号id" v-model="queryParam.accountId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="广告主id">
-                            <a-input placeholder="请输入广告主id" v-model="queryParam.advertiserId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="广告组模板id">
-                                <a-input placeholder="请输入广告组模板id" v-model="queryParam.campaignTemplateId"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="投放范围">
-                                <a-input placeholder="请输入投放范围" v-model="queryParam.deliveryRange"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="用户定向模板id">
-                                <a-input placeholder="请输入用户定向模板id"
-                                         v-model="queryParam.userOrentationTemplateId"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('广告计划模板信息')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <bytedanceAdvertisePlanTemplate-modal ref="modalForm" @ok="modalFormOk"></bytedanceAdvertisePlanTemplate-modal>
-    </a-card>
-</template>
-
-<script>
-    import BytedanceAdvertisePlanTemplateModal from './modules/BytedanceAdvertisePlanTemplateModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "BytedanceAdvertisePlanTemplateList",
-        mixins: [JeecgListMixin],
-        components: {
-            BytedanceAdvertisePlanTemplateModal
-        },
-        data() {
-            return {
-                description: '广告计划模板信息管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '头条账号id',
-                        align: "center",
-                        dataIndex: 'accountId'
-                    },
-                    {
-                        title: '广告主id',
-                        align: "center",
-                        dataIndex: 'advertiserId'
-                    },
-                    {
-                        title: '广告组模板id',
-                        align: "center",
-                        dataIndex: 'campaignTemplateId'
-                    },
-                    {
-                        title: '投放范围',
-                        align: "center",
-                        dataIndex: 'deliveryRange'
-                    },
-                    {
-                        title: '用户定向模板id',
-                        align: "center",
-                        dataIndex: 'userOrentationTemplateId'
-                    },
-                    {
-                        title: '预算与出价模板id',
-                        align: "center",
-                        dataIndex: 'budgetTemplateId'
-                    },
-                    {
-                        title: '投放目标模板id',
-                        align: "center",
-                        dataIndex: 'deliveryTargetTemplateId'
-                    },
-                    {
-                        title: '指定视频id',
-                        align: "center",
-                        dataIndex: 'videoId'
-                    },
-                    {
-                        title: '指定封面图id',
-                        align: "center",
-                        dataIndex: 'imageId'
-                    },
-                    {
-                        title: '创意文案信息',
-                        align: "center",
-                        dataIndex: 'creativeText'
-                    },
-                    {
-                        title: '迭代数量',
-                        align: "center",
-                        dataIndex: 'iteratorNum'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/ctop/bytedanceAdvertisePlanTemplate/list",
-                    delete: "/ctop/bytedanceAdvertisePlanTemplate/delete",
-                    deleteBatch: "/ctop/bytedanceAdvertisePlanTemplate/deleteBatch",
-                    exportXlsUrl: "ctop/bytedanceAdvertisePlanTemplate/exportXls",
-                    importExcelUrl: "ctop/bytedanceAdvertisePlanTemplate/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 443
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BytedanceAdvertiserDailyReportList.vue

@@ -1,443 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="广告主id">
-                            <a-input placeholder="请输入广告主id" v-model="queryParam.advertiserId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="数据起始时间">
-                            <a-input placeholder="请输入数据起始时间" v-model="queryParam.statDatetime"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="展示量">
-                                <a-input placeholder="请输入展示量" v-model="queryParam.show"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="点击量">
-                                <a-input placeholder="请输入点击量" v-model="queryParam.click"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="转化量">
-                                <a-input placeholder="请输入转化量" v-model="queryParam.convert"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('广告主日报表')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <bytedanceAdvertiserDailyReport-modal ref="modalForm" @ok="modalFormOk"></bytedanceAdvertiserDailyReport-modal>
-    </a-card>
-</template>
-
-<script>
-    import BytedanceAdvertiserDailyReportModal from './modules/BytedanceAdvertiserDailyReportModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "BytedanceAdvertiserDailyReportList",
-        mixins: [JeecgListMixin],
-        components: {
-            BytedanceAdvertiserDailyReportModal
-        },
-        data() {
-            return {
-                description: '广告主日报表管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '广告主id',
-                        align: "center",
-                        dataIndex: 'advertiserId'
-                    },
-                    {
-                        title: '数据起始时间',
-                        align: "center",
-                        dataIndex: 'statDatetime'
-                    },
-                    {
-                        title: '展示量',
-                        align: "center",
-                        dataIndex: 'show'
-                    },
-                    {
-                        title: '点击量',
-                        align: "center",
-                        dataIndex: 'click'
-                    },
-                    {
-                        title: '转化量',
-                        align: "center",
-                        dataIndex: 'convert'
-                    },
-                    {
-                        title: '总花费',
-                        align: "center",
-                        dataIndex: 'cost'
-                    },
-                    {
-                        title: '应用下载-激活',
-                        align: "center",
-                        dataIndex: 'active'
-                    },
-                    {
-                        title: '应用下载-安卓下载完成',
-                        align: "center",
-                        dataIndex: 'downloadFinish'
-                    },
-                    {
-                        title: '应用下载-安卓下载开始',
-                        align: "center",
-                        dataIndex: 'downloadStart'
-                    },
-                    {
-                        title: '应用下载-点击安装数',
-                        align: "center",
-                        dataIndex: 'clickInstall'
-                    },
-                    {
-                        title: '应用下载-安卓安装完成',
-                        align: "center",
-                        dataIndex: 'installFinish'
-                    },
-                    {
-                        title: '应用下载-注册',
-                        align: "center",
-                        dataIndex: 'register'
-                    },
-                    {
-                        title: '应用下载-付费数',
-                        align: "center",
-                        dataIndex: 'payCount'
-                    },
-                    {
-                        title: '应用下载-到达uv',
-                        align: "center",
-                        dataIndex: 'inAppUv'
-                    },
-                    {
-                        title: '应用下载-详情页到站uv',
-                        align: "center",
-                        dataIndex: 'inAppDetailUv'
-                    },
-                    {
-                        title: '应用下载-加入购物车',
-                        align: "center",
-                        dataIndex: 'inAppCart'
-                    },
-                    {
-                        title: '应用下载-提交订单',
-                        align: "center",
-                        dataIndex: 'inAppOrder'
-                    },
-                    {
-                        title: '应用下载-付费',
-                        align: "center",
-                        dataIndex: 'inAppPay'
-                    },
-                    {
-                        title: '落地页-电话拨打数',
-                        align: "center",
-                        dataIndex: 'phone'
-                    },
-                    {
-                        title: '表单提交数',
-                        align: "center",
-                        dataIndex: 'form'
-                    },
-                    {
-                        title: '落地页-地图搜索',
-                        align: "center",
-                        dataIndex: 'mapSearch'
-                    },
-                    {
-                        title: '落地页-按钮button',
-                        align: "center",
-                        dataIndex: 'button'
-                    },
-                    {
-                        title: '落地页-关键页面浏览',
-                        align: "center",
-                        dataIndex: 'view'
-                    },
-                    {
-                        title: '落地页-QQ咨询数',
-                        align: "center",
-                        dataIndex: 'qq'
-                    },
-                    {
-                        title: '落地页-抽奖数',
-                        align: "center",
-                        dataIndex: 'lottery'
-                    },
-                    {
-                        title: '落地页-投票',
-                        align: "center",
-                        dataIndex: 'vote'
-                    },
-                    {
-                        title: '落地页-页面跳转',
-                        align: "center",
-                        dataIndex: 'redirect'
-                    },
-                    {
-                        title: '落地页-商品购买',
-                        align: "center",
-                        dataIndex: 'shopping'
-                    },
-                    {
-                        title: '落地页-在线咨询',
-                        align: "center",
-                        dataIndex: 'consult'
-                    },
-                    {
-                        title: '落地页-微信',
-                        align: "center",
-                        dataIndex: 'wechat'
-                    },
-                    {
-                        title: '落地页-智能电话确认拨打',
-                        align: "center",
-                        dataIndex: 'phoneConfirm'
-                    },
-                    {
-                        title: '落地页-智能电话确认接通',
-                        align: "center",
-                        dataIndex: 'phoneConnect'
-                    },
-                    {
-                        title: '落地页-智能电话有效咨询',
-                        align: "center",
-                        dataIndex: 'consultEffective'
-                    },
-                    {
-                        title: '视频-总播放',
-                        align: "center",
-                        dataIndex: 'totalPlay'
-                    },
-                    {
-                        title: '视频-有效播放',
-                        align: "center",
-                        dataIndex: 'validPlay'
-                    },
-                    {
-                        title: '视频-wifi播放',
-                        align: "center",
-                        dataIndex: 'wifiPlay'
-                    },
-                    {
-                        title: '视频-播放时长,单位ms',
-                        align: "center",
-                        dataIndex: 'playDurationSum'
-                    },
-                    {
-                        title: '视频-播放25%进度总数',
-                        align: "center",
-                        dataIndex: 'play25FeedBreak'
-                    },
-                    {
-                        title: '视频-播放50%进度总数',
-                        align: "center",
-                        dataIndex: 'play50FeedBreak'
-                    },
-                    {
-                        title: '视频-播放75%进度总数',
-                        align: "center",
-                        dataIndex: 'play75FeedBreak'
-                    },
-                    {
-                        title: '视频-播放100%进度总数',
-                        align: "center",
-                        dataIndex: 'play100FeedBreak'
-                    },
-                    {
-                        title: '附加创意-电话按钮',
-                        align: "center",
-                        dataIndex: 'advancedCreativePhoneClick'
-                    },
-                    {
-                        title: '附加创意-在线咨询',
-                        align: "center",
-                        dataIndex: 'advancedCreativeCounselClick'
-                    },
-                    {
-                        title: '附加创意-表单提交',
-                        align: "center",
-                        dataIndex: 'advancedCreativeFormClick'
-                    },
-                    {
-                        title: '互动数据-分享数',
-                        align: "center",
-                        dataIndex: 'share'
-                    },
-                    {
-                        title: '互动数据-评论数',
-                        align: "center",
-                        dataIndex: 'comment'
-                    },
-                    {
-                        title: '互动数据-点赞数',
-                        align: "center",
-                        dataIndex: 'like'
-                    },
-                    {
-                        title: '互动数据-关注数',
-                        align: "center",
-                        dataIndex: 'follow'
-                    },
-                    {
-                        title: '互动数据-主页访问量',
-                        align: "center",
-                        dataIndex: 'homeVisited'
-                    },
-                    {
-                        title: '互动数据-挑战赛查看数',
-                        align: "center",
-                        dataIndex: 'iesChallengeClick'
-                    },
-                    {
-                        title: '互动数据-音乐查看数',
-                        align: "center",
-                        dataIndex: 'iesMusicClick'
-                    },
-                    {
-                        title: '互动数据-单次互动成本',
-                        align: "center",
-                        dataIndex: 'interactPerCost'
-                    },
-                    {
-                        title: '次留数',
-                        align: "center",
-                        dataIndex: 'nextDayOpen'
-                    },
-                    {
-                        title: '次留率',
-                        align: "center",
-                        dataIndex: 'nextDayOpenRate'
-                    },
-                    {
-                        title: '次留成本',
-                        align: "center",
-                        dataIndex: 'nextDayOpenCost'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/ctop/bytedanceAdvertiserDailyReport/list",
-                    delete: "/ctop/bytedanceAdvertiserDailyReport/delete",
-                    deleteBatch: "/ctop/bytedanceAdvertiserDailyReport/deleteBatch",
-                    exportXlsUrl: "ctop/bytedanceAdvertiserDailyReport/exportXls",
-                    importExcelUrl: "ctop/bytedanceAdvertiserDailyReport/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 444
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BytedanceAdvertiserHourlyReportList.vue

@@ -1,444 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="广告主id">
-                            <a-input placeholder="请输入广告主id" v-model="queryParam.advertiserId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="数据起始时间">
-                            <a-input placeholder="请输入数据起始时间" v-model="queryParam.statDatetime"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="展示量">
-                                <a-input placeholder="请输入展示量" v-model="queryParam.showNum"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="点击量">
-                                <a-input placeholder="请输入点击量" v-model="queryParam.click"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="转化量">
-                                <a-input placeholder="请输入转化量" v-model="queryParam.convertNum"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('广告主小时级别报表信息')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <bytedanceAdvertiserHourlyReport-modal ref="modalForm"
-                                               @ok="modalFormOk"></bytedanceAdvertiserHourlyReport-modal>
-    </a-card>
-</template>
-
-<script>
-    import BytedanceAdvertiserHourlyReportModal from './modules/BytedanceAdvertiserHourlyReportModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "BytedanceAdvertiserHourlyReportList",
-        mixins: [JeecgListMixin],
-        components: {
-            BytedanceAdvertiserHourlyReportModal
-        },
-        data() {
-            return {
-                description: '广告主小时级别报表信息管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '广告主id',
-                        align: "center",
-                        dataIndex: 'advertiserId'
-                    },
-                    {
-                        title: '数据起始时间',
-                        align: "center",
-                        dataIndex: 'statDatetime'
-                    },
-                    {
-                        title: '展示量',
-                        align: "center",
-                        dataIndex: 'showNum'
-                    },
-                    {
-                        title: '点击量',
-                        align: "center",
-                        dataIndex: 'click'
-                    },
-                    {
-                        title: '转化量',
-                        align: "center",
-                        dataIndex: 'convertNum'
-                    },
-                    {
-                        title: '总花费',
-                        align: "center",
-                        dataIndex: 'cost'
-                    },
-                    {
-                        title: '应用下载-激活',
-                        align: "center",
-                        dataIndex: 'active'
-                    },
-                    {
-                        title: '应用下载-安卓下载完成',
-                        align: "center",
-                        dataIndex: 'downloadFinish'
-                    },
-                    {
-                        title: '应用下载-安卓下载开始',
-                        align: "center",
-                        dataIndex: 'downloadStart'
-                    },
-                    {
-                        title: '应用下载-点击安装数',
-                        align: "center",
-                        dataIndex: 'clickInstall'
-                    },
-                    {
-                        title: '应用下载-安卓安装完成',
-                        align: "center",
-                        dataIndex: 'installFinish'
-                    },
-                    {
-                        title: '应用下载-注册',
-                        align: "center",
-                        dataIndex: 'register'
-                    },
-                    {
-                        title: '应用下载-付费数',
-                        align: "center",
-                        dataIndex: 'payCount'
-                    },
-                    {
-                        title: '应用下载-到达uv',
-                        align: "center",
-                        dataIndex: 'inAppUv'
-                    },
-                    {
-                        title: '应用下载-详情页到站uv',
-                        align: "center",
-                        dataIndex: 'inAppDetailUv'
-                    },
-                    {
-                        title: '应用下载-加入购物车',
-                        align: "center",
-                        dataIndex: 'inAppCart'
-                    },
-                    {
-                        title: '应用下载-提交订单',
-                        align: "center",
-                        dataIndex: 'inAppOrder'
-                    },
-                    {
-                        title: '应用下载-付费',
-                        align: "center",
-                        dataIndex: 'inAppPay'
-                    },
-                    {
-                        title: '落地页-电话拨打数',
-                        align: "center",
-                        dataIndex: 'phone'
-                    },
-                    {
-                        title: '表单提交数',
-                        align: "center",
-                        dataIndex: 'form'
-                    },
-                    {
-                        title: '落地页-地图搜索',
-                        align: "center",
-                        dataIndex: 'mapSearch'
-                    },
-                    {
-                        title: '落地页-按钮button',
-                        align: "center",
-                        dataIndex: 'button'
-                    },
-                    {
-                        title: '落地页-关键页面浏览',
-                        align: "center",
-                        dataIndex: 'view'
-                    },
-                    {
-                        title: '落地页-QQ咨询数',
-                        align: "center",
-                        dataIndex: 'qq'
-                    },
-                    {
-                        title: '落地页-抽奖数',
-                        align: "center",
-                        dataIndex: 'lottery'
-                    },
-                    {
-                        title: '落地页-投票',
-                        align: "center",
-                        dataIndex: 'vote'
-                    },
-                    {
-                        title: '落地页-页面跳转',
-                        align: "center",
-                        dataIndex: 'redirect'
-                    },
-                    {
-                        title: '落地页-商品购买',
-                        align: "center",
-                        dataIndex: 'shopping'
-                    },
-                    {
-                        title: '落地页-在线咨询',
-                        align: "center",
-                        dataIndex: 'consult'
-                    },
-                    {
-                        title: '落地页-微信',
-                        align: "center",
-                        dataIndex: 'wechat'
-                    },
-                    {
-                        title: '落地页-智能电话确认拨打',
-                        align: "center",
-                        dataIndex: 'phoneConfirm'
-                    },
-                    {
-                        title: '落地页-智能电话确认接通',
-                        align: "center",
-                        dataIndex: 'phoneConnect'
-                    },
-                    {
-                        title: '落地页-智能电话有效咨询',
-                        align: "center",
-                        dataIndex: 'consultEffective'
-                    },
-                    {
-                        title: '视频-总播放',
-                        align: "center",
-                        dataIndex: 'totalPlay'
-                    },
-                    {
-                        title: '视频-有效播放',
-                        align: "center",
-                        dataIndex: 'validPlay'
-                    },
-                    {
-                        title: '视频-wifi播放',
-                        align: "center",
-                        dataIndex: 'wifiPlay'
-                    },
-                    {
-                        title: '视频-播放时长,单位ms',
-                        align: "center",
-                        dataIndex: 'playDurationSum'
-                    },
-                    {
-                        title: '视频-播放25%进度总数',
-                        align: "center",
-                        dataIndex: 'play25FeedBreak'
-                    },
-                    {
-                        title: '视频-播放50%进度总数',
-                        align: "center",
-                        dataIndex: 'play50FeedBreak'
-                    },
-                    {
-                        title: '视频-播放75%进度总数',
-                        align: "center",
-                        dataIndex: 'play75FeedBreak'
-                    },
-                    {
-                        title: '视频-播放100%进度总数',
-                        align: "center",
-                        dataIndex: 'play100FeedBreak'
-                    },
-                    {
-                        title: '附加创意-电话按钮',
-                        align: "center",
-                        dataIndex: 'advancedCreativePhoneClick'
-                    },
-                    {
-                        title: '附加创意-在线咨询',
-                        align: "center",
-                        dataIndex: 'advancedCreativeCounselClick'
-                    },
-                    {
-                        title: '附加创意-表单提交',
-                        align: "center",
-                        dataIndex: 'advancedCreativeFormClick'
-                    },
-                    {
-                        title: '互动数据-分享数',
-                        align: "center",
-                        dataIndex: 'share'
-                    },
-                    {
-                        title: '互动数据-评论数',
-                        align: "center",
-                        dataIndex: 'comment'
-                    },
-                    {
-                        title: '互动数据-点赞数',
-                        align: "center",
-                        dataIndex: 'likeNum'
-                    },
-                    {
-                        title: '互动数据-关注数',
-                        align: "center",
-                        dataIndex: 'follow'
-                    },
-                    {
-                        title: '互动数据-主页访问量',
-                        align: "center",
-                        dataIndex: 'homeVisited'
-                    },
-                    {
-                        title: '互动数据-挑战赛查看数',
-                        align: "center",
-                        dataIndex: 'iesChallengeClick'
-                    },
-                    {
-                        title: '互动数据-音乐查看数',
-                        align: "center",
-                        dataIndex: 'iesMusicClick'
-                    },
-                    {
-                        title: '互动数据-单次互动成本',
-                        align: "center",
-                        dataIndex: 'interactPerCost'
-                    },
-                    {
-                        title: '次留数',
-                        align: "center",
-                        dataIndex: 'nextDayOpen'
-                    },
-                    {
-                        title: '次留率',
-                        align: "center",
-                        dataIndex: 'nextDayOpenRate'
-                    },
-                    {
-                        title: '次留成本',
-                        align: "center",
-                        dataIndex: 'nextDayOpenCost'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/ctop/bytedanceAdvertiserHourlyReport/list",
-                    delete: "/ctop/bytedanceAdvertiserHourlyReport/delete",
-                    deleteBatch: "/ctop/bytedanceAdvertiserHourlyReport/deleteBatch",
-                    exportXlsUrl: "ctop/bytedanceAdvertiserHourlyReport/exportXls",
-                    importExcelUrl: "ctop/bytedanceAdvertiserHourlyReport/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 453
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BytedanceCampaignDailyReportList.vue

@@ -1,453 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="广告主id">
-                            <a-input placeholder="请输入广告主id" v-model="queryParam.advertiserId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="数据起始时间">
-                            <a-input placeholder="请输入数据起始时间" v-model="queryParam.statDatetime"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="展示量">
-                                <a-input placeholder="请输入展示量" v-model="queryParam.showNum"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="点击量">
-                                <a-input placeholder="请输入点击量" v-model="queryParam.click"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="转化量">
-                                <a-input placeholder="请输入转化量" v-model="queryParam.convertNum"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('广告组日报表信息')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <bytedanceCampaignDailyReport-modal ref="modalForm" @ok="modalFormOk"></bytedanceCampaignDailyReport-modal>
-    </a-card>
-</template>
-
-<script>
-    import BytedanceCampaignDailyReportModal from './modules/BytedanceCampaignDailyReportModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "BytedanceCampaignDailyReportList",
-        mixins: [JeecgListMixin],
-        components: {
-            BytedanceCampaignDailyReportModal
-        },
-        data() {
-            return {
-                description: '广告组日报表信息管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '广告主id',
-                        align: "center",
-                        dataIndex: 'advertiserId'
-                    },
-                    {
-                        title: '数据起始时间',
-                        align: "center",
-                        dataIndex: 'statDatetime'
-                    },
-                    {
-                        title: '展示量',
-                        align: "center",
-                        dataIndex: 'showNum'
-                    },
-                    {
-                        title: '点击量',
-                        align: "center",
-                        dataIndex: 'click'
-                    },
-                    {
-                        title: '转化量',
-                        align: "center",
-                        dataIndex: 'convertNum'
-                    },
-                    {
-                        title: '总花费',
-                        align: "center",
-                        dataIndex: 'cost'
-                    },
-                    {
-                        title: '应用下载-激活',
-                        align: "center",
-                        dataIndex: 'active'
-                    },
-                    {
-                        title: '应用下载-安卓下载完成',
-                        align: "center",
-                        dataIndex: 'downloadFinish'
-                    },
-                    {
-                        title: '应用下载-安卓下载开始',
-                        align: "center",
-                        dataIndex: 'downloadStart'
-                    },
-                    {
-                        title: '应用下载-点击安装数',
-                        align: "center",
-                        dataIndex: 'clickInstall'
-                    },
-                    {
-                        title: '应用下载-安卓安装完成',
-                        align: "center",
-                        dataIndex: 'installFinish'
-                    },
-                    {
-                        title: '应用下载-注册',
-                        align: "center",
-                        dataIndex: 'register'
-                    },
-                    {
-                        title: '应用下载-付费数',
-                        align: "center",
-                        dataIndex: 'payCount'
-                    },
-                    {
-                        title: '应用下载-到达uv',
-                        align: "center",
-                        dataIndex: 'inAppUv'
-                    },
-                    {
-                        title: '应用下载-详情页到站uv',
-                        align: "center",
-                        dataIndex: 'inAppDetailUv'
-                    },
-                    {
-                        title: '应用下载-加入购物车',
-                        align: "center",
-                        dataIndex: 'inAppCart'
-                    },
-                    {
-                        title: '应用下载-提交订单',
-                        align: "center",
-                        dataIndex: 'inAppOrder'
-                    },
-                    {
-                        title: '应用下载-付费',
-                        align: "center",
-                        dataIndex: 'inAppPay'
-                    },
-                    {
-                        title: '落地页-电话拨打数',
-                        align: "center",
-                        dataIndex: 'phone'
-                    },
-                    {
-                        title: '表单提交数',
-                        align: "center",
-                        dataIndex: 'form'
-                    },
-                    {
-                        title: '落地页-地图搜索',
-                        align: "center",
-                        dataIndex: 'mapSearch'
-                    },
-                    {
-                        title: '落地页-按钮button',
-                        align: "center",
-                        dataIndex: 'button'
-                    },
-                    {
-                        title: '落地页-关键页面浏览',
-                        align: "center",
-                        dataIndex: 'view'
-                    },
-                    {
-                        title: '落地页-QQ咨询数',
-                        align: "center",
-                        dataIndex: 'qq'
-                    },
-                    {
-                        title: '落地页-抽奖数',
-                        align: "center",
-                        dataIndex: 'lottery'
-                    },
-                    {
-                        title: '落地页-投票',
-                        align: "center",
-                        dataIndex: 'vote'
-                    },
-                    {
-                        title: '落地页-页面跳转',
-                        align: "center",
-                        dataIndex: 'redirect'
-                    },
-                    {
-                        title: '落地页-商品购买',
-                        align: "center",
-                        dataIndex: 'shopping'
-                    },
-                    {
-                        title: '落地页-在线咨询',
-                        align: "center",
-                        dataIndex: 'consult'
-                    },
-                    {
-                        title: '落地页-微信',
-                        align: "center",
-                        dataIndex: 'wechat'
-                    },
-                    {
-                        title: '落地页-智能电话确认拨打',
-                        align: "center",
-                        dataIndex: 'phoneConfirm'
-                    },
-                    {
-                        title: '落地页-智能电话确认接通',
-                        align: "center",
-                        dataIndex: 'phoneConnect'
-                    },
-                    {
-                        title: '落地页-智能电话有效咨询',
-                        align: "center",
-                        dataIndex: 'consultEffective'
-                    },
-                    {
-                        title: '视频-总播放',
-                        align: "center",
-                        dataIndex: 'totalPlay'
-                    },
-                    {
-                        title: '视频-有效播放',
-                        align: "center",
-                        dataIndex: 'validPlay'
-                    },
-                    {
-                        title: '视频-wifi播放',
-                        align: "center",
-                        dataIndex: 'wifiPlay'
-                    },
-                    {
-                        title: '视频-播放时长,单位ms',
-                        align: "center",
-                        dataIndex: 'playDurationSum'
-                    },
-                    {
-                        title: '视频-播放25%进度总数',
-                        align: "center",
-                        dataIndex: 'play25FeedBreak'
-                    },
-                    {
-                        title: '视频-播放50%进度总数',
-                        align: "center",
-                        dataIndex: 'play50FeedBreak'
-                    },
-                    {
-                        title: '视频-播放75%进度总数',
-                        align: "center",
-                        dataIndex: 'play75FeedBreak'
-                    },
-                    {
-                        title: '视频-播放100%进度总数',
-                        align: "center",
-                        dataIndex: 'play100FeedBreak'
-                    },
-                    {
-                        title: '附加创意-电话按钮',
-                        align: "center",
-                        dataIndex: 'advancedCreativePhoneClick'
-                    },
-                    {
-                        title: '附加创意-在线咨询',
-                        align: "center",
-                        dataIndex: 'advancedCreativeCounselClick'
-                    },
-                    {
-                        title: '附加创意-表单提交',
-                        align: "center",
-                        dataIndex: 'advancedCreativeFormClick'
-                    },
-                    {
-                        title: '互动数据-分享数',
-                        align: "center",
-                        dataIndex: 'share'
-                    },
-                    {
-                        title: '互动数据-评论数',
-                        align: "center",
-                        dataIndex: 'comment'
-                    },
-                    {
-                        title: '互动数据-点赞数',
-                        align: "center",
-                        dataIndex: 'likeNum'
-                    },
-                    {
-                        title: '互动数据-关注数',
-                        align: "center",
-                        dataIndex: 'follow'
-                    },
-                    {
-                        title: '互动数据-主页访问量',
-                        align: "center",
-                        dataIndex: 'homeVisited'
-                    },
-                    {
-                        title: '互动数据-挑战赛查看数',
-                        align: "center",
-                        dataIndex: 'iesChallengeClick'
-                    },
-                    {
-                        title: '互动数据-音乐查看数',
-                        align: "center",
-                        dataIndex: 'iesMusicClick'
-                    },
-                    {
-                        title: '互动数据-单次互动成本',
-                        align: "center",
-                        dataIndex: 'interactPerCost'
-                    },
-                    {
-                        title: '次留数',
-                        align: "center",
-                        dataIndex: 'nextDayOpen'
-                    },
-                    {
-                        title: '次留率',
-                        align: "center",
-                        dataIndex: 'nextDayOpenRate'
-                    },
-                    {
-                        title: '次留成本',
-                        align: "center",
-                        dataIndex: 'nextDayOpenCost'
-                    },
-                    {
-                        title: '广告组id',
-                        align: "center",
-                        dataIndex: 'campaignId'
-                    },
-                    {
-                        title: '广告组名称',
-                        align: "center",
-                        dataIndex: 'campaignName'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/ctop/bytedanceCampaignDailyReport/list",
-                    delete: "/ctop/bytedanceCampaignDailyReport/delete",
-                    deleteBatch: "/ctop/bytedanceCampaignDailyReport/deleteBatch",
-                    exportXlsUrl: "ctop/bytedanceCampaignDailyReport/exportXls",
-                    importExcelUrl: "ctop/bytedanceCampaignDailyReport/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 453
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BytedanceCampaignHourlyReportList.vue

@@ -1,453 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="广告主id">
-                            <a-input placeholder="请输入广告主id" v-model="queryParam.advertiserId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="数据起始时间">
-                            <a-input placeholder="请输入数据起始时间" v-model="queryParam.statDatetime"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="展示量">
-                                <a-input placeholder="请输入展示量" v-model="queryParam.showNum"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="点击量">
-                                <a-input placeholder="请输入点击量" v-model="queryParam.click"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="转化量">
-                                <a-input placeholder="请输入转化量" v-model="queryParam.convertNum"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('广告组时报表信息')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <bytedanceCampaignHourlyReport-modal ref="modalForm" @ok="modalFormOk"></bytedanceCampaignHourlyReport-modal>
-    </a-card>
-</template>
-
-<script>
-    import BytedanceCampaignHourlyReportModal from './modules/BytedanceCampaignHourlyReportModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "BytedanceCampaignHourlyReportList",
-        mixins: [JeecgListMixin],
-        components: {
-            BytedanceCampaignHourlyReportModal
-        },
-        data() {
-            return {
-                description: '广告组时报表信息管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '广告主id',
-                        align: "center",
-                        dataIndex: 'advertiserId'
-                    },
-                    {
-                        title: '数据起始时间',
-                        align: "center",
-                        dataIndex: 'statDatetime'
-                    },
-                    {
-                        title: '展示量',
-                        align: "center",
-                        dataIndex: 'showNum'
-                    },
-                    {
-                        title: '点击量',
-                        align: "center",
-                        dataIndex: 'click'
-                    },
-                    {
-                        title: '转化量',
-                        align: "center",
-                        dataIndex: 'convertNum'
-                    },
-                    {
-                        title: '总花费',
-                        align: "center",
-                        dataIndex: 'cost'
-                    },
-                    {
-                        title: '应用下载-激活',
-                        align: "center",
-                        dataIndex: 'active'
-                    },
-                    {
-                        title: '应用下载-安卓下载完成',
-                        align: "center",
-                        dataIndex: 'downloadFinish'
-                    },
-                    {
-                        title: '应用下载-安卓下载开始',
-                        align: "center",
-                        dataIndex: 'downloadStart'
-                    },
-                    {
-                        title: '应用下载-点击安装数',
-                        align: "center",
-                        dataIndex: 'clickInstall'
-                    },
-                    {
-                        title: '应用下载-安卓安装完成',
-                        align: "center",
-                        dataIndex: 'installFinish'
-                    },
-                    {
-                        title: '应用下载-注册',
-                        align: "center",
-                        dataIndex: 'register'
-                    },
-                    {
-                        title: '应用下载-付费数',
-                        align: "center",
-                        dataIndex: 'payCount'
-                    },
-                    {
-                        title: '应用下载-到达uv',
-                        align: "center",
-                        dataIndex: 'inAppUv'
-                    },
-                    {
-                        title: '应用下载-详情页到站uv',
-                        align: "center",
-                        dataIndex: 'inAppDetailUv'
-                    },
-                    {
-                        title: '应用下载-加入购物车',
-                        align: "center",
-                        dataIndex: 'inAppCart'
-                    },
-                    {
-                        title: '应用下载-提交订单',
-                        align: "center",
-                        dataIndex: 'inAppOrder'
-                    },
-                    {
-                        title: '应用下载-付费',
-                        align: "center",
-                        dataIndex: 'inAppPay'
-                    },
-                    {
-                        title: '落地页-电话拨打数',
-                        align: "center",
-                        dataIndex: 'phone'
-                    },
-                    {
-                        title: '表单提交数',
-                        align: "center",
-                        dataIndex: 'form'
-                    },
-                    {
-                        title: '落地页-地图搜索',
-                        align: "center",
-                        dataIndex: 'mapSearch'
-                    },
-                    {
-                        title: '落地页-按钮button',
-                        align: "center",
-                        dataIndex: 'button'
-                    },
-                    {
-                        title: '落地页-关键页面浏览',
-                        align: "center",
-                        dataIndex: 'view'
-                    },
-                    {
-                        title: '落地页-QQ咨询数',
-                        align: "center",
-                        dataIndex: 'qq'
-                    },
-                    {
-                        title: '落地页-抽奖数',
-                        align: "center",
-                        dataIndex: 'lottery'
-                    },
-                    {
-                        title: '落地页-投票',
-                        align: "center",
-                        dataIndex: 'vote'
-                    },
-                    {
-                        title: '落地页-页面跳转',
-                        align: "center",
-                        dataIndex: 'redirect'
-                    },
-                    {
-                        title: '落地页-商品购买',
-                        align: "center",
-                        dataIndex: 'shopping'
-                    },
-                    {
-                        title: '落地页-在线咨询',
-                        align: "center",
-                        dataIndex: 'consult'
-                    },
-                    {
-                        title: '落地页-微信',
-                        align: "center",
-                        dataIndex: 'wechat'
-                    },
-                    {
-                        title: '落地页-智能电话确认拨打',
-                        align: "center",
-                        dataIndex: 'phoneConfirm'
-                    },
-                    {
-                        title: '落地页-智能电话确认接通',
-                        align: "center",
-                        dataIndex: 'phoneConnect'
-                    },
-                    {
-                        title: '落地页-智能电话有效咨询',
-                        align: "center",
-                        dataIndex: 'consultEffective'
-                    },
-                    {
-                        title: '视频-总播放',
-                        align: "center",
-                        dataIndex: 'totalPlay'
-                    },
-                    {
-                        title: '视频-有效播放',
-                        align: "center",
-                        dataIndex: 'validPlay'
-                    },
-                    {
-                        title: '视频-wifi播放',
-                        align: "center",
-                        dataIndex: 'wifiPlay'
-                    },
-                    {
-                        title: '视频-播放时长,单位ms',
-                        align: "center",
-                        dataIndex: 'playDurationSum'
-                    },
-                    {
-                        title: '视频-播放25%进度总数',
-                        align: "center",
-                        dataIndex: 'play25FeedBreak'
-                    },
-                    {
-                        title: '视频-播放50%进度总数',
-                        align: "center",
-                        dataIndex: 'play50FeedBreak'
-                    },
-                    {
-                        title: '视频-播放75%进度总数',
-                        align: "center",
-                        dataIndex: 'play75FeedBreak'
-                    },
-                    {
-                        title: '视频-播放100%进度总数',
-                        align: "center",
-                        dataIndex: 'play100FeedBreak'
-                    },
-                    {
-                        title: '附加创意-电话按钮',
-                        align: "center",
-                        dataIndex: 'advancedCreativePhoneClick'
-                    },
-                    {
-                        title: '附加创意-在线咨询',
-                        align: "center",
-                        dataIndex: 'advancedCreativeCounselClick'
-                    },
-                    {
-                        title: '附加创意-表单提交',
-                        align: "center",
-                        dataIndex: 'advancedCreativeFormClick'
-                    },
-                    {
-                        title: '互动数据-分享数',
-                        align: "center",
-                        dataIndex: 'share'
-                    },
-                    {
-                        title: '互动数据-评论数',
-                        align: "center",
-                        dataIndex: 'comment'
-                    },
-                    {
-                        title: '互动数据-点赞数',
-                        align: "center",
-                        dataIndex: 'likeNum'
-                    },
-                    {
-                        title: '互动数据-关注数',
-                        align: "center",
-                        dataIndex: 'follow'
-                    },
-                    {
-                        title: '互动数据-主页访问量',
-                        align: "center",
-                        dataIndex: 'homeVisited'
-                    },
-                    {
-                        title: '互动数据-挑战赛查看数',
-                        align: "center",
-                        dataIndex: 'iesChallengeClick'
-                    },
-                    {
-                        title: '互动数据-音乐查看数',
-                        align: "center",
-                        dataIndex: 'iesMusicClick'
-                    },
-                    {
-                        title: '互动数据-单次互动成本',
-                        align: "center",
-                        dataIndex: 'interactPerCost'
-                    },
-                    {
-                        title: '次留数',
-                        align: "center",
-                        dataIndex: 'nextDayOpen'
-                    },
-                    {
-                        title: '次留率',
-                        align: "center",
-                        dataIndex: 'nextDayOpenRate'
-                    },
-                    {
-                        title: '次留成本',
-                        align: "center",
-                        dataIndex: 'nextDayOpenCost'
-                    },
-                    {
-                        title: '广告组id',
-                        align: "center",
-                        dataIndex: 'campaignId'
-                    },
-                    {
-                        title: '广告组名称',
-                        align: "center",
-                        dataIndex: 'campaignName'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/ctop/bytedanceCampaignHourlyReport/list",
-                    delete: "/ctop/bytedanceCampaignHourlyReport/delete",
-                    deleteBatch: "/ctop/bytedanceCampaignHourlyReport/deleteBatch",
-                    exportXlsUrl: "ctop/bytedanceCampaignHourlyReport/exportXls",
-                    importExcelUrl: "ctop/bytedanceCampaignHourlyReport/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 458
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BytedanceCreativeDailyReportList.vue

@@ -1,458 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="广告主id">
-                            <a-input placeholder="请输入广告主id" v-model="queryParam.advertiserId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="数据起始时间">
-                            <a-input placeholder="请输入数据起始时间" v-model="queryParam.statDatetime"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="展示量">
-                                <a-input placeholder="请输入展示量" v-model="queryParam.showNum"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="点击量">
-                                <a-input placeholder="请输入点击量" v-model="queryParam.click"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="转化量">
-                                <a-input placeholder="请输入转化量" v-model="queryParam.convertNum"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('广告创意日报表信息')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <bytedanceCreativeDailyReport-modal ref="modalForm" @ok="modalFormOk"></bytedanceCreativeDailyReport-modal>
-    </a-card>
-</template>
-
-<script>
-    import BytedanceCreativeDailyReportModal from './modules/BytedanceCreativeDailyReportModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "BytedanceCreativeDailyReportList",
-        mixins: [JeecgListMixin],
-        components: {
-            BytedanceCreativeDailyReportModal
-        },
-        data() {
-            return {
-                description: '广告创意日报表信息管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '广告主id',
-                        align: "center",
-                        dataIndex: 'advertiserId'
-                    },
-                    {
-                        title: '数据起始时间',
-                        align: "center",
-                        dataIndex: 'statDatetime'
-                    },
-                    {
-                        title: '展示量',
-                        align: "center",
-                        dataIndex: 'showNum'
-                    },
-                    {
-                        title: '点击量',
-                        align: "center",
-                        dataIndex: 'click'
-                    },
-                    {
-                        title: '转化量',
-                        align: "center",
-                        dataIndex: 'convertNum'
-                    },
-                    {
-                        title: '总花费',
-                        align: "center",
-                        dataIndex: 'cost'
-                    },
-                    {
-                        title: '应用下载-激活',
-                        align: "center",
-                        dataIndex: 'active'
-                    },
-                    {
-                        title: '应用下载-安卓下载完成',
-                        align: "center",
-                        dataIndex: 'downloadFinish'
-                    },
-                    {
-                        title: '应用下载-安卓下载开始',
-                        align: "center",
-                        dataIndex: 'downloadStart'
-                    },
-                    {
-                        title: '应用下载-点击安装数',
-                        align: "center",
-                        dataIndex: 'clickInstall'
-                    },
-                    {
-                        title: '应用下载-安卓安装完成',
-                        align: "center",
-                        dataIndex: 'installFinish'
-                    },
-                    {
-                        title: '应用下载-注册',
-                        align: "center",
-                        dataIndex: 'register'
-                    },
-                    {
-                        title: '应用下载-付费数',
-                        align: "center",
-                        dataIndex: 'payCount'
-                    },
-                    {
-                        title: '应用下载-到达uv',
-                        align: "center",
-                        dataIndex: 'inAppUv'
-                    },
-                    {
-                        title: '应用下载-详情页到站uv',
-                        align: "center",
-                        dataIndex: 'inAppDetailUv'
-                    },
-                    {
-                        title: '应用下载-加入购物车',
-                        align: "center",
-                        dataIndex: 'inAppCart'
-                    },
-                    {
-                        title: '应用下载-提交订单',
-                        align: "center",
-                        dataIndex: 'inAppOrder'
-                    },
-                    {
-                        title: '应用下载-付费',
-                        align: "center",
-                        dataIndex: 'inAppPay'
-                    },
-                    {
-                        title: '落地页-电话拨打数',
-                        align: "center",
-                        dataIndex: 'phone'
-                    },
-                    {
-                        title: '表单提交数',
-                        align: "center",
-                        dataIndex: 'form'
-                    },
-                    {
-                        title: '落地页-地图搜索',
-                        align: "center",
-                        dataIndex: 'mapSearch'
-                    },
-                    {
-                        title: '落地页-按钮button',
-                        align: "center",
-                        dataIndex: 'button'
-                    },
-                    {
-                        title: '落地页-关键页面浏览',
-                        align: "center",
-                        dataIndex: 'view'
-                    },
-                    {
-                        title: '落地页-QQ咨询数',
-                        align: "center",
-                        dataIndex: 'qq'
-                    },
-                    {
-                        title: '落地页-抽奖数',
-                        align: "center",
-                        dataIndex: 'lottery'
-                    },
-                    {
-                        title: '落地页-投票',
-                        align: "center",
-                        dataIndex: 'vote'
-                    },
-                    {
-                        title: '落地页-页面跳转',
-                        align: "center",
-                        dataIndex: 'redirect'
-                    },
-                    {
-                        title: '落地页-商品购买',
-                        align: "center",
-                        dataIndex: 'shopping'
-                    },
-                    {
-                        title: '落地页-在线咨询',
-                        align: "center",
-                        dataIndex: 'consult'
-                    },
-                    {
-                        title: '落地页-微信',
-                        align: "center",
-                        dataIndex: 'wechat'
-                    },
-                    {
-                        title: '落地页-智能电话确认拨打',
-                        align: "center",
-                        dataIndex: 'phoneConfirm'
-                    },
-                    {
-                        title: '落地页-智能电话确认接通',
-                        align: "center",
-                        dataIndex: 'phoneConnect'
-                    },
-                    {
-                        title: '落地页-智能电话有效咨询',
-                        align: "center",
-                        dataIndex: 'consultEffective'
-                    },
-                    {
-                        title: '视频-总播放',
-                        align: "center",
-                        dataIndex: 'totalPlay'
-                    },
-                    {
-                        title: '视频-有效播放',
-                        align: "center",
-                        dataIndex: 'validPlay'
-                    },
-                    {
-                        title: '视频-wifi播放',
-                        align: "center",
-                        dataIndex: 'wifiPlay'
-                    },
-                    {
-                        title: '视频-播放时长,单位ms',
-                        align: "center",
-                        dataIndex: 'playDurationSum'
-                    },
-                    {
-                        title: '视频-播放25%进度总数',
-                        align: "center",
-                        dataIndex: 'play25FeedBreak'
-                    },
-                    {
-                        title: '视频-播放50%进度总数',
-                        align: "center",
-                        dataIndex: 'play50FeedBreak'
-                    },
-                    {
-                        title: '视频-播放75%进度总数',
-                        align: "center",
-                        dataIndex: 'play75FeedBreak'
-                    },
-                    {
-                        title: '视频-播放100%进度总数',
-                        align: "center",
-                        dataIndex: 'play100FeedBreak'
-                    },
-                    {
-                        title: '附加创意-电话按钮',
-                        align: "center",
-                        dataIndex: 'advancedCreativePhoneClick'
-                    },
-                    {
-                        title: '附加创意-在线咨询',
-                        align: "center",
-                        dataIndex: 'advancedCreativeCounselClick'
-                    },
-                    {
-                        title: '附加创意-表单提交',
-                        align: "center",
-                        dataIndex: 'advancedCreativeFormClick'
-                    },
-                    {
-                        title: '互动数据-分享数',
-                        align: "center",
-                        dataIndex: 'share'
-                    },
-                    {
-                        title: '互动数据-评论数',
-                        align: "center",
-                        dataIndex: 'comment'
-                    },
-                    {
-                        title: '互动数据-点赞数',
-                        align: "center",
-                        dataIndex: 'likeNum'
-                    },
-                    {
-                        title: '互动数据-关注数',
-                        align: "center",
-                        dataIndex: 'follow'
-                    },
-                    {
-                        title: '互动数据-主页访问量',
-                        align: "center",
-                        dataIndex: 'homeVisited'
-                    },
-                    {
-                        title: '互动数据-挑战赛查看数',
-                        align: "center",
-                        dataIndex: 'iesChallengeClick'
-                    },
-                    {
-                        title: '互动数据-音乐查看数',
-                        align: "center",
-                        dataIndex: 'iesMusicClick'
-                    },
-                    {
-                        title: '互动数据-单次互动成本',
-                        align: "center",
-                        dataIndex: 'interactPerCost'
-                    },
-                    {
-                        title: '次留数',
-                        align: "center",
-                        dataIndex: 'nextDayOpen'
-                    },
-                    {
-                        title: '次留率',
-                        align: "center",
-                        dataIndex: 'nextDayOpenRate'
-                    },
-                    {
-                        title: '次留成本',
-                        align: "center",
-                        dataIndex: 'nextDayOpenCost'
-                    },
-                    {
-                        title: '广告组id',
-                        align: "center",
-                        dataIndex: 'adId'
-                    },
-                    {
-                        title: '广告组名称',
-                        align: "center",
-                        dataIndex: 'adName'
-                    },
-                    {
-                        title: 'campaignId',
-                        align: "center",
-                        dataIndex: 'campaignId'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/ctop/bytedanceCreativeDailyReport/list",
-                    delete: "/ctop/bytedanceCreativeDailyReport/delete",
-                    deleteBatch: "/ctop/bytedanceCreativeDailyReport/deleteBatch",
-                    exportXlsUrl: "ctop/bytedanceCreativeDailyReport/exportXls",
-                    importExcelUrl: "ctop/bytedanceCreativeDailyReport/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 458
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BytedanceCreativeHourlyReportList.vue

@@ -1,458 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="广告主id">
-                            <a-input placeholder="请输入广告主id" v-model="queryParam.advertiserId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="数据起始时间">
-                            <a-input placeholder="请输入数据起始时间" v-model="queryParam.statDatetime"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="展示量">
-                                <a-input placeholder="请输入展示量" v-model="queryParam.showNum"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="点击量">
-                                <a-input placeholder="请输入点击量" v-model="queryParam.click"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="转化量">
-                                <a-input placeholder="请输入转化量" v-model="queryParam.convertNum"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('广告创意日报表信息')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <bytedanceCreativeHourlyReport-modal ref="modalForm" @ok="modalFormOk"></bytedanceCreativeHourlyReport-modal>
-    </a-card>
-</template>
-
-<script>
-    import BytedanceCreativeHourlyReportModal from './modules/BytedanceCreativeHourlyReportModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "BytedanceCreativeHourlyReportList",
-        mixins: [JeecgListMixin],
-        components: {
-            BytedanceCreativeHourlyReportModal
-        },
-        data() {
-            return {
-                description: '广告创意日报表信息管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '广告主id',
-                        align: "center",
-                        dataIndex: 'advertiserId'
-                    },
-                    {
-                        title: '数据起始时间',
-                        align: "center",
-                        dataIndex: 'statDatetime'
-                    },
-                    {
-                        title: '展示量',
-                        align: "center",
-                        dataIndex: 'showNum'
-                    },
-                    {
-                        title: '点击量',
-                        align: "center",
-                        dataIndex: 'click'
-                    },
-                    {
-                        title: '转化量',
-                        align: "center",
-                        dataIndex: 'convertNum'
-                    },
-                    {
-                        title: '总花费',
-                        align: "center",
-                        dataIndex: 'cost'
-                    },
-                    {
-                        title: '应用下载-激活',
-                        align: "center",
-                        dataIndex: 'active'
-                    },
-                    {
-                        title: '应用下载-安卓下载完成',
-                        align: "center",
-                        dataIndex: 'downloadFinish'
-                    },
-                    {
-                        title: '应用下载-安卓下载开始',
-                        align: "center",
-                        dataIndex: 'downloadStart'
-                    },
-                    {
-                        title: '应用下载-点击安装数',
-                        align: "center",
-                        dataIndex: 'clickInstall'
-                    },
-                    {
-                        title: '应用下载-安卓安装完成',
-                        align: "center",
-                        dataIndex: 'installFinish'
-                    },
-                    {
-                        title: '应用下载-注册',
-                        align: "center",
-                        dataIndex: 'register'
-                    },
-                    {
-                        title: '应用下载-付费数',
-                        align: "center",
-                        dataIndex: 'payCount'
-                    },
-                    {
-                        title: '应用下载-到达uv',
-                        align: "center",
-                        dataIndex: 'inAppUv'
-                    },
-                    {
-                        title: '应用下载-详情页到站uv',
-                        align: "center",
-                        dataIndex: 'inAppDetailUv'
-                    },
-                    {
-                        title: '应用下载-加入购物车',
-                        align: "center",
-                        dataIndex: 'inAppCart'
-                    },
-                    {
-                        title: '应用下载-提交订单',
-                        align: "center",
-                        dataIndex: 'inAppOrder'
-                    },
-                    {
-                        title: '应用下载-付费',
-                        align: "center",
-                        dataIndex: 'inAppPay'
-                    },
-                    {
-                        title: '落地页-电话拨打数',
-                        align: "center",
-                        dataIndex: 'phone'
-                    },
-                    {
-                        title: '表单提交数',
-                        align: "center",
-                        dataIndex: 'form'
-                    },
-                    {
-                        title: '落地页-地图搜索',
-                        align: "center",
-                        dataIndex: 'mapSearch'
-                    },
-                    {
-                        title: '落地页-按钮button',
-                        align: "center",
-                        dataIndex: 'button'
-                    },
-                    {
-                        title: '落地页-关键页面浏览',
-                        align: "center",
-                        dataIndex: 'view'
-                    },
-                    {
-                        title: '落地页-QQ咨询数',
-                        align: "center",
-                        dataIndex: 'qq'
-                    },
-                    {
-                        title: '落地页-抽奖数',
-                        align: "center",
-                        dataIndex: 'lottery'
-                    },
-                    {
-                        title: '落地页-投票',
-                        align: "center",
-                        dataIndex: 'vote'
-                    },
-                    {
-                        title: '落地页-页面跳转',
-                        align: "center",
-                        dataIndex: 'redirect'
-                    },
-                    {
-                        title: '落地页-商品购买',
-                        align: "center",
-                        dataIndex: 'shopping'
-                    },
-                    {
-                        title: '落地页-在线咨询',
-                        align: "center",
-                        dataIndex: 'consult'
-                    },
-                    {
-                        title: '落地页-微信',
-                        align: "center",
-                        dataIndex: 'wechat'
-                    },
-                    {
-                        title: '落地页-智能电话确认拨打',
-                        align: "center",
-                        dataIndex: 'phoneConfirm'
-                    },
-                    {
-                        title: '落地页-智能电话确认接通',
-                        align: "center",
-                        dataIndex: 'phoneConnect'
-                    },
-                    {
-                        title: '落地页-智能电话有效咨询',
-                        align: "center",
-                        dataIndex: 'consultEffective'
-                    },
-                    {
-                        title: '视频-总播放',
-                        align: "center",
-                        dataIndex: 'totalPlay'
-                    },
-                    {
-                        title: '视频-有效播放',
-                        align: "center",
-                        dataIndex: 'validPlay'
-                    },
-                    {
-                        title: '视频-wifi播放',
-                        align: "center",
-                        dataIndex: 'wifiPlay'
-                    },
-                    {
-                        title: '视频-播放时长,单位ms',
-                        align: "center",
-                        dataIndex: 'playDurationSum'
-                    },
-                    {
-                        title: '视频-播放25%进度总数',
-                        align: "center",
-                        dataIndex: 'play25FeedBreak'
-                    },
-                    {
-                        title: '视频-播放50%进度总数',
-                        align: "center",
-                        dataIndex: 'play50FeedBreak'
-                    },
-                    {
-                        title: '视频-播放75%进度总数',
-                        align: "center",
-                        dataIndex: 'play75FeedBreak'
-                    },
-                    {
-                        title: '视频-播放100%进度总数',
-                        align: "center",
-                        dataIndex: 'play100FeedBreak'
-                    },
-                    {
-                        title: '附加创意-电话按钮',
-                        align: "center",
-                        dataIndex: 'advancedCreativePhoneClick'
-                    },
-                    {
-                        title: '附加创意-在线咨询',
-                        align: "center",
-                        dataIndex: 'advancedCreativeCounselClick'
-                    },
-                    {
-                        title: '附加创意-表单提交',
-                        align: "center",
-                        dataIndex: 'advancedCreativeFormClick'
-                    },
-                    {
-                        title: '互动数据-分享数',
-                        align: "center",
-                        dataIndex: 'share'
-                    },
-                    {
-                        title: '互动数据-评论数',
-                        align: "center",
-                        dataIndex: 'comment'
-                    },
-                    {
-                        title: '互动数据-点赞数',
-                        align: "center",
-                        dataIndex: 'likeNum'
-                    },
-                    {
-                        title: '互动数据-关注数',
-                        align: "center",
-                        dataIndex: 'follow'
-                    },
-                    {
-                        title: '互动数据-主页访问量',
-                        align: "center",
-                        dataIndex: 'homeVisited'
-                    },
-                    {
-                        title: '互动数据-挑战赛查看数',
-                        align: "center",
-                        dataIndex: 'iesChallengeClick'
-                    },
-                    {
-                        title: '互动数据-音乐查看数',
-                        align: "center",
-                        dataIndex: 'iesMusicClick'
-                    },
-                    {
-                        title: '互动数据-单次互动成本',
-                        align: "center",
-                        dataIndex: 'interactPerCost'
-                    },
-                    {
-                        title: '次留数',
-                        align: "center",
-                        dataIndex: 'nextDayOpen'
-                    },
-                    {
-                        title: '次留率',
-                        align: "center",
-                        dataIndex: 'nextDayOpenRate'
-                    },
-                    {
-                        title: '次留成本',
-                        align: "center",
-                        dataIndex: 'nextDayOpenCost'
-                    },
-                    {
-                        title: '广告组id',
-                        align: "center",
-                        dataIndex: 'adId'
-                    },
-                    {
-                        title: '广告组名称',
-                        align: "center",
-                        dataIndex: 'adName'
-                    },
-                    {
-                        title: 'campaignId',
-                        align: "center",
-                        dataIndex: 'campaignId'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/ctop/bytedanceCreativeHourlyReport/list",
-                    delete: "/ctop/bytedanceCreativeHourlyReport/delete",
-                    deleteBatch: "/ctop/bytedanceCreativeHourlyReport/deleteBatch",
-                    exportXlsUrl: "ctop/bytedanceCreativeHourlyReport/exportXls",
-                    importExcelUrl: "ctop/bytedanceCreativeHourlyReport/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 229
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BytedanceDeliveryTargetTemplateList.vue

@@ -1,229 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="头条平台id">
-                            <a-input placeholder="请输入头条平台id" v-model="queryParam.accountId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="平台账号id">
-                            <a-input placeholder="请输入平台账号id" v-model="queryParam.advertiserId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="投放目标">
-                                <a-input placeholder="请输入投放目标" v-model="queryParam.deliveryTarget"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="下载方式">
-                                <a-input placeholder="请输入下载方式" v-model="queryParam.downloadType"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="下载链接">
-                                <a-input placeholder="请输入下载链接" v-model="queryParam.downloadUrl"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('投放目标模板信息')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <bytedanceDeliveryTargetTemplate-modal ref="modalForm"
-                                               @ok="modalFormOk"></bytedanceDeliveryTargetTemplate-modal>
-    </a-card>
-</template>
-
-<script>
-    import BytedanceDeliveryTargetTemplateModal from './modules/BytedanceDeliveryTargetTemplateModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "BytedanceDeliveryTargetTemplateList",
-        mixins: [JeecgListMixin],
-        components: {
-            BytedanceDeliveryTargetTemplateModal
-        },
-        data() {
-            return {
-                description: '投放目标模板信息管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '头条平台id',
-                        align: "center",
-                        dataIndex: 'accountId'
-                    },
-                    {
-                        title: '平台账号id',
-                        align: "center",
-                        dataIndex: 'advertiserId'
-                    },
-                    {
-                        title: '投放目标',
-                        align: "center",
-                        dataIndex: 'deliveryTarget'
-                    },
-                    {
-                        title: '下载方式',
-                        align: "center",
-                        dataIndex: 'downloadType'
-                    },
-                    {
-                        title: '下载链接',
-                        align: "center",
-                        dataIndex: 'downloadUrl'
-                    },
-                    {
-                        title: '落地页链接',
-                        align: "center",
-                        dataIndex: 'externalUrl'
-                    },
-                    {
-                        title: '转化目标',
-                        align: "center",
-                        dataIndex: 'convertTarget'
-                    },
-                    {
-                        title: '应用包名',
-                        align: "center",
-                        dataIndex: 'packageName'
-                    },
-                    {
-                        title: '直达链接启用状态',
-                        align: "center",
-                        dataIndex: 'openUrlStatus'
-                    },
-                    {
-                        title: '直达链接生成方式',
-                        align: "center",
-                        dataIndex: 'openUrlCreateMode'
-                    },
-                    {
-                        title: '跳转app链接',
-                        align: "center",
-                        dataIndex: 'redirectUrl'
-                    },
-                    {
-                        title: 'status',
-                        align: "center",
-                        dataIndex: 'status'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/ctop/bytedanceDeliveryTargetTemplate/list",
-                    delete: "/ctop/bytedanceDeliveryTargetTemplate/delete",
-                    deleteBatch: "/ctop/bytedanceDeliveryTargetTemplate/deleteBatch",
-                    exportXlsUrl: "ctop/bytedanceDeliveryTargetTemplate/exportXls",
-                    importExcelUrl: "ctop/bytedanceDeliveryTargetTemplate/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 173
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BytedanceNameModelRuleList.vue

@@ -1,173 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="模板名称">
-                            <a-input placeholder="请输入模板名称" v-model="queryParam.name"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="生成规格">
-                            <a-input placeholder="请输入生成规格" v-model="queryParam.rule"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="模板状态信息">
-                                <a-input placeholder="请输入模板状态信息" v-model="queryParam.status"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('名称生成规则模板信息')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <bytedanceNameModelRule-modal ref="modalForm" @ok="modalFormOk"></bytedanceNameModelRule-modal>
-    </a-card>
-</template>
-
-<script>
-    import BytedanceNameModelRuleModal from './modules/BytedanceNameModelRuleModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "BytedanceNameModelRuleList",
-        mixins: [JeecgListMixin],
-        components: {
-            BytedanceNameModelRuleModal
-        },
-        data() {
-            return {
-                description: '名称生成规则模板信息管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '模板名称',
-                        align: "center",
-                        dataIndex: 'name'
-                    },
-                    {
-                        title: '生成规格',
-                        align: "center",
-                        dataIndex: 'rule'
-                    },
-                    {
-                        title: '模板状态信息',
-                        align: "center",
-                        dataIndex: 'status'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/ctop/bytedanceNameModelRule/list",
-                    delete: "/ctop/bytedanceNameModelRule/delete",
-                    deleteBatch: "/ctop/bytedanceNameModelRule/deleteBatch",
-                    exportXlsUrl: "ctop/bytedanceNameModelRule/exportXls",
-                    importExcelUrl: "ctop/bytedanceNameModelRule/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 458
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BytedancePlanDailyReportList.vue

@@ -1,458 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="广告主id">
-                            <a-input placeholder="请输入广告主id" v-model="queryParam.advertiserId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="数据起始时间">
-                            <a-input placeholder="请输入数据起始时间" v-model="queryParam.statDatetime"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="展示量">
-                                <a-input placeholder="请输入展示量" v-model="queryParam.showNum"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="点击量">
-                                <a-input placeholder="请输入点击量" v-model="queryParam.click"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="转化量">
-                                <a-input placeholder="请输入转化量" v-model="queryParam.convertNum"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('广告计划日报表信息')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <bytedancePlanDailyReport-modal ref="modalForm" @ok="modalFormOk"></bytedancePlanDailyReport-modal>
-    </a-card>
-</template>
-
-<script>
-    import BytedancePlanDailyReportModal from './modules/BytedancePlanDailyReportModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "BytedancePlanDailyReportList",
-        mixins: [JeecgListMixin],
-        components: {
-            BytedancePlanDailyReportModal
-        },
-        data() {
-            return {
-                description: '广告计划日报表信息管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '广告主id',
-                        align: "center",
-                        dataIndex: 'advertiserId'
-                    },
-                    {
-                        title: '数据起始时间',
-                        align: "center",
-                        dataIndex: 'statDatetime'
-                    },
-                    {
-                        title: '展示量',
-                        align: "center",
-                        dataIndex: 'showNum'
-                    },
-                    {
-                        title: '点击量',
-                        align: "center",
-                        dataIndex: 'click'
-                    },
-                    {
-                        title: '转化量',
-                        align: "center",
-                        dataIndex: 'convertNum'
-                    },
-                    {
-                        title: '总花费',
-                        align: "center",
-                        dataIndex: 'cost'
-                    },
-                    {
-                        title: '应用下载-激活',
-                        align: "center",
-                        dataIndex: 'active'
-                    },
-                    {
-                        title: '应用下载-安卓下载完成',
-                        align: "center",
-                        dataIndex: 'downloadFinish'
-                    },
-                    {
-                        title: '应用下载-安卓下载开始',
-                        align: "center",
-                        dataIndex: 'downloadStart'
-                    },
-                    {
-                        title: '应用下载-点击安装数',
-                        align: "center",
-                        dataIndex: 'clickInstall'
-                    },
-                    {
-                        title: '应用下载-安卓安装完成',
-                        align: "center",
-                        dataIndex: 'installFinish'
-                    },
-                    {
-                        title: '应用下载-注册',
-                        align: "center",
-                        dataIndex: 'register'
-                    },
-                    {
-                        title: '应用下载-付费数',
-                        align: "center",
-                        dataIndex: 'payCount'
-                    },
-                    {
-                        title: '应用下载-到达uv',
-                        align: "center",
-                        dataIndex: 'inAppUv'
-                    },
-                    {
-                        title: '应用下载-详情页到站uv',
-                        align: "center",
-                        dataIndex: 'inAppDetailUv'
-                    },
-                    {
-                        title: '应用下载-加入购物车',
-                        align: "center",
-                        dataIndex: 'inAppCart'
-                    },
-                    {
-                        title: '应用下载-提交订单',
-                        align: "center",
-                        dataIndex: 'inAppOrder'
-                    },
-                    {
-                        title: '应用下载-付费',
-                        align: "center",
-                        dataIndex: 'inAppPay'
-                    },
-                    {
-                        title: '落地页-电话拨打数',
-                        align: "center",
-                        dataIndex: 'phone'
-                    },
-                    {
-                        title: '表单提交数',
-                        align: "center",
-                        dataIndex: 'form'
-                    },
-                    {
-                        title: '落地页-地图搜索',
-                        align: "center",
-                        dataIndex: 'mapSearch'
-                    },
-                    {
-                        title: '落地页-按钮button',
-                        align: "center",
-                        dataIndex: 'button'
-                    },
-                    {
-                        title: '落地页-关键页面浏览',
-                        align: "center",
-                        dataIndex: 'view'
-                    },
-                    {
-                        title: '落地页-QQ咨询数',
-                        align: "center",
-                        dataIndex: 'qq'
-                    },
-                    {
-                        title: '落地页-抽奖数',
-                        align: "center",
-                        dataIndex: 'lottery'
-                    },
-                    {
-                        title: '落地页-投票',
-                        align: "center",
-                        dataIndex: 'vote'
-                    },
-                    {
-                        title: '落地页-页面跳转',
-                        align: "center",
-                        dataIndex: 'redirect'
-                    },
-                    {
-                        title: '落地页-商品购买',
-                        align: "center",
-                        dataIndex: 'shopping'
-                    },
-                    {
-                        title: '落地页-在线咨询',
-                        align: "center",
-                        dataIndex: 'consult'
-                    },
-                    {
-                        title: '落地页-微信',
-                        align: "center",
-                        dataIndex: 'wechat'
-                    },
-                    {
-                        title: '落地页-智能电话确认拨打',
-                        align: "center",
-                        dataIndex: 'phoneConfirm'
-                    },
-                    {
-                        title: '落地页-智能电话确认接通',
-                        align: "center",
-                        dataIndex: 'phoneConnect'
-                    },
-                    {
-                        title: '落地页-智能电话有效咨询',
-                        align: "center",
-                        dataIndex: 'consultEffective'
-                    },
-                    {
-                        title: '视频-总播放',
-                        align: "center",
-                        dataIndex: 'totalPlay'
-                    },
-                    {
-                        title: '视频-有效播放',
-                        align: "center",
-                        dataIndex: 'validPlay'
-                    },
-                    {
-                        title: '视频-wifi播放',
-                        align: "center",
-                        dataIndex: 'wifiPlay'
-                    },
-                    {
-                        title: '视频-播放时长,单位ms',
-                        align: "center",
-                        dataIndex: 'playDurationSum'
-                    },
-                    {
-                        title: '视频-播放25%进度总数',
-                        align: "center",
-                        dataIndex: 'play25FeedBreak'
-                    },
-                    {
-                        title: '视频-播放50%进度总数',
-                        align: "center",
-                        dataIndex: 'play50FeedBreak'
-                    },
-                    {
-                        title: '视频-播放75%进度总数',
-                        align: "center",
-                        dataIndex: 'play75FeedBreak'
-                    },
-                    {
-                        title: '视频-播放100%进度总数',
-                        align: "center",
-                        dataIndex: 'play100FeedBreak'
-                    },
-                    {
-                        title: '附加创意-电话按钮',
-                        align: "center",
-                        dataIndex: 'advancedCreativePhoneClick'
-                    },
-                    {
-                        title: '附加创意-在线咨询',
-                        align: "center",
-                        dataIndex: 'advancedCreativeCounselClick'
-                    },
-                    {
-                        title: '附加创意-表单提交',
-                        align: "center",
-                        dataIndex: 'advancedCreativeFormClick'
-                    },
-                    {
-                        title: '互动数据-分享数',
-                        align: "center",
-                        dataIndex: 'share'
-                    },
-                    {
-                        title: '互动数据-评论数',
-                        align: "center",
-                        dataIndex: 'comment'
-                    },
-                    {
-                        title: '互动数据-点赞数',
-                        align: "center",
-                        dataIndex: 'likeNum'
-                    },
-                    {
-                        title: '互动数据-关注数',
-                        align: "center",
-                        dataIndex: 'follow'
-                    },
-                    {
-                        title: '互动数据-主页访问量',
-                        align: "center",
-                        dataIndex: 'homeVisited'
-                    },
-                    {
-                        title: '互动数据-挑战赛查看数',
-                        align: "center",
-                        dataIndex: 'iesChallengeClick'
-                    },
-                    {
-                        title: '互动数据-音乐查看数',
-                        align: "center",
-                        dataIndex: 'iesMusicClick'
-                    },
-                    {
-                        title: '互动数据-单次互动成本',
-                        align: "center",
-                        dataIndex: 'interactPerCost'
-                    },
-                    {
-                        title: '次留数',
-                        align: "center",
-                        dataIndex: 'nextDayOpen'
-                    },
-                    {
-                        title: '次留率',
-                        align: "center",
-                        dataIndex: 'nextDayOpenRate'
-                    },
-                    {
-                        title: '次留成本',
-                        align: "center",
-                        dataIndex: 'nextDayOpenCost'
-                    },
-                    {
-                        title: '广告组id',
-                        align: "center",
-                        dataIndex: 'adId'
-                    },
-                    {
-                        title: '广告组名称',
-                        align: "center",
-                        dataIndex: 'adName'
-                    },
-                    {
-                        title: 'campaignId',
-                        align: "center",
-                        dataIndex: 'campaignId'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/ctop/bytedancePlanDailyReport/list",
-                    delete: "/ctop/bytedancePlanDailyReport/delete",
-                    deleteBatch: "/ctop/bytedancePlanDailyReport/deleteBatch",
-                    exportXlsUrl: "ctop/bytedancePlanDailyReport/exportXls",
-                    importExcelUrl: "ctop/bytedancePlanDailyReport/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 458
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BytedancePlanHourlyReportList.vue

@@ -1,458 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="广告主id">
-                            <a-input placeholder="请输入广告主id" v-model="queryParam.advertiserId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="数据起始时间">
-                            <a-input placeholder="请输入数据起始时间" v-model="queryParam.statDatetime"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="展示量">
-                                <a-input placeholder="请输入展示量" v-model="queryParam.showNum"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="点击量">
-                                <a-input placeholder="请输入点击量" v-model="queryParam.click"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="转化量">
-                                <a-input placeholder="请输入转化量" v-model="queryParam.convertNum"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('广告计划时报表信息')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <bytedancePlanHourlyReport-modal ref="modalForm" @ok="modalFormOk"></bytedancePlanHourlyReport-modal>
-    </a-card>
-</template>
-
-<script>
-    import BytedancePlanHourlyReportModal from './modules/BytedancePlanHourlyReportModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "BytedancePlanHourlyReportList",
-        mixins: [JeecgListMixin],
-        components: {
-            BytedancePlanHourlyReportModal
-        },
-        data() {
-            return {
-                description: '广告计划时报表信息管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '广告主id',
-                        align: "center",
-                        dataIndex: 'advertiserId'
-                    },
-                    {
-                        title: '数据起始时间',
-                        align: "center",
-                        dataIndex: 'statDatetime'
-                    },
-                    {
-                        title: '展示量',
-                        align: "center",
-                        dataIndex: 'showNum'
-                    },
-                    {
-                        title: '点击量',
-                        align: "center",
-                        dataIndex: 'click'
-                    },
-                    {
-                        title: '转化量',
-                        align: "center",
-                        dataIndex: 'convertNum'
-                    },
-                    {
-                        title: '总花费',
-                        align: "center",
-                        dataIndex: 'cost'
-                    },
-                    {
-                        title: '应用下载-激活',
-                        align: "center",
-                        dataIndex: 'active'
-                    },
-                    {
-                        title: '应用下载-安卓下载完成',
-                        align: "center",
-                        dataIndex: 'downloadFinish'
-                    },
-                    {
-                        title: '应用下载-安卓下载开始',
-                        align: "center",
-                        dataIndex: 'downloadStart'
-                    },
-                    {
-                        title: '应用下载-点击安装数',
-                        align: "center",
-                        dataIndex: 'clickInstall'
-                    },
-                    {
-                        title: '应用下载-安卓安装完成',
-                        align: "center",
-                        dataIndex: 'installFinish'
-                    },
-                    {
-                        title: '应用下载-注册',
-                        align: "center",
-                        dataIndex: 'register'
-                    },
-                    {
-                        title: '应用下载-付费数',
-                        align: "center",
-                        dataIndex: 'payCount'
-                    },
-                    {
-                        title: '应用下载-到达uv',
-                        align: "center",
-                        dataIndex: 'inAppUv'
-                    },
-                    {
-                        title: '应用下载-详情页到站uv',
-                        align: "center",
-                        dataIndex: 'inAppDetailUv'
-                    },
-                    {
-                        title: '应用下载-加入购物车',
-                        align: "center",
-                        dataIndex: 'inAppCart'
-                    },
-                    {
-                        title: '应用下载-提交订单',
-                        align: "center",
-                        dataIndex: 'inAppOrder'
-                    },
-                    {
-                        title: '应用下载-付费',
-                        align: "center",
-                        dataIndex: 'inAppPay'
-                    },
-                    {
-                        title: '落地页-电话拨打数',
-                        align: "center",
-                        dataIndex: 'phone'
-                    },
-                    {
-                        title: '表单提交数',
-                        align: "center",
-                        dataIndex: 'form'
-                    },
-                    {
-                        title: '落地页-地图搜索',
-                        align: "center",
-                        dataIndex: 'mapSearch'
-                    },
-                    {
-                        title: '落地页-按钮button',
-                        align: "center",
-                        dataIndex: 'button'
-                    },
-                    {
-                        title: '落地页-关键页面浏览',
-                        align: "center",
-                        dataIndex: 'view'
-                    },
-                    {
-                        title: '落地页-QQ咨询数',
-                        align: "center",
-                        dataIndex: 'qq'
-                    },
-                    {
-                        title: '落地页-抽奖数',
-                        align: "center",
-                        dataIndex: 'lottery'
-                    },
-                    {
-                        title: '落地页-投票',
-                        align: "center",
-                        dataIndex: 'vote'
-                    },
-                    {
-                        title: '落地页-页面跳转',
-                        align: "center",
-                        dataIndex: 'redirect'
-                    },
-                    {
-                        title: '落地页-商品购买',
-                        align: "center",
-                        dataIndex: 'shopping'
-                    },
-                    {
-                        title: '落地页-在线咨询',
-                        align: "center",
-                        dataIndex: 'consult'
-                    },
-                    {
-                        title: '落地页-微信',
-                        align: "center",
-                        dataIndex: 'wechat'
-                    },
-                    {
-                        title: '落地页-智能电话确认拨打',
-                        align: "center",
-                        dataIndex: 'phoneConfirm'
-                    },
-                    {
-                        title: '落地页-智能电话确认接通',
-                        align: "center",
-                        dataIndex: 'phoneConnect'
-                    },
-                    {
-                        title: '落地页-智能电话有效咨询',
-                        align: "center",
-                        dataIndex: 'consultEffective'
-                    },
-                    {
-                        title: '视频-总播放',
-                        align: "center",
-                        dataIndex: 'totalPlay'
-                    },
-                    {
-                        title: '视频-有效播放',
-                        align: "center",
-                        dataIndex: 'validPlay'
-                    },
-                    {
-                        title: '视频-wifi播放',
-                        align: "center",
-                        dataIndex: 'wifiPlay'
-                    },
-                    {
-                        title: '视频-播放时长,单位ms',
-                        align: "center",
-                        dataIndex: 'playDurationSum'
-                    },
-                    {
-                        title: '视频-播放25%进度总数',
-                        align: "center",
-                        dataIndex: 'play25FeedBreak'
-                    },
-                    {
-                        title: '视频-播放50%进度总数',
-                        align: "center",
-                        dataIndex: 'play50FeedBreak'
-                    },
-                    {
-                        title: '视频-播放75%进度总数',
-                        align: "center",
-                        dataIndex: 'play75FeedBreak'
-                    },
-                    {
-                        title: '视频-播放100%进度总数',
-                        align: "center",
-                        dataIndex: 'play100FeedBreak'
-                    },
-                    {
-                        title: '附加创意-电话按钮',
-                        align: "center",
-                        dataIndex: 'advancedCreativePhoneClick'
-                    },
-                    {
-                        title: '附加创意-在线咨询',
-                        align: "center",
-                        dataIndex: 'advancedCreativeCounselClick'
-                    },
-                    {
-                        title: '附加创意-表单提交',
-                        align: "center",
-                        dataIndex: 'advancedCreativeFormClick'
-                    },
-                    {
-                        title: '互动数据-分享数',
-                        align: "center",
-                        dataIndex: 'share'
-                    },
-                    {
-                        title: '互动数据-评论数',
-                        align: "center",
-                        dataIndex: 'comment'
-                    },
-                    {
-                        title: '互动数据-点赞数',
-                        align: "center",
-                        dataIndex: 'likeNum'
-                    },
-                    {
-                        title: '互动数据-关注数',
-                        align: "center",
-                        dataIndex: 'follow'
-                    },
-                    {
-                        title: '互动数据-主页访问量',
-                        align: "center",
-                        dataIndex: 'homeVisited'
-                    },
-                    {
-                        title: '互动数据-挑战赛查看数',
-                        align: "center",
-                        dataIndex: 'iesChallengeClick'
-                    },
-                    {
-                        title: '互动数据-音乐查看数',
-                        align: "center",
-                        dataIndex: 'iesMusicClick'
-                    },
-                    {
-                        title: '互动数据-单次互动成本',
-                        align: "center",
-                        dataIndex: 'interactPerCost'
-                    },
-                    {
-                        title: '次留数',
-                        align: "center",
-                        dataIndex: 'nextDayOpen'
-                    },
-                    {
-                        title: '次留率',
-                        align: "center",
-                        dataIndex: 'nextDayOpenRate'
-                    },
-                    {
-                        title: '次留成本',
-                        align: "center",
-                        dataIndex: 'nextDayOpenCost'
-                    },
-                    {
-                        title: '广告组id',
-                        align: "center",
-                        dataIndex: 'adId'
-                    },
-                    {
-                        title: '广告组名称',
-                        align: "center",
-                        dataIndex: 'adName'
-                    },
-                    {
-                        title: 'campaignId',
-                        align: "center",
-                        dataIndex: 'campaignId'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/ctop/bytedancePlanHourlyReport/list",
-                    delete: "/ctop/bytedancePlanHourlyReport/delete",
-                    deleteBatch: "/ctop/bytedancePlanHourlyReport/deleteBatch",
-                    exportXlsUrl: "ctop/bytedancePlanHourlyReport/exportXls",
-                    importExcelUrl: "ctop/bytedancePlanHourlyReport/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 193
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/BytedanceUrlInfoList.vue

@@ -1,193 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="advertiserId">
-                            <a-input placeholder="请输入advertiserId" v-model="queryParam.advertiserId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="描述信息">
-                            <a-input placeholder="请输入描述信息" v-model="queryParam.desc"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="链接地址">
-                                <a-input placeholder="请输入链接地址" v-model="queryParam.url"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="应用包名">
-                                <a-input placeholder="请输入应用包名" v-model="queryParam.packageName"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="链接类型">
-                                <a-input placeholder="请输入链接类型" v-model="queryParam.type"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('今日头条链接信息')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <bytedanceUrlInfo-modal ref="modalForm" @ok="modalFormOk"></bytedanceUrlInfo-modal>
-    </a-card>
-</template>
-
-<script>
-    import BytedanceUrlInfoModal from './modules/BytedanceUrlInfoModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "BytedanceUrlInfoList",
-        mixins: [JeecgListMixin],
-        components: {
-            BytedanceUrlInfoModal
-        },
-        data() {
-            return {
-                description: '今日头条链接信息管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: 'advertiserId',
-                        align: "center",
-                        dataIndex: 'advertiserId'
-                    },
-                    {
-                        title: '描述信息',
-                        align: "center",
-                        dataIndex: 'desc'
-                    },
-                    {
-                        title: '链接地址',
-                        align: "center",
-                        dataIndex: 'url'
-                    },
-                    {
-                        title: '应用包名',
-                        align: "center",
-                        dataIndex: 'packageName'
-                    },
-                    {
-                        title: '链接类型',
-                        align: "center",
-                        dataIndex: 'type'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/ctop/bytedanceUrlInfo/list",
-                    delete: "/ctop/bytedanceUrlInfo/delete",
-                    deleteBatch: "/ctop/bytedanceUrlInfo/deleteBatch",
-                    exportXlsUrl: "ctop/bytedanceUrlInfo/exportXls",
-                    importExcelUrl: "ctop/bytedanceUrlInfo/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 204
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/CTopOauthTokenList.vue

@@ -1,204 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="媒体ID(外部广告平台类型,快手/头条/抖音等)">
-                            <a-input placeholder="请输入媒体ID(外部广告平台类型,快手/头条/抖音等)" v-model="queryParam.mediaId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="广告主ID(自己平台用户内部id)">
-                            <a-input placeholder="请输入广告主ID(自己平台用户内部id)" v-model="queryParam.advertiserId"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="广告账户ID(相当于头条返回的access_token数据中的advertiser_id)">
-                                <a-input placeholder="请输入广告账户ID(相当于头条返回的access_token数据中的advertiser_id)"
-                                         v-model="queryParam.accountId"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="访问令牌">
-                                <a-input placeholder="请输入访问令牌" v-model="queryParam.accessToken"></a-input>
-                            </a-form-item>
-                        </a-col>
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="访问令牌有效期">
-                                <a-input placeholder="请输入访问令牌有效期" v-model="queryParam.accessTokenExpiresIn"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('oauth授权码')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <cTopOauthToken-modal ref="modalForm" @ok="modalFormOk"></cTopOauthToken-modal>
-    </a-card>
-</template>
-
-<script>
-    import CTopOauthTokenModal from './modules/CTopOauthTokenModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "CTopOauthTokenList",
-        mixins: [JeecgListMixin],
-        components: {
-            CTopOauthTokenModal
-        },
-        data() {
-            return {
-                description: 'oauth授权码管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '媒体ID(外部广告平台类型,快手/头条/抖音等)',
-                        align: "center",
-                        dataIndex: 'mediaId'
-                    },
-                    {
-                        title: '广告主ID(自己平台用户内部id)',
-                        align: "center",
-                        dataIndex: 'advertiserId'
-                    },
-                    {
-                        title: '广告账户ID(相当于头条返回的access_token数据中的advertiser_id)',
-                        align: "center",
-                        dataIndex: 'accountId'
-                    },
-                    {
-                        title: '访问令牌',
-                        align: "center",
-                        dataIndex: 'accessToken'
-                    },
-                    {
-                        title: '访问令牌有效期',
-                        align: "center",
-                        dataIndex: 'accessTokenExpiresIn'
-                    },
-                    {
-                        title: '刷新令牌',
-                        align: "center",
-                        dataIndex: 'refreshToken'
-                    },
-                    {
-                        title: '刷新令牌有效期',
-                        align: "center",
-                        dataIndex: 'refreshTokenExpiresIn'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/ctop/cTopOauthToken/list",
-                    delete: "/ctop/cTopOauthToken/delete",
-                    deleteBatch: "/ctop/cTopOauthToken/deleteBatch",
-                    exportXlsUrl: "ctop/cTopOauthToken/exportXls",
-                    importExcelUrl: "ctop/cTopOauthToken/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 173
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/FileInfoList.vue

@@ -1,173 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="文件名称">
-                            <a-input placeholder="请输入文件名称" v-model="queryParam.fileName"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="文件类型">
-                            <a-input placeholder="请输入文件类型" v-model="queryParam.type"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <template v-if="toggleSearchStatus">
-                        <a-col :md="6" :sm="8">
-                            <a-form-item label="文件访问路径">
-                                <a-input placeholder="请输入文件访问路径" v-model="queryParam.path"></a-input>
-                            </a-form-item>
-                        </a-col>
-                    </template>
-                    <a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-                    </a-col>
-
-                </a-row>
-            </a-form>
-        </div>
-
-        <!-- 操作按钮区域 -->
-        <div class="table-operator">
-            <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-            <a-button type="primary" icon="download" @click="handleExportXls('文件信息')">导出</a-button>
-            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
-                      :action="importExcelUrl" @change="handleImportExcel">
-                <a-button type="primary" icon="import">导入</a-button>
-            </a-upload>
-            <a-dropdown v-if="selectedRowKeys.length > 0">
-                <a-menu slot="overlay">
-                    <a-menu-item key="1" @click="batchDel">
-                        <a-icon type="delete"/>
-                        删除
-                    </a-menu-item>
-                </a-menu>
-                <a-button style="margin-left: 8px"> 批量操作
-                    <a-icon type="down"/>
-                </a-button>
-            </a-dropdown>
-        </div>
-
-        <!-- table区域-begin -->
-        <div>
-            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-                <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-                selectedRowKeys.length }}</a>项
-                <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-            </div>
-
-            <a-table
-                    ref="table"
-                    size="middle"
-                    bordered
-                    rowKey="id"
-                    :columns="columns"
-                    :dataSource="dataSource"
-                    :pagination="ipagination"
-                    :loading="loading"
-                    :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-                    @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-            </a-table>
-        </div>
-        <!-- table区域-end -->
-
-        <!-- 表单区域 -->
-        <fileInfo-modal ref="modalForm" @ok="modalFormOk"></fileInfo-modal>
-    </a-card>
-</template>
-
-<script>
-    import FileInfoModal from './modules/FileInfoModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "FileInfoList",
-        mixins: [JeecgListMixin],
-        components: {
-            FileInfoModal
-        },
-        data() {
-            return {
-                description: '文件信息管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: '文件名称',
-                        align: "center",
-                        dataIndex: 'fileName'
-                    },
-                    {
-                        title: '文件类型',
-                        align: "center",
-                        dataIndex: 'type'
-                    },
-                    {
-                        title: '文件访问路径',
-                        align: "center",
-                        dataIndex: 'path'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/ctop/fileInfo/list",
-                    delete: "/ctop/fileInfo/delete",
-                    deleteBatch: "/ctop/fileInfo/deleteBatch",
-                    exportXlsUrl: "ctop/fileInfo/exportXls",
-                    importExcelUrl: "ctop/fileInfo/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 162
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/SourceFileList.vue

@@ -1,162 +0,0 @@
-<template>
-    <a-card :bordered="false">
-
-        <!-- 查询区域 -->
-        <div class="table-page-search-wrapper">
-            <a-form layout="inline">
-                <a-row :gutter="24">
-
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="MD5code码(唯一性校验)">
-                            <a-input placeholder="请输入MD5code码(唯一性校验)" v-model="queryParam.code"></a-input>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :md="6" :sm="8">
-                        <a-form-item label="url">
-                            <a-input placeholder="请输入url" v-model="queryParam.url"></a-input>
-                        </a-form-item>
-                    </a-col>
-</template>
-<a-col :md="6" :sm="8">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-</a-col>
-
-</a-row>
-</a-form>
-</div>
-
-<!-- 操作按钮区域 -->
-<div class="table-operator">
-    <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-    <a-button type="primary" icon="download" @click="handleExportXls('统一资源库文件信息')">导出</a-button>
-    <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl"
-              @change="handleImportExcel">
-        <a-button type="primary" icon="import">导入</a-button>
-    </a-upload>
-    <a-dropdown v-if="selectedRowKeys.length > 0">
-        <a-menu slot="overlay">
-            <a-menu-item key="1" @click="batchDel">
-                <a-icon type="delete"/>
-                删除
-            </a-menu-item>
-        </a-menu>
-        <a-button style="margin-left: 8px"> 批量操作
-            <a-icon type="down"/>
-        </a-button>
-    </a-dropdown>
-</div>
-
-<!-- table区域-begin -->
-<div>
-    <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-        <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
-        selectedRowKeys.length }}</a>项
-        <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-    </div>
-
-    <a-table
-            ref="table"
-            size="middle"
-            bordered
-            rowKey="id"
-            :columns="columns"
-            :dataSource="dataSource"
-            :pagination="ipagination"
-            :loading="loading"
-            :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-            @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical"/>
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-    </a-table>
-</div>
-<!-- table区域-end -->
-
-<!-- 表单区域 -->
-<sourceFile-modal ref="modalForm" @ok="modalFormOk"></sourceFile-modal>
-</a-card>
-</template>
-
-<script>
-    import SourceFileModal from './modules/SourceFileModal'
-    import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-
-    export default {
-        name: "SourceFileList",
-        mixins: [JeecgListMixin],
-        components: {
-            SourceFileModal
-        },
-        data() {
-            return {
-                description: '统一资源库文件信息管理页面',
-                // 表头
-                columns: [
-                    {
-                        title: '#',
-                        dataIndex: '',
-                        key: 'rowIndex',
-                        width: 60,
-                        align: "center",
-                        customRender: function (t, r, index) {
-                            return parseInt(index) + 1;
-                        }
-                    },
-                    {
-                        title: 'MD5code码(唯一性校验)',
-                        align: "center",
-                        dataIndex: 'code'
-                    },
-                    {
-                        title: 'url',
-                        align: "center",
-                        dataIndex: 'url'
-                    },
-                    {
-                        title: '操作',
-                        dataIndex: 'action',
-                        align: "center",
-                        scopedSlots: {customRender: 'action'},
-                    }
-                ],
-                url: {
-                    list: "/ctop/sourceFile/list",
-                    delete: "/ctop/sourceFile/delete",
-                    deleteBatch: "/ctop/sourceFile/deleteBatch",
-                    exportXlsUrl: "ctop/sourceFile/exportXls",
-                    importExcelUrl: "ctop/sourceFile/importExcel",
-                },
-            }
-        },
-        computed: {
-            importExcelUrl: function () {
-                return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-            }
-        },
-        methods: {}
-    }
-</script>
-<style scoped>
-    @import '~@assets/less/common.less'
-</style>

+ 0 - 218
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/UserAllocationList.vue

@@ -1,218 +0,0 @@
-<template>
-  <a-card :bordered="false">
-
-    <!-- 查询区域 -->
-    <div class="table-page-search-wrapper">
-      <a-form layout="inline">
-        <a-row :gutter="24">
-
-          <a-col :md="6" :sm="8">
-            <a-form-item label="登陆人id">
-              <a-input placeholder="请输入登陆人id" v-model="queryParam.userId"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :md="6" :sm="8">
-            <a-form-item label="账户id --授权">
-              <a-input placeholder="请输入账户id --授权" v-model="queryParam.accountId"></a-input>
-            </a-form-item>
-          </a-col>
-        <template v-if="toggleSearchStatus">
-        <a-col :md="6" :sm="8">
-            <a-form-item label="广告主ID">
-              <a-input placeholder="请输入广告主ID" v-model="queryParam.advertiserId"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :md="6" :sm="8">
-            <a-form-item label="指定分配人">
-              <a-input placeholder="请输入指定分配人" v-model="queryParam.distributionName"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :md="6" :sm="8">
-            <a-form-item label="部门id">
-              <a-input placeholder="请输入部门id" v-model="queryParam.departmentId"></a-input>
-            </a-form-item>
-          </a-col>
-          </template>
-          <a-col :md="6" :sm="8" >
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
-            </span>
-          </a-col>
-
-        </a-row>
-      </a-form>
-    </div>
-
-    <!-- 操作按钮区域 -->
-    <div class="table-operator">
-      <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-      <a-button type="primary" icon="download" @click="handleExportXls('用户分配')">导出</a-button>
-      <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
-        <a-button type="primary" icon="import">导入</a-button>
-      </a-upload>
-      <a-dropdown v-if="selectedRowKeys.length > 0">
-        <a-menu slot="overlay">
-          <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
-        </a-menu>
-        <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
-      </a-dropdown>
-    </div>
-
-    <!-- table区域-begin -->
-    <div>
-      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-        <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
-        <a style="margin-left: 24px" @click="onClearSelected">清空</a>
-      </div>
-
-      <a-table
-        ref="table"
-        size="middle"
-        bordered
-        rowKey="id"
-        :columns="columns"
-        :dataSource="dataSource"
-        :pagination="ipagination"
-        :loading="loading"
-        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-        @change="handleTableChange">
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">编辑</a>
-
-          <a-divider type="vertical" />
-          <a-dropdown>
-            <a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                  <a>删除</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-
-      </a-table>
-    </div>
-    <!-- table区域-end -->
-
-    <!-- 表单区域 -->
-    <userAllocation-modal ref="modalForm" @ok="modalFormOk"></userAllocation-modal>
-  </a-card>
-</template>
-
-<script>
-  import UserAllocationModal from './modules/UserAllocationModal'
-  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-
-  export default {
-    name: "UserAllocationList",
-    mixins:[JeecgListMixin],
-    components: {
-      UserAllocationModal
-    },
-    data () {
-      return {
-        description: '用户分配管理页面',
-        // 表头
-        columns: [
-          {
-            title: '#',
-            dataIndex: '',
-            key:'rowIndex',
-            width:60,
-            align:"center",
-            customRender:function (t,r,index) {
-              return parseInt(index)+1;
-            }
-           },
-		   {
-            title: '登陆人id',
-            align:"center",
-            dataIndex: 'userId'
-           },
-		   {
-            title: '账户id --授权',
-            align:"center",
-            dataIndex: 'accountId'
-           },
-		   {
-            title: '广告主ID',
-            align:"center",
-            dataIndex: 'advertiserId'
-           },
-		   {
-            title: '指定分配人',
-            align:"center",
-            dataIndex: 'distributionName'
-           },
-		   {
-            title: '部门id',
-            align:"center",
-            dataIndex: 'departmentId'
-           },
-		   {
-            title: '管理员名称',
-            align:"center",
-            dataIndex: 'adminName'
-           },
-		   {
-            title: '广告主名称',
-            align:"center",
-            dataIndex: 'advertiserName'
-           },
-		   {
-            title: '输入账号  --登陆',
-            align:"center",
-            dataIndex: 'accountName'
-           },
-		   {
-            title: '操作人姓名',
-            align:"center",
-            dataIndex: 'operationName'
-           },
-		   {
-               title: '授权名称',
-               align: "center",
-               dataIndex: 'authName'
-           },
-            {
-                title: '平台类型 1 头条 2快手',
-                align:"center",
-                dataIndex: 'mediaId'
-            },
-          {
-            title: '操作',
-            dataIndex: 'action',
-            align:"center",
-            scopedSlots: { customRender: 'action' },
-          }
-        ],
-		url: {
-          list: "/ctop/userAllocation/list",
-          delete: "/ctop/userAllocation/delete",
-          deleteBatch: "/ctop/userAllocation/deleteBatch",
-          exportXlsUrl: "ctop/userAllocation/exportXls",
-          importExcelUrl: "ctop/userAllocation/importExcel",
-       },
-    }
-  },
-  computed: {
-    importExcelUrl: function(){
-      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-    }
-  },
-    methods: {
-     
-    }
-  }
-</script>
-<style scoped>
-  @import '~@assets/less/common.less'
-</style>

+ 0 - 152
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/AdvertiserModal.vue

@@ -1,152 +0,0 @@
-<template>
-    <a-modal
-            :title="title"
-            :width="800"
-            :visible="visible"
-            :confirmLoading="confirmLoading"
-            @ok="handleOk"
-            @cancel="handleCancel"
-            cancelText="关闭">
-
-        <a-spin :spinning="confirmLoading">
-            <a-form :form="form">
-
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告主名称">
-                    <a-input placeholder="请输入广告主名称" v-decorator="['name', validatorRules.name ]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="行业ID">
-                    <a-input placeholder="请输入行业ID" v-decorator="['industryId', validatorRules.industryId ]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="联系人姓名">
-                    <a-input placeholder="请输入联系人姓名" v-decorator="['contact', validatorRules.contact ]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="联系人手机">
-                    <a-input placeholder="请输入联系人手机" v-decorator="['mobile', validatorRules.mobile ]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="联系人邮箱">
-                    <a-input placeholder="请输入联系人邮箱" v-decorator="['email', validatorRules.email ]"/>
-                </a-form-item>
-
-            </a-form>
-        </a-spin>
-    </a-modal>
-</template>
-
-<script>
-    import {httpAction} from '@/api/manage'
-    import pick from 'lodash.pick'
-    import moment from "moment"
-
-    export default {
-        name: "AdvertiserModal",
-        data() {
-            return {
-                title: "操作",
-                visible: false,
-                model: {},
-                labelCol: {
-                    xs: {span: 24},
-                    sm: {span: 5},
-                },
-                wrapperCol: {
-                    xs: {span: 24},
-                    sm: {span: 16},
-                },
-
-                confirmLoading: false,
-                form: this.$form.createForm(this),
-                validatorRules: {
-                    name: {rules: [{required: true, message: '请输入广告主名称!'}]},
-                    industryId: {rules: [{required: true, message: '请输入行业ID!'}]},
-                    contact: {rules: [{required: true, message: '请输入联系人姓名!'}]},
-                    mobile: {rules: [{required: true, message: '请输入联系人手机!'}]},
-                    email: {rules: [{required: true, message: '请输入联系人邮箱!'}]},
-                },
-                url: {
-                    add: "/ctop/advertiser/add",
-                    edit: "/ctop/advertiser/edit",
-                },
-            }
-        },
-        created() {
-        },
-        methods: {
-            add() {
-                this.edit({});
-            },
-            edit(record) {
-                this.form.resetFields();
-                this.model = Object.assign({}, record);
-                this.visible = true;
-                this.$nextTick(() => {
-                    this.form.setFieldsValue(pick(this.model, 'name', 'industryId', 'contact', 'mobile', 'email'))
-                    //时间格式化
-                });
-
-            },
-            close() {
-                this.$emit('close');
-                this.visible = false;
-            },
-            handleOk() {
-                const that = this;
-                // 触发表单验证
-                this.form.validateFields((err, values) => {
-                    if (!err) {
-                        that.confirmLoading = true;
-                        let httpurl = '';
-                        let method = '';
-                        if (!this.model.id) {
-                            httpurl += this.url.add;
-                            method = 'post';
-                        } else {
-                            httpurl += this.url.edit;
-                            method = 'put';
-                        }
-                        let formData = Object.assign(this.model, values);
-                        //时间格式化
-
-                        console.log(formData)
-                        httpAction(httpurl, formData, method).then((res) => {
-                            if (res.success) {
-                                that.$message.success(res.message);
-                                that.$emit('ok');
-                            } else {
-                                that.$message.warning(res.message);
-                            }
-                        }).finally(() => {
-                            that.confirmLoading = false;
-                            that.close();
-                        })
-
-
-                    }
-                })
-            },
-            handleCancel() {
-                this.close()
-            },
-
-
-        }
-    }
-</script>
-
-<style lang="less" scoped>
-
-</style>

+ 0 - 159
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/AdvertiserModal__Style#Drawer.vue

@@ -1,159 +0,0 @@
-<template>
-    <a-drawer
-            :title="title"
-            :width="800"
-            placement="right"
-            :closable="false"
-            @close="close"
-            :visible="visible"
-    >
-
-        <a-spin :spinning="confirmLoading">
-            <a-form :form="form">
-
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告主名称">
-                    <a-input placeholder="请输入广告主名称" v-decorator="['name', validatorRules.name ]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="行业ID">
-                    <a-input placeholder="请输入行业ID" v-decorator="['industryId', validatorRules.industryId ]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="联系人姓名">
-                    <a-input placeholder="请输入联系人姓名" v-decorator="['contact', validatorRules.contact ]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="联系人手机">
-                    <a-input placeholder="请输入联系人手机" v-decorator="['mobile', validatorRules.mobile ]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="联系人邮箱">
-                    <a-input placeholder="请输入联系人邮箱" v-decorator="['email', validatorRules.email ]"/>
-                </a-form-item>
-
-            </a-form>
-        </a-spin>
-        <a-button type="primary" @click="handleOk">确定</a-button>
-        <a-button type="primary" @click="handleCancel">取消</a-button>
-    </a-drawer>
-</template>
-
-<script>
-    import {httpAction} from '@/api/manage'
-    import pick from 'lodash.pick'
-    import moment from "moment"
-
-    export default {
-        name: "AdvertiserModal",
-        data() {
-            return {
-                title: "操作",
-                visible: false,
-                model: {},
-                labelCol: {
-                    xs: {span: 24},
-                    sm: {span: 5},
-                },
-                wrapperCol: {
-                    xs: {span: 24},
-                    sm: {span: 16},
-                },
-
-                confirmLoading: false,
-                form: this.$form.createForm(this),
-                validatorRules: {
-                    name: {rules: [{required: true, message: '请输入广告主名称!'}]},
-                    industryId: {rules: [{required: true, message: '请输入行业ID!'}]},
-                    contact: {rules: [{required: true, message: '请输入联系人姓名!'}]},
-                    mobile: {rules: [{required: true, message: '请输入联系人手机!'}]},
-                    email: {rules: [{required: true, message: '请输入联系人邮箱!'}]},
-                },
-                url: {
-                    add: "/ctop/advertiser/add",
-                    edit: "/ctop/advertiser/edit",
-                },
-            }
-        },
-        created() {
-        },
-        methods: {
-            add() {
-                this.edit({});
-            },
-            edit(record) {
-                this.form.resetFields();
-                this.model = Object.assign({}, record);
-                this.visible = true;
-                this.$nextTick(() => {
-                    this.form.setFieldsValue(pick(this.model, 'name', 'industryId', 'contact', 'mobile', 'email'))
-                    //时间格式化
-                });
-
-            },
-            close() {
-                this.$emit('close');
-                this.visible = false;
-            },
-            handleOk() {
-                const that = this;
-                // 触发表单验证
-                this.form.validateFields((err, values) => {
-                    if (!err) {
-                        that.confirmLoading = true;
-                        let httpurl = '';
-                        let method = '';
-                        if (!this.model.id) {
-                            httpurl += this.url.add;
-                            method = 'post';
-                        } else {
-                            httpurl += this.url.edit;
-                            method = 'put';
-                        }
-                        let formData = Object.assign(this.model, values);
-                        //时间格式化
-
-                        console.log(formData)
-                        httpAction(httpurl, formData, method).then((res) => {
-                            if (res.success) {
-                                that.$message.success(res.message);
-                                that.$emit('ok');
-                            } else {
-                                that.$message.warning(res.message);
-                            }
-                        }).finally(() => {
-                            that.confirmLoading = false;
-                            that.close();
-                        })
-
-
-                    }
-                })
-            },
-            handleCancel() {
-                this.close()
-            },
-
-
-        }
-    }
-</script>
-
-<style lang="less" scoped>
-    /** Button按钮间距 */
-    .ant-btn {
-        margin-left: 30px;
-        margin-bottom: 30px;
-        float: right;
-    }
-</style>

+ 0 - 130
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/AuthTaskModal.vue

@@ -1,130 +0,0 @@
-<template>
-  <a-modal
-    :title="title"
-    :width="800"
-    :visible="visible"
-    :confirmLoading="confirmLoading"
-    @ok="handleOk"
-    @cancel="handleCancel"
-    cancelText="关闭">
-    
-    <a-spin :spinning="confirmLoading">
-      <a-form :form="form">
-      
-        <a-form-item
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          label="广告主ID">
-          <a-input placeholder="请输入广告主ID" v-decorator="['advertiserId', {}]" />
-        </a-form-item>
-        <a-form-item
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          label="task_id">
-          <a-input placeholder="请输入task_id" v-decorator="['taskId', {}]" />
-        </a-form-item>
-		
-      </a-form>
-    </a-spin>
-  </a-modal>
-</template>
-
-<script>
-  import { httpAction } from '@/api/manage'
-  import pick from 'lodash.pick'
-  import moment from "moment"
-
-  export default {
-    name: "AuthTaskModal",
-    data () {
-      return {
-        title:"操作",
-        visible: false,
-        model: {},
-        labelCol: {
-          xs: { span: 24 },
-          sm: { span: 5 },
-        },
-        wrapperCol: {
-          xs: { span: 24 },
-          sm: { span: 16 },
-        },
-
-        confirmLoading: false,
-        form: this.$form.createForm(this),
-        validatorRules:{
-        },
-        url: {
-          add: "/ctop/authTask/add",
-          edit: "/ctop/authTask/edit",
-        },
-      }
-    },
-    created () {
-    },
-    methods: {
-      add () {
-        this.edit({});
-      },
-      edit (record) {
-        this.form.resetFields();
-        this.model = Object.assign({}, record);
-        this.visible = true;
-        this.$nextTick(() => {
-          this.form.setFieldsValue(pick(this.model,'advertiserId','taskId'))
-		  //时间格式化
-        });
-
-      },
-      close () {
-        this.$emit('close');
-        this.visible = false;
-      },
-      handleOk () {
-        const that = this;
-        // 触发表单验证
-        this.form.validateFields((err, values) => {
-          if (!err) {
-            that.confirmLoading = true;
-            let httpurl = '';
-            let method = '';
-            if(!this.model.id){
-              httpurl+=this.url.add;
-              method = 'post';
-            }else{
-              httpurl+=this.url.edit;
-               method = 'put';
-            }
-            let formData = Object.assign(this.model, values);
-            //时间格式化
-            
-            console.log(formData)
-            httpAction(httpurl,formData,method).then((res)=>{
-              if(res.success){
-                that.$message.success(res.message);
-                that.$emit('ok');
-              }else{
-                that.$message.warning(res.message);
-              }
-            }).finally(() => {
-              that.confirmLoading = false;
-              that.close();
-            })
-
-
-
-          }
-        })
-      },
-      handleCancel () {
-        this.close()
-      },
-
-
-    }
-  }
-</script>
-
-<style lang="less" scoped>
-
-</style>

+ 0 - 137
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/AuthTaskModal__Style#Drawer.vue

@@ -1,137 +0,0 @@
-<template>
-  <a-drawer
-      :title="title"
-      :width="800"
-      placement="right"
-      :closable="false"
-      @close="close"
-      :visible="visible"
-  >
-
-    <a-spin :spinning="confirmLoading">
-      <a-form :form="form">
-      
-        <a-form-item
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          label="广告主ID">
-          <a-input placeholder="请输入广告主ID" v-decorator="['advertiserId', {}]" />
-        </a-form-item>
-        <a-form-item
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          label="task_id">
-          <a-input placeholder="请输入task_id" v-decorator="['taskId', {}]" />
-        </a-form-item>
-		
-      </a-form>
-    </a-spin>
-    <a-button type="primary" @click="handleOk">确定</a-button>
-    <a-button type="primary" @click="handleCancel">取消</a-button>
-  </a-drawer>
-</template>
-
-<script>
-  import { httpAction } from '@/api/manage'
-  import pick from 'lodash.pick'
-  import moment from "moment"
-
-  export default {
-    name: "AuthTaskModal",
-    data () {
-      return {
-        title:"操作",
-        visible: false,
-        model: {},
-        labelCol: {
-          xs: { span: 24 },
-          sm: { span: 5 },
-        },
-        wrapperCol: {
-          xs: { span: 24 },
-          sm: { span: 16 },
-        },
-
-        confirmLoading: false,
-        form: this.$form.createForm(this),
-        validatorRules:{
-        },
-        url: {
-          add: "/ctop/authTask/add",
-          edit: "/ctop/authTask/edit",
-        },
-      }
-    },
-    created () {
-    },
-    methods: {
-      add () {
-        this.edit({});
-      },
-      edit (record) {
-        this.form.resetFields();
-        this.model = Object.assign({}, record);
-        this.visible = true;
-        this.$nextTick(() => {
-          this.form.setFieldsValue(pick(this.model,'advertiserId','taskId'))
-		  //时间格式化
-        });
-
-      },
-      close () {
-        this.$emit('close');
-        this.visible = false;
-      },
-      handleOk () {
-        const that = this;
-        // 触发表单验证
-        this.form.validateFields((err, values) => {
-          if (!err) {
-            that.confirmLoading = true;
-            let httpurl = '';
-            let method = '';
-            if(!this.model.id){
-              httpurl+=this.url.add;
-              method = 'post';
-            }else{
-              httpurl+=this.url.edit;
-               method = 'put';
-            }
-            let formData = Object.assign(this.model, values);
-            //时间格式化
-            
-            console.log(formData)
-            httpAction(httpurl,formData,method).then((res)=>{
-              if(res.success){
-                that.$message.success(res.message);
-                that.$emit('ok');
-              }else{
-                that.$message.warning(res.message);
-              }
-            }).finally(() => {
-              that.confirmLoading = false;
-              that.close();
-            })
-
-
-
-          }
-        })
-      },
-      handleCancel () {
-        this.close()
-      },
-
-
-    }
-  }
-</script>
-
-<style lang="less" scoped>
-/** Button按钮间距 */
-  .ant-btn {
-    margin-left: 30px;
-    margin-bottom: 30px;
-    float: right;
-  }
-</style>

+ 0 - 136
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/BindAccountAuthModal.vue

@@ -1,136 +0,0 @@
-<template>
-  <a-modal
-    :title="title"
-    :width="800"
-    :visible="visible"
-    :confirmLoading="confirmLoading"
-    @ok="handleOk"
-    @cancel="handleCancel"
-    cancelText="关闭">
-    
-    <a-spin :spinning="confirmLoading">
-      <a-form :form="form">
-      
-        <a-form-item
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          label="广告id">
-          <a-input placeholder="请输入广告id" v-decorator="['advertiserId', {}]" />
-        </a-form-item>
-        <a-form-item
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          label="授权方式">
-          <a-input placeholder="请输入授权方式" v-decorator="['authType', {}]" />
-        </a-form-item>
-        <a-form-item
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          label="回调返回广告主id">
-          <a-input placeholder="请输入回调返回广告主id" v-decorator="['accountId', {}]" />
-        </a-form-item>
-		
-      </a-form>
-    </a-spin>
-  </a-modal>
-</template>
-
-<script>
-  import { httpAction } from '@/api/manage'
-  import pick from 'lodash.pick'
-  import moment from "moment"
-
-  export default {
-    name: "BindAccountAuthModal",
-    data () {
-      return {
-        title:"操作",
-        visible: false,
-        model: {},
-        labelCol: {
-          xs: { span: 24 },
-          sm: { span: 5 },
-        },
-        wrapperCol: {
-          xs: { span: 24 },
-          sm: { span: 16 },
-        },
-
-        confirmLoading: false,
-        form: this.$form.createForm(this),
-        validatorRules:{
-        },
-        url: {
-          add: "/ctop/bindAccountAuth/add",
-          edit: "/ctop/bindAccountAuth/edit",
-        },
-      }
-    },
-    created () {
-    },
-    methods: {
-      add () {
-        this.edit({});
-      },
-      edit (record) {
-        this.form.resetFields();
-        this.model = Object.assign({}, record);
-        this.visible = true;
-        this.$nextTick(() => {
-          this.form.setFieldsValue(pick(this.model,'advertiserId','authType','accountId'))
-		  //时间格式化
-        });
-
-      },
-      close () {
-        this.$emit('close');
-        this.visible = false;
-      },
-      handleOk () {
-        const that = this;
-        // 触发表单验证
-        this.form.validateFields((err, values) => {
-          if (!err) {
-            that.confirmLoading = true;
-            let httpurl = '';
-            let method = '';
-            if(!this.model.id){
-              httpurl+=this.url.add;
-              method = 'post';
-            }else{
-              httpurl+=this.url.edit;
-               method = 'put';
-            }
-            let formData = Object.assign(this.model, values);
-            //时间格式化
-            
-            console.log(formData)
-            httpAction(httpurl,formData,method).then((res)=>{
-              if(res.success){
-                that.$message.success(res.message);
-                that.$emit('ok');
-              }else{
-                that.$message.warning(res.message);
-              }
-            }).finally(() => {
-              that.confirmLoading = false;
-              that.close();
-            })
-
-
-
-          }
-        })
-      },
-      handleCancel () {
-        this.close()
-      },
-
-
-    }
-  }
-</script>
-
-<style lang="less" scoped>
-
-</style>

+ 0 - 143
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/BindAccountAuthModal__Style#Drawer.vue

@@ -1,143 +0,0 @@
-<template>
-  <a-drawer
-      :title="title"
-      :width="800"
-      placement="right"
-      :closable="false"
-      @close="close"
-      :visible="visible"
-  >
-
-    <a-spin :spinning="confirmLoading">
-      <a-form :form="form">
-      
-        <a-form-item
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          label="广告id">
-          <a-input placeholder="请输入广告id" v-decorator="['advertiserId', {}]" />
-        </a-form-item>
-        <a-form-item
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          label="授权方式">
-          <a-input placeholder="请输入授权方式" v-decorator="['authType', {}]" />
-        </a-form-item>
-        <a-form-item
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          label="回调返回广告主id">
-          <a-input placeholder="请输入回调返回广告主id" v-decorator="['accountId', {}]" />
-        </a-form-item>
-		
-      </a-form>
-    </a-spin>
-    <a-button type="primary" @click="handleOk">确定</a-button>
-    <a-button type="primary" @click="handleCancel">取消</a-button>
-  </a-drawer>
-</template>
-
-<script>
-  import { httpAction } from '@/api/manage'
-  import pick from 'lodash.pick'
-  import moment from "moment"
-
-  export default {
-    name: "BindAccountAuthModal",
-    data () {
-      return {
-        title:"操作",
-        visible: false,
-        model: {},
-        labelCol: {
-          xs: { span: 24 },
-          sm: { span: 5 },
-        },
-        wrapperCol: {
-          xs: { span: 24 },
-          sm: { span: 16 },
-        },
-
-        confirmLoading: false,
-        form: this.$form.createForm(this),
-        validatorRules:{
-        },
-        url: {
-          add: "/ctop/bindAccountAuth/add",
-          edit: "/ctop/bindAccountAuth/edit",
-        },
-      }
-    },
-    created () {
-    },
-    methods: {
-      add () {
-        this.edit({});
-      },
-      edit (record) {
-        this.form.resetFields();
-        this.model = Object.assign({}, record);
-        this.visible = true;
-        this.$nextTick(() => {
-          this.form.setFieldsValue(pick(this.model,'advertiserId','authType','accountId'))
-		  //时间格式化
-        });
-
-      },
-      close () {
-        this.$emit('close');
-        this.visible = false;
-      },
-      handleOk () {
-        const that = this;
-        // 触发表单验证
-        this.form.validateFields((err, values) => {
-          if (!err) {
-            that.confirmLoading = true;
-            let httpurl = '';
-            let method = '';
-            if(!this.model.id){
-              httpurl+=this.url.add;
-              method = 'post';
-            }else{
-              httpurl+=this.url.edit;
-               method = 'put';
-            }
-            let formData = Object.assign(this.model, values);
-            //时间格式化
-            
-            console.log(formData)
-            httpAction(httpurl,formData,method).then((res)=>{
-              if(res.success){
-                that.$message.success(res.message);
-                that.$emit('ok');
-              }else{
-                that.$message.warning(res.message);
-              }
-            }).finally(() => {
-              that.confirmLoading = false;
-              that.close();
-            })
-
-
-
-          }
-        })
-      },
-      handleCancel () {
-        this.close()
-      },
-
-
-    }
-  }
-</script>
-
-<style lang="less" scoped>
-/** Button按钮间距 */
-  .ant-btn {
-    margin-left: 30px;
-    margin-bottom: 30px;
-    float: right;
-  }
-</style>

+ 0 - 148
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/BindAccountLoginModal.vue

@@ -1,148 +0,0 @@
-<template>
-  <a-modal
-    :title="title"
-    :width="800"
-    :visible="visible"
-    :confirmLoading="confirmLoading"
-    @ok="handleOk"
-    @cancel="handleCancel"
-    cancelText="关闭">
-    
-    <a-spin :spinning="confirmLoading">
-      <a-form :form="form">
-      
-        <a-form-item
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          label="广告id">
-          <a-input placeholder="请输入广告id" v-decorator="['advertiserId', {}]" />
-        </a-form-item>
-        <a-form-item
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          label="账号">
-          <a-input placeholder="请输入账号" v-decorator="['accountName', {}]" />
-        </a-form-item>
-        <a-form-item
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          label="密码">
-          <a-input placeholder="请输入密码" v-decorator="['password', {}]" />
-        </a-form-item>
-        <a-form-item
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          label="登录方式">
-          <a-input placeholder="请输入登录方式" v-decorator="['loginType', {}]" />
-        </a-form-item>
-        <a-form-item
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          label="1未登陆 2已登陆">
-          <a-input placeholder="请输入1未登陆 2已登陆" v-decorator="['status', {}]" />
-        </a-form-item>
-		
-      </a-form>
-    </a-spin>
-  </a-modal>
-</template>
-
-<script>
-  import { httpAction } from '@/api/manage'
-  import pick from 'lodash.pick'
-  import moment from "moment"
-
-  export default {
-    name: "BindAccountLoginModal",
-    data () {
-      return {
-        title:"操作",
-        visible: false,
-        model: {},
-        labelCol: {
-          xs: { span: 24 },
-          sm: { span: 5 },
-        },
-        wrapperCol: {
-          xs: { span: 24 },
-          sm: { span: 16 },
-        },
-
-        confirmLoading: false,
-        form: this.$form.createForm(this),
-        validatorRules:{
-        },
-        url: {
-          add: "/ctop/bindAccountLogin/add",
-          edit: "/ctop/bindAccountLogin/edit",
-        },
-      }
-    },
-    created () {
-    },
-    methods: {
-      add () {
-        this.edit({});
-      },
-      edit (record) {
-        this.form.resetFields();
-        this.model = Object.assign({}, record);
-        this.visible = true;
-        this.$nextTick(() => {
-          this.form.setFieldsValue(pick(this.model,'advertiserId','accountName','password','loginType','status'))
-		  //时间格式化
-        });
-
-      },
-      close () {
-        this.$emit('close');
-        this.visible = false;
-      },
-      handleOk () {
-        const that = this;
-        // 触发表单验证
-        this.form.validateFields((err, values) => {
-          if (!err) {
-            that.confirmLoading = true;
-            let httpurl = '';
-            let method = '';
-            if(!this.model.id){
-              httpurl+=this.url.add;
-              method = 'post';
-            }else{
-              httpurl+=this.url.edit;
-               method = 'put';
-            }
-            let formData = Object.assign(this.model, values);
-            //时间格式化
-            
-            console.log(formData)
-            httpAction(httpurl,formData,method).then((res)=>{
-              if(res.success){
-                that.$message.success(res.message);
-                that.$emit('ok');
-              }else{
-                that.$message.warning(res.message);
-              }
-            }).finally(() => {
-              that.confirmLoading = false;
-              that.close();
-            })
-
-
-
-          }
-        })
-      },
-      handleCancel () {
-        this.close()
-      },
-
-
-    }
-  }
-</script>
-
-<style lang="less" scoped>
-
-</style>

+ 0 - 155
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/BindAccountLoginModal__Style#Drawer.vue

@@ -1,155 +0,0 @@
-<template>
-  <a-drawer
-      :title="title"
-      :width="800"
-      placement="right"
-      :closable="false"
-      @close="close"
-      :visible="visible"
-  >
-
-    <a-spin :spinning="confirmLoading">
-      <a-form :form="form">
-      
-        <a-form-item
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          label="广告id">
-          <a-input placeholder="请输入广告id" v-decorator="['advertiserId', {}]" />
-        </a-form-item>
-        <a-form-item
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          label="账号">
-          <a-input placeholder="请输入账号" v-decorator="['accountName', {}]" />
-        </a-form-item>
-        <a-form-item
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          label="密码">
-          <a-input placeholder="请输入密码" v-decorator="['password', {}]" />
-        </a-form-item>
-        <a-form-item
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          label="登录方式">
-          <a-input placeholder="请输入登录方式" v-decorator="['loginType', {}]" />
-        </a-form-item>
-        <a-form-item
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          label="1未登陆 2已登陆">
-          <a-input placeholder="请输入1未登陆 2已登陆" v-decorator="['status', {}]" />
-        </a-form-item>
-		
-      </a-form>
-    </a-spin>
-    <a-button type="primary" @click="handleOk">确定</a-button>
-    <a-button type="primary" @click="handleCancel">取消</a-button>
-  </a-drawer>
-</template>
-
-<script>
-  import { httpAction } from '@/api/manage'
-  import pick from 'lodash.pick'
-  import moment from "moment"
-
-  export default {
-    name: "BindAccountLoginModal",
-    data () {
-      return {
-        title:"操作",
-        visible: false,
-        model: {},
-        labelCol: {
-          xs: { span: 24 },
-          sm: { span: 5 },
-        },
-        wrapperCol: {
-          xs: { span: 24 },
-          sm: { span: 16 },
-        },
-
-        confirmLoading: false,
-        form: this.$form.createForm(this),
-        validatorRules:{
-        },
-        url: {
-          add: "/ctop/bindAccountLogin/add",
-          edit: "/ctop/bindAccountLogin/edit",
-        },
-      }
-    },
-    created () {
-    },
-    methods: {
-      add () {
-        this.edit({});
-      },
-      edit (record) {
-        this.form.resetFields();
-        this.model = Object.assign({}, record);
-        this.visible = true;
-        this.$nextTick(() => {
-          this.form.setFieldsValue(pick(this.model,'advertiserId','accountName','password','loginType','status'))
-		  //时间格式化
-        });
-
-      },
-      close () {
-        this.$emit('close');
-        this.visible = false;
-      },
-      handleOk () {
-        const that = this;
-        // 触发表单验证
-        this.form.validateFields((err, values) => {
-          if (!err) {
-            that.confirmLoading = true;
-            let httpurl = '';
-            let method = '';
-            if(!this.model.id){
-              httpurl+=this.url.add;
-              method = 'post';
-            }else{
-              httpurl+=this.url.edit;
-               method = 'put';
-            }
-            let formData = Object.assign(this.model, values);
-            //时间格式化
-            
-            console.log(formData)
-            httpAction(httpurl,formData,method).then((res)=>{
-              if(res.success){
-                that.$message.success(res.message);
-                that.$emit('ok');
-              }else{
-                that.$message.warning(res.message);
-              }
-            }).finally(() => {
-              that.confirmLoading = false;
-              that.close();
-            })
-
-
-
-          }
-        })
-      },
-      handleCancel () {
-        this.close()
-      },
-
-
-    }
-  }
-</script>
-
-<style lang="less" scoped>
-/** Button按钮间距 */
-  .ant-btn {
-    margin-left: 30px;
-    margin-bottom: 30px;
-    float: right;
-  }
-</style>

File diff suppressed because it is too large
+ 0 - 302
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceAdvertisePlanModal.vue


File diff suppressed because it is too large
+ 0 - 309
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceAdvertisePlanModal__Style#Drawer.vue


+ 0 - 143
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceAdvertiserBudgetModal.vue

@@ -1,143 +0,0 @@
-<template>
-    <a-modal
-            :title="title"
-            :width="800"
-            :visible="visible"
-            :confirmLoading="confirmLoading"
-            @ok="handleOk"
-            @cancel="handleCancel"
-            cancelText="关闭">
-
-        <a-spin :spinning="confirmLoading">
-            <a-form :form="form">
-
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="平台账号id">
-                    <a-input placeholder="请输入平台账号id" v-decorator="['advertiserId', validatorRules.advertiserId ]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="预算类型
-BUDGET_MODE_INFINITE 	不限
-BUDGET_MODE_DAY 	日预算
-BUDGET_MODE_TOTAL 	总预算">
-                    <a-input placeholder="请输入预算类型
-BUDGET_MODE_INFINITE 	不限
-BUDGET_MODE_DAY 	日预算
-BUDGET_MODE_TOTAL 	总预算" v-decorator="['budgetMode', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="预算数量,当budget_mode=BUDGET_MODE_DAY时有值
-取值范围: ≥ 0">
-                    <a-input-number v-decorator="[ 'budget', {}]"/>
-                </a-form-item>
-
-            </a-form>
-        </a-spin>
-    </a-modal>
-</template>
-
-<script>
-    import {httpAction} from '@/api/manage'
-    import pick from 'lodash.pick'
-    import moment from "moment"
-
-    export default {
-        name: "ByteDanceAdvertiserBudgetModal",
-        data() {
-            return {
-                title: "操作",
-                visible: false,
-                model: {},
-                labelCol: {
-                    xs: {span: 24},
-                    sm: {span: 5},
-                },
-                wrapperCol: {
-                    xs: {span: 24},
-                    sm: {span: 16},
-                },
-
-                confirmLoading: false,
-                form: this.$form.createForm(this),
-                validatorRules: {
-                    advertiserId: {rules: [{required: true, message: '请输入平台账号id!'}]},
-                },
-                url: {
-                    add: "/ctop/byteDanceAdvertiserBudget/add",
-                    edit: "/ctop/byteDanceAdvertiserBudget/edit",
-                },
-            }
-        },
-        created() {
-        },
-        methods: {
-            add() {
-                this.edit({});
-            },
-            edit(record) {
-                this.form.resetFields();
-                this.model = Object.assign({}, record);
-                this.visible = true;
-                this.$nextTick(() => {
-                    this.form.setFieldsValue(pick(this.model, 'advertiserId', 'budgetMode', 'budget'))
-                    //时间格式化
-                });
-
-            },
-            close() {
-                this.$emit('close');
-                this.visible = false;
-            },
-            handleOk() {
-                const that = this;
-                // 触发表单验证
-                this.form.validateFields((err, values) => {
-                    if (!err) {
-                        that.confirmLoading = true;
-                        let httpurl = '';
-                        let method = '';
-                        if (!this.model.id) {
-                            httpurl += this.url.add;
-                            method = 'post';
-                        } else {
-                            httpurl += this.url.edit;
-                            method = 'put';
-                        }
-                        let formData = Object.assign(this.model, values);
-                        //时间格式化
-
-                        console.log(formData)
-                        httpAction(httpurl, formData, method).then((res) => {
-                            if (res.success) {
-                                that.$message.success(res.message);
-                                that.$emit('ok');
-                            } else {
-                                that.$message.warning(res.message);
-                            }
-                        }).finally(() => {
-                            that.confirmLoading = false;
-                            that.close();
-                        })
-
-
-                    }
-                })
-            },
-            handleCancel() {
-                this.close()
-            },
-
-
-        }
-    }
-</script>
-
-<style lang="less" scoped>
-
-</style>

+ 0 - 150
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceAdvertiserBudgetModal__Style#Drawer.vue

@@ -1,150 +0,0 @@
-<template>
-    <a-drawer
-            :title="title"
-            :width="800"
-            placement="right"
-            :closable="false"
-            @close="close"
-            :visible="visible"
-    >
-
-        <a-spin :spinning="confirmLoading">
-            <a-form :form="form">
-
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="平台账号id">
-                    <a-input placeholder="请输入平台账号id" v-decorator="['advertiserId', validatorRules.advertiserId ]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="预算类型
-BUDGET_MODE_INFINITE 	不限
-BUDGET_MODE_DAY 	日预算
-BUDGET_MODE_TOTAL 	总预算">
-                    <a-input placeholder="请输入预算类型
-BUDGET_MODE_INFINITE 	不限
-BUDGET_MODE_DAY 	日预算
-BUDGET_MODE_TOTAL 	总预算" v-decorator="['budgetMode', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="预算数量,当budget_mode=BUDGET_MODE_DAY时有值
-取值范围: ≥ 0">
-                    <a-input-number v-decorator="[ 'budget', {}]"/>
-                </a-form-item>
-
-            </a-form>
-        </a-spin>
-        <a-button type="primary" @click="handleOk">确定</a-button>
-        <a-button type="primary" @click="handleCancel">取消</a-button>
-    </a-drawer>
-</template>
-
-<script>
-    import {httpAction} from '@/api/manage'
-    import pick from 'lodash.pick'
-    import moment from "moment"
-
-    export default {
-        name: "ByteDanceAdvertiserBudgetModal",
-        data() {
-            return {
-                title: "操作",
-                visible: false,
-                model: {},
-                labelCol: {
-                    xs: {span: 24},
-                    sm: {span: 5},
-                },
-                wrapperCol: {
-                    xs: {span: 24},
-                    sm: {span: 16},
-                },
-
-                confirmLoading: false,
-                form: this.$form.createForm(this),
-                validatorRules: {
-                    advertiserId: {rules: [{required: true, message: '请输入平台账号id!'}]},
-                },
-                url: {
-                    add: "/ctop/byteDanceAdvertiserBudget/add",
-                    edit: "/ctop/byteDanceAdvertiserBudget/edit",
-                },
-            }
-        },
-        created() {
-        },
-        methods: {
-            add() {
-                this.edit({});
-            },
-            edit(record) {
-                this.form.resetFields();
-                this.model = Object.assign({}, record);
-                this.visible = true;
-                this.$nextTick(() => {
-                    this.form.setFieldsValue(pick(this.model, 'advertiserId', 'budgetMode', 'budget'))
-                    //时间格式化
-                });
-
-            },
-            close() {
-                this.$emit('close');
-                this.visible = false;
-            },
-            handleOk() {
-                const that = this;
-                // 触发表单验证
-                this.form.validateFields((err, values) => {
-                    if (!err) {
-                        that.confirmLoading = true;
-                        let httpurl = '';
-                        let method = '';
-                        if (!this.model.id) {
-                            httpurl += this.url.add;
-                            method = 'post';
-                        } else {
-                            httpurl += this.url.edit;
-                            method = 'put';
-                        }
-                        let formData = Object.assign(this.model, values);
-                        //时间格式化
-
-                        console.log(formData)
-                        httpAction(httpurl, formData, method).then((res) => {
-                            if (res.success) {
-                                that.$message.success(res.message);
-                                that.$emit('ok');
-                            } else {
-                                that.$message.warning(res.message);
-                            }
-                        }).finally(() => {
-                            that.confirmLoading = false;
-                            that.close();
-                        })
-
-
-                    }
-                })
-            },
-            handleCancel() {
-                this.close()
-            },
-
-
-        }
-    }
-</script>
-
-<style lang="less" scoped>
-    /** Button按钮间距 */
-    .ant-btn {
-        margin-left: 30px;
-        margin-bottom: 30px;
-        float: right;
-    }
-</style>

+ 0 - 292
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceAdvertiserModal.vue

@@ -1,292 +0,0 @@
-<template>
-    <a-modal
-            :title="title"
-            :width="800"
-            :visible="visible"
-            :confirmLoading="confirmLoading"
-            @ok="handleOk"
-            @cancel="handleCancel"
-            cancelText="关闭">
-
-        <a-spin :spinning="confirmLoading">
-            <a-form :form="form">
-
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="本平台id">
-                    <a-input placeholder="请输入本平台id" v-decorator="['advertiserId', validatorRules.advertiserId ]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="头条账户名">
-                    <a-input placeholder="请输入头条账户名" v-decorator="['name', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="品牌描述,即推广内容">
-                    <a-input placeholder="请输入品牌描述,即推广内容" v-decorator="['description', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="邮箱">
-                    <a-input placeholder="请输入邮箱" v-decorator="['email', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="联系人">
-                    <a-input placeholder="请输入联系人" v-decorator="['contacter', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="手机号">
-                    <a-input placeholder="请输入手机号" v-decorator="['phonenumber', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="角色
-ROLE_ADVERTISER 	普通广告主(直客)
-ROLE_CHILD_ADVERTISER   普通广告主(代理商子客户)
-ROLE_CHILD_AGENT        二级代理商
-ROLE_AGENT 	     一级代理商">
-                    <a-input placeholder="请输入角色
-ROLE_ADVERTISER 	普通广告主(直客)
-ROLE_CHILD_ADVERTISER   普通广告主(代理商子客户)
-ROLE_CHILD_AGENT        二级代理商
-ROLE_AGENT 	     一级代理商" v-decorator="['role', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告主状态
-STATUS_DISABLE 	已禁用
-STATUS_PENDING_CONFIRM 	申请待审核
-STATUS_PENDING_VERIFIED 	待验证
-STATUS_CONFIRM_FAIL 	审核不通过
-STATUS_ENABLE 	已审核
-STATUS_CONFIRM_FAIL_END 	CRM审核不通过
-STATUS_PENDING_CONFIRM_MODIFY 	修改待审核
-STATUS_CONFIRM_MODIFY_FAIL 	修改审核不通过">
-                    <a-input placeholder="请输入广告主状态
-STATUS_DISABLE 	已禁用
-STATUS_PENDING_CONFIRM 	申请待审核
-STATUS_PENDING_VERIFIED 	待验证
-STATUS_CONFIRM_FAIL 	审核不通过
-STATUS_ENABLE 	已审核
-STATUS_CONFIRM_FAIL_END 	CRM审核不通过
-STATUS_PENDING_CONFIRM_MODIFY 	修改待审核
-STATUS_CONFIRM_MODIFY_FAIL 	修改审核不通过" v-decorator="['toutiaoStatus', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="固定电话">
-                    <a-input placeholder="请输入固定电话" v-decorator="['telephone', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="地址">
-                    <a-input placeholder="请输入地址" v-decorator="['address', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="执照预览地址(链接默认1小时内有效)">
-                    <a-input placeholder="请输入执照预览地址(链接默认1小时内有效)" v-decorator="['licenseUrl', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="执照编号">
-                    <a-input placeholder="请输入执照编号" v-decorator="['licenseNo', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="执照省份">
-                    <a-input placeholder="请输入执照省份" v-decorator="['licenseProvince', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="执照城市">
-                    <a-input placeholder="请输入执照城市" v-decorator="['licenseCity', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="公司名称">
-                    <a-input placeholder="请输入公司名称" v-decorator="['company', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="经营类别">
-                    <a-input placeholder="请输入经营类别" v-decorator="['brand', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="运营区域">
-                    <a-input placeholder="请输入运营区域" v-decorator="['promotionArea', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="运营省份">
-                    <a-input placeholder="请输入运营省份" v-decorator="['promotionCenterProvince', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="运营城市">
-                    <a-input placeholder="请输入运营城市" v-decorator="['promotionCenterCity', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="一级行业名称">
-                    <a-input placeholder="请输入一级行业名称" v-decorator="['firstIndustryName', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="二级行业名称">
-                    <a-input placeholder="请输入二级行业名称" v-decorator="['secondIndustryName', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="审核拒绝原因">
-                    <a-input placeholder="请输入审核拒绝原因" v-decorator="['reason', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="账户总余额,单位元">
-                    <a-input-number v-decorator="[ 'balance', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="头条平台中广告主创建时间">
-                    <a-input placeholder="请输入头条平台中广告主创建时间" v-decorator="['toutiaoCreateTime', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="数据状态">
-                    <a-input-number v-decorator="[ 'status', {}]"/>
-                </a-form-item>
-
-            </a-form>
-        </a-spin>
-    </a-modal>
-</template>
-
-<script>
-    import {httpAction} from '@/api/manage'
-    import pick from 'lodash.pick'
-    import moment from "moment"
-
-    export default {
-        name: "ByteDanceAdvertiserModal",
-        data() {
-            return {
-                title: "操作",
-                visible: false,
-                model: {},
-                labelCol: {
-                    xs: {span: 24},
-                    sm: {span: 5},
-                },
-                wrapperCol: {
-                    xs: {span: 24},
-                    sm: {span: 16},
-                },
-
-                confirmLoading: false,
-                form: this.$form.createForm(this),
-                validatorRules: {
-                    advertiserId: {rules: [{required: true, message: '请输入本平台id!'}]},
-                },
-                url: {
-                    add: "/ctop/byteDanceAdvertiser/add",
-                    edit: "/ctop/byteDanceAdvertiser/edit",
-                },
-            }
-        },
-        created() {
-        },
-        methods: {
-            add() {
-                this.edit({});
-            },
-            edit(record) {
-                this.form.resetFields();
-                this.model = Object.assign({}, record);
-                this.visible = true;
-                this.$nextTick(() => {
-                    this.form.setFieldsValue(pick(this.model, 'advertiserId', 'name', 'description', 'email', 'contacter', 'phonenumber', 'role', 'toutiaoStatus', 'telephone', 'address', 'licenseUrl', 'licenseNo', 'licenseProvince', 'licenseCity', 'company', 'brand', 'promotionArea', 'promotionCenterProvince', 'promotionCenterCity', 'firstIndustryName', 'secondIndustryName', 'reason', 'balance', 'toutiaoCreateTime', 'status'))
-                    //时间格式化
-                });
-
-            },
-            close() {
-                this.$emit('close');
-                this.visible = false;
-            },
-            handleOk() {
-                const that = this;
-                // 触发表单验证
-                this.form.validateFields((err, values) => {
-                    if (!err) {
-                        that.confirmLoading = true;
-                        let httpurl = '';
-                        let method = '';
-                        if (!this.model.id) {
-                            httpurl += this.url.add;
-                            method = 'post';
-                        } else {
-                            httpurl += this.url.edit;
-                            method = 'put';
-                        }
-                        let formData = Object.assign(this.model, values);
-                        //时间格式化
-
-                        console.log(formData)
-                        httpAction(httpurl, formData, method).then((res) => {
-                            if (res.success) {
-                                that.$message.success(res.message);
-                                that.$emit('ok');
-                            } else {
-                                that.$message.warning(res.message);
-                            }
-                        }).finally(() => {
-                            that.confirmLoading = false;
-                            that.close();
-                        })
-
-
-                    }
-                })
-            },
-            handleCancel() {
-                this.close()
-            },
-
-
-        }
-    }
-</script>
-
-<style lang="less" scoped>
-
-</style>

+ 0 - 299
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceAdvertiserModal__Style#Drawer.vue

@@ -1,299 +0,0 @@
-<template>
-    <a-drawer
-            :title="title"
-            :width="800"
-            placement="right"
-            :closable="false"
-            @close="close"
-            :visible="visible"
-    >
-
-        <a-spin :spinning="confirmLoading">
-            <a-form :form="form">
-
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="本平台id">
-                    <a-input placeholder="请输入本平台id" v-decorator="['advertiserId', validatorRules.advertiserId ]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="头条账户名">
-                    <a-input placeholder="请输入头条账户名" v-decorator="['name', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="品牌描述,即推广内容">
-                    <a-input placeholder="请输入品牌描述,即推广内容" v-decorator="['description', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="邮箱">
-                    <a-input placeholder="请输入邮箱" v-decorator="['email', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="联系人">
-                    <a-input placeholder="请输入联系人" v-decorator="['contacter', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="手机号">
-                    <a-input placeholder="请输入手机号" v-decorator="['phonenumber', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="角色
-ROLE_ADVERTISER 	普通广告主(直客)
-ROLE_CHILD_ADVERTISER   普通广告主(代理商子客户)
-ROLE_CHILD_AGENT        二级代理商
-ROLE_AGENT 	     一级代理商">
-                    <a-input placeholder="请输入角色
-ROLE_ADVERTISER 	普通广告主(直客)
-ROLE_CHILD_ADVERTISER   普通广告主(代理商子客户)
-ROLE_CHILD_AGENT        二级代理商
-ROLE_AGENT 	     一级代理商" v-decorator="['role', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告主状态
-STATUS_DISABLE 	已禁用
-STATUS_PENDING_CONFIRM 	申请待审核
-STATUS_PENDING_VERIFIED 	待验证
-STATUS_CONFIRM_FAIL 	审核不通过
-STATUS_ENABLE 	已审核
-STATUS_CONFIRM_FAIL_END 	CRM审核不通过
-STATUS_PENDING_CONFIRM_MODIFY 	修改待审核
-STATUS_CONFIRM_MODIFY_FAIL 	修改审核不通过">
-                    <a-input placeholder="请输入广告主状态
-STATUS_DISABLE 	已禁用
-STATUS_PENDING_CONFIRM 	申请待审核
-STATUS_PENDING_VERIFIED 	待验证
-STATUS_CONFIRM_FAIL 	审核不通过
-STATUS_ENABLE 	已审核
-STATUS_CONFIRM_FAIL_END 	CRM审核不通过
-STATUS_PENDING_CONFIRM_MODIFY 	修改待审核
-STATUS_CONFIRM_MODIFY_FAIL 	修改审核不通过" v-decorator="['toutiaoStatus', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="固定电话">
-                    <a-input placeholder="请输入固定电话" v-decorator="['telephone', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="地址">
-                    <a-input placeholder="请输入地址" v-decorator="['address', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="执照预览地址(链接默认1小时内有效)">
-                    <a-input placeholder="请输入执照预览地址(链接默认1小时内有效)" v-decorator="['licenseUrl', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="执照编号">
-                    <a-input placeholder="请输入执照编号" v-decorator="['licenseNo', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="执照省份">
-                    <a-input placeholder="请输入执照省份" v-decorator="['licenseProvince', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="执照城市">
-                    <a-input placeholder="请输入执照城市" v-decorator="['licenseCity', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="公司名称">
-                    <a-input placeholder="请输入公司名称" v-decorator="['company', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="经营类别">
-                    <a-input placeholder="请输入经营类别" v-decorator="['brand', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="运营区域">
-                    <a-input placeholder="请输入运营区域" v-decorator="['promotionArea', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="运营省份">
-                    <a-input placeholder="请输入运营省份" v-decorator="['promotionCenterProvince', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="运营城市">
-                    <a-input placeholder="请输入运营城市" v-decorator="['promotionCenterCity', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="一级行业名称">
-                    <a-input placeholder="请输入一级行业名称" v-decorator="['firstIndustryName', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="二级行业名称">
-                    <a-input placeholder="请输入二级行业名称" v-decorator="['secondIndustryName', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="审核拒绝原因">
-                    <a-input placeholder="请输入审核拒绝原因" v-decorator="['reason', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="账户总余额,单位元">
-                    <a-input-number v-decorator="[ 'balance', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="头条平台中广告主创建时间">
-                    <a-input placeholder="请输入头条平台中广告主创建时间" v-decorator="['toutiaoCreateTime', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="数据状态">
-                    <a-input-number v-decorator="[ 'status', {}]"/>
-                </a-form-item>
-
-            </a-form>
-        </a-spin>
-        <a-button type="primary" @click="handleOk">确定</a-button>
-        <a-button type="primary" @click="handleCancel">取消</a-button>
-    </a-drawer>
-</template>
-
-<script>
-    import {httpAction} from '@/api/manage'
-    import pick from 'lodash.pick'
-    import moment from "moment"
-
-    export default {
-        name: "ByteDanceAdvertiserModal",
-        data() {
-            return {
-                title: "操作",
-                visible: false,
-                model: {},
-                labelCol: {
-                    xs: {span: 24},
-                    sm: {span: 5},
-                },
-                wrapperCol: {
-                    xs: {span: 24},
-                    sm: {span: 16},
-                },
-
-                confirmLoading: false,
-                form: this.$form.createForm(this),
-                validatorRules: {
-                    advertiserId: {rules: [{required: true, message: '请输入本平台id!'}]},
-                },
-                url: {
-                    add: "/ctop/byteDanceAdvertiser/add",
-                    edit: "/ctop/byteDanceAdvertiser/edit",
-                },
-            }
-        },
-        created() {
-        },
-        methods: {
-            add() {
-                this.edit({});
-            },
-            edit(record) {
-                this.form.resetFields();
-                this.model = Object.assign({}, record);
-                this.visible = true;
-                this.$nextTick(() => {
-                    this.form.setFieldsValue(pick(this.model, 'advertiserId', 'name', 'description', 'email', 'contacter', 'phonenumber', 'role', 'toutiaoStatus', 'telephone', 'address', 'licenseUrl', 'licenseNo', 'licenseProvince', 'licenseCity', 'company', 'brand', 'promotionArea', 'promotionCenterProvince', 'promotionCenterCity', 'firstIndustryName', 'secondIndustryName', 'reason', 'balance', 'toutiaoCreateTime', 'status'))
-                    //时间格式化
-                });
-
-            },
-            close() {
-                this.$emit('close');
-                this.visible = false;
-            },
-            handleOk() {
-                const that = this;
-                // 触发表单验证
-                this.form.validateFields((err, values) => {
-                    if (!err) {
-                        that.confirmLoading = true;
-                        let httpurl = '';
-                        let method = '';
-                        if (!this.model.id) {
-                            httpurl += this.url.add;
-                            method = 'post';
-                        } else {
-                            httpurl += this.url.edit;
-                            method = 'put';
-                        }
-                        let formData = Object.assign(this.model, values);
-                        //时间格式化
-
-                        console.log(formData)
-                        httpAction(httpurl, formData, method).then((res) => {
-                            if (res.success) {
-                                that.$message.success(res.message);
-                                that.$emit('ok');
-                            } else {
-                                that.$message.warning(res.message);
-                            }
-                        }).finally(() => {
-                            that.confirmLoading = false;
-                            that.close();
-                        })
-
-
-                    }
-                })
-            },
-            handleCancel() {
-                this.close()
-            },
-
-
-        }
-    }
-</script>
-
-<style lang="less" scoped>
-    /** Button按钮间距 */
-    .ant-btn {
-        margin-left: 30px;
-        margin-bottom: 30px;
-        float: right;
-    }
-</style>

+ 0 - 209
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceBudgetTemplateModal.vue

@@ -1,209 +0,0 @@
-<template>
-    <a-modal
-            :title="title"
-            :width="800"
-            :visible="visible"
-            :confirmLoading="confirmLoading"
-            @ok="handleOk"
-            @cancel="handleCancel"
-            cancelText="关闭">
-
-        <a-spin :spinning="confirmLoading">
-            <a-form :form="form">
-
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告主id">
-                    <a-input placeholder="请输入广告主id" v-decorator="['advertiserId', validatorRules.advertiserId ]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="头条账号id">
-                    <a-input placeholder="请输入头条账号id" v-decorator="['toutiaoId', validatorRules.toutiaoId ]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="bidType">
-                    <a-input placeholder="请输入bidType" v-decorator="['bidType', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="flowControlMode">
-                    <a-input placeholder="请输入flowControlMode" v-decorator="['flowControlMode', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="budgetPrice">
-                    <a-input placeholder="请输入budgetPrice" v-decorator="['budgetPrice', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="budgetMode">
-                    <a-input placeholder="请输入budgetMode" v-decorator="['budgetMode', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="flowDateType">
-                    <a-input placeholder="请输入flowDateType" v-decorator="['flowDateType', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="startDate">
-                    <a-input placeholder="请输入startDate" v-decorator="['startDate', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="endDate">
-                    <a-input placeholder="请输入endDate" v-decorator="['endDate', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="dateQuantum">
-                    <a-input placeholder="请输入dateQuantum" v-decorator="['dateQuantum', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="dateQuantumRange">
-                    <a-input placeholder="请输入dateQuantumRange" v-decorator="['dateQuantumRange', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="priceType">
-                    <a-input placeholder="请输入priceType" v-decorator="['priceType', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="convertPrice">
-                    <a-input placeholder="请输入convertPrice" v-decorator="['convertPrice', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="filterType">
-                    <a-input placeholder="请输入filterType" v-decorator="['filterType', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="status">
-                    <a-input-number v-decorator="[ 'status', {}]"/>
-                </a-form-item>
-
-            </a-form>
-        </a-spin>
-    </a-modal>
-</template>
-
-<script>
-    import {httpAction} from '@/api/manage'
-    import pick from 'lodash.pick'
-    import moment from "moment"
-
-    export default {
-        name: "ByteDanceBudgetTemplateModal",
-        data() {
-            return {
-                title: "操作",
-                visible: false,
-                model: {},
-                labelCol: {
-                    xs: {span: 24},
-                    sm: {span: 5},
-                },
-                wrapperCol: {
-                    xs: {span: 24},
-                    sm: {span: 16},
-                },
-
-                confirmLoading: false,
-                form: this.$form.createForm(this),
-                validatorRules: {
-                    advertiserId: {rules: [{required: true, message: '请输入广告主id!'}]},
-                    toutiaoId: {rules: [{required: true, message: '请输入头条账号id!'}]},
-                },
-                url: {
-                    add: "/ctop/byteDanceBudgetTemplate/add",
-                    edit: "/ctop/byteDanceBudgetTemplate/edit",
-                },
-            }
-        },
-        created() {
-        },
-        methods: {
-            add() {
-                this.edit({});
-            },
-            edit(record) {
-                this.form.resetFields();
-                this.model = Object.assign({}, record);
-                this.visible = true;
-                this.$nextTick(() => {
-                    this.form.setFieldsValue(pick(this.model, 'advertiserId', 'toutiaoId', 'bidType', 'flowControlMode', 'budgetPrice', 'budgetMode', 'flowDateType', 'startDate', 'endDate', 'dateQuantum', 'dateQuantumRange', 'priceType', 'convertPrice', 'filterType', 'status'))
-                    //时间格式化
-                });
-
-            },
-            close() {
-                this.$emit('close');
-                this.visible = false;
-            },
-            handleOk() {
-                const that = this;
-                // 触发表单验证
-                this.form.validateFields((err, values) => {
-                    if (!err) {
-                        that.confirmLoading = true;
-                        let httpurl = '';
-                        let method = '';
-                        if (!this.model.id) {
-                            httpurl += this.url.add;
-                            method = 'post';
-                        } else {
-                            httpurl += this.url.edit;
-                            method = 'put';
-                        }
-                        let formData = Object.assign(this.model, values);
-                        //时间格式化
-
-                        console.log(formData)
-                        httpAction(httpurl, formData, method).then((res) => {
-                            if (res.success) {
-                                that.$message.success(res.message);
-                                that.$emit('ok');
-                            } else {
-                                that.$message.warning(res.message);
-                            }
-                        }).finally(() => {
-                            that.confirmLoading = false;
-                            that.close();
-                        })
-
-
-                    }
-                })
-            },
-            handleCancel() {
-                this.close()
-            },
-
-
-        }
-    }
-</script>
-
-<style lang="less" scoped>
-
-</style>

+ 0 - 216
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceBudgetTemplateModal__Style#Drawer.vue

@@ -1,216 +0,0 @@
-<template>
-    <a-drawer
-            :title="title"
-            :width="800"
-            placement="right"
-            :closable="false"
-            @close="close"
-            :visible="visible"
-    >
-
-        <a-spin :spinning="confirmLoading">
-            <a-form :form="form">
-
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告主id">
-                    <a-input placeholder="请输入广告主id" v-decorator="['advertiserId', validatorRules.advertiserId ]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="头条账号id">
-                    <a-input placeholder="请输入头条账号id" v-decorator="['toutiaoId', validatorRules.toutiaoId ]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="bidType">
-                    <a-input placeholder="请输入bidType" v-decorator="['bidType', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="flowControlMode">
-                    <a-input placeholder="请输入flowControlMode" v-decorator="['flowControlMode', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="budgetPrice">
-                    <a-input placeholder="请输入budgetPrice" v-decorator="['budgetPrice', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="budgetMode">
-                    <a-input placeholder="请输入budgetMode" v-decorator="['budgetMode', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="flowDateType">
-                    <a-input placeholder="请输入flowDateType" v-decorator="['flowDateType', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="startDate">
-                    <a-input placeholder="请输入startDate" v-decorator="['startDate', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="endDate">
-                    <a-input placeholder="请输入endDate" v-decorator="['endDate', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="dateQuantum">
-                    <a-input placeholder="请输入dateQuantum" v-decorator="['dateQuantum', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="dateQuantumRange">
-                    <a-input placeholder="请输入dateQuantumRange" v-decorator="['dateQuantumRange', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="priceType">
-                    <a-input placeholder="请输入priceType" v-decorator="['priceType', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="convertPrice">
-                    <a-input placeholder="请输入convertPrice" v-decorator="['convertPrice', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="filterType">
-                    <a-input placeholder="请输入filterType" v-decorator="['filterType', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="status">
-                    <a-input-number v-decorator="[ 'status', {}]"/>
-                </a-form-item>
-
-            </a-form>
-        </a-spin>
-        <a-button type="primary" @click="handleOk">确定</a-button>
-        <a-button type="primary" @click="handleCancel">取消</a-button>
-    </a-drawer>
-</template>
-
-<script>
-    import {httpAction} from '@/api/manage'
-    import pick from 'lodash.pick'
-    import moment from "moment"
-
-    export default {
-        name: "ByteDanceBudgetTemplateModal",
-        data() {
-            return {
-                title: "操作",
-                visible: false,
-                model: {},
-                labelCol: {
-                    xs: {span: 24},
-                    sm: {span: 5},
-                },
-                wrapperCol: {
-                    xs: {span: 24},
-                    sm: {span: 16},
-                },
-
-                confirmLoading: false,
-                form: this.$form.createForm(this),
-                validatorRules: {
-                    advertiserId: {rules: [{required: true, message: '请输入广告主id!'}]},
-                    toutiaoId: {rules: [{required: true, message: '请输入头条账号id!'}]},
-                },
-                url: {
-                    add: "/ctop/byteDanceBudgetTemplate/add",
-                    edit: "/ctop/byteDanceBudgetTemplate/edit",
-                },
-            }
-        },
-        created() {
-        },
-        methods: {
-            add() {
-                this.edit({});
-            },
-            edit(record) {
-                this.form.resetFields();
-                this.model = Object.assign({}, record);
-                this.visible = true;
-                this.$nextTick(() => {
-                    this.form.setFieldsValue(pick(this.model, 'advertiserId', 'toutiaoId', 'bidType', 'flowControlMode', 'budgetPrice', 'budgetMode', 'flowDateType', 'startDate', 'endDate', 'dateQuantum', 'dateQuantumRange', 'priceType', 'convertPrice', 'filterType', 'status'))
-                    //时间格式化
-                });
-
-            },
-            close() {
-                this.$emit('close');
-                this.visible = false;
-            },
-            handleOk() {
-                const that = this;
-                // 触发表单验证
-                this.form.validateFields((err, values) => {
-                    if (!err) {
-                        that.confirmLoading = true;
-                        let httpurl = '';
-                        let method = '';
-                        if (!this.model.id) {
-                            httpurl += this.url.add;
-                            method = 'post';
-                        } else {
-                            httpurl += this.url.edit;
-                            method = 'put';
-                        }
-                        let formData = Object.assign(this.model, values);
-                        //时间格式化
-
-                        console.log(formData)
-                        httpAction(httpurl, formData, method).then((res) => {
-                            if (res.success) {
-                                that.$message.success(res.message);
-                                that.$emit('ok');
-                            } else {
-                                that.$message.warning(res.message);
-                            }
-                        }).finally(() => {
-                            that.confirmLoading = false;
-                            that.close();
-                        })
-
-
-                    }
-                })
-            },
-            handleCancel() {
-                this.close()
-            },
-
-
-        }
-    }
-</script>
-
-<style lang="less" scoped>
-    /** Button按钮间距 */
-    .ant-btn {
-        margin-left: 30px;
-        margin-bottom: 30px;
-        float: right;
-    }
-</style>

+ 0 - 197
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceCampaignModal.vue

@@ -1,197 +0,0 @@
-<template>
-    <a-modal
-            :title="title"
-            :width="800"
-            :visible="visible"
-            :confirmLoading="confirmLoading"
-            @ok="handleOk"
-            @cancel="handleCancel"
-            cancelText="关闭">
-
-        <a-spin :spinning="confirmLoading">
-            <a-form :form="form">
-
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="平台用户id">
-                    <a-input placeholder="请输入平台用户id" v-decorator="['advertiserId', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="头条账号id">
-                    <a-input placeholder="请输入头条账号id" v-decorator="['toutiaoId', validatorRules.toutiaoId ]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告组名称">
-                    <a-input placeholder="请输入广告组名称" v-decorator="['name', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告组预算">
-                    <a-input-number v-decorator="[ 'budget', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告组预算类型">
-                    <a-input placeholder="请输入广告组预算类型" v-decorator="['budgetMode', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告组推广目的">
-                    <a-input placeholder="请输入广告组推广目的" v-decorator="['landingType', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告组时间戳,用于更新时提交,服务端判断是否基于最新信息修改">
-                    <a-input placeholder="请输入广告组时间戳,用于更新时提交,服务端判断是否基于最新信息修改" v-decorator="['modifyTime', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告组状态
-CAMPAIGN_STATUS_ENABLE 	启用
-CAMPAIGN_STATUS_DISABLE 	暂停
-CAMPAIGN_STATUS_DELETE 	删除
-CAMPAIGN_STATUS_ALL 	所有包含已删除
-CAMPAIGN_STATUS_NOT_DELETE 	所有不包含已删除(状态过滤默认值)
-CAMPAIGN_STATUS_ADVERTISER_BUDGET_EXCEED 	超出账户日预算">
-                    <a-input placeholder="请输入广告组状态
-CAMPAIGN_STATUS_ENABLE 	启用
-CAMPAIGN_STATUS_DISABLE 	暂停
-CAMPAIGN_STATUS_DELETE 	删除
-CAMPAIGN_STATUS_ALL 	所有包含已删除
-CAMPAIGN_STATUS_NOT_DELETE 	所有不包含已删除(状态过滤默认值)
-CAMPAIGN_STATUS_ADVERTISER_BUDGET_EXCEED 	超出账户日预算" v-decorator="['status', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="optStatus">
-                    <a-input placeholder="请输入optStatus" v-decorator="['optStatus', validatorRules.optStatus ]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告组创建时间">
-                    <a-input placeholder="请输入广告组创建时间" v-decorator="['campaignCreateTime', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告组修改时间">
-                    <a-input placeholder="请输入广告组修改时间" v-decorator="['campaignModifyTime', {}]"/>
-                </a-form-item>
-
-            </a-form>
-        </a-spin>
-    </a-modal>
-</template>
-
-<script>
-    import {httpAction} from '@/api/manage'
-    import pick from 'lodash.pick'
-    import moment from "moment"
-
-    export default {
-        name: "ByteDanceCampaignModal",
-        data() {
-            return {
-                title: "操作",
-                visible: false,
-                model: {},
-                labelCol: {
-                    xs: {span: 24},
-                    sm: {span: 5},
-                },
-                wrapperCol: {
-                    xs: {span: 24},
-                    sm: {span: 16},
-                },
-
-                confirmLoading: false,
-                form: this.$form.createForm(this),
-                validatorRules: {
-                    toutiaoId: {rules: [{required: true, message: '请输入头条账号id!'}]},
-                    optStatus: {rules: [{required: true, message: '请输入optStatus!'}]},
-                },
-                url: {
-                    add: "/ctop/byteDanceCampaign/add",
-                    edit: "/ctop/byteDanceCampaign/edit",
-                },
-            }
-        },
-        created() {
-        },
-        methods: {
-            add() {
-                this.edit({});
-            },
-            edit(record) {
-                this.form.resetFields();
-                this.model = Object.assign({}, record);
-                this.visible = true;
-                this.$nextTick(() => {
-                    this.form.setFieldsValue(pick(this.model, 'advertiserId', 'toutiaoId', 'name', 'budget', 'budgetMode', 'landingType', 'modifyTime', 'status', 'optStatus', 'campaignCreateTime', 'campaignModifyTime'))
-                    //时间格式化
-                });
-
-            },
-            close() {
-                this.$emit('close');
-                this.visible = false;
-            },
-            handleOk() {
-                const that = this;
-                // 触发表单验证
-                this.form.validateFields((err, values) => {
-                    if (!err) {
-                        that.confirmLoading = true;
-                        let httpurl = '';
-                        let method = '';
-                        if (!this.model.id) {
-                            httpurl += this.url.add;
-                            method = 'post';
-                        } else {
-                            httpurl += this.url.edit;
-                            method = 'put';
-                        }
-                        let formData = Object.assign(this.model, values);
-                        //时间格式化
-
-                        console.log(formData)
-                        httpAction(httpurl, formData, method).then((res) => {
-                            if (res.success) {
-                                that.$message.success(res.message);
-                                that.$emit('ok');
-                            } else {
-                                that.$message.warning(res.message);
-                            }
-                        }).finally(() => {
-                            that.confirmLoading = false;
-                            that.close();
-                        })
-
-
-                    }
-                })
-            },
-            handleCancel() {
-                this.close()
-            },
-
-
-        }
-    }
-</script>
-
-<style lang="less" scoped>
-
-</style>

+ 0 - 204
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceCampaignModal__Style#Drawer.vue

@@ -1,204 +0,0 @@
-<template>
-    <a-drawer
-            :title="title"
-            :width="800"
-            placement="right"
-            :closable="false"
-            @close="close"
-            :visible="visible"
-    >
-
-        <a-spin :spinning="confirmLoading">
-            <a-form :form="form">
-
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="平台用户id">
-                    <a-input placeholder="请输入平台用户id" v-decorator="['advertiserId', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="头条账号id">
-                    <a-input placeholder="请输入头条账号id" v-decorator="['toutiaoId', validatorRules.toutiaoId ]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告组名称">
-                    <a-input placeholder="请输入广告组名称" v-decorator="['name', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告组预算">
-                    <a-input-number v-decorator="[ 'budget', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告组预算类型">
-                    <a-input placeholder="请输入广告组预算类型" v-decorator="['budgetMode', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告组推广目的">
-                    <a-input placeholder="请输入广告组推广目的" v-decorator="['landingType', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告组时间戳,用于更新时提交,服务端判断是否基于最新信息修改">
-                    <a-input placeholder="请输入广告组时间戳,用于更新时提交,服务端判断是否基于最新信息修改" v-decorator="['modifyTime', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告组状态
-CAMPAIGN_STATUS_ENABLE 	启用
-CAMPAIGN_STATUS_DISABLE 	暂停
-CAMPAIGN_STATUS_DELETE 	删除
-CAMPAIGN_STATUS_ALL 	所有包含已删除
-CAMPAIGN_STATUS_NOT_DELETE 	所有不包含已删除(状态过滤默认值)
-CAMPAIGN_STATUS_ADVERTISER_BUDGET_EXCEED 	超出账户日预算">
-                    <a-input placeholder="请输入广告组状态
-CAMPAIGN_STATUS_ENABLE 	启用
-CAMPAIGN_STATUS_DISABLE 	暂停
-CAMPAIGN_STATUS_DELETE 	删除
-CAMPAIGN_STATUS_ALL 	所有包含已删除
-CAMPAIGN_STATUS_NOT_DELETE 	所有不包含已删除(状态过滤默认值)
-CAMPAIGN_STATUS_ADVERTISER_BUDGET_EXCEED 	超出账户日预算" v-decorator="['status', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="optStatus">
-                    <a-input placeholder="请输入optStatus" v-decorator="['optStatus', validatorRules.optStatus ]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告组创建时间">
-                    <a-input placeholder="请输入广告组创建时间" v-decorator="['campaignCreateTime', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告组修改时间">
-                    <a-input placeholder="请输入广告组修改时间" v-decorator="['campaignModifyTime', {}]"/>
-                </a-form-item>
-
-            </a-form>
-        </a-spin>
-        <a-button type="primary" @click="handleOk">确定</a-button>
-        <a-button type="primary" @click="handleCancel">取消</a-button>
-    </a-drawer>
-</template>
-
-<script>
-    import {httpAction} from '@/api/manage'
-    import pick from 'lodash.pick'
-    import moment from "moment"
-
-    export default {
-        name: "ByteDanceCampaignModal",
-        data() {
-            return {
-                title: "操作",
-                visible: false,
-                model: {},
-                labelCol: {
-                    xs: {span: 24},
-                    sm: {span: 5},
-                },
-                wrapperCol: {
-                    xs: {span: 24},
-                    sm: {span: 16},
-                },
-
-                confirmLoading: false,
-                form: this.$form.createForm(this),
-                validatorRules: {
-                    toutiaoId: {rules: [{required: true, message: '请输入头条账号id!'}]},
-                    optStatus: {rules: [{required: true, message: '请输入optStatus!'}]},
-                },
-                url: {
-                    add: "/ctop/byteDanceCampaign/add",
-                    edit: "/ctop/byteDanceCampaign/edit",
-                },
-            }
-        },
-        created() {
-        },
-        methods: {
-            add() {
-                this.edit({});
-            },
-            edit(record) {
-                this.form.resetFields();
-                this.model = Object.assign({}, record);
-                this.visible = true;
-                this.$nextTick(() => {
-                    this.form.setFieldsValue(pick(this.model, 'advertiserId', 'toutiaoId', 'name', 'budget', 'budgetMode', 'landingType', 'modifyTime', 'status', 'optStatus', 'campaignCreateTime', 'campaignModifyTime'))
-                    //时间格式化
-                });
-
-            },
-            close() {
-                this.$emit('close');
-                this.visible = false;
-            },
-            handleOk() {
-                const that = this;
-                // 触发表单验证
-                this.form.validateFields((err, values) => {
-                    if (!err) {
-                        that.confirmLoading = true;
-                        let httpurl = '';
-                        let method = '';
-                        if (!this.model.id) {
-                            httpurl += this.url.add;
-                            method = 'post';
-                        } else {
-                            httpurl += this.url.edit;
-                            method = 'put';
-                        }
-                        let formData = Object.assign(this.model, values);
-                        //时间格式化
-
-                        console.log(formData)
-                        httpAction(httpurl, formData, method).then((res) => {
-                            if (res.success) {
-                                that.$message.success(res.message);
-                                that.$emit('ok');
-                            } else {
-                                that.$message.warning(res.message);
-                            }
-                        }).finally(() => {
-                            that.confirmLoading = false;
-                            that.close();
-                        })
-
-
-                    }
-                })
-            },
-            handleCancel() {
-                this.close()
-            },
-
-
-        }
-    }
-</script>
-
-<style lang="less" scoped>
-    /** Button按钮间距 */
-    .ant-btn {
-        margin-left: 30px;
-        margin-bottom: 30px;
-        float: right;
-    }
-</style>

+ 0 - 155
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceCampaignTemplateModal.vue

@@ -1,155 +0,0 @@
-<template>
-    <a-modal
-            :title="title"
-            :width="800"
-            :visible="visible"
-            :confirmLoading="confirmLoading"
-            @ok="handleOk"
-            @cancel="handleCancel"
-            cancelText="关闭">
-
-        <a-spin :spinning="confirmLoading">
-            <a-form :form="form">
-
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="accountId">
-                    <a-input placeholder="请输入accountId" v-decorator="['accountId', validatorRules.accountId ]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="投放目标">
-                    <a-input placeholder="请输入投放目标" v-decorator="['promationPurpuse', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="投放方式">
-                    <a-input placeholder="请输入投放方式" v-decorator="['campaignBudget', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="日预算">
-                    <a-input placeholder="请输入日预算" v-decorator="['budgetDaily', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告组名称">
-                    <a-input placeholder="请输入广告组名称" v-decorator="['campaignName', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="模板状态">
-                    <a-input-number v-decorator="[ 'status', validatorRules.status ]"/>
-                </a-form-item>
-
-            </a-form>
-        </a-spin>
-    </a-modal>
-</template>
-
-<script>
-    import {httpAction} from '@/api/manage'
-    import pick from 'lodash.pick'
-    import moment from "moment"
-
-    export default {
-        name: "ByteDanceCampaignTemplateModal",
-        data() {
-            return {
-                title: "操作",
-                visible: false,
-                model: {},
-                labelCol: {
-                    xs: {span: 24},
-                    sm: {span: 5},
-                },
-                wrapperCol: {
-                    xs: {span: 24},
-                    sm: {span: 16},
-                },
-
-                confirmLoading: false,
-                form: this.$form.createForm(this),
-                validatorRules: {
-                    accountId: {rules: [{required: true, message: '请输入accountId!'}]},
-                    status: {rules: [{required: true, message: '请输入模板状态!'}]},
-                },
-                url: {
-                    add: "/ctop/byteDanceCampaignTemplate/add",
-                    edit: "/ctop/byteDanceCampaignTemplate/edit",
-                },
-            }
-        },
-        created() {
-        },
-        methods: {
-            add() {
-                this.edit({});
-            },
-            edit(record) {
-                this.form.resetFields();
-                this.model = Object.assign({}, record);
-                this.visible = true;
-                this.$nextTick(() => {
-                    this.form.setFieldsValue(pick(this.model, 'accountId', 'promationPurpuse', 'campaignBudget', 'budgetDaily', 'campaignName', 'status'))
-                    //时间格式化
-                });
-
-            },
-            close() {
-                this.$emit('close');
-                this.visible = false;
-            },
-            handleOk() {
-                const that = this;
-                // 触发表单验证
-                this.form.validateFields((err, values) => {
-                    if (!err) {
-                        that.confirmLoading = true;
-                        let httpurl = '';
-                        let method = '';
-                        if (!this.model.id) {
-                            httpurl += this.url.add;
-                            method = 'post';
-                        } else {
-                            httpurl += this.url.edit;
-                            method = 'put';
-                        }
-                        let formData = Object.assign(this.model, values);
-                        //时间格式化
-
-                        console.log(formData)
-                        httpAction(httpurl, formData, method).then((res) => {
-                            if (res.success) {
-                                that.$message.success(res.message);
-                                that.$emit('ok');
-                            } else {
-                                that.$message.warning(res.message);
-                            }
-                        }).finally(() => {
-                            that.confirmLoading = false;
-                            that.close();
-                        })
-
-
-                    }
-                })
-            },
-            handleCancel() {
-                this.close()
-            },
-
-
-        }
-    }
-</script>
-
-<style lang="less" scoped>
-
-</style>

+ 0 - 162
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceCampaignTemplateModal__Style#Drawer.vue

@@ -1,162 +0,0 @@
-<template>
-    <a-drawer
-            :title="title"
-            :width="800"
-            placement="right"
-            :closable="false"
-            @close="close"
-            :visible="visible"
-    >
-
-        <a-spin :spinning="confirmLoading">
-            <a-form :form="form">
-
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="accountId">
-                    <a-input placeholder="请输入accountId" v-decorator="['accountId', validatorRules.accountId ]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="投放目标">
-                    <a-input placeholder="请输入投放目标" v-decorator="['promationPurpuse', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="投放方式">
-                    <a-input placeholder="请输入投放方式" v-decorator="['campaignBudget', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="日预算">
-                    <a-input placeholder="请输入日预算" v-decorator="['budgetDaily', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告组名称">
-                    <a-input placeholder="请输入广告组名称" v-decorator="['campaignName', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="模板状态">
-                    <a-input-number v-decorator="[ 'status', validatorRules.status ]"/>
-                </a-form-item>
-
-            </a-form>
-        </a-spin>
-        <a-button type="primary" @click="handleOk">确定</a-button>
-        <a-button type="primary" @click="handleCancel">取消</a-button>
-    </a-drawer>
-</template>
-
-<script>
-    import {httpAction} from '@/api/manage'
-    import pick from 'lodash.pick'
-    import moment from "moment"
-
-    export default {
-        name: "ByteDanceCampaignTemplateModal",
-        data() {
-            return {
-                title: "操作",
-                visible: false,
-                model: {},
-                labelCol: {
-                    xs: {span: 24},
-                    sm: {span: 5},
-                },
-                wrapperCol: {
-                    xs: {span: 24},
-                    sm: {span: 16},
-                },
-
-                confirmLoading: false,
-                form: this.$form.createForm(this),
-                validatorRules: {
-                    accountId: {rules: [{required: true, message: '请输入accountId!'}]},
-                    status: {rules: [{required: true, message: '请输入模板状态!'}]},
-                },
-                url: {
-                    add: "/ctop/byteDanceCampaignTemplate/add",
-                    edit: "/ctop/byteDanceCampaignTemplate/edit",
-                },
-            }
-        },
-        created() {
-        },
-        methods: {
-            add() {
-                this.edit({});
-            },
-            edit(record) {
-                this.form.resetFields();
-                this.model = Object.assign({}, record);
-                this.visible = true;
-                this.$nextTick(() => {
-                    this.form.setFieldsValue(pick(this.model, 'accountId', 'promationPurpuse', 'campaignBudget', 'budgetDaily', 'campaignName', 'status'))
-                    //时间格式化
-                });
-
-            },
-            close() {
-                this.$emit('close');
-                this.visible = false;
-            },
-            handleOk() {
-                const that = this;
-                // 触发表单验证
-                this.form.validateFields((err, values) => {
-                    if (!err) {
-                        that.confirmLoading = true;
-                        let httpurl = '';
-                        let method = '';
-                        if (!this.model.id) {
-                            httpurl += this.url.add;
-                            method = 'post';
-                        } else {
-                            httpurl += this.url.edit;
-                            method = 'put';
-                        }
-                        let formData = Object.assign(this.model, values);
-                        //时间格式化
-
-                        console.log(formData)
-                        httpAction(httpurl, formData, method).then((res) => {
-                            if (res.success) {
-                                that.$message.success(res.message);
-                                that.$emit('ok');
-                            } else {
-                                that.$message.warning(res.message);
-                            }
-                        }).finally(() => {
-                            that.confirmLoading = false;
-                            that.close();
-                        })
-
-
-                    }
-                })
-            },
-            handleCancel() {
-                this.close()
-            },
-
-
-        }
-    }
-</script>
-
-<style lang="less" scoped>
-    /** Button按钮间距 */
-    .ant-btn {
-        margin-left: 30px;
-        margin-bottom: 30px;
-        float: right;
-    }
-</style>

+ 0 - 164
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceCreativeMaterialModal.vue

@@ -1,164 +0,0 @@
-<template>
-    <a-modal
-            :title="title"
-            :width="800"
-            :visible="visible"
-            :confirmLoading="confirmLoading"
-            @ok="handleOk"
-            @cancel="handleCancel"
-            cancelText="关闭">
-
-        <a-spin :spinning="confirmLoading">
-            <a-form :form="form">
-
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="平台广告主id">
-                    <a-input placeholder="请输入平台广告主id" v-decorator="['advertiserId', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告id">
-                    <a-input placeholder="请输入广告id" v-decorator="['adId', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="头天广告主id">
-                    <a-input placeholder="请输入头天广告主id" v-decorator="['toutiaoId', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="创意标题">
-                    <a-input placeholder="请输入创意标题" v-decorator="['title', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="创意状态">
-                    <a-input placeholder="请输入创意状态" v-decorator="['status', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="创意状态">
-                    <a-input placeholder="请输入创意状态" v-decorator="['optStatus', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="创意类型">
-                    <a-input placeholder="请输入创意类型" v-decorator="['imageMode', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="图片素材信息">
-                    <a-input placeholder="请输入图片素材信息" v-decorator="['imageInfo', {}]"/>
-                </a-form-item>
-
-            </a-form>
-        </a-spin>
-    </a-modal>
-</template>
-
-<script>
-    import {httpAction} from '@/api/manage'
-    import pick from 'lodash.pick'
-    import moment from "moment"
-
-    export default {
-        name: "ByteDanceCreativeMaterialModal",
-        data() {
-            return {
-                title: "操作",
-                visible: false,
-                model: {},
-                labelCol: {
-                    xs: {span: 24},
-                    sm: {span: 5},
-                },
-                wrapperCol: {
-                    xs: {span: 24},
-                    sm: {span: 16},
-                },
-
-                confirmLoading: false,
-                form: this.$form.createForm(this),
-                validatorRules: {},
-                url: {
-                    add: "/ctop/byteDanceCreativeMaterial/add",
-                    edit: "/ctop/byteDanceCreativeMaterial/edit",
-                },
-            }
-        },
-        created() {
-        },
-        methods: {
-            add() {
-                this.edit({});
-            },
-            edit(record) {
-                this.form.resetFields();
-                this.model = Object.assign({}, record);
-                this.visible = true;
-                this.$nextTick(() => {
-                    this.form.setFieldsValue(pick(this.model, 'advertiserId', 'adId', 'toutiaoId', 'title', 'status', 'optStatus', 'imageMode', 'imageInfo'))
-                    //时间格式化
-                });
-
-            },
-            close() {
-                this.$emit('close');
-                this.visible = false;
-            },
-            handleOk() {
-                const that = this;
-                // 触发表单验证
-                this.form.validateFields((err, values) => {
-                    if (!err) {
-                        that.confirmLoading = true;
-                        let httpurl = '';
-                        let method = '';
-                        if (!this.model.id) {
-                            httpurl += this.url.add;
-                            method = 'post';
-                        } else {
-                            httpurl += this.url.edit;
-                            method = 'put';
-                        }
-                        let formData = Object.assign(this.model, values);
-                        //时间格式化
-
-                        console.log(formData)
-                        httpAction(httpurl, formData, method).then((res) => {
-                            if (res.success) {
-                                that.$message.success(res.message);
-                                that.$emit('ok');
-                            } else {
-                                that.$message.warning(res.message);
-                            }
-                        }).finally(() => {
-                            that.confirmLoading = false;
-                            that.close();
-                        })
-
-
-                    }
-                })
-            },
-            handleCancel() {
-                this.close()
-            },
-
-
-        }
-    }
-</script>
-
-<style lang="less" scoped>
-
-</style>

+ 0 - 171
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceCreativeMaterialModal__Style#Drawer.vue

@@ -1,171 +0,0 @@
-<template>
-    <a-drawer
-            :title="title"
-            :width="800"
-            placement="right"
-            :closable="false"
-            @close="close"
-            :visible="visible"
-    >
-
-        <a-spin :spinning="confirmLoading">
-            <a-form :form="form">
-
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="平台广告主id">
-                    <a-input placeholder="请输入平台广告主id" v-decorator="['advertiserId', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告id">
-                    <a-input placeholder="请输入广告id" v-decorator="['adId', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="头天广告主id">
-                    <a-input placeholder="请输入头天广告主id" v-decorator="['toutiaoId', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="创意标题">
-                    <a-input placeholder="请输入创意标题" v-decorator="['title', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="创意状态">
-                    <a-input placeholder="请输入创意状态" v-decorator="['status', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="创意状态">
-                    <a-input placeholder="请输入创意状态" v-decorator="['optStatus', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="创意类型">
-                    <a-input placeholder="请输入创意类型" v-decorator="['imageMode', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="图片素材信息">
-                    <a-input placeholder="请输入图片素材信息" v-decorator="['imageInfo', {}]"/>
-                </a-form-item>
-
-            </a-form>
-        </a-spin>
-        <a-button type="primary" @click="handleOk">确定</a-button>
-        <a-button type="primary" @click="handleCancel">取消</a-button>
-    </a-drawer>
-</template>
-
-<script>
-    import {httpAction} from '@/api/manage'
-    import pick from 'lodash.pick'
-    import moment from "moment"
-
-    export default {
-        name: "ByteDanceCreativeMaterialModal",
-        data() {
-            return {
-                title: "操作",
-                visible: false,
-                model: {},
-                labelCol: {
-                    xs: {span: 24},
-                    sm: {span: 5},
-                },
-                wrapperCol: {
-                    xs: {span: 24},
-                    sm: {span: 16},
-                },
-
-                confirmLoading: false,
-                form: this.$form.createForm(this),
-                validatorRules: {},
-                url: {
-                    add: "/ctop/byteDanceCreativeMaterial/add",
-                    edit: "/ctop/byteDanceCreativeMaterial/edit",
-                },
-            }
-        },
-        created() {
-        },
-        methods: {
-            add() {
-                this.edit({});
-            },
-            edit(record) {
-                this.form.resetFields();
-                this.model = Object.assign({}, record);
-                this.visible = true;
-                this.$nextTick(() => {
-                    this.form.setFieldsValue(pick(this.model, 'advertiserId', 'adId', 'toutiaoId', 'title', 'status', 'optStatus', 'imageMode', 'imageInfo'))
-                    //时间格式化
-                });
-
-            },
-            close() {
-                this.$emit('close');
-                this.visible = false;
-            },
-            handleOk() {
-                const that = this;
-                // 触发表单验证
-                this.form.validateFields((err, values) => {
-                    if (!err) {
-                        that.confirmLoading = true;
-                        let httpurl = '';
-                        let method = '';
-                        if (!this.model.id) {
-                            httpurl += this.url.add;
-                            method = 'post';
-                        } else {
-                            httpurl += this.url.edit;
-                            method = 'put';
-                        }
-                        let formData = Object.assign(this.model, values);
-                        //时间格式化
-
-                        console.log(formData)
-                        httpAction(httpurl, formData, method).then((res) => {
-                            if (res.success) {
-                                that.$message.success(res.message);
-                                that.$emit('ok');
-                            } else {
-                                that.$message.warning(res.message);
-                            }
-                        }).finally(() => {
-                            that.confirmLoading = false;
-                            that.close();
-                        })
-
-
-                    }
-                })
-            },
-            handleCancel() {
-                this.close()
-            },
-
-
-        }
-    }
-</script>
-
-<style lang="less" scoped>
-    /** Button按钮间距 */
-    .ant-btn {
-        margin-left: 30px;
-        margin-bottom: 30px;
-        float: right;
-    }
-</style>

+ 0 - 206
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceCreativeModal.vue

@@ -1,206 +0,0 @@
-<template>
-    <a-modal
-            :title="title"
-            :width="800"
-            :visible="visible"
-            :confirmLoading="confirmLoading"
-            @ok="handleOk"
-            @cancel="handleCancel"
-            cancelText="关闭">
-
-        <a-spin :spinning="confirmLoading">
-            <a-form :form="form">
-
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告计划id">
-                    <a-input placeholder="请输入广告计划id" v-decorator="['planId', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="头条平台id">
-                    <a-input placeholder="请输入头条平台id" v-decorator="['toutiaoId', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="本平台广告主id">
-                    <a-input placeholder="请输入本平台广告主id" v-decorator="['accountId', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="创意素材标题">
-                    <a-input placeholder="请输入创意素材标题" v-decorator="['title', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="动态词包列表">
-                    <a-input placeholder="请输入动态词包列表" v-decorator="['creativeWordIds', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="创意素材状态">
-                    <a-input placeholder="请输入创意素材状态" v-decorator="['status', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="创意素材创作状态">
-                    <a-input placeholder="请输入创意素材创作状态" v-decorator="['optStatus', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="创意素材类型">
-                    <a-input placeholder="请输入创意素材类型" v-decorator="['imageMode', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="图片素材id列表">
-                    <a-input placeholder="请输入图片素材id列表" v-decorator="['imageIds', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="视频素材封面">
-                    <a-input placeholder="请输入视频素材封面" v-decorator="['imageId', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="视频id">
-                    <a-input placeholder="请输入视频id" v-decorator="['videoId', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="创意审核信息">
-                    <a-input placeholder="请输入创意审核信息" v-decorator="['auditRejectReason', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="第三方id">
-                    <a-input placeholder="请输入第三方id" v-decorator="['thirdPartyId', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告创意创建时间">
-                    <a-input placeholder="请输入广告创意创建时间" v-decorator="['creativeCreateTime', {}]"/>
-                </a-form-item>
-                <a-form-item
-                        :labelCol="labelCol"
-                        :wrapperCol="wrapperCol"
-                        label="广告创意更新时间">
-                    <a-input placeholder="请输入广告创意更新时间" v-decorator="['creativeModifyTime', {}]"/>
-                </a-form-item>
-
-            </a-form>
-        </a-spin>
-    </a-modal>
-</template>
-
-<script>
-    import {httpAction} from '@/api/manage'
-    import pick from 'lodash.pick'
-    import moment from "moment"
-
-    export default {
-        name: "ByteDanceCreativeModal",
-        data() {
-            return {
-                title: "操作",
-                visible: false,
-                model: {},
-                labelCol: {
-                    xs: {span: 24},
-                    sm: {span: 5},
-                },
-                wrapperCol: {
-                    xs: {span: 24},
-                    sm: {span: 16},
-                },
-
-                confirmLoading: false,
-                form: this.$form.createForm(this),
-                validatorRules: {},
-                url: {
-                    add: "/ctop/byteDanceCreative/add",
-                    edit: "/ctop/byteDanceCreative/edit",
-                },
-            }
-        },
-        created() {
-        },
-        methods: {
-            add() {
-                this.edit({});
-            },
-            edit(record) {
-                this.form.resetFields();
-                this.model = Object.assign({}, record);
-                this.visible = true;
-                this.$nextTick(() => {
-                    this.form.setFieldsValue(pick(this.model, 'planId', 'toutiaoId', 'accountId', 'title', 'creativeWordIds', 'status', 'optStatus', 'imageMode', 'imageIds', 'imageId', 'videoId', 'auditRejectReason', 'thirdPartyId', 'creativeCreateTime', 'creativeModifyTime'))
-                    //时间格式化
-                });
-
-            },
-            close() {
-                this.$emit('close');
-                this.visible = false;
-            },
-            handleOk() {
-                const that = this;
-                // 触发表单验证
-                this.form.validateFields((err, values) => {
-                    if (!err) {
-                        that.confirmLoading = true;
-                        let httpurl = '';
-                        let method = '';
-                        if (!this.model.id) {
-                            httpurl += this.url.add;
-                            method = 'post';
-                        } else {
-                            httpurl += this.url.edit;
-                            method = 'put';
-                        }
-                        let formData = Object.assign(this.model, values);
-                        //时间格式化
-
-                        console.log(formData)
-                        httpAction(httpurl, formData, method).then((res) => {
-                            if (res.success) {
-                                that.$message.success(res.message);
-                                that.$emit('ok');
-                            } else {
-                                that.$message.warning(res.message);
-                            }
-                        }).finally(() => {
-                            that.confirmLoading = false;
-                            that.close();
-                        })
-
-
-                    }
-                })
-            },
-            handleCancel() {
-                this.close()
-            },
-
-
-        }
-    }
-</script>
-
-<style lang="less" scoped>
-
-</style>

+ 0 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/vue/modules/ByteDanceCreativeModal__Style#Drawer.vue


Some files were not shown because too many files changed in this diff