浏览代码

修改代码

syh 5 年之前
父节点
当前提交
4f8db2bccc
共有 100 个文件被更改,包括 896 次插入1005 次删除
  1. 69 70
      jeecg-boot-base-common/src/main/java/org/jeecg/common/system/query/QueryGenerator.java
  2. 15 21
      jeecg-boot-base-common/src/main/java/org/jeecg/common/util/DateUtils.java
  3. 4 4
      jeecg-boot-base-common/src/main/java/org/jeecg/common/util/oConvertUtils.java
  4. 19 16
      jeecg-boot-module-system/src/main/java/org/jeecg/config/RedisConfig.java
  5. 3 2
      jeecg-boot-module-system/src/main/java/org/jeecg/config/WebMvcConfiguration.java
  6. 3 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/AdvertiserController.java
  7. 2 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BindAccountAuthController.java
  8. 3 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BindAccountLoginController.java
  9. 3 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceAdvertiserPostController.java
  10. 28 14
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/CallbackController.java
  11. 4 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/CtopOauthTokenController.java
  12. 3 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/FileInfoController.java
  13. 4 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/KuaishouAdvertiserController.java
  14. 4 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/KuaishouAppAccountController.java
  15. 2 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/SourceFileController.java
  16. 2 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/UserAllocationController.java
  17. 4 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/YardController.java
  18. 12 4
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/BytedanceHourlyReportLoadJob.java
  19. 58 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/BytedanceMaterialsLoadJob.java
  20. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/KuaishouHourlyReportLoadJob.java
  21. 1 6
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/KuaishouMaterialsLoadJob.java
  22. 7 6
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/CreateInternalServiceImpl.java
  23. 3 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java
  24. 14 14
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/test/controller/JeecgOrderMainController.java
  25. 30 41
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/test/controller/JoaDemoController.java
  26. 4 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/fileupload/service/IUploadService.java
  27. 2 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/media/controller/MediaController.java
  28. 16 25
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/message/controller/SysMessageController.java
  29. 3 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/message/job/SendMsgJob.java
  30. 133 129
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/monitor/domain/RedisInfo.java
  31. 5 4
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ngalain/aop/LogRecordAspect.java
  32. 30 42
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/quartz/controller/QuartzJobController.java
  33. 8 19
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/quartz/service/impl/QuartzJobServiceImpl.java
  34. 2 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/LoginController.java
  35. 19 54
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysDictController.java
  36. 9 5
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java
  37. 51 75
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java
  38. 34 33
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/model/TreeModel.java
  39. 13 14
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java
  40. 4 4
      jeecg-boot-module-system/src/main/resources/jeecg/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/vue/${entityName}List.vuei
  41. 15 0
      module-common/src/main/java/cn/com/ctop/common/module/mapper/CtopOauthTokenMapper.java
  42. 8 4
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/FileInfoServiceImpl.java
  43. 2 2
      module-common/src/main/java/cn/com/ctop/common/module/utils/Base64Utils.java
  44. 4 0
      module-common/src/main/java/cn/com/ctop/common/module/utils/CsvUtils.java
  45. 9 12
      module-common/src/main/java/cn/com/ctop/common/module/utils/HttpClientUtils.java
  46. 1 3
      module-common/src/main/java/cn/com/ctop/common/module/utils/HttpUtils2.java
  47. 2 1
      module-common/src/main/java/cn/com/ctop/common/module/utils/JsonUtil.java
  48. 4 0
      module-common/src/main/java/cn/com/ctop/common/module/utils/OSSUtils.java
  49. 4 0
      module-common/src/main/java/cn/com/ctop/common/module/utils/PropertiesUtils.java
  50. 1 0
      module-common/src/main/java/cn/com/ctop/common/module/utils/StringUtils.java
  51. 4 1
      module-common/src/main/java/cn/com/ctop/common/module/utils/TransfMediaTool.java
  52. 7 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/appium/service/IAppiumTaskItemService.java
  53. 6 0
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/appium/service/IAppiumTaskService.java
  54. 15 15
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/core/util/AppiumUtil.java
  55. 2 1
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/core/util/FateadmUtil.java
  56. 6 2
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/core/util/KuaimiUtil.java
  57. 3 229
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/log/controller/CrawlerLogController.java
  58. 22 22
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/test/AppiumTest.java
  59. 19 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/app/mapper/AppAdMapper.java
  60. 15 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/app/service/IAppAdService.java
  61. 4 2
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/app/service/impl/KuaishouAppServiceImpl.java
  62. 2 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouActionBarTextController.java
  63. 2 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouAdvertiserBaseInfoController.java
  64. 2 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouAppCreateController.java
  65. 2 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouAppInfoController.java
  66. 2 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouAppListController.java
  67. 2 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouCampaignController.java
  68. 2 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouCampaignCreateController.java
  69. 1 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouCampaignDayBudgetController.java
  70. 1 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouCampaignStatusController.java
  71. 2 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouCampaignTemplateController.java
  72. 8 4
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouController.java
  73. 3 2
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouConversionInfosController.java
  74. 7 6
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouConversionTypesController.java
  75. 3 2
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouCreateAppTemplateController.java
  76. 2 2
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouCreateController.java
  77. 3 2
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouCreativeController.java
  78. 2 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouCreativeCreateController.java
  79. 4 3
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouGroupBidController.java
  80. 2 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouGroupController.java
  81. 2 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouGroupCreateLogController.java
  82. 2 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouGroupCreateTargetController.java
  83. 5 4
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouGroupDayBudgetController.java
  84. 2 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouImageController.java
  85. 2 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouImageGetController.java
  86. 2 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouImageUploandController.java
  87. 2 2
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouRegionListChildrenController.java
  88. 2 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouRegionListParentController.java
  89. 0 17
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouReportController.java
  90. 2 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouScheduleController.java
  91. 2 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouVideoController.java
  92. 2 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouVideoGetController.java
  93. 2 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouVideoUploadController.java
  94. 2 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaishouReportDailyCreativeStatisticController.java
  95. 2 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaishouReportHourlyCreativeStatisticController.java
  96. 0 2
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/MaterialRefuseController.java
  97. 4 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/IKuaishouInterfaceService.java
  98. 13 5
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/KuaiShouCreateServiceImpl.java
  99. 12 4
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/KuaiShouUpdateServiceImpl.java
  100. 0 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/KuaishouInterfaceServiceImpl.java

+ 69 - 70
jeecg-boot-base-common/src/main/java/org/jeecg/common/system/query/QueryGenerator.java

@@ -24,9 +24,9 @@ import java.util.regex.Pattern;
 
 @Slf4j
 public class QueryGenerator {
-	
+
 	public static final String SQL_RULES_COLUMN = "SQL_RULES_COLUMN";
-	
+
 	private static final String BEGIN = "_begin";
 	private static final String END = "_end";
 	private static final String STAR = "*";
@@ -34,13 +34,13 @@ public class QueryGenerator {
 	private static final String NOT_EQUAL = "!";
 	/**高级查询前端传来的参数名*/
 	private static final String SUPER_QUERY_PARAMS = "superQueryParams";
-	
+
 	/**排序列*/
 	private static final String ORDER_COLUMN = "column";
 	/**排序方式*/
 	private static final String ORDER_TYPE = "order";
 	private static final String ORDER_TYPE_ASC = "ASC";
-	
+
 	/**时间格式化 */
 	private static final ThreadLocal<SimpleDateFormat> local = new ThreadLocal<SimpleDateFormat>();
 	private static SimpleDateFormat getTime(){
@@ -51,7 +51,7 @@ public class QueryGenerator {
 		}
 		return time;
 	}
-	
+
 	/**
 	 * 获取查询条件构造器QueryWrapper实例 通用查询条件已被封装完成
 	 * @param searchObj 查询实体
@@ -65,35 +65,35 @@ public class QueryGenerator {
 		log.debug("---查询条件构造器初始化完成,耗时:"+(System.currentTimeMillis()-start)+"毫秒----");
 		return queryWrapper;
 	}
-	
+
 	/**
 	 * 组装Mybatis Plus 查询条件
-	 * <p>使用此方法 需要有如下几点注意:   
+     * <p>使用此方法 需要有如下几点注意:
 	 * <br>1.使用QueryWrapper 而非LambdaQueryWrapper;
-	 * <br>2.实例化QueryWrapper时不可将实体传入参数   
+     * <br>2.实例化QueryWrapper时不可将实体传入参数
 	 * <br>错误示例:如QueryWrapper<JeecgDemo> queryWrapper = new QueryWrapper<JeecgDemo>(jeecgDemo);
 	 * <br>正确示例:QueryWrapper<JeecgDemo> queryWrapper = new QueryWrapper<JeecgDemo>();
 	 * <br>3.也可以不使用这个方法直接调用 {@link #initQueryWrapper}直接获取实例
 	 */
 	public static void installMplus(QueryWrapper<?> queryWrapper,Object searchObj,Map<String, String[]> parameterMap) {
-		
+
 		/*
 		 * 注意:权限查询由前端配置数据规则 当一个人有多个所属部门时候 可以在规则配置包含条件 orgCode 包含 #{sys_org_code}
-		但是不支持在自定义SQL中写orgCode in #{sys_org_code} 
+		但是不支持在自定义SQL中写orgCode in #{sys_org_code}
 		当一个人只有一个部门 就直接配置等于条件: orgCode 等于 #{sys_org_code} 或者配置自定义SQL: orgCode = '#{sys_org_code}'
 		*/
-		
+
 		//区间条件组装 模糊查询 高级查询组装 简单排序 权限查询
 		PropertyDescriptor[] origDescriptors = PropertyUtils.getPropertyDescriptors(searchObj);
 		Map<String,SysPermissionDataRule> ruleMap = getRuleMap();
-		
+
 		//权限规则自定义SQL表达式
 		for (String c : ruleMap.keySet()) {
 			if(oConvertUtils.isNotEmpty(c) && c.startsWith(SQL_RULES_COLUMN)){
 				queryWrapper.and(i ->i.apply(getSqlRuleValue(ruleMap.get(c).getRuleValue())));
 			}
 		}
-		
+
 		String name, type;
 		for (int i = 0; i < origDescriptors.length; i++) {
 			//aliasName = origDescriptors[i].getName();  mybatis  不存在实体属性 不用处理别名的情况
@@ -103,25 +103,25 @@ public class QueryGenerator {
 				if (judgedIsUselessField(name)|| !PropertyUtils.isReadable(searchObj, name)) {
 					continue;
 				}
-				
+
 				//数据权限查询
 				if(ruleMap.containsKey(name)) {
 					addRuleToQueryWrapper(ruleMap.get(name), name, origDescriptors[i].getPropertyType(), queryWrapper);
 				}
-				
+
 				// 添加 判断是否有区间值
 				String endValue = null,beginValue = null;
 				if (parameterMap != null && parameterMap.containsKey(name + BEGIN)) {
 					beginValue = parameterMap.get(name + BEGIN)[0].trim();
 					addQueryByRule(queryWrapper, name, type, beginValue, QueryRuleEnum.GE);
-					
-				}
+
+                }
 				if (parameterMap != null && parameterMap.containsKey(name + END)) {
 					endValue = parameterMap.get(name + END)[0].trim();
 					addQueryByRule(queryWrapper, name, type, endValue, QueryRuleEnum.LE);
 				}
-				
-				//判断单值  参数带不同标识字符串 走不同的查询
+
+                //判断单值  参数带不同标识字符串 走不同的查询
 				//TODO 这种前后带逗号的支持分割后模糊查询需要否 使多选字段的查询生效
 				Object value = PropertyUtils.getSimpleProperty(searchObj, name);
 				if (null != value && value.toString().startsWith(COMMA) && value.toString().endsWith(COMMA)) {
@@ -145,18 +145,18 @@ public class QueryGenerator {
 					value = replaceValue(rule,value);
 					addEasyQuery(queryWrapper, name, rule, value);
 				}
-				
-			} catch (Exception e) {
+
+            } catch (Exception e) {
 				log.error(e.getMessage(), e);
 			}
 		}
-		// 排序逻辑 处理 
+        // 排序逻辑 处理
 		doMultiFieldsOrder(queryWrapper, parameterMap);
-				
-		//高级查询
+
+        //高级查询
 		doSuperQuery(queryWrapper, parameterMap);
-		
-	}
+
+    }
 
     /**
      * 多字段排序
@@ -177,7 +177,7 @@ public class QueryGenerator {
 				column = column.substring(0, column.lastIndexOf(CommonConstant.DICT_TEXT_SUFFIX));
 			}
 			//SQL注入check
-			SqlInjectionUtil.filterContent(column); 
+            SqlInjectionUtil.filterContent(column);
 
 			if (order.toUpperCase().indexOf(ORDER_TYPE_ASC)>=0) {
 				queryWrapper.orderByAsc(oConvertUtils.camelToUnderline(column));
@@ -186,8 +186,8 @@ public class QueryGenerator {
 			}
 		}
 	}
-	
-	/**
+
+    /**
 	 * 高级查询
 	 * @param queryWrapper
 	 * @param parameterMap
@@ -203,8 +203,8 @@ public class QueryGenerator {
 			}
 			List<QueryCondition> conditions = JSON.parseArray(superQueryParams, QueryCondition.class);
 			log.info("---高级查询参数-->"+conditions.toString());
-			
-			for (QueryCondition rule : conditions) {
+
+            for (QueryCondition rule : conditions) {
 				if(oConvertUtils.isNotEmpty(rule.getField()) && oConvertUtils.isNotEmpty(rule.getRule()) && oConvertUtils.isNotEmpty(rule.getVal())){
 					addEasyQuery(queryWrapper, rule.getField(), QueryRuleEnum.getByValue(rule.getRule()), rule.getVal());
 				}
@@ -235,8 +235,8 @@ public class QueryGenerator {
 		if (rule == null && val.length() >= 1) {
 			rule = QueryRuleEnum.getByValue(val.substring(0, 1));
 		}
-		
-		// step 3 like
+
+        // step 3 like
 		if (rule == null && val.contains(STAR)) {
 			if (val.startsWith(STAR) && val.endsWith(STAR)) {
 				rule = QueryRuleEnum.LIKE;
@@ -251,16 +251,16 @@ public class QueryGenerator {
 			//TODO in 查询这里应该有个bug  如果一字段本身就是多选 此时用in查询 未必能查询出来
 			rule = QueryRuleEnum.IN;
 		}
-		// step 5 != 
+        // step 5 !=
 		if(rule == null && val.startsWith(NOT_EQUAL)){
 			rule = QueryRuleEnum.NE;
 		}
 		return rule != null ? rule : QueryRuleEnum.EQ;
 	}
-	
-	/**
+
+    /**
 	 * 替换掉关键字字符
-	 * 
+     *
 	 * @param rule
 	 * @param value
 	 * @return
@@ -280,14 +280,14 @@ public class QueryGenerator {
 		} else if (rule == QueryRuleEnum.RIGHT_LIKE) {
 			value = val.substring(0, val.length() - 1);
 		} else if (rule == QueryRuleEnum.IN) {
-			value = val.split(",");
+            value = val.split(COMMA);
 		} else {
 			value = val.replace(rule.getValue(),"");
 		}
 		return value;
 	}
-	
-	private static void addQueryByRule(QueryWrapper<?> queryWrapper,String name,String type,String value,QueryRuleEnum rule) throws ParseException {
+
+    private static void addQueryByRule(QueryWrapper<?> queryWrapper,String name,String type,String value,QueryRuleEnum rule) throws ParseException {
 		if(!"".equals(value)) {
 			Object temp;
 			switch (type) {
@@ -319,8 +319,8 @@ public class QueryGenerator {
 			addEasyQuery(queryWrapper, name, rule, temp);
 		}
 	}
-	
-	/**
+
+    /**
 	 * 获取日期类型的值
 	 * @param value
 	 * @param rule
@@ -344,8 +344,8 @@ public class QueryGenerator {
 		}
 		return date;
 	}
-	
-	/**
+
+    /**
 	  * 根据规则走不同的查询
 	 * @param queryWrapper QueryWrapper
 	 * @param name         字段名字
@@ -379,7 +379,7 @@ public class QueryGenerator {
 			break;
 		case IN:
 			if(value instanceof String) {
-				queryWrapper.in(name, (Object[])value.toString().split(","));
+                queryWrapper.in(name, (Object[]) value.toString().split(COMMA));
 			}else if(value instanceof String[]) {
 				queryWrapper.in(name, (Object[]) value);
 			}else {
@@ -401,7 +401,7 @@ public class QueryGenerator {
 		}
 	}
 	/**
-	 * 
+     *
 	 * @param name
 	 * @return
 	 */
@@ -411,10 +411,9 @@ public class QueryGenerator {
 				|| "sort".equals(name) || "order".equals(name);
 	}
 
-	
 
-	/**
-	 * 
+    /**
+     *
 	 * @return
 	 */
 	public static Map<String, SysPermissionDataRule> getRuleMap() {
@@ -434,11 +433,11 @@ public class QueryGenerator {
 		}
 		return ruleMap;
 	}
-	
-	private static void addRuleToQueryWrapper(SysPermissionDataRule dataRule,String name, Class propertyType, QueryWrapper<?> queryWrapper) {
+
+    private static void addRuleToQueryWrapper(SysPermissionDataRule dataRule,String name, Class propertyType, QueryWrapper<?> queryWrapper) {
 		QueryRuleEnum rule = QueryRuleEnum.getByValue(dataRule.getRuleConditions());
 		if(rule.equals(QueryRuleEnum.IN) && ! propertyType.equals(String.class)) {
-			String[] values = dataRule.getRuleValue().split(",");
+            String[] values = dataRule.getRuleValue().split(COMMA);
 			Object[] objs = new Object[values.length];
 			for (int i = 0; i < values.length; i++) {
 				objs[i] = NumberUtils.parseNumber(values[i], propertyType);
@@ -452,16 +451,16 @@ public class QueryGenerator {
 			}
 		}
 	}
-	
-	public static String converRuleValue(String ruleValue) {
+
+    public static String converRuleValue(String ruleValue) {
 		String value = JwtUtil.getSessionData(ruleValue);
 		if(oConvertUtils.isEmpty(value)) {
 			value = JwtUtil.getUserSystemData(ruleValue,null);
 		}
 		return value!= null ? value : ruleValue;
 	}
-	
-	public static String getSqlRuleValue(String sqlRule){
+
+    public static String getSqlRuleValue(String sqlRule){
 		try {
 			Set<String> varParams = getSqlRuleParams(sqlRule);
 			for(String var:varParams){
@@ -473,8 +472,8 @@ public class QueryGenerator {
 		}
 		return sqlRule;
 	}
-	
-	/**
+
+    /**
 	 * 获取sql中的#{key} 这个key组成的set
 	 */
 	public static Set<String> getSqlRuleParams(String sql) {
@@ -483,8 +482,8 @@ public class QueryGenerator {
 		}
 		Set<String> varParams = new HashSet<String>();
 		String regex = "\\#\\{\\w+\\}";
-		
-		Pattern p = Pattern.compile(regex);
+
+        Pattern p = Pattern.compile(regex);
 		Matcher m = p.matcher(sql);
 		while(m.find()){
 			String var = m.group();
@@ -492,9 +491,9 @@ public class QueryGenerator {
 		}
 		return varParams;
 	}
-	
-	/**
-	 * 获取查询条件 
+
+    /**
+     * 获取查询条件
 	 * @param field
 	 * @param alias
 	 * @param value
@@ -564,10 +563,10 @@ public class QueryGenerator {
 			return value.toString();
 		}
 	}
-	
-	private static String getInConditionValue(Object value,boolean isString) {
+
+    private static String getInConditionValue(Object value,boolean isString) {
 		if(isString) {
-			String[] temp = value.toString().split(",");
+            String[] temp = value.toString().split(COMMA);
 			String res="";
 			for (String string : temp) {
 				res+=",'"+string+"'";
@@ -577,8 +576,8 @@ public class QueryGenerator {
 			return "("+value.toString()+")";
 		}
 	}
-	
-	private static String getLikeConditionValue(Object value) {
+
+    private static String getLikeConditionValue(Object value) {
 		String str = value.toString().trim();
 		if(str.startsWith("*") && str.endsWith("*")) {
 			return "'%"+str.substring(1,str.length()-1)+"%'";
@@ -590,6 +589,6 @@ public class QueryGenerator {
 			return str;
 		}
 	}
-	
-	
+
+
 }

+ 15 - 21
jeecg-boot-base-common/src/main/java/org/jeecg/common/util/DateUtils.java

@@ -52,7 +52,6 @@ public class DateUtils extends PropertyEditorSupport {
      */
     public static Calendar getCalendar(long millis) {
         Calendar cal = Calendar.getInstance();
-        // --------------------cal.setTimeInMillis(millis);
         cal.setTime(new Date(millis));
         return cal;
     }
@@ -195,7 +194,6 @@ public class DateUtils extends PropertyEditorSupport {
      * @return 指定日历的时间戳
      */
     public static Timestamp getCalendarTimestamp(Calendar cal) {
-        // ---------------------return new Timestamp(cal.getTimeInMillis());
         return new Timestamp(cal.getTime().getTime());
     }
 
@@ -228,7 +226,6 @@ public class DateUtils extends PropertyEditorSupport {
      * @return 指定日历的毫秒数
      */
     public static long getMillis(Calendar cal) {
-        // --------------------return cal.getTimeInMillis();
         return cal.getTime().getTime();
     }
 
@@ -572,7 +569,7 @@ public class DateUtils extends PropertyEditorSupport {
 
 
     public static Date timeStampToDate(Long time) {
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//要转换的时间格式
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         Date date;
         try {
             date = sdf.parse(sdf.format(time));
@@ -709,7 +706,7 @@ public class DateUtils extends PropertyEditorSupport {
     }
 
     public static String timeStamp2Date(Timestamp timeLong) {
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//要转换的时间格式
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         Date date;
         try {
             date = sdf.parse(sdf.format(timeLong));
@@ -721,7 +718,7 @@ public class DateUtils extends PropertyEditorSupport {
     }
 
     public static String timeStamp2Date(long currentTimeMillis) {
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//要转换的时间格式
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         Date date;
         try {
             date = sdf.parse(sdf.format(currentTimeMillis));
@@ -734,14 +731,14 @@ public class DateUtils extends PropertyEditorSupport {
 
 
     public static Map<String, Object> getBeforeDate() {
-        Date dNow = new Date(); //当前时间
+        Date dNow = new Date();
         Date dBefore = new Date();
-        Calendar calendar = Calendar.getInstance(); //得到日历
-        calendar.setTime(dNow);//把当前时间赋给日历
-        calendar.add(Calendar.DAY_OF_MONTH, -1); //设置为前一天
-        dBefore = calendar.getTime(); //得到前一天的时间
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); //设置时间格式
-        String defaultStartDate = sdf.format(dBefore); //格式化前一天
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(dNow);
+        calendar.add(Calendar.DAY_OF_MONTH, -1);
+        dBefore = calendar.getTime();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        String defaultStartDate = sdf.format(dBefore);
         defaultStartDate = defaultStartDate + " 00:00:00";
         String defaultEndDate = defaultStartDate.substring(0, 10) + " 23:59:59";
         Map<String, Object> map = new HashMap<>();
@@ -761,21 +758,18 @@ public class DateUtils extends PropertyEditorSupport {
     public static String getAnotherDay(String format, String date, Integer num) throws ParseException {
 
         SimpleDateFormat sdf = new SimpleDateFormat(format);
-        Date date_ = sdf.parse(date);// 将字符串转化为时间格式
-        Calendar calendar = Calendar.getInstance(); // 得到日历
-        calendar.setTime(date_);// 把开始日期赋给日历
-        calendar.add(Calendar.DAY_OF_MONTH, num); // 设置为num天
-        Date resultDate = calendar.getTime(); // 得到时间
+        Date date_ = sdf.parse(date);
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date_);
+        calendar.add(Calendar.DAY_OF_MONTH, num);
+        Date resultDate = calendar.getTime();
         return sdf.format(resultDate);
     }
 
 
     public static String getNowDate(String format) {
-
         SimpleDateFormat sdf = new SimpleDateFormat(format);
-
         Date date = new Date();
-
         return sdf.format(date);
     }
 

+ 4 - 4
jeecg-boot-base-common/src/main/java/org/jeecg/common/util/oConvertUtils.java

@@ -179,7 +179,7 @@ public class oConvertUtils {
 		Integer[] result = new Integer[len];
 		try {
 			for (int i = 0; i < len; i++) {
-				result[i] = new Integer(object[i].trim());
+                result[i] = Integer.getInteger(object[i].trim());
 			}
 			return result;
 		} catch (NumberFormatException e) {
@@ -230,7 +230,7 @@ public class oConvertUtils {
 	}
 
 	public static long stringToLong(String str) {
-		Long test = new Long(0);
+        Long test = 0L;
 		try {
 			test = Long.valueOf(str);
 		} catch (Exception e) {
@@ -302,11 +302,11 @@ public class oConvertUtils {
 			Enumeration<InetAddress> address = ni.getInetAddresses();
 			while (address.hasMoreElements()) {
 				ip = address.nextElement();
-				if (!ip.isSiteLocalAddress() && !ip.isLoopbackAddress() && ip.getHostAddress().indexOf(":") == -1) {// 外网IP
+                if (!ip.isSiteLocalAddress() && !ip.isLoopbackAddress() && ip.getHostAddress().indexOf(":") == -1) {
 					netip = ip.getHostAddress();
 					finded = true;
 					break;
-				} else if (ip.isSiteLocalAddress() && !ip.isLoopbackAddress() && ip.getHostAddress().indexOf(":") == -1) {// 内网IP
+                } else if (ip.isSiteLocalAddress() && !ip.isLoopbackAddress() && ip.getHostAddress().indexOf(":") == -1) {
 					localip = ip.getHostAddress();
 				}
 			}

+ 19 - 16
jeecg-boot-module-system/src/main/java/org/jeecg/config/RedisConfig.java

@@ -1,12 +1,9 @@
 package org.jeecg.config;
 
-import java.lang.reflect.Method;
-import java.time.Duration;
-import java.util.Arrays;
-
-
-import javax.annotation.Resource;
-
+import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
+import com.fasterxml.jackson.annotation.PropertyAccessor;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.ObjectMapper.DefaultTyping;
 import org.springframework.cache.CacheManager;
 import org.springframework.cache.annotation.CachingConfigurerSupport;
 import org.springframework.cache.annotation.EnableCaching;
@@ -21,10 +18,11 @@ import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
 import org.springframework.data.redis.serializer.RedisSerializer;
 import org.springframework.data.redis.serializer.StringRedisSerializer;
-import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
-import com.fasterxml.jackson.annotation.PropertyAccessor;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.ObjectMapper.DefaultTyping;
+
+import javax.annotation.Resource;
+import java.lang.reflect.Method;
+import java.time.Duration;
+import java.util.Arrays;
 
 @Configuration
 @EnableCaching
@@ -69,10 +67,14 @@ public class RedisConfig extends CachingConfigurerSupport {
 		RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>();
 		redisTemplate.setConnectionFactory(lettuceConnectionFactory);
 		RedisSerializer<?> stringSerializer = new StringRedisSerializer();
-		redisTemplate.setKeySerializer(stringSerializer);// key序列化
-		redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);// value序列化
-		redisTemplate.setHashKeySerializer(stringSerializer);// Hash key序列化
-		redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);// Hash value序列化
+        // key序列化
+        redisTemplate.setKeySerializer(stringSerializer);
+        // value序列化
+        redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
+        // Hash key序列化
+        redisTemplate.setHashKeySerializer(stringSerializer);
+        // Hash value序列化
+        redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);
 		redisTemplate.afterPropertiesSet();
 		return redisTemplate;
 	}
@@ -97,7 +99,8 @@ public class RedisConfig extends CachingConfigurerSupport {
 		// 创建默认缓存配置对象
 
 		// 创建默认缓存配置对象
-		RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofHours(3)); //设置缓存默认有效期3小时;
+        //设置缓存默认有效期3小时;
+        RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofHours(3));
 
 		RedisCacheManager cacheManager = new RedisCacheManager(writer, config);
 		return cacheManager;

+ 3 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/config/WebMvcConfiguration.java

@@ -1,5 +1,6 @@
 package org.jeecg.config;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
@@ -12,7 +13,7 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
 /**
  * Spring Boot 2.0 解决跨域问题
- * 
+ *
  * @Author qinfeng
  *
  */
@@ -49,7 +50,7 @@ public class WebMvcConfiguration implements WebMvcConfigurer {
 	public void addResourceHandlers(ResourceHandlerRegistry registry) {
 		registry.addResourceHandler("/**")
 		.addResourceLocations("file:" + upLoadPath + "//", "file:" + webAppPath + "//")
-		.addResourceLocations(staticLocations.split(","));
+				.addResourceLocations(staticLocations.split(StringUtils.COMMA));
 	}
 
 	/**

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -174,7 +175,7 @@ public class AdvertiserController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.advertiserService.removeByIds(Arrays.asList(ids.split(",")));
+            this.advertiserService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;
@@ -190,7 +191,7 @@ public class AdvertiserController {
     @ApiOperation(value = "广告主信息表-通过id查询", notes = "广告主信息表-通过id查询")
     @GetMapping(value = "/queryById")
     public Result<Advertiser> queryById(@RequestParam(name = "id", required = true) String id) {
-        Result<Advertiser> result = new Result<Advertiser>();
+        Result<Advertiser> result = new Result<>();
         Advertiser advertiser = advertiserService.getById(id);
         if (advertiser == null) {
             result.error500("未找到对应实体");

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

@@ -3,6 +3,7 @@ package org.jeecg.modules.ctop.controller;
 import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.common.module.entity.BindAccountAuth;
 import cn.com.ctop.common.module.service.IBindAccountAuthService;
+import cn.com.ctop.common.module.utils.StringUtils;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -191,7 +192,7 @@ public class BindAccountAuthController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.bindAccountAuthService.removeByIds(Arrays.asList(ids.split(",")));
+            this.bindAccountAuthService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

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

@@ -5,6 +5,7 @@ import cn.com.ctop.common.module.entity.UserAllocation;
 import cn.com.ctop.common.module.mapper.UserAllocationMapper;
 import cn.com.ctop.common.module.service.IBindAccountLoginService;
 import cn.com.ctop.common.module.utils.Check;
+import cn.com.ctop.common.module.utils.StringUtils;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -232,7 +233,7 @@ public class BindAccountLoginController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.bindAccountLoginService.removeByIds(Arrays.asList(ids.split(",")));
+            this.bindAccountLoginService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;
@@ -303,7 +304,7 @@ public class BindAccountLoginController {
         MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
         Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
         for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
-            MultipartFile file = entity.getValue();// 获取上传文件对象
+            MultipartFile file = entity.getValue();
             ImportParams params = new ImportParams();
             params.setTitleRows(2);
             params.setHeadRows(1);

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

@@ -62,7 +62,7 @@ public class ByteDanceAdvertiserPostController {
      */
     @RequestMapping("/advertiser/plan/get")
     public Map<String, Object> advertiserPlan(String accountId, String ids) {
-        return advertiserDataService.getAdvertiserPlan(accountId, ids);
+        return advertiserDataService.getAdvertiserPlan(accountId, ids, null);
     }
 
     /**
@@ -119,7 +119,7 @@ public class ByteDanceAdvertiserPostController {
      */
     @RequestMapping("/advertiser/campaign/get")
     public Map<String, Object> advertiserCampaign(String accountId, String ids) {
-        return advertiserDataService.getAdvertiserCampaign(accountId, ids);
+        return advertiserDataService.getAdvertiserCampaign(accountId, ids, null);
     }
 
     /**
@@ -138,7 +138,7 @@ public class ByteDanceAdvertiserPostController {
      */
     @RequestMapping("/advertiser/creative/get")
     public Map<String, Object> getAdvertiserCreative(String accountId, String ids) {
-        return advertiserDataService.getAdvertiserCreative(accountId, ids);
+        return advertiserDataService.getAdvertiserCreative(accountId, ids, null);
     }
 
     /**

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

@@ -76,20 +76,26 @@ public class CallbackController {
                 KuaishouAccessToken token = accessToken.getData();
                 if (token != null) {
                     Long accountId = token.getAccountId();
+                    //指定分配人姓名
                     String advertiserId = json.getString("advertiserId");
-                    String distributionName = json.getString("distributionName");//指定分配人姓名
-                    String advertiserName = json.getString("advertiser_name"); // 广告主名称
-                    String mediaId = json.getString("mediaId"); // 媒体类型: 1 头条 2 快手
+                    String distributionName = json.getString("distributionName");
+                    // 广告主名称
+                    String advertiserName = json.getString("advertiser_name");
+                    // 媒体类型: 1 头条 2 快手
+                    String mediaId = json.getString("mediaId");
                     String realName = json.getString("realName");
-                    String departmentId = json.getString("departmentId"); //部门id
-                    String userId = json.getString("userId"); //创建人
+                    //部门id
+                    String departmentId = json.getString("departmentId");
+                    //创建人
+                    String userId = json.getString("userId");
                     UserAllocation userAllocation = new UserAllocation();
                     userAllocation.setDistributionName(distributionName);
                     userAllocation.setUserId(userId);
                     userAllocation.setAdvertiserId(advertiserId);
 
 
-                    Map<String, Object> advertiseBaseInfoMap = kuaishouInterfaceService.advertiserInfo(accountId, token.getAccessToken());// 获取快手昵称
+                    // 获取快手昵称
+                    Map<String, Object> advertiseBaseInfoMap = kuaishouInterfaceService.advertiserInfo(accountId, token.getAccessToken());
                     if ((Integer) advertiseBaseInfoMap.get("code") == 0) {
                         userAllocation.setAuthName((String) advertiseBaseInfoMap.get("userName"));
                     }
@@ -125,7 +131,8 @@ public class CallbackController {
                     topOauthToken.setRefreshTokenExpiresIn(refreshTokenExpireInDate);
                     topOauthToken.setUpdateTime(new Date());
                     ctopOauthTokenService.saveOrUpdate(topOauthToken);
-                    bindAccountAuthService.addBindAccount(accountId, KuaishouInterfaceConstant.LOGIN_TYPE_KUAISHOU, advertiserId); //账号绑定
+                    //账号绑定
+                    bindAccountAuthService.addBindAccount(accountId, KuaishouInterfaceConstant.LOGIN_TYPE_KUAISHOU, advertiserId);
                     Thread t = new Thread() {
                         @Override
                         public void run() {
@@ -183,13 +190,19 @@ public class CallbackController {
                 logger.error("获取token失败,state:{},message:{}", state, message);
                 throw new Exception("token返回码异常");
             }
-            String advertiserId = json.getString("advertiserId");//广告主id
-            String mediaId = json.getString("mediaId"); // 媒体类型: 1 头条 2 快手
+            //广告主id
+            String advertiserId = json.getString("advertiserId");
+            // 媒体类型: 1 头条 2 快手
+            String mediaId = json.getString("mediaId");
             String realName = json.getString("realName");
-            String departmentId = json.getString("departmentId"); //部门id
-            String distributionName = json.getString("distributionName");//指定分配人姓名
-            String advertiserName = json.getString("advertiser_name"); // 广告主名称
-            String userId = json.getString("userId"); //创建人
+            //部门id
+            String departmentId = json.getString("departmentId");
+            //指定分配人姓名
+            String distributionName = json.getString("distributionName");
+            // 广告主名称
+            String advertiserName = json.getString("advertiser_name");
+            //创建人
+            String userId = json.getString("userId");
 
             JSONObject data = resultObject.getJSONObject("data");
             CtopOauthToken token = new CtopOauthToken(advertiserId, data);
@@ -224,7 +237,8 @@ public class CallbackController {
                 logger.info("同步分配用户表完成,task_id:{},accountId:{}", state, token.getAccountId());
 
             }
-            bindAccountAuthService.addBindAccount(token.getAccountId(), KuaishouInterfaceConstant.LOGIN_TYPE_BYTEDANCE, advertiserId); //账号绑定
+            //账号绑定
+            bindAccountAuthService.addBindAccount(token.getAccountId(), KuaishouInterfaceConstant.LOGIN_TYPE_BYTEDANCE, advertiserId);
             returnMap.put("code", 0);
             returnMap.put("desc", "success");
         } catch (Exception e) {

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -148,11 +149,11 @@ public class CtopOauthTokenController {
     @ApiOperation(value = "oauth授权码-批量删除", notes = "oauth授权码-批量删除")
     @DeleteMapping(value = "/deleteBatch")
     public Result<CtopOauthToken> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
-        Result<CtopOauthToken> result = new Result<CtopOauthToken>();
+        Result<CtopOauthToken> result = new Result<>();
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.ctopOauthTokenService.removeByIds(Arrays.asList(ids.split(",")));
+            this.ctopOauthTokenService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;
@@ -223,7 +224,7 @@ public class CtopOauthTokenController {
         MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
         Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
         for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
-            MultipartFile file = entity.getValue();// 获取上传文件对象
+            MultipartFile file = entity.getValue();
             ImportParams params = new ImportParams();
             params.setTitleRows(2);
             params.setHeadRows(1);

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

@@ -2,6 +2,7 @@ package org.jeecg.modules.ctop.controller;
 
 import cn.com.ctop.common.module.entity.FileInfo;
 import cn.com.ctop.common.module.service.IFileInfoService;
+import cn.com.ctop.common.module.utils.StringUtils;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -151,7 +152,7 @@ public class FileInfoController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.fileInfoService.removeByIds(Arrays.asList(ids.split(",")));
+            this.fileInfoService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;
@@ -222,7 +223,7 @@ public class FileInfoController {
         MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
         Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
         for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
-            MultipartFile file = entity.getValue();// 获取上传文件对象
+            MultipartFile file = entity.getValue();
             ImportParams params = new ImportParams();
             params.setTitleRows(2);
             params.setHeadRows(1);

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.crawler.modules.account.entity.KuaishouAdAccount;
 import cn.com.ctop.crawler.modules.account.service.IKuaishouAdAccountService;
 import com.alibaba.fastjson.JSON;
@@ -197,11 +198,11 @@ public class KuaishouAdvertiserController {
     @ApiOperation(value="快手广告主信息表-批量删除", notes="快手广告主信息表-批量删除")
     @DeleteMapping(value = "/deleteBatch")
     public Result<KuaishouAdAccount> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
-        Result<KuaishouAdAccount> result = new Result<KuaishouAdAccount>();
+        Result<KuaishouAdAccount> result = new Result<>();
         if(ids==null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         }else {
-            this.kuaishouAdAccountService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaishouAdAccountService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;
@@ -271,7 +272,7 @@ public class KuaishouAdvertiserController {
         MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
         Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
         for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
-            MultipartFile file = entity.getValue();// 获取上传文件对象
+            MultipartFile file = entity.getValue();
             ImportParams params = new ImportParams();
             params.setTitleRows(2);
             params.setHeadRows(1);

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.crawler.modules.account.entity.KuaishouAppAccount;
 import cn.com.ctop.crawler.modules.account.service.IKuaishouAppAccountService;
 import com.alibaba.fastjson.JSON;
@@ -147,11 +148,11 @@ public class KuaishouAppAccountController {
 	@ApiOperation(value="快手APP账号表-批量删除", notes="快手APP账号表-批量删除")
 	@DeleteMapping(value = "/deleteBatch")
 	public Result<KuaishouAppAccount> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
-		Result<KuaishouAppAccount> result = new Result<KuaishouAppAccount>();
+		Result<KuaishouAppAccount> result = new Result<>();
 		if(ids==null || "".equals(ids.trim())) {
 			result.error500("参数不识别!");
 		}else {
-			this.kuaishouAppAccountService.removeByIds(Arrays.asList(ids.split(",")));
+			this.kuaishouAppAccountService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
 			result.success("删除成功!");
 		}
 		return result;
@@ -221,7 +222,7 @@ public class KuaishouAppAccountController {
       MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
       Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
       for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
-          MultipartFile file = entity.getValue();// 获取上传文件对象
+		  MultipartFile file = entity.getValue();
           ImportParams params = new ImportParams();
           params.setTitleRows(2);
           params.setHeadRows(1);

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

@@ -2,6 +2,7 @@ package org.jeecg.modules.ctop.controller;
 
 import cn.com.ctop.common.module.entity.SourceFile;
 import cn.com.ctop.common.module.service.ISourceFileService;
+import cn.com.ctop.common.module.utils.StringUtils;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -151,7 +152,7 @@ public class SourceFileController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.sourceFileService.removeByIds(Arrays.asList(ids.split(",")));
+            this.sourceFileService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

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

@@ -2,6 +2,7 @@ package org.jeecg.modules.ctop.controller;
 
 import cn.com.ctop.common.module.entity.UserAllocation;
 import cn.com.ctop.common.module.service.IUserAllocationService;
+import cn.com.ctop.common.module.utils.StringUtils;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -154,7 +155,7 @@ public class UserAllocationController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.userAllocationService.removeByIds(Arrays.asList(ids.split(",")));
+            this.userAllocationService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

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

@@ -16,6 +16,10 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 
+/**
+ * @author yumeng
+ * 2019年11月12日10:04:00
+ */
 @RestController
 @Slf4j
 @RequestMapping("/ctop/yard")

+ 12 - 4
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/BytedanceHourlyReportLoadJob.java

@@ -5,11 +5,13 @@ import cn.com.ctop.common.module.entity.CtopOauthToken;
 import cn.com.ctop.common.module.service.ICtopOauthTokenService;
 import cn.com.ctop.common.module.utils.CtopAdConstant;
 import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.util.DateUtils;
 import org.quartz.Job;
 import org.quartz.JobExecutionContext;
 import org.quartz.JobExecutionException;
 import org.springframework.beans.factory.annotation.Autowired;
 
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
 
@@ -26,21 +28,27 @@ public class BytedanceHourlyReportLoadJob implements Job {
     @Override
     public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
         Date getDate = new Date();
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH");
+        String hour = simpleDateFormat.format(getDate);
+        if (null != hour && "00".equals(hour)) {
+            getDate = DateUtils.addDay(getDate, -1);
+        }
         //1:查询当日数据
         List<CtopOauthToken> tokens = tokenService.getTokenListByType(CtopAdConstant.PLATFORM_TYPE_BYTEDANCE);
         if (null == tokens || tokens.size() <= 0) {
             log.info("定时获取头条小时数据异常:未获取到可用的token");
             return;
         }
+        Date finalGetDate = getDate;
         tokens.forEach(token -> {
             //1: 获取广告主信息数据
-            reportService.getAdvertiserReport(token, getDate, getDate, CtopAdConstant.BYTEDANCE_REPORT_TYPE_HOURLY);
+            reportService.getAdvertiserReport(token, finalGetDate, finalGetDate, CtopAdConstant.BYTEDANCE_REPORT_TYPE_HOURLY);
             //2:获取广告组信息数据
-            reportService.getAdvertiserCampaignReport(token, getDate, getDate, CtopAdConstant.BYTEDANCE_REPORT_TYPE_HOURLY);
+            reportService.getAdvertiserCampaignReport(token, finalGetDate, finalGetDate, CtopAdConstant.BYTEDANCE_REPORT_TYPE_HOURLY);
             //3:获取广告计划信息数据
-            reportService.getAdvertiserPlanReport(token, getDate, getDate, CtopAdConstant.BYTEDANCE_REPORT_TYPE_HOURLY);
+            reportService.getAdvertiserPlanReport(token, finalGetDate, finalGetDate, CtopAdConstant.BYTEDANCE_REPORT_TYPE_HOURLY);
             //4: 获取广告创意信息数据
-            reportService.getAdvertiserCreativeReport(token, getDate, getDate, CtopAdConstant.BYTEDANCE_REPORT_TYPE_HOURLY);
+            reportService.getAdvertiserCreativeReport(token, finalGetDate, finalGetDate, CtopAdConstant.BYTEDANCE_REPORT_TYPE_HOURLY);
         });
     }
 }

+ 58 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/BytedanceMaterialsLoadJob.java

@@ -0,0 +1,58 @@
+package org.jeecg.modules.ctop.job;
+
+import cn.com.ctop.common.module.entity.CtopOauthToken;
+import cn.com.ctop.common.module.service.ICtopOauthTokenService;
+import cn.com.ctop.common.module.utils.CtopAdConstant;
+import cn.com.ctop.toutiao.service.IByteDanceAdvertiserDataService;
+import lombok.extern.slf4j.Slf4j;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+@Slf4j
+public class BytedanceMaterialsLoadJob implements Job {
+    @Autowired
+    private ICtopOauthTokenService tokenService;
+    static ExecutorService executorService = null;
+    @Autowired
+    private IByteDanceAdvertiserDataService advertiserDataService;
+
+    @Override
+    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+        Date getDate = new Date();
+        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        String dateString = dateFormat.format(getDate);
+        //1:查询当日数据
+        List<CtopOauthToken> tokens = tokenService.getTokenListByType(CtopAdConstant.PLATFORM_TYPE_BYTEDANCE);
+
+        executorService = Executors.newFixedThreadPool(10);
+        tokens.forEach(token -> {
+            executorService.submit(new Runnable() {
+                @Override
+                public void run() {
+                    try {
+                        //1:获取当日广告组数据
+                        advertiserDataService.getAdvertiserCampaign(token.getAccountId() + "", "", dateString);
+                        //1:获取当日广告计划数据
+                        advertiserDataService.getAdvertiserPlan(token.getAccountId() + "", "", dateString);
+                        //1:获取全量创意数据
+                        advertiserDataService.getAdvertiserCreative(token.getAccountId() + "", "", dateString);
+                        //2:获取全量素材数据
+                        advertiserDataService.getMaterialList(token);
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    } finally {
+                    }
+                }
+            });
+        });
+        log.info("物料数据同步完成");
+    }
+}

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/KuaishouHourlyReportLoadJob.java

@@ -37,7 +37,7 @@ public class KuaishouHourlyReportLoadJob implements Job {
         Date getDate = new Date();
         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH");
         String hour = simpleDateFormat.format(getDate);
-        if (null != hour && hour.equals("00")) {
+        if (null != hour && "00".equals(hour)) {
             getDate = DateUtils.addDay(getDate, -1);
         }
         //1:查询当日数据

+ 1 - 6
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/KuaishouMaterialsLoadJob.java

@@ -34,16 +34,12 @@ public class KuaishouMaterialsLoadJob implements Job {
                 @Override
                 public void run() {
                     try {
-                        Long start = System.currentTimeMillis();
                         //1:获取全量广告计划数据
                         kuaishouInterfaceService.getCampaignList(token);
-                        Long end1 = System.currentTimeMillis();
                         //1:获取全量广告组数据
                         kuaishouInterfaceService.getGroupList(token);
-                        Long end2 = System.currentTimeMillis();
                         //1:获取全量创意数据
                         kuaishouInterfaceService.getCreativeList(token);
-                        Long end3 = System.currentTimeMillis();
                         //2:获取全量视频素材数据
                         kuaishouInterfaceService.getVideoList(token);
                     } catch (Exception e) {
@@ -53,7 +49,6 @@ public class KuaishouMaterialsLoadJob implements Job {
                 }
             });
         });
-        log.info("物料数据同步完成");
-
+        log.info("快手物料数据同步完成");
     }
 }

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

@@ -120,7 +120,8 @@ public class CreateInternalServiceImpl implements ICreateInternalService {
         //清除所有的缓存
         webDriver.manage().deleteAllCookies();
         try {
-            webDriver.get(url);  //获取登录页面
+            //获取登录页面
+            webDriver.get(url);
             for (Cookie cookie : webDriver.manage().getCookies()) {
                 BasicClientCookie ck = new BasicClientCookie(cookie.getName(), cookie.getValue());
                 ck.setDomain("ad.oceanengine.com");
@@ -463,11 +464,11 @@ public class CreateInternalServiceImpl implements ICreateInternalService {
                             planParam.put("app_type", 201);
                         }
                         String convertType = requestJson.getString("convertType");
-                        if (null != convertType && convertType.equals("SIMPLE")) {
+                        if (null != convertType && "SIMPLE".equals(convertType)) {
                             //普通应用下载
                             planParam.put("external_action", requestJson.getLong("simpleDeliverytarget"));
                         }
-                        if (null != convertType && convertType.equals("API")) {
+                        if (null != convertType && "API".equals(convertType)) {
                             Long convertId = requestJson.getLong("convertId");
                             if (null != convertId && convertId != 0) {
                                 planParam.put("convert_id", convertId);
@@ -490,7 +491,7 @@ public class CreateInternalServiceImpl implements ICreateInternalService {
                         if (null != template) {
                             //获取modify_time
                             Thread.sleep(5000L);
-                            advertiserDataService.getAdvertiserPlan(bindAccountLogin.getAccountId(), adId + "");
+                            advertiserDataService.getAdvertiserPlan(bindAccountLogin.getAccountId(), adId + "", null);
                             advertiserDataService.updateAd(token, adId, template, requestJson);
                         }
                         Long creativeTemplateId = requestJson.getLong("creativeTemplateId");
@@ -523,7 +524,7 @@ public class CreateInternalServiceImpl implements ICreateInternalService {
                             //创意展现方式
                             data.put("creative_display_mode", launchTemplate.getCreativeDisplayMode());
                             //优选广告位
-                            if (null != advertiseLoaction && advertiseLoaction.equals("great") && null != launchTemplate.getSmartInventory() && !"".equals(launchTemplate.getSmartInventory())) {
+                            if (null != advertiseLoaction && "great".equals(advertiseLoaction) && null != launchTemplate.getSmartInventory() && !"".equals(launchTemplate.getSmartInventory())) {
                                 data.put("smart_inventory", launchTemplate.getSmartInventory());
                             }
 
@@ -541,7 +542,7 @@ public class CreateInternalServiceImpl implements ICreateInternalService {
 
                             //创意方式
                             String creativeType = requestJson.getString("creativeType");
-                            if (null != creativeType && creativeType.equals("customize")) {
+                            if (null != creativeType && "customize".equals(creativeType)) {
                                 //自定义创意
                                 //拼装creative参数
                                 JSONArray creatives = new JSONArray();

+ 3 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/test/controller/JeecgDemoController.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.demo.test.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -175,11 +176,11 @@ public class JeecgDemoController extends JeecgController<JeecgDemo, IJeecgDemoSe
     @DeleteMapping(value = "/deleteBatch")
     @ApiOperation(value = "批量删除DEMO", notes = "批量删除DEMO")
     public Result<JeecgDemo> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
-        Result<JeecgDemo> result = new Result<JeecgDemo>();
+        Result<JeecgDemo> result = new Result<>();
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.jeecgDemoService.removeByIds(Arrays.asList(ids.split(",")));
+            this.jeecgDemoService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

+ 14 - 14
jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/test/controller/JeecgOrderMainController.java

@@ -34,9 +34,9 @@ import java.util.Map;
 
 /**
  * @Title: Controller
- * @Description: 订单 
- * @Author: jeecg-boot 
- * @Date:2019-02-15 
+ * @Description: 订单
+ * @Author: jeecg-boot
+ * @Date:2019-02-15
  * @Version: V1.0
  */
 @RestController
@@ -52,7 +52,7 @@ public class JeecgOrderMainController {
 
 	/**
 	 * 分页列表查询
-	 * 
+     *
 	 * @param jeecgOrderMain
 	 * @param pageNo
 	 * @param pageSize
@@ -76,7 +76,7 @@ public class JeecgOrderMainController {
 
 	/**
 	 * 添加
-	 * 
+     *
 	 * @param jeecgOrderMainPage
 	 * @return
 	 */
@@ -97,7 +97,7 @@ public class JeecgOrderMainController {
 
 	/**
 	 * 编辑
-	 * 
+     *
 	 * @param jeecgOrderMainPage
 	 * @return
 	 */
@@ -119,7 +119,7 @@ public class JeecgOrderMainController {
 
 	/**
 	 * 通过id删除
-	 * 
+     *
 	 * @param id
 	 * @return
 	 */
@@ -137,7 +137,7 @@ public class JeecgOrderMainController {
 
 	/**
 	 * 批量删除
-	 * 
+     *
 	 * @param ids
 	 * @return
 	 */
@@ -155,7 +155,7 @@ public class JeecgOrderMainController {
 
 	/**
 	 * 通过id查询
-	 * 
+     *
 	 * @param id
 	 * @return
 	 */
@@ -174,7 +174,7 @@ public class JeecgOrderMainController {
 
 	/**
 	 * 通过id查询
-	 * 
+     *
 	 * @param id
 	 * @return
 	 */
@@ -189,7 +189,7 @@ public class JeecgOrderMainController {
 
 	/**
 	 * 通过id查询
-	 * 
+     *
 	 * @param id
 	 * @return
 	 */
@@ -204,7 +204,7 @@ public class JeecgOrderMainController {
 
 	/**
 	 * 导出excel
-	 * 
+     *
 	 * @param request
 	 * @param jeecgOrderMain
 	 */
@@ -242,7 +242,7 @@ public class JeecgOrderMainController {
 
 	/**
 	 * 通过excel导入数据
-	 * 
+     *
 	 * @param request
 	 * @param
 	 * @return
@@ -252,7 +252,7 @@ public class JeecgOrderMainController {
 		MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
 		Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
 		for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
-			MultipartFile file = entity.getValue();// 获取上传文件对象
+            MultipartFile file = entity.getValue();
 			ImportParams params = new ImportParams();
 			params.setTitleRows(2);
 			params.setHeadRows(2);

+ 30 - 41
jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/test/controller/JoaDemoController.java

@@ -1,15 +1,10 @@
 package org.jeecg.modules.demo.test.controller;
 
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
@@ -21,25 +16,19 @@ import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ImportParams;
 import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartHttpServletRequest;
 import org.springframework.web.servlet.ModelAndView;
 
-import com.alibaba.fastjson.JSON;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-
-import lombok.extern.slf4j.Slf4j;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
 
  /**
  * @Description: 流程测试
@@ -53,7 +42,7 @@ import lombok.extern.slf4j.Slf4j;
 public class JoaDemoController {
 	@Autowired
 	private IJoaDemoService joaDemoService;
-	
+
 	/**
 	  * 分页列表查询
 	 * @param joaDemo
@@ -75,8 +64,8 @@ public class JoaDemoController {
 		result.setResult(pageList);
 		return result;
 	}
-	
-	/**
+
+     /**
 	  *   添加
 	 * @param joaDemo
 	 * @return
@@ -93,8 +82,8 @@ public class JoaDemoController {
 		}
 		return result;
 	}
-	
-	/**
+
+     /**
 	  *  编辑
 	 * @param joaDemo
 	 * @return
@@ -112,11 +101,11 @@ public class JoaDemoController {
 				result.success("修改成功!");
 			}
 		}
-		
-		return result;
+
+        return result;
 	}
-	
-	/**
+
+     /**
 	  *   通过id删除
 	 * @param id
 	 * @return
@@ -133,11 +122,11 @@ public class JoaDemoController {
 				result.success("删除成功!");
 			}
 		}
-		
-		return result;
+
+        return result;
 	}
-	
-	/**
+
+     /**
 	  *  批量删除
 	 * @param ids
 	 * @return
@@ -153,8 +142,8 @@ public class JoaDemoController {
 		}
 		return result;
 	}
-	
-	/**
+
+     /**
 	  * 通过id查询
 	 * @param id
 	 * @return
@@ -216,7 +205,7 @@ public class JoaDemoController {
       MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
       Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
       for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
-          MultipartFile file = entity.getValue();// 获取上传文件对象
+          MultipartFile file = entity.getValue();
           ImportParams params = new ImportParams();
           params.setTitleRows(2);
           params.setHeadRows(1);

+ 4 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/fileupload/service/IUploadService.java

@@ -5,6 +5,10 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.servlet.http.HttpServletRequest;
 import java.util.Map;
 
+/**
+ * @author yumeng
+ * 2019年11月12日10:04:00
+ */
 public interface IUploadService {
     Map<String, Object> imageUpload(MultipartFile multipartFile, HttpServletRequest request, String type);
 

+ 2 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/media/controller/MediaController.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.media.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -151,7 +152,7 @@ public class MediaController {
 		if(ids==null || "".equals(ids.trim())) {
 			result.error500("参数不识别!");
 		}else {
-			this.mediaService.removeByIds(Arrays.asList(ids.split(",")));
+			this.mediaService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
 			result.success("删除成功!");
 		}
 		return result;

+ 16 - 25
jeecg-boot-module-system/src/main/java/org/jeecg/modules/message/controller/SysMessageController.java

@@ -1,10 +1,10 @@
 package org.jeecg.modules.message.controller;
 
-import java.util.Arrays;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
+import cn.com.ctop.common.module.utils.StringUtils;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.poi.ss.formula.functions.T;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.base.controller.JeecgController;
@@ -12,21 +12,12 @@ import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.modules.message.entity.SysMessage;
 import org.jeecg.modules.message.service.ISysMessageService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-
-import lombok.extern.slf4j.Slf4j;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
 
 /**
  * @Description: 消息
@@ -43,7 +34,7 @@ public class SysMessageController extends JeecgController<SysMessage, ISysMessag
 
 	/**
 	 * 分页列表查询
-	 * 
+	 *
 	 * @param sysMessage
 	 * @param pageNo
 	 * @param pageSize
@@ -64,7 +55,7 @@ public class SysMessageController extends JeecgController<SysMessage, ISysMessag
 
 	/**
 	 * 添加
-	 * 
+	 *
 	 * @param sysMessage
 	 * @return
 	 */
@@ -83,7 +74,7 @@ public class SysMessageController extends JeecgController<SysMessage, ISysMessag
 
 	/**
 	 * 编辑
-	 * 
+	 *
 	 * @param sysMessage
 	 * @return
 	 */
@@ -106,7 +97,7 @@ public class SysMessageController extends JeecgController<SysMessage, ISysMessag
 
 	/**
 	 * 通过id删除
-	 * 
+	 *
 	 * @param id
 	 * @return
 	 */
@@ -127,7 +118,7 @@ public class SysMessageController extends JeecgController<SysMessage, ISysMessag
 
 	/**
 	 * 批量删除
-	 * 
+	 *
 	 * @param ids
 	 * @return
 	 */
@@ -137,7 +128,7 @@ public class SysMessageController extends JeecgController<SysMessage, ISysMessag
 		if (ids == null || "".equals(ids.trim())) {
 			result.error500("ids参数不允许为空!");
 		} else {
-			this.sysMessageService.removeByIds(Arrays.asList(ids.split(",")));
+			this.sysMessageService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
 			result.success("删除成功!");
 		}
 		return result;
@@ -145,7 +136,7 @@ public class SysMessageController extends JeecgController<SysMessage, ISysMessag
 
 	/**
 	 * 通过id查询
-	 * 
+	 *
 	 * @param id
 	 * @return
 	 */

+ 3 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/message/job/SendMsgJob.java

@@ -40,11 +40,11 @@ public class SendMsgJob implements Job {
 			ISendMsgHandle sendMsgHandle = null;
 			try {
 				if (sysMessage.getEsType().equals(SendMsgTypeEnum.EMAIL.getType())) {
-					sendMsgHandle = (ISendMsgHandle) Class.forName(SendMsgTypeEnum.EMAIL.getImplClass()).newInstance();
+                    sendMsgHandle = (ISendMsgHandle) Class.forName(SendMsgTypeEnum.EMAIL.getImplClass()).getDeclaredConstructor().newInstance();
 				} else if (sysMessage.getEsType().equals(SendMsgTypeEnum.SMS.getType())) {
-					sendMsgHandle = (ISendMsgHandle) Class.forName(SendMsgTypeEnum.SMS.getImplClass()).newInstance();
+                    sendMsgHandle = (ISendMsgHandle) Class.forName(SendMsgTypeEnum.SMS.getImplClass()).getDeclaredConstructor().newInstance();
 				} else if (sysMessage.getEsType().equals(SendMsgTypeEnum.WX.getType())) {
-					sendMsgHandle = (ISendMsgHandle) Class.forName(SendMsgTypeEnum.WX.getImplClass()).newInstance();
+                    sendMsgHandle = (ISendMsgHandle) Class.forName(SendMsgTypeEnum.WX.getImplClass()).getDeclaredConstructor().newInstance();
 				}
 			} catch (Exception e) {
 				log.error(e.getMessage(),e);

+ 133 - 129
jeecg-boot-module-system/src/main/java/org/jeecg/modules/monitor/domain/RedisInfo.java

@@ -3,135 +3,139 @@ package org.jeecg.modules.monitor.domain;
 import java.util.HashMap;
 import java.util.Map;
 
+/**
+ * @author jeecg-boot
+ * 2019年11月12日10:04:00
+ */
 public class RedisInfo {
 
-	private static Map<String, String> map = new HashMap<>();
-
-	static {
-		map.put("redis_version", "Redis 服务器版本");
-		map.put("redis_git_sha1", "Git SHA1");
-		map.put("redis_git_dirty", "Git dirty flag");
-		map.put("os", "Redis 服务器的宿主操作系统");
-		map.put("arch_bits", " 架构(32 或 64 位)");
-		map.put("multiplexing_api", "Redis 所使用的事件处理机制");
-		map.put("gcc_version", "编译 Redis 时所使用的 GCC 版本");
-		map.put("process_id", "服务器进程的 PID");
-		map.put("run_id", "Redis 服务器的随机标识符(用于 Sentinel 和集群)");
-		map.put("tcp_port", "TCP/IP 监听端口");
-		map.put("uptime_in_seconds", "自 Redis 服务器启动以来,经过的秒数");
-		map.put("uptime_in_days", "自 Redis 服务器启动以来,经过的天数");
-		map.put("lru_clock", " 以分钟为单位进行自增的时钟,用于 LRU 管理");
-		map.put("connected_clients", "已连接客户端的数量(不包括通过从属服务器连接的客户端)");
-		map.put("client_longest_output_list", "当前连接的客户端当中,最长的输出列表");
-		map.put("client_longest_input_buf", "当前连接的客户端当中,最大输入缓存");
-		map.put("blocked_clients", "正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客户端的数量");
-		map.put("used_memory", "由 Redis 分配器分配的内存总量,以字节(byte)为单位");
-		map.put("used_memory_human", "以人类可读的格式返回 Redis 分配的内存总量");
-		map.put("used_memory_rss", "从操作系统的角度,返回 Redis 已分配的内存总量(俗称常驻集大小)。这个值和 top 、 ps 等命令的输出一致");
-		map.put("used_memory_peak", " Redis 的内存消耗峰值(以字节为单位)");
-		map.put("used_memory_peak_human", "以人类可读的格式返回 Redis 的内存消耗峰值");
-		map.put("used_memory_lua", "Lua 引擎所使用的内存大小(以字节为单位)");
-		map.put("mem_fragmentation_ratio", "sed_memory_rss 和 used_memory 之间的比率");
-		map.put("mem_allocator", "在编译时指定的, Redis 所使用的内存分配器。可以是 libc 、 jemalloc 或者 tcmalloc");
-
-		map.put("redis_build_id", "redis_build_id");
-		map.put("redis_mode", "运行模式,单机(standalone)或者集群(cluster)");
-		map.put("atomicvar_api", "atomicvar_api");
-		map.put("hz", "redis内部调度(进行关闭timeout的客户端,删除过期key等等)频率,程序规定serverCron每秒运行10次。");
-		map.put("executable", "server脚本目录");
-		map.put("config_file", "配置文件目录");
-		map.put("client_biggest_input_buf", "当前连接的客户端当中,最大输入缓存,用client list命令观察qbuf和qbuf-free两个字段最大值");
-		map.put("used_memory_rss_human", "以人类可读的方式返回 Redis 已分配的内存总量");
-		map.put("used_memory_peak_perc", "内存使用率峰值");
-		map.put("total_system_memory", "系统总内存");
-		map.put("total_system_memory_human", "以人类可读的方式返回系统总内存");
-		map.put("used_memory_lua_human", "以人类可读的方式返回Lua 引擎所使用的内存大小");
-		map.put("maxmemory", "最大内存限制,0表示无限制");
-		map.put("maxmemory_human", "以人类可读的方式返回最大限制内存");
-		map.put("maxmemory_policy", "超过内存限制后的处理策略");
-		map.put("loading", "服务器是否正在载入持久化文件");
-		map.put("rdb_changes_since_last_save", "离最近一次成功生成rdb文件,写入命令的个数,即有多少个写入命令没有持久化");
-		map.put("rdb_bgsave_in_progress", "服务器是否正在创建rdb文件");
-		map.put("rdb_last_save_time", "离最近一次成功创建rdb文件的时间戳。当前时间戳 - rdb_last_save_time=多少秒未成功生成rdb文件");
-		map.put("rdb_last_bgsave_status", "最近一次rdb持久化是否成功");
-		map.put("rdb_last_bgsave_time_sec", "最近一次成功生成rdb文件耗时秒数");
-		map.put("rdb_current_bgsave_time_sec", "如果服务器正在创建rdb文件,那么这个域记录的就是当前的创建操作已经耗费的秒数");
-		map.put("aof_enabled", "是否开启了aof");
-		map.put("aof_rewrite_in_progress", "标识aof的rewrite操作是否在进行中");
-		map.put("aof_rewrite_scheduled", "rewrite任务计划,当客户端发送bgrewriteaof指令,如果当前rewrite子进程正在执行,那么将客户端请求的bgrewriteaof变为计划任务,待aof子进程结束后执行rewrite ");
-
-		map.put("aof_last_rewrite_time_sec", "最近一次aof rewrite耗费的时长");
-		map.put("aof_current_rewrite_time_sec", "如果rewrite操作正在进行,则记录所使用的时间,单位秒");
-		map.put("aof_last_bgrewrite_status", "上次bgrewrite aof操作的状态");
-		map.put("aof_last_write_status", "上次aof写入状态");
-
-		map.put("total_commands_processed", "redis处理的命令数");
-		map.put("total_connections_received", "新创建连接个数,如果新创建连接过多,过度地创建和销毁连接对性能有影响,说明短连接严重或连接池使用有问题,需调研代码的连接设置");
-		map.put("instantaneous_ops_per_sec", "redis当前的qps,redis内部较实时的每秒执行的命令数");
-		map.put("total_net_input_bytes", "redis网络入口流量字节数");
-		map.put("total_net_output_bytes", "redis网络出口流量字节数");
-
-		map.put("instantaneous_input_kbps", "redis网络入口kps");
-		map.put("instantaneous_output_kbps", "redis网络出口kps");
-		map.put("rejected_connections", "拒绝的连接个数,redis连接个数达到maxclients限制,拒绝新连接的个数");
-		map.put("sync_full", "主从完全同步成功次数");
-
-		map.put("sync_partial_ok", "主从部分同步成功次数");
-		map.put("sync_partial_err", "主从部分同步失败次数");
-		map.put("expired_keys", "运行以来过期的key的数量");
-		map.put("evicted_keys", "运行以来剔除(超过了maxmemory后)的key的数量");
-		map.put("keyspace_hits", "命中次数");
-		map.put("keyspace_misses", "没命中次数");
-		map.put("pubsub_channels", "当前使用中的频道数量");
-		map.put("pubsub_patterns", "当前使用的模式的数量");
-		map.put("latest_fork_usec", "最近一次fork操作阻塞redis进程的耗时数,单位微秒");
-		map.put("role", "实例的角色,是master or slave");
-		map.put("connected_slaves", "连接的slave实例个数");
-		map.put("master_repl_offset", "主从同步偏移量,此值如果和上面的offset相同说明主从一致没延迟");
-		map.put("repl_backlog_active", "复制积压缓冲区是否开启");
-		map.put("repl_backlog_size", "复制积压缓冲大小");
-		map.put("repl_backlog_first_byte_offset", "复制缓冲区里偏移量的大小");
-		map.put("repl_backlog_histlen", "此值等于 master_repl_offset - repl_backlog_first_byte_offset,该值不会超过repl_backlog_size的大小");
-		map.put("used_cpu_sys", "将所有redis主进程在核心态所占用的CPU时求和累计起来");
-		map.put("used_cpu_user", "将所有redis主进程在用户态所占用的CPU时求和累计起来");
-		map.put("used_cpu_sys_children", "将后台进程在核心态所占用的CPU时求和累计起来");
-		map.put("used_cpu_user_children", "将后台进程在用户态所占用的CPU时求和累计起来");
-		map.put("cluster_enabled", "实例是否启用集群模式");
-		map.put("db0", "db0的key的数量,以及带有生存期的key的数,平均存活时间");
-
-	}
-
-	private String key;
-	private String value;
-	private String description;
-
-	public String getKey() {
-		return key;
-	}
-
-	public void setKey(String key) {
-		this.key = key;
-		this.description = map.get(this.key);
-	}
-
-	public String getValue() {
-		return value;
-	}
-
-	public void setValue(String value) {
-		this.value = value;
-	}
-
-	public String getDescription() {
-		return description;
-	}
-
-	public void setDescription(String description) {
-		this.description = description;
-	}
-
-	@Override
-	public String toString() {
-		return "RedisInfo{" + "key='" + key + '\'' + ", value='" + value + '\'' + ", desctiption='" + description + '\'' + '}';
-	}
+    private static Map<String, String> map = new HashMap<>();
+
+    static {
+        map.put("redis_version", "Redis 服务器版本");
+        map.put("redis_git_sha1", "Git SHA1");
+        map.put("redis_git_dirty", "Git dirty flag");
+        map.put("os", "Redis 服务器的宿主操作系统");
+        map.put("arch_bits", " 架构(32 或 64 位)");
+        map.put("multiplexing_api", "Redis 所使用的事件处理机制");
+        map.put("gcc_version", "编译 Redis 时所使用的 GCC 版本");
+        map.put("process_id", "服务器进程的 PID");
+        map.put("run_id", "Redis 服务器的随机标识符(用于 Sentinel 和集群)");
+        map.put("tcp_port", "TCP/IP 监听端口");
+        map.put("uptime_in_seconds", "自 Redis 服务器启动以来,经过的秒数");
+        map.put("uptime_in_days", "自 Redis 服务器启动以来,经过的天数");
+        map.put("lru_clock", " 以分钟为单位进行自增的时钟,用于 LRU 管理");
+        map.put("connected_clients", "已连接客户端的数量(不包括通过从属服务器连接的客户端)");
+        map.put("client_longest_output_list", "当前连接的客户端当中,最长的输出列表");
+        map.put("client_longest_input_buf", "当前连接的客户端当中,最大输入缓存");
+        map.put("blocked_clients", "正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客户端的数量");
+        map.put("used_memory", "由 Redis 分配器分配的内存总量,以字节(byte)为单位");
+        map.put("used_memory_human", "以人类可读的格式返回 Redis 分配的内存总量");
+        map.put("used_memory_rss", "从操作系统的角度,返回 Redis 已分配的内存总量(俗称常驻集大小)。这个值和 top 、 ps 等命令的输出一致");
+        map.put("used_memory_peak", " Redis 的内存消耗峰值(以字节为单位)");
+        map.put("used_memory_peak_human", "以人类可读的格式返回 Redis 的内存消耗峰值");
+        map.put("used_memory_lua", "Lua 引擎所使用的内存大小(以字节为单位)");
+        map.put("mem_fragmentation_ratio", "sed_memory_rss 和 used_memory 之间的比率");
+        map.put("mem_allocator", "在编译时指定的, Redis 所使用的内存分配器。可以是 libc 、 jemalloc 或者 tcmalloc");
+
+        map.put("redis_build_id", "redis_build_id");
+        map.put("redis_mode", "运行模式,单机(standalone)或者集群(cluster)");
+        map.put("atomicvar_api", "atomicvar_api");
+        map.put("hz", "redis内部调度(进行关闭timeout的客户端,删除过期key等等)频率,程序规定serverCron每秒运行10次。");
+        map.put("executable", "server脚本目录");
+        map.put("config_file", "配置文件目录");
+        map.put("client_biggest_input_buf", "当前连接的客户端当中,最大输入缓存,用client list命令观察qbuf和qbuf-free两个字段最大值");
+        map.put("used_memory_rss_human", "以人类可读的方式返回 Redis 已分配的内存总量");
+        map.put("used_memory_peak_perc", "内存使用率峰值");
+        map.put("total_system_memory", "系统总内存");
+        map.put("total_system_memory_human", "以人类可读的方式返回系统总内存");
+        map.put("used_memory_lua_human", "以人类可读的方式返回Lua 引擎所使用的内存大小");
+        map.put("maxmemory", "最大内存限制,0表示无限制");
+        map.put("maxmemory_human", "以人类可读的方式返回最大限制内存");
+        map.put("maxmemory_policy", "超过内存限制后的处理策略");
+        map.put("loading", "服务器是否正在载入持久化文件");
+        map.put("rdb_changes_since_last_save", "离最近一次成功生成rdb文件,写入命令的个数,即有多少个写入命令没有持久化");
+        map.put("rdb_bgsave_in_progress", "服务器是否正在创建rdb文件");
+        map.put("rdb_last_save_time", "离最近一次成功创建rdb文件的时间戳。当前时间戳 - rdb_last_save_time=多少秒未成功生成rdb文件");
+        map.put("rdb_last_bgsave_status", "最近一次rdb持久化是否成功");
+        map.put("rdb_last_bgsave_time_sec", "最近一次成功生成rdb文件耗时秒数");
+        map.put("rdb_current_bgsave_time_sec", "如果服务器正在创建rdb文件,那么这个域记录的就是当前的创建操作已经耗费的秒数");
+        map.put("aof_enabled", "是否开启了aof");
+        map.put("aof_rewrite_in_progress", "标识aof的rewrite操作是否在进行中");
+        map.put("aof_rewrite_scheduled", "rewrite任务计划,当客户端发送bgrewriteaof指令,如果当前rewrite子进程正在执行,那么将客户端请求的bgrewriteaof变为计划任务,待aof子进程结束后执行rewrite ");
+
+        map.put("aof_last_rewrite_time_sec", "最近一次aof rewrite耗费的时长");
+        map.put("aof_current_rewrite_time_sec", "如果rewrite操作正在进行,则记录所使用的时间,单位秒");
+        map.put("aof_last_bgrewrite_status", "上次bgrewrite aof操作的状态");
+        map.put("aof_last_write_status", "上次aof写入状态");
+
+        map.put("total_commands_processed", "redis处理的命令数");
+        map.put("total_connections_received", "新创建连接个数,如果新创建连接过多,过度地创建和销毁连接对性能有影响,说明短连接严重或连接池使用有问题,需调研代码的连接设置");
+        map.put("instantaneous_ops_per_sec", "redis当前的qps,redis内部较实时的每秒执行的命令数");
+        map.put("total_net_input_bytes", "redis网络入口流量字节数");
+        map.put("total_net_output_bytes", "redis网络出口流量字节数");
+
+        map.put("instantaneous_input_kbps", "redis网络入口kps");
+        map.put("instantaneous_output_kbps", "redis网络出口kps");
+        map.put("rejected_connections", "拒绝的连接个数,redis连接个数达到maxclients限制,拒绝新连接的个数");
+        map.put("sync_full", "主从完全同步成功次数");
+
+        map.put("sync_partial_ok", "主从部分同步成功次数");
+        map.put("sync_partial_err", "主从部分同步失败次数");
+        map.put("expired_keys", "运行以来过期的key的数量");
+        map.put("evicted_keys", "运行以来剔除(超过了maxmemory后)的key的数量");
+        map.put("keyspace_hits", "命中次数");
+        map.put("keyspace_misses", "没命中次数");
+        map.put("pubsub_channels", "当前使用中的频道数量");
+        map.put("pubsub_patterns", "当前使用的模式的数量");
+        map.put("latest_fork_usec", "最近一次fork操作阻塞redis进程的耗时数,单位微秒");
+        map.put("role", "实例的角色,是master or slave");
+        map.put("connected_slaves", "连接的slave实例个数");
+        map.put("master_repl_offset", "主从同步偏移量,此值如果和上面的offset相同说明主从一致没延迟");
+        map.put("repl_backlog_active", "复制积压缓冲区是否开启");
+        map.put("repl_backlog_size", "复制积压缓冲大小");
+        map.put("repl_backlog_first_byte_offset", "复制缓冲区里偏移量的大小");
+        map.put("repl_backlog_histlen", "此值等于 master_repl_offset - repl_backlog_first_byte_offset,该值不会超过repl_backlog_size的大小");
+        map.put("used_cpu_sys", "将所有redis主进程在核心态所占用的CPU时求和累计起来");
+        map.put("used_cpu_user", "将所有redis主进程在用户态所占用的CPU时求和累计起来");
+        map.put("used_cpu_sys_children", "将后台进程在核心态所占用的CPU时求和累计起来");
+        map.put("used_cpu_user_children", "将后台进程在用户态所占用的CPU时求和累计起来");
+        map.put("cluster_enabled", "实例是否启用集群模式");
+        map.put("db0", "db0的key的数量,以及带有生存期的key的数,平均存活时间");
+
+    }
+
+    private String key;
+    private String value;
+    private String description;
+
+    public String getKey() {
+        return key;
+    }
+
+    public void setKey(String key) {
+        this.key = key;
+        this.description = map.get(this.key);
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    @Override
+    public String toString() {
+        return "RedisInfo{" + "key='" + key + '\'' + ", value='" + value + '\'' + ", desctiption='" + description + '\'' + '}';
+    }
 }

+ 5 - 4
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ngalain/aop/LogRecordAspect.java

@@ -10,9 +10,10 @@ import org.springframework.web.context.request.ServletRequestAttributes;
 
 import javax.servlet.http.HttpServletRequest;
 
-;
-
-
+/**
+ * @author yumeng
+ * 2019年11月12日10:04:00
+ */
 /**
  * 暂时注释掉,提高系统性能
  * //@Aspect   //定义一个切面
@@ -43,4 +44,4 @@ public class LogRecordAspect {
         log.info("请求结束,controller的返回值是 " + result);
         return result;
     }
-}
+}

+ 30 - 42
jeecg-boot-module-system/src/main/java/org/jeecg/modules/quartz/controller/QuartzJobController.java

@@ -1,20 +1,17 @@
 package org.jeecg.modules.quartz.controller;
 
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
+import cn.com.ctop.common.module.utils.StringUtils;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.quartz.entity.QuartzJob;
 import org.jeecg.modules.quartz.service.IQuartzJobService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
@@ -26,25 +23,17 @@ import org.quartz.JobKey;
 import org.quartz.Scheduler;
 import org.quartz.SchedulerException;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartHttpServletRequest;
 import org.springframework.web.servlet.ModelAndView;
 
-import com.alibaba.fastjson.JSON;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
 
 /**
  * @Description: 定时任务在线管理
@@ -64,7 +53,7 @@ public class QuartzJobController {
 
 	/**
 	 * 分页列表查询
-	 * 
+	 *
 	 * @param quartzJob
 	 * @param pageNo
 	 * @param pageSize
@@ -85,7 +74,7 @@ public class QuartzJobController {
 
 	/**
 	 * 添加定时任务
-	 * 
+	 *
 	 * @param quartzJob
 	 * @return
 	 */
@@ -111,7 +100,7 @@ public class QuartzJobController {
 
 	/**
 	 * 更新定时任务
-	 * 
+	 *
 	 * @param quartzJob
 	 * @return
 	 */
@@ -138,7 +127,7 @@ public class QuartzJobController {
 
 	/**
 	 * 通过id删除
-	 * 
+	 *
 	 * @param id
 	 * @return
 	 */
@@ -160,17 +149,17 @@ public class QuartzJobController {
 
 	/**
 	 * 批量删除
-	 * 
+	 *
 	 * @param ids
 	 * @return
 	 */
 	@RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE)
 	public Result<QuartzJob> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
-		Result<QuartzJob> result = new Result<QuartzJob>();
+		Result<QuartzJob> result = new Result<>();
 		if (ids == null || "".equals(ids.trim())) {
 			result.error500("参数不识别!");
 		} else {
-			for (String id : Arrays.asList(ids.split(","))) {
+			for (String id : Arrays.asList(ids.split(StringUtils.COMMA))) {
 				QuartzJob job = quartzJobService.getById(id);
 				quartzJobService.deleteAndStopJob(job);
 			}
@@ -181,8 +170,7 @@ public class QuartzJobController {
 
 	/**
 	 * 暂停定时任务
-	 * 
-	 * @param job
+	 * @param jobClassName 任务类名
 	 * @return
 	 */
 	@GetMapping(value = "/pause")
@@ -205,8 +193,8 @@ public class QuartzJobController {
 
 	/**
 	 * 启动定时任务
-	 * 
-	 * @param job
+	 *
+	 * @param jobClassName
 	 * @return
 	 */
 	@GetMapping(value = "/resume")
@@ -223,7 +211,7 @@ public class QuartzJobController {
 
 	/**
 	 * 通过id查询
-	 * 
+	 *
 	 * @param id
 	 * @return
 	 */
@@ -242,9 +230,9 @@ public class QuartzJobController {
 
 	/**
 	 * 导出excel
-	 * 
+	 *
 	 * @param request
-	 * @param response
+	 * @param quartzJob
 	 */
 	@RequestMapping(value = "/exportXls")
 	public ModelAndView exportXls(HttpServletRequest request, QuartzJob quartzJob) {
@@ -263,7 +251,7 @@ public class QuartzJobController {
 
 	/**
 	 * 通过excel导入数据
-	 * 
+	 *
 	 * @param request
 	 * @param response
 	 * @return
@@ -273,7 +261,7 @@ public class QuartzJobController {
 		MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
 		Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
 		for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
-			MultipartFile file = entity.getValue();// 获取上传文件对象
+			MultipartFile file = entity.getValue();
 			ImportParams params = new ImportParams();
 			params.setTitleRows(2);
 			params.setHeadRows(1);

+ 8 - 19
jeecg-boot-module-system/src/main/java/org/jeecg/modules/quartz/service/impl/QuartzJobServiceImpl.java

@@ -1,28 +1,17 @@
 package org.jeecg.modules.quartz.service.impl;
 
-import java.util.List;
-
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.modules.quartz.entity.QuartzJob;
 import org.jeecg.modules.quartz.mapper.QuartzJobMapper;
 import org.jeecg.modules.quartz.service.IQuartzJobService;
-import org.quartz.CronScheduleBuilder;
-import org.quartz.CronTrigger;
-import org.quartz.Job;
-import org.quartz.JobBuilder;
-import org.quartz.JobDetail;
-import org.quartz.JobKey;
-import org.quartz.Scheduler;
-import org.quartz.SchedulerException;
-import org.quartz.TriggerBuilder;
-import org.quartz.TriggerKey;
+import org.quartz.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-
-import lombok.extern.slf4j.Slf4j;
+import java.util.List;
 
 /**
  * @Description: 定时任务在线管理
@@ -71,7 +60,7 @@ public class QuartzJobServiceImpl extends ServiceImpl<QuartzJobMapper, QuartzJob
 
 	/**
 	 * 编辑&启停定时任务
-	 * @throws SchedulerException 
+     * @throws SchedulerException
 	 */
 	@Override
 	public boolean editAndScheduleJob(QuartzJob quartzJob) throws SchedulerException {
@@ -97,7 +86,7 @@ public class QuartzJobServiceImpl extends ServiceImpl<QuartzJobMapper, QuartzJob
 
 	/**
 	 * 添加定时任务
-	 * 
+     *
 	 * @param jobClassName
 	 * @param cronExpression
 	 * @param parameter
@@ -126,7 +115,7 @@ public class QuartzJobServiceImpl extends ServiceImpl<QuartzJobMapper, QuartzJob
 
 	/**
 	 * 删除定时任务
-	 * 
+     *
 	 * @param jobClassName
 	 */
 	private void schedulerDelete(String jobClassName) {
@@ -142,7 +131,7 @@ public class QuartzJobServiceImpl extends ServiceImpl<QuartzJobMapper, QuartzJob
 
 	private static Job getClass(String classname) throws Exception {
 		Class<?> class1 = Class.forName(classname);
-		return (Job) class1.newInstance();
+        return (Job) class1.getDeclaredConstructor().newInstance();
 	}
 
 }

+ 2 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/LoginController.java

@@ -60,7 +60,8 @@ public class LoginController {
         String username = sysLoginModel.getUsername();
         String password = sysLoginModel.getPassword();
         //步骤1:TODO 前端密码加密,后端进行密码解密,防止传输密码篡改等问题,不配就直接提示密码错误,并记录日志后期进行统计分析是否锁定
-        password = AesEncryptUtil.desEncrypt(sysLoginModel.getPassword()).trim();//密码解密
+        //密码解密
+        password = AesEncryptUtil.desEncrypt(sysLoginModel.getPassword()).trim();
         //1. 校验用户是否有效
         SysUser sysUser = sysUserService.getUserByName(username);
         String departId = sysDepartService.selectIdByOrdCode(sysUser.getOrgCode());

+ 19 - 54
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysDictController.java

@@ -1,33 +1,11 @@
 package org.jeecg.modules.system.controller;
 
 
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import java.util.ArrayList;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import com.alibaba.fastjson.JSON;
-import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.common.system.vo.DictModel;
-import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.demo.test.entity.JeecgOrderCustomer;
-import org.jeecg.modules.demo.test.entity.JeecgOrderMain;
-import org.jeecg.modules.demo.test.entity.JeecgOrderTicket;
-import org.jeecg.modules.demo.test.vo.JeecgOrderMainPage;
-import org.jeecg.modules.system.entity.SysDict;
-import org.jeecg.modules.system.entity.SysDictItem;
-import org.jeecg.modules.system.model.SysDictTree;
-
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CacheConstant;
@@ -52,27 +30,14 @@ import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.annotation.CacheEvict;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartHttpServletRequest;
 import org.springframework.web.servlet.ModelAndView;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-
-import lombok.extern.slf4j.Slf4j;
-
-import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.multipart.MultipartHttpServletRequest;
-import org.springframework.web.servlet.ModelAndView;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.*;
 
 
 /**
@@ -155,7 +120,7 @@ public class SysDictController {
 			if(dictCode.indexOf(",")!=-1) {
 				//关联表字典(举例:sys_user,realname,id)
 				String[] params = dictCode.split(",");
-				
+
 				if(params.length<3) {
 					result.error500("字典Code格式不正确!");
 					return result;
@@ -163,7 +128,7 @@ public class SysDictController {
 				//SQL注入校验(只限制非法串改数据库)
 				final String[] sqlInjCheck = {params[0],params[1],params[2]};
 				SqlInjectionUtil.filterContent(sqlInjCheck);
-				
+
 				if(params.length==4) {
 					//SQL注入校验(查询条件SQL 特殊check,此方法仅供此处使用)
 					SqlInjectionUtil.specialFilterContent(params[3]);
@@ -339,7 +304,7 @@ public class SysDictController {
 		MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
 		Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
 		for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
-			MultipartFile file = entity.getValue();// 获取上传文件对象
+            MultipartFile file = entity.getValue();
 			ImportParams params = new ImportParams();
 			params.setTitleRows(2);
 			params.setHeadRows(2);
@@ -368,9 +333,9 @@ public class SysDictController {
 		}
 		return Result.error("文件导入失败!");
 	}
-	
-	/**
-	 * 大数据量的字典表 走异步加载  即前端输入内容过滤数据 
+
+    /**
+     * 大数据量的字典表 走异步加载  即前端输入内容过滤数据
 	 * @param dictCode
 	 * @return
 	 */
@@ -401,8 +366,8 @@ public class SysDictController {
 
 		return result;
 	}
-	
-	/**
+
+    /**
 	 * 根据字典code加载字典text 返回
 	 */
 	@RequestMapping(value = "/loadDictItem/{dictCode}", method = RequestMethod.GET)
@@ -430,8 +395,8 @@ public class SysDictController {
 
 		return result;
 	}
-	
-	/**
+
+    /**
 	 * 根据表名——显示字段-存储字段 pid 加载树形数据
 	 */
 	@RequestMapping(value = "/loadTreeData", method = RequestMethod.GET)

+ 9 - 5
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java

@@ -75,7 +75,7 @@ public class SysPermissionController {
 
 //	/**
 //	 * 查询用户拥有的菜单权限和按钮权限(根据用户账号)
-//	 * 
+//	 *
 //	 * @return
 //	 */
 //	@RequestMapping(value = "/queryByUser", method = RequestMethod.GET)
@@ -251,8 +251,10 @@ public class SysPermissionController {
             getTreeModelList(treeList, list, null);
 
             Map<String, Object> resMap = new HashMap<String, Object>();
-            resMap.put("treeList", treeList); // 全部树节点数据
-            resMap.put("ids", ids);// 全部树ids
+            // 全部树节点数据
+            resMap.put("treeList", treeList);
+            // 全部树ids
+            resMap.put("ids", ids);
             result.setResult(resMap);
             result.setSuccess(true);
         } catch (Exception e) {
@@ -467,9 +469,11 @@ public class SysPermissionController {
         } else if (permission.getMenuType().equals(CommonConstant.MENU_TYPE_0) || permission.getMenuType().equals(CommonConstant.MENU_TYPE_1)) {
             json.put("id", permission.getId());
             if (permission.isRoute()) {
-                json.put("route", "1");// 表示生成路由
+                // 表示生成路由
+                json.put("route", "1");
             } else {
-                json.put("route", "0");// 表示不生成路由
+                // 表示不生成路由
+                json.put("route", "0");
             }
 
             if (isWwwHttpUrl(permission.getUrl())) {

+ 51 - 75
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java

@@ -1,35 +1,23 @@
 package org.jeecg.modules.system.controller;
 
 
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.shiro.SecurityUtils;
-import org.apache.shiro.authz.annotation.RequiresRoles;
-import org.jeecg.common.api.vo.Result;
-import org.apache.shiro.authz.annotation.RequiresRoles;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CacheConstant;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.system.entity.SysPermission;
 import org.jeecg.modules.system.entity.SysPermissionDataRule;
 import org.jeecg.modules.system.entity.SysRole;
 import org.jeecg.modules.system.entity.SysRolePermission;
-
-import org.jeecg.modules.system.entity.SysUser;
 import org.jeecg.modules.system.model.TreeModel;
 import org.jeecg.modules.system.service.ISysPermissionDataRuleService;
 import org.jeecg.modules.system.service.ISysPermissionService;
@@ -42,28 +30,15 @@ import org.jeecgframework.poi.excel.entity.ImportParams;
 import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.annotation.CacheEvict;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartHttpServletRequest;
 import org.springframework.web.servlet.ModelAndView;
 
-import com.alibaba.fastjson.JSON;
-import org.jeecg.common.system.vo.LoginUser;
-import org.apache.shiro.SecurityUtils;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-
-import lombok.extern.slf4j.Slf4j;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.*;
 
 /**
  * <p>
@@ -79,13 +54,13 @@ import lombok.extern.slf4j.Slf4j;
 public class SysRoleController {
 	@Autowired
 	private ISysRoleService sysRoleService;
-	
+
 	@Autowired
 	private ISysPermissionDataRuleService sysPermissionDataRuleService;
-	
+
 	@Autowired
 	private ISysRolePermissionService sysRolePermissionService;
-	
+
 	@Autowired
 	private ISysPermissionService sysPermissionService;
 
@@ -110,7 +85,7 @@ public class SysRoleController {
 		result.setResult(pageList);
 		return result;
 	}
-	
+
 	/**
 	  *   添加
 	 * @param role
@@ -129,8 +104,8 @@ public class SysRoleController {
 		}
 		return result;
 	}
-	
-	/**
+
+    /**
 	  *  编辑
 	 * @param role
 	 * @return
@@ -149,11 +124,11 @@ public class SysRoleController {
 				result.success("修改成功!");
 			}
 		}
-		
-		return result;
+
+        return result;
 	}
-	
-	/**
+
+    /**
 	  *   通过id删除
 	 * @param id
 	 * @return
@@ -171,11 +146,11 @@ public class SysRoleController {
 				result.success("删除成功!");
 			}
 		}
-		
-		return result;
+
+        return result;
 	}
-	
-	/**
+
+    /**
 	  *  批量删除
 	 * @param ids
 	 * @return
@@ -192,8 +167,8 @@ public class SysRoleController {
 		}
 		return result;
 	}
-	
-	/**
+
+    /**
 	  * 通过id查询
 	 * @param id
 	 * @return
@@ -210,8 +185,8 @@ public class SysRoleController {
 		}
 		return result;
 	}
-	
-	@RequestMapping(value = "/queryall", method = RequestMethod.GET)
+
+    @RequestMapping(value = "/queryall", method = RequestMethod.GET)
 	public Result<List<SysRole>> queryall() {
 		Result<List<SysRole>> result = new Result<>();
 		List<SysRole> list = sysRoleService.list();
@@ -223,14 +198,15 @@ public class SysRoleController {
 		}
 		return result;
 	}
-	
-	/**
+
+    /**
 	  * 校验角色编码唯一
 	 */
 	@RequestMapping(value = "/checkRoleCode", method = RequestMethod.GET)
 	public Result<Boolean> checkUsername(String id,String roleCode) {
 		Result<Boolean> result = new Result<>();
-		result.setResult(true);//如果此参数为false则程序发生异常
+        //如果此参数为false则程序发生异常
+        result.setResult(true);
 		log.info("--验证角色编码是否唯一---id:"+id+"--roleCode:"+roleCode);
 		try {
 			SysRole role = null;
@@ -294,7 +270,7 @@ public class SysRoleController {
 		MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
 		Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
 		for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
-			MultipartFile file = entity.getValue();// 获取上传文件对象
+            MultipartFile file = entity.getValue();
 			ImportParams params = new ImportParams();
 			params.setTitleRows(2);
 			params.setHeadRows(1);
@@ -318,8 +294,8 @@ public class SysRoleController {
 		}
 		return Result.error("文件导入失败!");
 	}
-	
-	/**
+
+    /**
 	 * 查询数据规则数据
 	 */
 	@GetMapping(value = "/datarule/{permissionId}/{roleId}")
@@ -346,8 +322,8 @@ public class SysRoleController {
 			//TODO 以后按钮权限的查询也走这个请求 无非在map中多加两个key
 		}
 	}
-	
-	/**
+
+    /**
 	 * 保存数据规则至角色菜单关联表
 	 */
 	@PostMapping(value = "/datarule")
@@ -373,9 +349,9 @@ public class SysRoleController {
 		}
 		return Result.ok("保存成功!");
 	}
-	
-	
-	/**
+
+
+    /**
 	 * 用户角色授权功能,查询菜单权限树
 	 * @param request
 	 * @return
@@ -395,9 +371,11 @@ public class SysRoleController {
 			}
 			List<TreeModel> treeList = new ArrayList<>();
 			getTreeModelList(treeList, list, null);
-			Map<String,Object> resMap = new HashMap<String,Object>();
-			resMap.put("treeList", treeList); //全部树节点数据
-			resMap.put("ids", ids);//全部树ids
+            Map<String, Object> resMap = new HashMap<>();
+            //全部树节点数据
+            resMap.put("treeList", treeList);
+            //全部树ids
+            resMap.put("ids", ids);
 			result.setResult(resMap);
 			result.setSuccess(true);
 		} catch (Exception e) {
@@ -405,8 +383,8 @@ public class SysRoleController {
 		}
 		return result;
 	}
-	
-	private void getTreeModelList(List<TreeModel> treeList,List<SysPermission> metaList,TreeModel temp) {
+
+    private void getTreeModelList(List<TreeModel> treeList,List<SysPermission> metaList,TreeModel temp) {
 		for (SysPermission permission : metaList) {
 			String tempPid = permission.getParentId();
 			TreeModel tree = new TreeModel(permission.getId(), tempPid, permission.getName(),permission.getRuleFlag(), permission.isLeaf());
@@ -421,9 +399,7 @@ public class SysRoleController {
 					getTreeModelList(treeList, metaList, tree);
 				}
 			}
-			
-		}
+
+        }
 	}
-	
-	
 }

+ 34 - 33
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/model/TreeModel.java

@@ -1,36 +1,37 @@
 package org.jeecg.modules.system.model;
 
+import org.jeecg.modules.system.entity.SysPermission;
+
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.jeecg.modules.system.entity.SysPermission;
-
 /**
-  * 树形列表用到
+ * @author jeecg-boot
+ * 2019年11月12日11:09:37
  */
 
 public class TreeModel implements Serializable {
-	
+
 	private static final long serialVersionUID = 4013193970046502756L;
 
 	private String key;
-	
+
 	private String title;
-	
-	private String slotTitle;
-	
-	private boolean isLeaf;
-	
-	private String icon;
-	
-	private Integer ruleFlag;
-	
-	private Map<String,String> scopedSlots;
-	
-	public Map<String, String> getScopedSlots() {
+
+    private String slotTitle;
+
+    private boolean isLeaf;
+
+    private String icon;
+
+    private Integer ruleFlag;
+
+    private Map<String,String> scopedSlots;
+
+    public Map<String, String> getScopedSlots() {
 		return scopedSlots;
 	}
 
@@ -69,8 +70,8 @@ public class TreeModel implements Serializable {
 	public void setIcon(String icon) {
 		this.icon = icon;
 	}
-	
-	private List<TreeModel> children;
+
+    private List<TreeModel> children;
 
 	public List<TreeModel> getChildren() {
 		return children;
@@ -81,9 +82,9 @@ public class TreeModel implements Serializable {
 	}
 
 	public TreeModel() {
-		
-	}
-	
+
+    }
+
 	public TreeModel(SysPermission permission) {
 		this.key = permission.getId();
 		this.icon = permission.getIcon();
@@ -97,8 +98,8 @@ public class TreeModel implements Serializable {
 			this.children = new ArrayList<TreeModel>();
 		}
 	}
-	 
-	 public TreeModel(String key,String parentId,String slotTitle,Integer ruleFlag,boolean isLeaf) {
+
+    public TreeModel(String key,String parentId,String slotTitle,Integer ruleFlag,boolean isLeaf) {
     	this.key = key;
     	this.parentId = parentId;
     	this.ruleFlag=ruleFlag;
@@ -112,15 +113,15 @@ public class TreeModel implements Serializable {
     		this.children = new ArrayList<TreeModel>();
     	}
     }
-	 
-	 private String parentId;
-		
-	private String label;
-	
-	private String value;
-	
-	
-	public String getParentId() {
+
+    private String parentId;
+
+    private String label;
+
+    private String value;
+
+
+    public String getParentId() {
 		return parentId;
 	}
 

+ 13 - 14
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java

@@ -1,12 +1,9 @@
 package org.jeecg.modules.system.service.impl;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Date;
-import java.util.List;
-
-import javax.annotation.Resource;
-
+import cn.com.ctop.common.module.utils.StringUtils;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.modules.system.entity.SysAnnouncement;
 import org.jeecg.modules.system.entity.SysAnnouncementSend;
@@ -16,9 +13,11 @@ import org.jeecg.modules.system.service.ISysAnnouncementService;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import javax.annotation.Resource;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
 
 /**
  * @Description: 系统通告表
@@ -31,10 +30,10 @@ public class SysAnnouncementServiceImpl extends ServiceImpl<SysAnnouncementMappe
 
 	@Resource
 	private SysAnnouncementMapper sysAnnouncementMapper;
-	
+
 	@Resource
 	private SysAnnouncementSendMapper sysAnnouncementSendMapper;
-	
+
 	@Transactional
 	@Override
 	public void saveAnnouncement(SysAnnouncement sysAnnouncement) {
@@ -58,7 +57,7 @@ public class SysAnnouncementServiceImpl extends ServiceImpl<SysAnnouncementMappe
 			}
 		}
 	}
-	
+
 	/**
 	 * @功能:编辑消息信息
 	 */
@@ -70,7 +69,7 @@ public class SysAnnouncementServiceImpl extends ServiceImpl<SysAnnouncementMappe
 		if(sysAnnouncement.getMsgType().equals(CommonConstant.MSG_TYPE_UESR)) {
 			// 2.补充新的通知用户数据
 			String userId = sysAnnouncement.getUserIds();
-			String[] userIds = userId.substring(0, (userId.length()-1)).split(",");
+			String[] userIds = userId.substring(0, (userId.length() - 1)).split(StringUtils.COMMA);
 			String anntId = sysAnnouncement.getId();
 			Date refDate = new Date();
 			for(int i=0;i<userIds.length;i++) {

+ 4 - 4
jeecg-boot-module-system/src/main/resources/jeecg/code-template/onetomany2/java/${bussiPackage}/${entityPackage}/vue/${entityName}List.vuei

@@ -38,7 +38,7 @@
           <a-icon type="delete"/>删除
           </a-menu-item>
         </a-menu>
-        <a-button style="margin-left: 8px"> 批量操作 
+        <a-button style="margin-left: 8px"> 批量操作
           <a-icon type="down" />
         </a-button>
       </a-dropdown>
@@ -81,7 +81,7 @@
       </a-table>
     </div>
     <!-- table区域-end -->
-    
+
     <a-tabs defaultActiveKey="1">
     <#list subTables as sub><#rt/>
       <a-tab-pane tab="${sub.ftlDescription}" :key="refKeys[${sub_index}]" :forceRender="true">
@@ -147,7 +147,7 @@
             scopedSlots: { customRender: 'action' },
           }
         ],
- 
+
         //操作url
         type: "radio",
         url: {
@@ -222,4 +222,4 @@
 </script>
 <style scoped>
   @import '~@assets/less/common.less'
-</style>
+</style>

+ 15 - 0
module-common/src/main/java/cn/com/ctop/common/module/mapper/CtopOauthTokenMapper.java

@@ -12,9 +12,24 @@ import java.util.List;
  * @Version: V1.0
  */
 public interface CtopOauthTokenMapper extends BaseMapper<CtopOauthToken> {
+    /**
+     * 全查
+     *
+     * @return
+     */
     List<CtopOauthToken> selectAll();
 
+    /**
+     * 更新
+     * @param oauthToken
+     * @return
+     */
     int updateByPrimaryKeySelective(CtopOauthToken oauthToken);
 
+    /**
+     * 根据accountId查询
+     * @param accountId
+     * @return
+     */
     CtopOauthToken selectByAccountId(Long accountId);
 }

+ 8 - 4
module-common/src/main/java/cn/com/ctop/common/module/service/impl/FileInfoServiceImpl.java

@@ -221,7 +221,8 @@ public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfo> i
         }
         //3: 根据MD5值查询是否已经上传过服务器
         List<FileInfo> getFileInfo = getFileInfoByMd5(md5Hex);
-        if (null != getFileInfo && getFileInfo.size() > 0) {//表示已经上传过服务器
+        //表示已经上传过服务器
+        if (null != getFileInfo && getFileInfo.size() > 0) {
             result.put("code", 0);
             result.put("file", getFileInfo.get(0));
             result.put("message", "图片上传成功");
@@ -306,7 +307,8 @@ public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfo> i
         //这里服务器上要将此图保存的路径
         String savePath = this.imageUploadPath + fileName;
         try {
-            URL url = new URL("https:" + fileUrl);/*将网络资源地址传给,即赋值给url*/
+            /*将网络资源地址传给,即赋值给url*/
+            URL url = new URL("https:" + fileUrl);
             /*此为联系获得网络资源的固定格式用法,以便后面的in变量获得url截取网络资源的输入流*/
             HttpURLConnection connection = (HttpURLConnection) url.openConnection();
             DataInputStream in = new DataInputStream(connection.getInputStream());
@@ -323,7 +325,8 @@ public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfo> i
             in.close();
             connection.disconnect();
             //返回内容是保存后的完整的URL
-            return savePath;/*网络资源截取并存储本地成功返回true*/
+            /*网络资源截取并存储本地成功返回true*/
+            return savePath;
 
         } catch (Exception e) {
             return null;
@@ -343,7 +346,8 @@ public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfo> i
         }
         //3: 根据MD5值查询是否已经上传过服务器
         List<FileInfo> getFileInfo = getFileInfoByMd5(md5Hex);
-        if (null != getFileInfo && getFileInfo.size() > 0) {//表示已经上传过服务器
+        //表示已经上传过服务器
+        if (null != getFileInfo && getFileInfo.size() > 0) {
             result.put("code", 0);
             result.put("file", getFileInfo.get(0));
             result.put("message", "视频上传成功");

+ 2 - 2
module-common/src/main/java/cn/com/ctop/common/module/utils/Base64Utils.java

@@ -8,9 +8,9 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 public class Base64Utils {
+    private static Pattern REUNICODE_PATTERN = Pattern.compile("[0-9]+");
     public static String decode1(String s) {
-        Pattern reUnicode = Pattern.compile("\\\\u([0-9a-zA-Z]{4})");
-        Matcher m = reUnicode.matcher(s);
+        Matcher m = REUNICODE_PATTERN.matcher(s);
         StringBuffer sb = new StringBuffer(s.length());
         while (m.find()) {
             m.appendReplacement(sb,

+ 4 - 0
module-common/src/main/java/cn/com/ctop/common/module/utils/CsvUtils.java

@@ -9,6 +9,10 @@ import java.nio.charset.Charset;
 import java.util.ArrayList;
 import java.util.List;
 
+/**
+ * @author yumeng
+ * 2019年11月12日10:04:00
+ */
 public class CsvUtils {
     public static void checkandCreateFile(String outPath) {
         File file = new File(outPath);

+ 9 - 12
module-common/src/main/java/cn/com/ctop/common/module/utils/HttpClientUtils.java

@@ -2,9 +2,6 @@ package cn.com.ctop.common.module.utils;
 
 import cn.com.ctop.common.module.entity.HttpClientEntity;
 import cn.com.ctop.common.module.entity.IpPool;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.gson.Gson;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.http.*;
 import org.apache.http.client.CookieStore;
@@ -27,7 +24,6 @@ import org.apache.http.message.BasicNameValuePair;
 import org.apache.http.protocol.HTTP;
 import org.apache.http.ssl.SSLContextBuilder;
 import org.apache.http.util.EntityUtils;
-import org.springframework.stereotype.Component;
 
 import javax.net.ssl.SSLContext;
 import java.io.BufferedReader;
@@ -103,8 +99,9 @@ public class HttpClientUtils {
 
     public String get(String urlStr) throws Exception {
         URL url = new URL(urlStr);
-        URLConnection urlConnection = url.openConnection(); // 打开连接
-        BufferedReader br = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(), "utf-8")); // 获取输入流
+        URLConnection urlConnection = url.openConnection();
+        // 获取输入流
+        BufferedReader br = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(), "utf-8"));
         String line = null;
         StringBuilder sb = new StringBuilder();
         while ((line = br.readLine()) != null) {
@@ -144,14 +141,14 @@ public class HttpClientUtils {
                 }
 
                 basicClientCookie.setPath(cookieMap.get("Path"));
-                if (cookieMap.get("Domain") == null || cookieMap.get("Domain").equals("")) {
+                if (cookieMap.get("Domain") == null || "".equals(cookieMap.get("Domain"))) {
                     if (httpClientEntity.getHeaders() != null && httpClientEntity.getHeaders().get("Origin") != null) {
                         basicClientCookie.setDomain(httpClientEntity.getHeaders().get("Origin").split("//")[1]);
                     }
                 } else {
                     basicClientCookie.setDomain(cookieMap.get("Domain"));
                 }
-                basicClientCookie.setExpiryDate(new Date(new Date().getTime() + 1000 * 60 * 60 * 24 * 365));
+                basicClientCookie.setExpiryDate(new Date(System.currentTimeMillis() + 1000 * 60 * 60 * 24 * 365));
                 cookieStore.addCookie(basicClientCookie);
             }
         }
@@ -213,12 +210,12 @@ public class HttpClientUtils {
                     }
                 }
                 basicClientCookie.setPath(cookieMap.get("Path"));
-                if (cookieMap.get("Domain") == null || cookieMap.get("Domain").equals("")) {
+                if (cookieMap.get("Domain") == null || "".equals(cookieMap.get("Domain"))) {
                     basicClientCookie.setDomain(httpClientEntity.getHeaders().get("Origin").split("//")[1]);
                 } else {
                     basicClientCookie.setDomain(cookieMap.get("Domain"));
                 }
-                basicClientCookie.setExpiryDate(new Date(new Date().getTime() + 1000 * 60 * 60 * 24 * 365));
+                basicClientCookie.setExpiryDate(new Date(System.currentTimeMillis() + 1000 * 60 * 60 * 24 * 365));
                 cookieStore.addCookie(basicClientCookie);
             }
         }
@@ -274,12 +271,12 @@ public class HttpClientUtils {
                     }
                 }
                 basicClientCookie.setPath(cookieMap.get("Path"));
-                if (cookieMap.get("Domain") == null || cookieMap.get("Domain").equals("")) {
+                if (cookieMap.get("Domain") == null || "".equals(cookieMap.get("Domain"))) {
                     basicClientCookie.setDomain(httpClientEntity.getHeaders().get("Origin").split("//")[1]);
                 } else {
                     basicClientCookie.setDomain(cookieMap.get("Domain"));
                 }
-                basicClientCookie.setExpiryDate(new Date(new Date().getTime() + 1000 * 60 * 60 * 24 * 365));
+                basicClientCookie.setExpiryDate(new Date(System.currentTimeMillis() + 1000 * 60 * 60 * 24 * 365));
                 cookieStore.addCookie(basicClientCookie);
             }
         }

+ 1 - 3
module-common/src/main/java/cn/com/ctop/common/module/utils/HttpUtils2.java

@@ -362,10 +362,8 @@ public class HttpUtils2 {
 
     public static void kuaishouTtf(String ttfName) {
         try {
-            URL url = new URL("https://static.yximgs.com/udata/pkg/kuaishou-front-end-live/" + ttfName); // 创建URL
-
+            URL url = new URL("https://static.yximgs.com/udata/pkg/kuaishou-front-end-live/" + ttfName);
             URLConnection urlconn = url.openConnection();
-
             TTFParser ttfParser = new TTFParser();
             TrueTypeFont ttf = ttfParser.parse(urlconn.getInputStream());
             GlyphData[] datas = ttf.getGlyph().getGlyphs();

+ 2 - 1
module-common/src/main/java/cn/com/ctop/common/module/utils/JsonUtil.java

@@ -8,7 +8,8 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 import java.util.List;
 
 /**
- *
+ * @author jeecg-boot
+ * 2019年11月12日10:04:00
  */
 public class JsonUtil {
 

+ 4 - 0
module-common/src/main/java/cn/com/ctop/common/module/utils/OSSUtils.java

@@ -18,6 +18,10 @@ import java.io.FileInputStream;
 import java.io.InputStream;
 import java.util.Date;
 
+/**
+ * @author yumeng
+ * 2019年11月12日10:04:00
+ */
 @Configuration
 @PropertySource("classpath:config.properties")
 public class OSSUtils {

+ 4 - 0
module-common/src/main/java/cn/com/ctop/common/module/utils/PropertiesUtils.java

@@ -9,6 +9,10 @@ import java.util.Iterator;
 import java.util.Map;
 import java.util.Properties;
 
+/**
+ * @author jeecg-boot
+ * 2019年11月12日10:04:00
+ */
 public class PropertiesUtils {
     private static final Logger log = LoggerFactory.getLogger(PropertiesUtils.class);
     private static Map<String, String> cache = new HashMap<String, String>();

+ 1 - 0
module-common/src/main/java/cn/com/ctop/common/module/utils/StringUtils.java

@@ -5,6 +5,7 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 public class StringUtils {
+    public static final String COMMA = ",";
     public static ArrayList<String> stringCutFromBrace(String origin) {
         String pattern = "(?<=\\{)(.+?)(?=\\})";
         Pattern p = Pattern.compile(pattern);

+ 4 - 1
module-common/src/main/java/cn/com/ctop/common/module/utils/TransfMediaTool.java

@@ -6,7 +6,10 @@ import java.io.InputStreamReader;
 import java.util.ArrayList;
 import java.util.List;
 
-
+/**
+ * @author jeecg-boot
+ * 2019年11月12日10:04:00
+ */
 public class TransfMediaTool {
 
     public static void exceptInfoForRestTemplate() {

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

@@ -12,5 +12,12 @@ import java.util.List;
  * @version V1.0
  */
 public interface IAppiumTaskItemService extends IService<AppiumTaskItem> {
+    /**
+     * 查询任务列表
+     *
+     * @param taskId
+     * @param parentId
+     * @return
+     */
     List<AppiumTaskItem> initTaskItemList(Integer taskId, Integer parentId);
 }

+ 6 - 0
module-crawler/src/main/java/cn/com/ctop/crawler/modules/appium/service/IAppiumTaskService.java

@@ -10,5 +10,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @version V1.0
  */
 public interface IAppiumTaskService extends IService<AppiumTask> {
+    /**
+     * 执行任务
+     *
+     * @param taskId
+     * @param deviceId
+     */
     public void runTask(Integer taskId, Integer deviceId);
 }

+ 15 - 15
module-crawler/src/main/java/cn/com/ctop/crawler/modules/core/util/AppiumUtil.java

@@ -114,7 +114,7 @@ public class AppiumUtil {
             }
             WebElement loginBtn = getElementByType(androidDriver, FIND_ELEMENT_TYPE_ID, "com.smile.gifmaker:id/left_text");
             System.out.println(loginBtn.getText());
-            if (loginBtn != null && loginBtn.getText().equals("登录")) {
+            if (loginBtn != null && "登录".equals(loginBtn.getText())) {
                 loginBtn.click();
                 Thread.sleep(3000L);
 
@@ -135,7 +135,7 @@ public class AppiumUtil {
                     nextBtn.click();
                     Thread.sleep(5000L);
                     WebElement pintu = getElementByType(androidDriver, FIND_ELEMENT_TYPE_ID, "com.smile.gifmaker:id/title_tv");
-                    if (pintu != null && pintu.getText().equals("拖动滑块")) {
+                    if (pintu != null && "拖动滑块".equals(pintu.getText())) {
                         WebElement leftBtn1 = getElementByType(androidDriver, FIND_ELEMENT_TYPE_ID, "com.smile.gifmaker:id/left_btn");
                         leftBtn1.click();
                         return;
@@ -143,7 +143,7 @@ public class AppiumUtil {
                     WebElement loginTitle = getElementByType(androidDriver, FIND_ELEMENT_TYPE_ID, "com.smile.gifmaker:id/login_title_tv");
                     WebElement forgetBtn = getElementByType(androidDriver, FIND_ELEMENT_TYPE_ID, "com.smile.gifmaker:id/forget_psd_btn");
                     WebElement captcha = getElementByType(androidDriver, FIND_ELEMENT_TYPE_ID, "com.smile.gifmaker:id/captcha_et");
-                    if (loginTitle != null && loginTitle.getText().equals("输入密码")) {
+                    if (loginTitle != null && "输入密码".equals(loginTitle.getText())) {
                         forgetBtn.click();
                         Thread.sleep(2000L);
                         WebElement sendMsgBtn = getElementByType(androidDriver, FIND_ELEMENT_TYPE_ID, "com.smile.gifmaker:id/verify_tv");
@@ -279,7 +279,7 @@ public class AppiumUtil {
                         nextBtn.click();
                         Thread.sleep(5000L);
                         WebElement pintu = getElementByType(androidDriver, FIND_ELEMENT_TYPE_ID, "com.smile.gifmaker:id/title_tv");
-                        if (pintu != null && pintu.getText().equals("拖动滑块")) {
+                        if (pintu != null && "拖动滑块".equals(pintu.getText())) {
                             WebElement leftBtn1 = getElementByType(androidDriver, FIND_ELEMENT_TYPE_ID, "com.smile.gifmaker:id/left_btn");
                             leftBtn1.click();
                             return;
@@ -287,7 +287,7 @@ public class AppiumUtil {
                         WebElement loginTitle = getElementByType(androidDriver, FIND_ELEMENT_TYPE_ID, "com.smile.gifmaker:id/login_title_tv");
                         WebElement forgetBtn = getElementByType(androidDriver, FIND_ELEMENT_TYPE_ID, "com.smile.gifmaker:id/forget_psd_btn");
                         WebElement captcha = getElementByType(androidDriver, FIND_ELEMENT_TYPE_ID, "com.smile.gifmaker:id/captcha_et");
-                        if (loginTitle != null && loginTitle.getText().equals("输入密码")) {
+                        if (loginTitle != null && "输入密码".equals(loginTitle.getText())) {
                             forgetBtn.click();
                             Thread.sleep(2000L);
                             WebElement sendMsgBtn = getElementByType(androidDriver, FIND_ELEMENT_TYPE_ID, "com.smile.gifmaker:id/verify_tv");
@@ -446,27 +446,27 @@ public class AppiumUtil {
             if (appiumTaskItem.getWaitTime() != null && appiumTaskItem.getWaitTime() > 0) {
                 Thread.sleep(appiumTaskItem.getWaitTime());
             }
-            if (appiumTaskItem.getLoopType() != null && appiumTaskItem.getLoopType().equals("noloop")) {
+            if (appiumTaskItem.getLoopType() != null && "noloop".equals(appiumTaskItem.getLoopType())) {
                 //非循环类型任务
                 if (appiumTaskItem.getFindType() != null) {
                     WebElement element;
                     //1:获取web元素
-                    if (appiumTaskItem.getFindType().equals("loop")) {
+                    if ("loop".equals(appiumTaskItem.getFindType())) {
                         element = loopElement;
                     } else {
                         element = getElementByType(androidDriver, appiumTaskItem.getFindType(), appiumTaskItem.getFindKey());
                     }
                     if (element != null) {
                         if (appiumTaskItem.getTextEqualType() != null) {
-                            if (appiumTaskItem.getTextEqualType().equals("eq")) {
+                            if ("eq".equals(appiumTaskItem.getTextEqualType())) {
                                 if (!element.getText().equals(appiumTaskItem.getTextEqualKey())) {
                                     return;
                                 }
-                            } else if (appiumTaskItem.getTextEqualType().equals("neq")) {
+                            } else if ("neq".equals(appiumTaskItem.getTextEqualType())) {
                                 if (element.getText() == null || element.getText().equals(appiumTaskItem.getTextEqualKey())) {
                                     return;
                                 }
-                            } else if (appiumTaskItem.getTextEqualType().equals("start")) {
+                            } else if ("start".equals(appiumTaskItem.getTextEqualType())) {
                                 boolean check = checkAdvertiser(androidDriver, appiumTaskItem.getTextEqualKey());
                                 if (!check) {
                                     backToMain(androidDriver);
@@ -476,9 +476,9 @@ public class AppiumUtil {
                             }
                         }
                         if (appiumTaskItem.getClickType() != null) {
-                            if (appiumTaskItem.getClickType().equals("element")) {
+                            if ("element".equals(appiumTaskItem.getClickType())) {
                                 element.click();
-                            } else if (appiumTaskItem.getClickType().equals("point")) {
+                            } else if ("point".equals(appiumTaskItem.getClickType())) {
                                 Point point = element.getLocation();
                                 tapPoint(androidDriver, point.getX() + appiumTaskItem.getOffsiteX(), point.getY() + appiumTaskItem.getOffsiteY());
                             }
@@ -491,7 +491,7 @@ public class AppiumUtil {
                         }
                     } else {
                         Thread.sleep(2000L);
-                        if (null != appiumTaskItem.getTextEqualType() && appiumTaskItem.getTextEqualType().equals("start")) {
+                        if (null != appiumTaskItem.getTextEqualType() && "start".equals(appiumTaskItem.getTextEqualType())) {
                             backToMain(androidDriver);
                             return;
                         }
@@ -504,7 +504,7 @@ public class AppiumUtil {
                             return;
                         }
                         //非必须执行情况下
-                        if (appiumTaskItem.getClickType() != null && appiumTaskItem.getClickType().equals("point")) {
+                        if (appiumTaskItem.getClickType() != null && "point".equals(appiumTaskItem.getClickType())) {
                             tapPoint(androidDriver, appiumTaskItem.getOffsiteX(), appiumTaskItem.getOffsiteY());
                         }
                     }
@@ -513,7 +513,7 @@ public class AppiumUtil {
                 if (appiumTaskItem.getSwapType() != null) {
                     swipeByType(androidDriver, appiumTaskItem.getSwapType());
                 }
-            } else if (appiumTaskItem.getLoopType() != null && appiumTaskItem.getLoopType().equals("loop")) {
+            } else if (appiumTaskItem.getLoopType() != null && "loop".equals(appiumTaskItem.getLoopType())) {
                 //循环任务
                 while (isLoop) {
                     System.out.println("loop:" + isLoop);

+ 2 - 1
module-crawler/src/main/java/cn/com/ctop/crawler/modules/core/util/FateadmUtil.java

@@ -195,7 +195,8 @@ public class FateadmUtil {
             // 查询余额
             FateadmHttpUtil.HttpResp resp;
             // resp = api.QueryBalc();   // 查询余额返回详细信息
-            double balance = api.QueryBalcExtend();    // 直接返回余额结果
+            // 直接返回余额结果
+            double balance = api.QueryBalcExtend();
 
             // 具体类型可以查看官方网站的价格页选择具体的类型,不清楚类型的,可以咨询客服
 //            String pred_type = "30400";

+ 6 - 2
module-crawler/src/main/java/cn/com/ctop/crawler/modules/core/util/KuaimiUtil.java

@@ -5,6 +5,10 @@ import cn.com.ctop.common.module.utils.HttpUtils;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+/**
+ * @author xuzuoyun
+ * 2019年11月12日10:04:00
+ */
 public class KuaimiUtil {
     public static final String KUAIMI_API_URL = "http://api.kmiyz.com/api/do.php";
 
@@ -63,9 +67,9 @@ public class KuaimiUtil {
         }
     }
 
+    private static Pattern NUMBER_PATTERN = Pattern.compile("\\d+");
     public static String getNumbers(String content) {
-        Pattern pattern = Pattern.compile("\\d+");
-        Matcher matcher = pattern.matcher(content);
+        Matcher matcher = NUMBER_PATTERN.matcher(content);
         while (matcher.find()) {
             return matcher.group(0);
         }

+ 3 - 229
module-crawler/src/main/java/cn/com/ctop/crawler/modules/log/controller/CrawlerLogController.java

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

+ 22 - 22
module-crawler/src/main/java/cn/com/ctop/crawler/modules/test/AppiumTest.java

@@ -258,34 +258,34 @@ public class AppiumTest {
             if (appiumTask.getWaitTime() != null && appiumTask.getWaitTime() > 0) {
                 Thread.sleep(appiumTask.getWaitTime());
             }
-            if (appiumTask.getLoopType() != null && appiumTask.getLoopType().equals("noloop")) {
+            if (appiumTask.getLoopType() != null && "noloop".equals(appiumTask.getLoopType())) {
                 if (appiumTask.getFindType() != null) {
                     WebElement element = null;
-                    if (appiumTask.getFindType().equals("id")) {
+                    if ("id".equals(appiumTask.getFindType())) {
                         element = getElementById(androidDriver, appiumTask.getFindKey());
-                    } else if (appiumTask.getFindType().equals("class")) {
+                    } else if ("class".equals(appiumTask.getFindType())) {
                         element = getElementByClass(androidDriver, appiumTask.getFindKey());
-                    } else if (appiumTask.getFindType().equals("xpath")) {
+                    } else if ("xpath".equals(appiumTask.getFindType())) {
                         element = getElementByXpath(androidDriver, appiumTask.getFindKey());
-                    } else if (appiumTask.getFindType().equals("loop")) {
+                    } else if ("loop".equals(appiumTask.getFindType())) {
                         element = loopElement;
                     }
                     if (element != null) {
                         if (appiumTask.getTextEqualType() != null) {
-                            if (appiumTask.getTextEqualType().equals("eq")) {
+                            if ("eq".equals(appiumTask.getTextEqualType())) {
                                 if (!element.getText().equals(appiumTask.getTextEqualKey())) {
                                     return;
                                 }
-                            } else if (appiumTask.getTextEqualType().equals("neq")) {
+                            } else if ("neq".equals(appiumTask.getTextEqualType())) {
                                 if (element.getText() == null || element.getText().equals(appiumTask.getTextEqualKey())) {
                                     return;
                                 }
                             }
                         }
                         if (appiumTask.getClickType() != null) {
-                            if (appiumTask.getClickType().equals("element")) {
+                            if ("element".equals(appiumTask.getClickType())) {
                                 element.click();
-                            } else if (appiumTask.getClickType().equals("point")) {
+                            } else if ("point".equals(appiumTask.getClickType())) {
                                 Point point = element.getLocation();
                                 tapPoint(androidDriver, point.getX() + appiumTask.getOffsiteX(), point.getY() + appiumTask.getOffsiteY());
                             }
@@ -304,32 +304,32 @@ public class AppiumTest {
                             runTask(androidDriver, appiumTask, element);
                             return;
                         }
-                        if (appiumTask.getClickType() != null && appiumTask.getClickType().equals("point")) {
+                        if (appiumTask.getClickType() != null && "point".equals(appiumTask.getClickType())) {
                             tapPoint(androidDriver, appiumTask.getOffsiteX(), appiumTask.getOffsiteY());
                         }
                     }
                 }
                 if (appiumTask.getSwapType() != null) {
-                    if (appiumTask.getSwapType().equals("up")) {
+                    if ("up".equals(appiumTask.getSwapType())) {
                         this.swipeToUp(androidDriver);
-                    } else if (appiumTask.getSwapType().equals("down")) {
+                    } else if ("down".equals(appiumTask.getSwapType())) {
                         this.swipeToDown(androidDriver);
-                    } else if (appiumTask.getSwapType().equals("left")) {
+                    } else if ("left".equals(appiumTask.getSwapType())) {
                         this.swipeToLeft(androidDriver);
-                    } else if (appiumTask.getSwapType().equals("right")) {
+                    } else if ("right".equals(appiumTask.getSwapType())) {
                         this.swipeToRight(androidDriver);
                     }
                 }
-            } else if (appiumTask.getLoopType() != null && appiumTask.getLoopType().equals("loop")) {
+            } else if (appiumTask.getLoopType() != null && "loop".equals(appiumTask.getLoopType())) {
                 while (isLoop) {
                     System.out.println("loop:" + isLoop);
                     if (appiumTask.getFindType() != null) {
                         List<WebElement> list = null;
-                        if (appiumTask.getFindType().equals("id")) {
+                        if ("id".equals(appiumTask.getFindType())) {
                             list = androidDriver.findElementsById(appiumTask.getFindKey());
-                        } else if (appiumTask.getFindType().equals("class")) {
+                        } else if ("class".equals(appiumTask.getFindType())) {
                             list = androidDriver.findElementsByClassName(appiumTask.getFindKey());
-                        } else if (appiumTask.getFindType().equals("xpath")) {
+                        } else if ("xpath".equals(appiumTask.getFindType())) {
                             list = androidDriver.findElementsByXPath(appiumTask.getFindKey());
                         }
                         if (list != null && list.size() > 0) {
@@ -350,13 +350,13 @@ public class AppiumTest {
                         }
                     }
                     if (appiumTask.getSwapType() != null) {
-                        if (appiumTask.getSwapType().equals("up")) {
+                        if ("up".equals(appiumTask.getSwapType())) {
                             this.swipeToUp(androidDriver);
-                        } else if (appiumTask.getSwapType().equals("down")) {
+                        } else if ("down".equals(appiumTask.getSwapType())) {
                             this.swipeToDown(androidDriver);
-                        } else if (appiumTask.getSwapType().equals("left")) {
+                        } else if ("left".equals(appiumTask.getSwapType())) {
                             this.swipeToLeft(androidDriver);
-                        } else if (appiumTask.getSwapType().equals("right")) {
+                        } else if ("right".equals(appiumTask.getSwapType())) {
                             this.swipeToRight(androidDriver);
                         }
                     }

+ 19 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/app/mapper/AppAdMapper.java

@@ -1,13 +1,31 @@
 package cn.com.ctop.kuaishou.modules.app.mapper;
 
-import cn.com.ctop.crawler.modules.account.entity.KuaishouAdAccount;
 import cn.com.ctop.kuaishou.modules.app.entity.AppAd;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
+/**
+ * @author yumeng
+ * 2019年11月12日10:04:00
+ */
 public interface AppAdMapper extends BaseMapper<AppAd> {
+    /**
+     * 查询信息
+     *
+     * @param userName
+     * @param industry
+     * @param company
+     * @param product
+     * @param start
+     * @param end
+     * @param orderByColumn
+     * @param orderByType
+     * @param pageStart
+     * @param pageSize
+     * @return
+     */
     public List<AppAd> queryAdFeeds(@Param("userName") String userName, @Param("industry") String industry, @Param("company") String company, @Param("product") String product, @Param("start") String start, @Param("end") String end, @Param("orderByColumn") String orderByColumn, @Param("orderByType") String orderByType, @Param("pageStart") Integer pageStart, @Param("pageSize") Integer pageSize);
 
 }

+ 15 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/app/service/IAppAdService.java

@@ -6,5 +6,20 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import java.util.List;
 
 public interface IAppAdService extends IService<AppAd> {
+    /**
+     * 条件查询
+     *
+     * @param userName
+     * @param industry
+     * @param company
+     * @param product
+     * @param start
+     * @param end
+     * @param orderByColumn
+     * @param orderByType
+     * @param pageStart
+     * @param pageSize
+     * @return
+     */
     public List<AppAd> queryAdFeeds(String userName, String industry, String company, String product, String start, String end, String orderByColumn, String orderByType, Integer pageStart, Integer pageSize);
 }

+ 4 - 2
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/app/service/impl/KuaishouAppServiceImpl.java

@@ -17,14 +17,16 @@ import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import org.jeecg.common.system.query.QueryGenerator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.io.IOException;
-import java.util.HashMap;
 import java.util.List;
 
+/**
+ * @author yumeng
+ * 2019年11月12日10:04:00
+ */
 @Service
 public class KuaishouAppServiceImpl implements IKuaishouAppService {
     @Autowired

+ 2 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouActionBarTextController.java

@@ -1,6 +1,7 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
 import cn.com.ctop.common.module.utils.Check;
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouActionBarText;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouCampaignCreate;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouActionBarTextService;
@@ -163,7 +164,7 @@ public class KuaiShouActionBarTextController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouActionBarTextService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouActionBarTextService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

+ 2 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouAdvertiserBaseInfoController.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouAdvertiserBaseInfo;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouAdvertiserBaseInfoService;
 import com.alibaba.fastjson.JSON;
@@ -151,7 +152,7 @@ public class KuaiShouAdvertiserBaseInfoController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouAdvertiserBaseInfoService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouAdvertiserBaseInfoService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

+ 2 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouAppCreateController.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouAppCreate;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouAppCreateService;
 import com.alibaba.fastjson.JSON;
@@ -152,7 +153,7 @@ public class KuaiShouAppCreateController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouAppCreateService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouAppCreateService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

+ 2 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouAppInfoController.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouAppInfo;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouAppInfoService;
 import com.alibaba.fastjson.JSON;
@@ -151,7 +152,7 @@ public class KuaiShouAppInfoController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouAppInfoService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouAppInfoService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

+ 2 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouAppListController.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouAppList;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouAppListService;
 import com.alibaba.fastjson.JSON;
@@ -151,7 +152,7 @@ public class KuaiShouAppListController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouAppListService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouAppListService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

+ 2 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouCampaignController.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouCampaign;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouCampaignService;
 import com.alibaba.fastjson.JSON;
@@ -151,7 +152,7 @@ public class KuaiShouCampaignController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouCampaignService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouCampaignService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

+ 2 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouCampaignCreateController.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouCampaignCreate;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouCampaignCreateService;
 import com.alibaba.fastjson.JSON;
@@ -151,7 +152,7 @@ public class KuaiShouCampaignCreateController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouCampaignCreateService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouCampaignCreateService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

+ 1 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouCampaignDayBudgetController.java

@@ -222,7 +222,7 @@ public class KuaiShouCampaignDayBudgetController {
         MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
         Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
         for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
-            MultipartFile file = entity.getValue();// 获取上传文件对象
+            MultipartFile file = entity.getValue();
             ImportParams params = new ImportParams();
             params.setTitleRows(2);
             params.setHeadRows(1);

+ 1 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouCampaignStatusController.java

@@ -222,7 +222,7 @@ public class KuaiShouCampaignStatusController {
         MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
         Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
         for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
-            MultipartFile file = entity.getValue();// 获取上传文件对象
+            MultipartFile file = entity.getValue();
             ImportParams params = new ImportParams();
             params.setTitleRows(2);
             params.setHeadRows(1);

+ 2 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouCampaignTemplateController.java

@@ -1,6 +1,7 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
 import cn.com.ctop.common.module.utils.Check;
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouCampaignTemplate;
 import cn.com.ctop.kuaishou.modules.batch.mapper.KuaiShouCampaignTemplateMapper;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouCampaignTemplateService;
@@ -185,7 +186,7 @@ public class KuaiShouCampaignTemplateController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouCampaignTemplateService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouCampaignTemplateService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

+ 8 - 4
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouController.java

@@ -16,6 +16,10 @@ import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 
+/**
+ * @author yumeng
+ * 2019年11月12日10:04:00
+ */
 @RestController
 @RequestMapping("/kuaishou")
 public class KuaiShouController {
@@ -202,28 +206,28 @@ public class KuaiShouController {
         if (null != type) {
             if (type == 1) {
                 //广告主
-                if (null != temporalGranularity && temporalGranularity.equals("hourly")) {
+                if (null != temporalGranularity && "hourly".equals(temporalGranularity)) {
                     result.put("data", kuaishouInterfaceService.getAccountHourlyReport(token.getAccessToken(), token.getAccountId(), startDate, endDate, 500, 1));
                 } else {
                     result.put("data", kuaishouInterfaceService.getAccountDailyReport(token.getAccessToken(), token.getAccountId(), startDate, endDate, 500, 1));
                 }
             } else if (type == 2) {
                 //广告组
-                if (null != temporalGranularity && temporalGranularity.equals("hourly")) {
+                if (null != temporalGranularity && "hourly".equals(temporalGranularity)) {
                     result.put("data", kuaishouInterfaceService.getGroupHourlyReport(token.getAccessToken(), token.getAccountId(), startDate, endDate, 500, 1));
                 } else {
                     result.put("data", kuaishouInterfaceService.getGroupDailyReport(token.getAccessToken(), token.getAccountId(), startDate, endDate, 500, 1));
                 }
             } else if (type == 3) {
                 //广告计划
-                if (null != temporalGranularity && temporalGranularity.equals("hourly")) {
+                if (null != temporalGranularity && "hourly".equals(temporalGranularity)) {
                     result.put("data", kuaishouInterfaceService.getCampaignHourlyReport(token.getAccessToken(), token.getAccountId(), startDate, endDate, 500, 1));
                 } else {
                     result.put("data", kuaishouInterfaceService.getCampaignDailyReport(token.getAccessToken(), token.getAccountId(), startDate, endDate, 500, 1));
                 }
             } else {
                 //广告创意
-                if (null != temporalGranularity && temporalGranularity.equals("hourly")) {
+                if (null != temporalGranularity && "hourly".equals(temporalGranularity)) {
                     result.put("data", kuaishouInterfaceService.getCreativeHourlyReport(token.getAccessToken(), token.getAccountId(), startDate, endDate, 500, 1));
                 } else {
                     result.put("data", kuaishouInterfaceService.getCreativeDailyReport(token.getAccessToken(), token.getAccountId(), startDate, endDate, 500, 1));

+ 3 - 2
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouConversionInfosController.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouConversionInfos;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouConversionInfosService;
 import com.alibaba.fastjson.JSON;
@@ -147,11 +148,11 @@ public class KuaiShouConversionInfosController {
     @ApiOperation(value = "快手-可选深度转化类型-批量删除", notes = "快手-可选深度转化类型-批量删除")
     @DeleteMapping(value = "/deleteBatch")
     public Result<KuaiShouConversionInfos> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
-        Result<KuaiShouConversionInfos> result = new Result<KuaiShouConversionInfos>();
+        Result<KuaiShouConversionInfos> result = new Result<>();
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouConversionInfosService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouConversionInfosService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

+ 7 - 6
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouConversionTypesController.java

@@ -3,6 +3,7 @@ package cn.com.ctop.kuaishou.modules.batch.controller;
 import cn.com.ctop.common.module.entity.CtopOauthToken;
 import cn.com.ctop.common.module.service.ICtopOauthTokenService;
 import cn.com.ctop.common.module.utils.Check;
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouConversionTypes;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouConversionTypesService;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaishouInterfaceService;
@@ -92,7 +93,7 @@ public class KuaiShouConversionTypesController {
                                                                 @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                                                 @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                                                 HttpServletRequest req) {
-        Result<IPage<KuaiShouConversionTypes>> result = new Result<IPage<KuaiShouConversionTypes>>();
+        Result<IPage<KuaiShouConversionTypes>> result = new Result<>();
         QueryWrapper<KuaiShouConversionTypes> queryWrapper = QueryGenerator.initQueryWrapper(kuaiShouConversionTypes, req.getParameterMap());
         Page<KuaiShouConversionTypes> page = new Page<KuaiShouConversionTypes>(pageNo, pageSize);
         IPage<KuaiShouConversionTypes> pageList = kuaiShouConversionTypesService.page(page, queryWrapper);
@@ -111,7 +112,7 @@ public class KuaiShouConversionTypesController {
     @ApiOperation(value = "快手-可选深度转化类型-详情-添加", notes = "快手-可选深度转化类型-详情-添加")
     @PostMapping(value = "/add")
     public Result<KuaiShouConversionTypes> add(@RequestBody KuaiShouConversionTypes kuaiShouConversionTypes) {
-        Result<KuaiShouConversionTypes> result = new Result<KuaiShouConversionTypes>();
+        Result<KuaiShouConversionTypes> result = new Result<>();
         try {
             kuaiShouConversionTypesService.save(kuaiShouConversionTypes);
             result.success("添加成功!");
@@ -132,7 +133,7 @@ public class KuaiShouConversionTypesController {
     @ApiOperation(value = "快手-可选深度转化类型-详情-编辑", notes = "快手-可选深度转化类型-详情-编辑")
     @PutMapping(value = "/edit")
     public Result<KuaiShouConversionTypes> edit(@RequestBody KuaiShouConversionTypes kuaiShouConversionTypes) {
-        Result<KuaiShouConversionTypes> result = new Result<KuaiShouConversionTypes>();
+        Result<KuaiShouConversionTypes> result = new Result<>();
         KuaiShouConversionTypes kuaiShouConversionTypesEntity = kuaiShouConversionTypesService.getById(kuaiShouConversionTypes.getId());
         if (kuaiShouConversionTypesEntity == null) {
             result.error500("未找到对应实体");
@@ -176,11 +177,11 @@ public class KuaiShouConversionTypesController {
     @ApiOperation(value = "快手-可选深度转化类型-详情-批量删除", notes = "快手-可选深度转化类型-详情-批量删除")
     @DeleteMapping(value = "/deleteBatch")
     public Result<KuaiShouConversionTypes> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
-        Result<KuaiShouConversionTypes> result = new Result<KuaiShouConversionTypes>();
+        Result<KuaiShouConversionTypes> result = new Result<>();
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouConversionTypesService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouConversionTypesService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;
@@ -196,7 +197,7 @@ public class KuaiShouConversionTypesController {
     @ApiOperation(value = "快手-可选深度转化类型-详情-通过id查询", notes = "快手-可选深度转化类型-详情-通过id查询")
     @GetMapping(value = "/queryById")
     public Result<KuaiShouConversionTypes> queryById(@RequestParam(name = "id", required = true) String id) {
-        Result<KuaiShouConversionTypes> result = new Result<KuaiShouConversionTypes>();
+        Result<KuaiShouConversionTypes> result = new Result<>();
         KuaiShouConversionTypes kuaiShouConversionTypes = kuaiShouConversionTypesService.getById(id);
         if (kuaiShouConversionTypes == null) {
             result.error500("未找到对应实体");

+ 3 - 2
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouCreateAppTemplateController.java

@@ -1,6 +1,7 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
 import cn.com.ctop.common.module.utils.Check;
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouCreateAppTemplate;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouCreateAppTemplateService;
 import com.alibaba.fastjson.JSON;
@@ -164,7 +165,7 @@ public class KuaiShouCreateAppTemplateController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouCreateAppTemplateService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouCreateAppTemplateService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;
@@ -180,7 +181,7 @@ public class KuaiShouCreateAppTemplateController {
     @ApiOperation(value = "创建应用-通过id查询", notes = "创建应用-通过id查询")
     @GetMapping(value = "/queryById")
     public Result<KuaiShouCreateAppTemplate> queryById(@RequestParam(name = "id", required = true) String id) {
-        Result<KuaiShouCreateAppTemplate> result = new Result<KuaiShouCreateAppTemplate>();
+        Result<KuaiShouCreateAppTemplate> result = new Result<>();
         KuaiShouCreateAppTemplate kuaiShouCreateAppTemplate = kuaiShouCreateAppTemplateService.getById(id);
         if (kuaiShouCreateAppTemplate == null) {
             result.error500("未找到对应实体");

+ 2 - 2
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouCreateController.java

@@ -28,7 +28,7 @@ public class KuaiShouCreateController {
      */
     @PostMapping("/createGroups")
     public Result<KuaiShouGroupCreateLog> createGroups(@RequestBody KuaiShouGroupCreateLog groupCreateTemplate) {
-        Result<KuaiShouGroupCreateLog> result = new Result<KuaiShouGroupCreateLog>();
+        Result<KuaiShouGroupCreateLog> result = new Result<>();
         Map<String, Object> map = kuaiShouCreateService.createGroups(groupCreateTemplate);
         if ((Integer) map.get("code") == 0) {
             result.setSuccess(true);
@@ -49,7 +49,7 @@ public class KuaiShouCreateController {
      */
     @PostMapping("/createCreative")
     public Result<KuaiShouGroupCreateLog> createCreative(@RequestBody JSONObject requestJson) {
-        Result<KuaiShouGroupCreateLog> result = new Result<KuaiShouGroupCreateLog>();
+        Result<KuaiShouGroupCreateLog> result = new Result<>();
         Map<String, Object> map = kuaiShouCreateService.createCreative(requestJson);
         if ((Integer) map.get("code") == 0) {
             result.setSuccess(true);

+ 3 - 2
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouCreativeController.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouCreative;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouCreativeService;
 import com.alibaba.fastjson.JSON;
@@ -147,11 +148,11 @@ public class KuaiShouCreativeController {
     @ApiOperation(value = "快手-创意信息-批量删除", notes = "快手-创意信息-批量删除")
     @DeleteMapping(value = "/deleteBatch")
     public Result<KuaiShouCreative> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
-        Result<KuaiShouCreative> result = new Result<KuaiShouCreative>();
+        Result<KuaiShouCreative> result = new Result<>();
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouCreativeService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouCreativeService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

+ 2 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouCreativeCreateController.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouCreativeCreate;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouCreativeCreateService;
 import com.alibaba.fastjson.JSON;
@@ -151,7 +152,7 @@ public class KuaiShouCreativeCreateController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouCreativeCreateService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouCreativeCreateService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

+ 4 - 3
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouGroupBidController.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouGroupBid;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouGroupBidService;
 import com.alibaba.fastjson.JSON;
@@ -147,11 +148,11 @@ public class KuaiShouGroupBidController {
     @ApiOperation(value = "快手修改广告组出价-批量删除", notes = "快手修改广告组出价-批量删除")
     @DeleteMapping(value = "/deleteBatch")
     public Result<KuaiShouGroupBid> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
-        Result<KuaiShouGroupBid> result = new Result<KuaiShouGroupBid>();
+        Result<KuaiShouGroupBid> result = new Result<>();
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouGroupBidService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouGroupBidService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;
@@ -222,7 +223,7 @@ public class KuaiShouGroupBidController {
         MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
         Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
         for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
-            MultipartFile file = entity.getValue();// 获取上传文件对象
+            MultipartFile file = entity.getValue();
             ImportParams params = new ImportParams();
             params.setTitleRows(2);
             params.setHeadRows(1);

+ 2 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouGroupController.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouGroup;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouGroupService;
 import com.alibaba.fastjson.JSON;
@@ -151,7 +152,7 @@ public class KuaiShouGroupController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouGroupService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouGroupService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

+ 2 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouGroupCreateLogController.java

@@ -1,6 +1,7 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
 import cn.com.ctop.common.module.utils.Check;
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouGroupCreateLog;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouGroupCreateLogService;
 import com.alibaba.fastjson.JSON;
@@ -192,7 +193,7 @@ public class KuaiShouGroupCreateLogController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouGroupCreateLogService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouGroupCreateLogService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

+ 2 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouGroupCreateTargetController.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouGroupCreateTarget;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouGroupCreateTargetService;
 import com.alibaba.fastjson.JSON;
@@ -151,7 +152,7 @@ public class KuaiShouGroupCreateTargetController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouGroupCreateTargetService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouGroupCreateTargetService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

+ 5 - 4
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouGroupDayBudgetController.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouGroupDayBudget;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouGroupDayBudgetService;
 import com.alibaba.fastjson.JSON;
@@ -147,11 +148,11 @@ public class KuaiShouGroupDayBudgetController {
     @ApiOperation(value = "快手 修改广告组预算-批量删除", notes = "快手 修改广告组预算-批量删除")
     @DeleteMapping(value = "/deleteBatch")
     public Result<KuaiShouGroupDayBudget> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
-        Result<KuaiShouGroupDayBudget> result = new Result<KuaiShouGroupDayBudget>();
+        Result<KuaiShouGroupDayBudget> result = new Result<>();
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouGroupDayBudgetService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouGroupDayBudgetService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;
@@ -167,7 +168,7 @@ public class KuaiShouGroupDayBudgetController {
     @ApiOperation(value = "快手 修改广告组预算-通过id查询", notes = "快手 修改广告组预算-通过id查询")
     @GetMapping(value = "/queryById")
     public Result<KuaiShouGroupDayBudget> queryById(@RequestParam(name = "id", required = true) String id) {
-        Result<KuaiShouGroupDayBudget> result = new Result<KuaiShouGroupDayBudget>();
+        Result<KuaiShouGroupDayBudget> result = new Result<>();
         KuaiShouGroupDayBudget kuaiShouGroupDayBudget = kuaiShouGroupDayBudgetService.getById(id);
         if (kuaiShouGroupDayBudget == null) {
             result.error500("未找到对应实体");
@@ -222,7 +223,7 @@ public class KuaiShouGroupDayBudgetController {
         MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
         Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
         for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
-            MultipartFile file = entity.getValue();// 获取上传文件对象
+            MultipartFile file = entity.getValue();
             ImportParams params = new ImportParams();
             params.setTitleRows(2);
             params.setHeadRows(1);

+ 2 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouImageController.java

@@ -1,6 +1,7 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
 import cn.com.ctop.common.module.utils.Check;
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouImage;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouImageService;
 import com.alibaba.fastjson.JSON;
@@ -175,7 +176,7 @@ public class KuaiShouImageController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouImageService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouImageService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

+ 2 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouImageGetController.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouImageGet;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouImageGetService;
 import com.alibaba.fastjson.JSON;
@@ -151,7 +152,7 @@ public class KuaiShouImageGetController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouImageGetService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouImageGetService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

+ 2 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouImageUploandController.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouImageUploand;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouImageUploandService;
 import com.alibaba.fastjson.JSON;
@@ -151,7 +152,7 @@ public class KuaiShouImageUploandController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouImageUploandService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouImageUploandService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

+ 2 - 2
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouRegionListChildrenController.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouRegionListChildren;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouRegionListChildrenService;
 import com.alibaba.fastjson.JSON;
@@ -109,7 +110,6 @@ public class KuaiShouRegionListChildrenController {
             result.error500("未找到对应实体");
         } else {
             boolean ok = kuaiShouRegionListChildrenService.updateById(kuaiShouRegionListChildren);
-            //TODO 返回false说明什么?
             if (ok) {
                 result.success("修改成功!");
             }
@@ -151,7 +151,7 @@ public class KuaiShouRegionListChildrenController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouRegionListChildrenService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouRegionListChildrenService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

+ 2 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouRegionListParentController.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouRegionListParent;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouRegionListParentService;
 import com.alibaba.fastjson.JSON;
@@ -151,7 +152,7 @@ public class KuaiShouRegionListParentController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouRegionListParentService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouRegionListParentService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

+ 0 - 17
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouReportController.java

@@ -34,10 +34,8 @@ public class KuaiShouReportController {
     @Autowired
     private IKuaishouInterfaceService kuaishouInterfaceService;
 
-
     @RequestMapping(value = "/historyData")
     public String queryPageList() throws ParseException {
-
         QueryWrapper<UserAllocation> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("media_id", 2);
         queryWrapper.groupBy("account_id");
@@ -57,7 +55,6 @@ public class KuaiShouReportController {
                     tokenQueryWrapper.last("limit 1");
                     CtopOauthToken ctopOauthToken = ctopOauthTokenMapper.selectOne(tokenQueryWrapper);
                     if (!Check.isNull(ctopOauthToken)) {
-                        //   String accessToken, Long advertiserId, String startDate, String endDate, int pageSize, int pageNum
                         String accessToken = ctopOauthToken.getAccessToken();
                         Long advertiserId = ctopOauthToken.getAccountId();
                         for (int i = 0; i < 6; i++) {
@@ -73,11 +70,8 @@ public class KuaiShouReportController {
                                 }
                                 kuaishouInterfaceService.getAccountDailyReport(accessToken, advertiserId, monthBefore, startDate, 500, 1);
                                 beginDate = monthBefore;
-
                             }
-
                         }
-
                         for (int i = 0; i < 7; i++) {
                             if (i == 0) {
                                 kuaishouInterfaceService.getAccountHourlyReport(accessToken, advertiserId, nowDate, nowDate, 500, 1);
@@ -87,22 +81,11 @@ public class KuaiShouReportController {
                                 kuaishouInterfaceService.getAccountHourlyReport(accessToken, advertiserId, hourAnotherDay, hourAnotherDay, 500, 1);
                                 hourDate = hourAnotherDay;
                             }
-
                         }
-
-
-
                     }
-
                 }
-
             }
         }
-
-
         return null;
-
-
     }
-
 }

+ 2 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouScheduleController.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouSchedule;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouScheduleService;
 import com.alibaba.fastjson.JSON;
@@ -151,7 +152,7 @@ public class KuaiShouScheduleController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouScheduleService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouScheduleService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

+ 2 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouVideoController.java

@@ -1,6 +1,7 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
 import cn.com.ctop.common.module.utils.Check;
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouVideo;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouImageService;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouVideoService;
@@ -206,7 +207,7 @@ public class KuaiShouVideoController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouVideoService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouVideoService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

+ 2 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouVideoGetController.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouVideoGet;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouVideoGetService;
 import com.alibaba.fastjson.JSON;
@@ -151,7 +152,7 @@ public class KuaiShouVideoGetController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouVideoGetService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouVideoGetService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

+ 2 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouVideoUploadController.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouVideoUpload;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouVideoUploadService;
 import com.alibaba.fastjson.JSON;
@@ -151,7 +152,7 @@ public class KuaiShouVideoUploadController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaiShouVideoUploadService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaiShouVideoUploadService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

+ 2 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaishouReportDailyCreativeStatisticController.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.report.entity.KuaishouReportDailyCreativeStatistic;
 import cn.com.ctop.kuaishou.modules.report.service.IKuaishouReportDailyCreativeStatisticService;
 import com.alibaba.fastjson.JSON;
@@ -151,7 +152,7 @@ public class KuaishouReportDailyCreativeStatisticController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            kuaishouReportDailyCreativeStatisticService.removeByIds(Arrays.asList(ids.split(",")));
+            kuaishouReportDailyCreativeStatisticService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

+ 2 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaishouReportHourlyCreativeStatisticController.java

@@ -1,5 +1,6 @@
 package cn.com.ctop.kuaishou.modules.batch.controller;
 
+import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.kuaishou.modules.report.entity.KuaishouReportHourlyCreativeStatistic;
 import cn.com.ctop.kuaishou.modules.report.service.IKuaishouReportHourlyCreativeStatisticService;
 import com.alibaba.fastjson.JSON;
@@ -151,7 +152,7 @@ public class KuaishouReportHourlyCreativeStatisticController {
         if (ids == null || "".equals(ids.trim())) {
             result.error500("参数不识别!");
         } else {
-            this.kuaishouReportHourlyCreativeStatisticService.removeByIds(Arrays.asList(ids.split(",")));
+            this.kuaishouReportHourlyCreativeStatisticService.removeByIds(Arrays.asList(ids.split(StringUtils.COMMA)));
             result.success("删除成功!");
         }
         return result;

+ 0 - 2
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/MaterialRefuseController.java

@@ -43,7 +43,6 @@ public class MaterialRefuseController {
             map.put("code", -1);
             e.printStackTrace();
         }
-
         return map;
     }
 
@@ -74,7 +73,6 @@ public class MaterialRefuseController {
             map.put("code", -1);
             map.put("message", "修改失败,返回为空");
             return map;
-
         }
 
         if ((Integer) creativeMap.get("code") != 0) {

+ 4 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/IKuaishouInterfaceService.java

@@ -13,6 +13,10 @@ import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
+/**
+ * @author yumeng
+ * 2019年11月12日11:08:52
+ */
 public interface IKuaishouInterfaceService {
     KuaishouResult<KuaishouReportHourlyAccount> getAccountHourlyReport(String accessToken, Long advertiserId, String startDate, String endDate, int pageSize, int pageNum);
 

+ 13 - 5
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/KuaiShouCreateServiceImpl.java

@@ -26,6 +26,10 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+/**
+ * @author yumeng
+ * 2019年11月12日10:04:00
+ */
 @Slf4j
 @Service
 public class KuaiShouCreateServiceImpl implements IKuaiShouCreateService {
@@ -123,7 +127,7 @@ public class KuaiShouCreateServiceImpl implements IKuaiShouCreateService {
                     groupJson.put("url_type", kuaiShouCampaignTemplate.getUrlType());
                 }
                 if (!Check.isNull(redundancyJson.getString("redirectUrl"))) {
-                    groupJson.put("url", redundancyJson.getString("redirectUrl"));// 是否页面重新输入 转换链接
+                    groupJson.put("url", redundancyJson.getString("redirectUrl"));
                 } else {
                     groupJson.put("url", kuaiShouCampaignTemplate.getUrl());
                 }
@@ -131,7 +135,8 @@ public class KuaiShouCreateServiceImpl implements IKuaiShouCreateService {
             // app推广
             if (type == 2) {
                 KuaiShouCreateAppTemplate appTemplate;
-                if (!Check.isNull(redundancyJson.getLong("appId"))) { // 是否重新选择应用进行创建
+                // 是否重新选择应用进行创建
+                if (!Check.isNull(redundancyJson.getLong("appId"))) {
                     appTemplate = createAppTemplateMapper.selectById(redundancyJson.getLong("appId"));
                 } else {
                     appTemplate = createAppTemplateMapper.selectById(kuaiShouCampaignTemplate.getAppId());
@@ -343,7 +348,8 @@ public class KuaiShouCreateServiceImpl implements IKuaiShouCreateService {
                     returnMap.put("message", "请选择上传的视频");
                     return returnMap;
                 }
-                Map<String, Object> videoMap = kuaishouInterfaceService.videoUpload(accountId, accessToken, videoUrl); // 上传视频到快手后台
+                // 上传视频到快手后台
+                Map<String, Object> videoMap = kuaishouInterfaceService.videoUpload(accountId, accessToken, videoUrl);
                 if ((Integer) videoMap.get("code") != 0) {
                     log.error("上传视频失败,accountId:{}", accountId);
                     return videoMap;
@@ -422,7 +428,8 @@ public class KuaiShouCreateServiceImpl implements IKuaiShouCreateService {
                         haveLocalVideoJson.put("description", requestJson.getString("description"));
                         haveLocalVideoJson.put("login_id", requestJson.getString("loginId"));
                         haveLocalVideoJson.put("videoType", requestJson.getString("creativeMaterialType"));
-                        String havaVideoUrl = videoService.localInsert(haveLocalVideoJson); // 校验文件是否在本地有留存记录
+                        // 校验文件是否在本地有留存记录
+                        String havaVideoUrl = videoService.localInsert(haveLocalVideoJson);
                         if (Check.isNull(havaVideoUrl)) {
                             log.error("创建创意视频为空,accountId:{}", accountId);
                             returnMap.put("code", -1);
@@ -431,7 +438,8 @@ public class KuaiShouCreateServiceImpl implements IKuaiShouCreateService {
                             return returnMap;
                         }
 
-                        Map<String, Object> videoMap = kuaishouInterfaceService.videoUpload(accountId, accessToken, havaVideoUrl); // 上传视频到快手后台
+                        // 上传视频到快手后台
+                        Map<String, Object> videoMap = kuaishouInterfaceService.videoUpload(accountId, accessToken, havaVideoUrl);
                         if ((Integer) videoMap.get("code") != 0) {
                             log.error("后贴片素材上传视频失败,accountId:{}", accountId);
                             return videoMap;

+ 12 - 4
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/KuaiShouUpdateServiceImpl.java

@@ -17,6 +17,10 @@ import org.springframework.stereotype.Service;
 import java.util.HashMap;
 import java.util.Map;
 
+/**
+ * @author yumeng
+ * 2019年11月12日10:04:00
+ */
 @Slf4j
 @Service
 public class KuaiShouUpdateServiceImpl implements IKuaiShouUpdateService {
@@ -57,7 +61,8 @@ public class KuaiShouUpdateServiceImpl implements IKuaiShouUpdateService {
                     queryWrapper.eq("campaign_id", campaignId);
                     queryWrapper.orderByDesc("create_time");
                     queryWrapper.last("limit 1");
-                    KuaiShouCampaign campaign = campaignMapper.selectOne(queryWrapper);// 查询本地记录信息
+                    // 查询本地记录信息
+                    KuaiShouCampaign campaign = campaignMapper.selectOne(queryWrapper);
                     KuaiShouCampaignDayBudget campaignDayBudget = new KuaiShouCampaignDayBudget();
                     campaignDayBudget.setAccountId(advertiserId);
                     campaignDayBudget.setCampaignId(campaignId);
@@ -142,7 +147,8 @@ public class KuaiShouUpdateServiceImpl implements IKuaiShouUpdateService {
                     if (i > 0) {
                         log.info("修改广告组预算本地记录添加成功,unitId:{}", unitId);
                     }
-                    interfaceService.getGroup(token, advertiserId, unitId); // 重新请求数据
+                    // 重新请求数据
+                    interfaceService.getGroup(token, advertiserId, unitId);
                     returnMap.put("code", 0);
                     returnMap.put("success", true);
                     returnMap.put("message", "修改成功");
@@ -214,7 +220,8 @@ public class KuaiShouUpdateServiceImpl implements IKuaiShouUpdateService {
                     if (i > 0) {
                         log.info("修改广告组出价本地记录添加成功,unitId:{}", unitId);
                     }
-                    interfaceService.getGroup(token, advertiserId, unitId); // 重新请求数据
+                    // 重新请求数据
+                    interfaceService.getGroup(token, advertiserId, unitId);
                 } else {
                     log.error("修改广告组出价失败,advertiserId:{},unitId:{},返回信息:{}", advertiserId, unitId, resultJson);
                     returnMap.put("code", -1);
@@ -273,7 +280,8 @@ public class KuaiShouUpdateServiceImpl implements IKuaiShouUpdateService {
                     queryWrapper.eq("accountId", advertiserId);
                     queryWrapper.orderByDesc("create_time");
                     queryWrapper.last("limit 1");
-                    KuaiShouCampaign campaign = campaignMapper.selectOne(queryWrapper);// 查询本地记录信息
+                    // 查询本地记录信息
+                    KuaiShouCampaign campaign = campaignMapper.selectOne(queryWrapper);
 
                     KuaiShouCampaignStatus campaignStatus = new KuaiShouCampaignStatus();
                     campaignStatus.setAccountId(advertiserId);

+ 0 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/KuaishouInterfaceServiceImpl.java


部分文件因为文件数量过多而无法显示