浏览代码

Merge branch 'master' of http://git.tjyourong.com.cn/ctop/adsp-boot

yumeng 4 年之前
父节点
当前提交
1ed5f5e375
共有 100 个文件被更改,包括 1503 次插入349 次删除
  1. 8 8
      jeecg-boot-base-common/src/main/java/org/jeecg/common/util/PasswordUtil.java
  2. 1 1
      jeecg-boot-base-common/src/main/java/org/jeecg/common/util/db/DataSourceCachePool.java
  3. 4 4
      jeecg-boot-base-common/src/main/java/org/jeecg/common/util/oConvertUtils.java
  4. 3 1
      jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/service/Impl/ActNodeServiceImpl.java
  5. 3 3
      jeecg-boot-module-system/src/main/java/org/jeecg/config/mybatis/MybatisInterceptor.java
  6. 42 24
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/append/xd_schedule/service/impl/XdScheduleServiceImpl.java
  7. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ActFormPorcessController.java
  8. 12 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ActorController.java
  9. 5 5
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/AdvertiserController.java
  10. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BindAccountLoginController.java
  11. 23 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceMusicInfoController.java
  12. 16 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceMusicTypeController.java
  13. 0 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/DictMusicTypeController.java
  14. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/MaterialInfoController.java
  15. 2 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ProjectTransferRecordController.java
  16. 12 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/PropController.java
  17. 2 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/UserAllocationController.java
  18. 19 5
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/YardController.java
  19. 12 12
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/ImageReportDailyServiceImpl.java
  20. 2 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/MediaReportServiceImpl.java
  21. 6 6
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/ProjectMemberServiceImpl.java
  22. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/ReleaseViewRecordServiceImpl.java
  23. 6 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/performance/entity/PerformanceQuarter.java
  24. 6 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/performance/service/impl/CalculatePerformanceServiceImpl.java
  25. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/performance/service/impl/PerformanceInfoInfoServiceImpl.java
  26. 11 10
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/performance/service/impl/PerformanceQuarterServiceImpl.java
  27. 2 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/aspect/DictAspect.java
  28. 2 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/LoginController.java
  29. 6 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/rule/OrgCodeRule.java
  30. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/wps/controller/WpsFileController.java
  31. 2 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/wps/service/impl/WpsFileVersionServiceImpl.java
  32. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/wps/service/impl/WpsFileWatermarkServiceImpl.java
  33. 2 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/wps/service/impl/WpsUserAclServiceImpl.java
  34. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/wps/util/SignatureUtil.java
  35. 39 11
      jeecg-boot-module-system/src/test/java/org/jeecg/SampleTest.java
  36. 5 0
      module-alarm/pom.xml
  37. 36 13
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/controller/AlarmEventRuleController.java
  38. 2 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/entity/AlarmEventMetric.java
  39. 24 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/entity/AlarmEventRule.java
  40. 4 2
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/entity/AlarmEventSend.java
  41. 2 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/AlarmEventMetricMapper.java
  42. 7 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/AlarmEventRuleMapper.java
  43. 6 1
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/xml/AlarmEventMetricMapper.xml
  44. 45 1
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/xml/AlarmEventRuleMapper.xml
  45. 9 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/IAlarmEventRuleService.java
  46. 263 5
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/impl/AlarmEventRuleServiceImpl.java
  47. 6 2
      module-common/src/main/java/cn/com/ctop/common/module/entity/SysCompany.java
  48. 11 0
      module-common/src/main/java/cn/com/ctop/common/module/service/IMessageTemplate.java
  49. 1 1
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/BindAccountLoginServiceImpl.java
  50. 1 1
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/CtopOauthTokenServiceImpl.java
  51. 1 1
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/FileInfoServiceImpl.java
  52. 4 4
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/MaterialInfoServiceImpl.java
  53. 11 0
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/MessageTemplateImpl.java
  54. 1 1
      module-common/src/main/java/cn/com/ctop/common/module/service/impl/RefreshTokenServiceImpl.java
  55. 4 4
      module-common/src/main/java/cn/com/ctop/common/module/utils/CloudVideoProcessUtil.java
  56. 1 1
      module-common/src/main/java/cn/com/ctop/common/module/utils/ParseInstallPackageUtil.java
  57. 4 38
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/music/entity/BytedanceMusicInfo.java
  58. 1 1
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/music/mapper/xml/DictMusicTypeMapper.xml
  59. 2 1
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/music/service/impl/DictMusicTypeServiceImpl.java
  60. 2 2
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/oceanengine/service/impl/EffectCaseServiceImpl.java
  61. 3 3
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/pangolin/service/impl/PangolinReportAppHourServiceImpl.java
  62. 1 1
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/pangolin/service/impl/PangolinReportBillMonthServiceImpl.java
  63. 1 1
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/pangolin/service/impl/PangolinReportChannelDailyServiceImpl.java
  64. 1 1
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/taobao/service/impl/TaobaoJhsbybtServiceImpl.java
  65. 3 3
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/taobao/service/impl/TaobaoTttmServiceImpl.java
  66. 2 2
      module-ctop/src/main/java/cn/com/ctop/manage/modules/edu/service/impl/EduLessonServiceImpl.java
  67. 1 1
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceEffectVideoJob.java
  68. 8 8
      module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceMonitoringLinksCheckJob.java
  69. 6 0
      module-job-kuaishou/pom.xml
  70. 27 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaiShouAlarmRuleHourlyCheckJob.java
  71. 27 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaiShouAlarmRuleMinuteCheckJob.java
  72. 26 0
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaiShouCostGroupJob.java
  73. 2 2
      module-job-kuaishou/src/main/resources/application-prod.yml
  74. 0 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouController.java
  75. 2 2
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/KuaiShouVideoGetController.java
  76. 4 4
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/BatchServiceImpl.java
  77. 1 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/KuaiShouUpdateServiceImpl.java
  78. 3 2
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/KuaishouInterfaceServiceImpl.java
  79. 109 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/controller/KsNewPlanReportCtrl.java
  80. 3 3
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/controller/KsVideoReportCtrl.java
  81. 91 60
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/entity/KuaishouCostGroup.java
  82. 22 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/KsNewPlanReportMapper.java
  83. 4 3
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/KuaishouCostGroupMapper.java
  84. 279 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/xml/KsNewPlanReportMapper.xml
  85. 23 22
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/xml/KuaishouCostGroupMapper.xml
  86. 4 4
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/xml/KuaishouReportDailyImageMapper.xml
  87. 19 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/IKsNewPlanReportService.java
  88. 1 2
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/IKuaishouCostGroupService.java
  89. 62 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/impl/KsNewPlanReportServiceImpl.java
  90. 1 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/impl/KuaiShouAccountReportServiceImpl.java
  91. 43 5
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/impl/KuaishouCostGroupServiceImpl.java
  92. 1 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/utils/LinkUtils.java
  93. 0 1
      module-oa/src/main/java/cn/com/ctop/oa/modules/controller/WechatNoListController.java
  94. 2 2
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/adlab/controller/CtopAdlabProjectDetailController.java
  95. 2 2
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/adlab/service/impl/CreateProjectServiceImpl.java
  96. 1 1
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/batch/service/impl/BytedanceIndustryInfoServiceImpl.java
  97. 2 2
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/controller/ByteDanceAdvertisePlanController.java
  98. 2 2
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/controller/ByteDanceCampaignController.java
  99. 5 5
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/controller/ByteDanceCreativeController.java
  100. 0 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/service/impl/ByteDanceAdvertisePlanServiceImpl.java

+ 8 - 8
jeecg-boot-base-common/src/main/java/org/jeecg/common/util/PasswordUtil.java

@@ -27,7 +27,7 @@ public class PasswordUtil {
 
 	/**
 	 * 获取加密算法中使用的盐值,解密中使用的盐值必须与加密中使用的相同才能完成操作. 盐长度必须为8字节
-	 * 
+	 *
 	 * @return byte[] 盐值
 	 * */
 	public static byte[] getSalt() throws Exception {
@@ -44,7 +44,7 @@ public class PasswordUtil {
 
 	/**
 	 * 根据PBE密码生成一把密钥
-	 * 
+	 *
 	 * @param password
 	 *            生成密钥时所使用的密码
 	 * @return Key PBE算法密钥
@@ -69,7 +69,7 @@ public class PasswordUtil {
 
 	/**
 	 * 加密明文字符串
-	 * 
+	 *
 	 * @param plaintext
 	 *            待加密的明文字符串
 	 * @param password
@@ -98,7 +98,7 @@ public class PasswordUtil {
 
 	/**
 	 * 解密密文字符串
-	 * 
+	 *
 	 * @param ciphertext
 	 *            待解密的密文字符串
 	 * @param password
@@ -129,7 +129,7 @@ public class PasswordUtil {
 
 	/**
 	 * 将字节数组转换为十六进制字符串
-	 * 
+	 *
 	 * @param src
 	 *            字节数组
 	 * @return
@@ -152,13 +152,13 @@ public class PasswordUtil {
 
 	/**
 	 * 将十六进制字符串转换为字节数组
-	 * 
+	 *
 	 * @param hexString
 	 *            十六进制字符串
 	 * @return
 	 */
 	public static byte[] hexStringToBytes(String hexString) {
-		if (hexString == null || hexString.equals("")) {
+		if (hexString == null || "".equals(hexString)) {
 			return null;
 		}
 		hexString = hexString.toUpperCase();
@@ -177,4 +177,4 @@ public class PasswordUtil {
 	}
 
 
-}
+}

+ 1 - 1
jeecg-boot-base-common/src/main/java/org/jeecg/common/util/db/DataSourceCachePool.java

@@ -19,7 +19,7 @@ public class DataSourceCachePool {
     private static Map<String, DruidDataSource> dbSources = new HashMap<>();
     private static RedisTemplate<String, Object> redisTemplate;
 
-    private static RedisTemplate<String, Object> getRedisTemplate() {
+    public static RedisTemplate<String, Object> getRedisTemplate() {
         if (redisTemplate == null) {
             redisTemplate = (RedisTemplate<String, Object>) SpringContextUtils.getBean("redisTemplate");
         }

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

@@ -38,7 +38,7 @@ public class oConvertUtils {
 	}
 
 	public static boolean isNotEmpty(Object object) {
-		if (object != null && !object.equals("") && !object.equals("null")) {
+		if (object != null && !"".equals(object) && !"null".equals(object)) {
 			return (true);
 		}
 		return (false);
@@ -63,7 +63,7 @@ public class oConvertUtils {
 
 	private static String code2code(String strIn, String sourceCode, String targetCode) {
 		String strOut = null;
-		if (strIn == null || (strIn.trim()).equals("")) {
+		if (strIn == null || "".equals(strIn.trim())) {
 			return strIn;
 		}
 		try {
@@ -390,7 +390,7 @@ public class oConvertUtils {
 		long bEnd = getIpNum("172.31.255.255");
 		long cBegin = getIpNum("192.168.0.0");
 		long cEnd = getIpNum("192.168.255.255");
-		isInnerIp = isInner(ipNum, aBegin, aEnd) || isInner(ipNum, bBegin, bEnd) || isInner(ipNum, cBegin, cEnd) || ipAddress.equals("127.0.0.1");
+		isInnerIp = isInner(ipNum, aBegin, aEnd) || isInner(ipNum, bBegin, bEnd) || isInner(ipNum, cBegin, cEnd) || "127.0.0.1".equals(ipAddress);
 		return isInnerIp;
 	}
 
@@ -461,7 +461,7 @@ public class oConvertUtils {
 	 * @return 转换后的驼峰式命名的字符串
 	 */
 	public static String camelNames(String names) {
-		if(names==null||names.equals("")){
+		if(names==null|| "".equals(names)){
 			return null;
 		}
 		StringBuffer sf = new StringBuffer();

+ 3 - 1
jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/service/Impl/ActNodeServiceImpl.java

@@ -31,7 +31,9 @@ public class ActNodeServiceImpl extends ServiceImpl<ActNodeMapper, ActNode> impl
 
     public List<LoginUser> findUserByNodeId(String nodeId) {
         List<LoginUser> users = this.baseMapper.findUserByNodeId(nodeId);
-        if (users.size()==0) users = Lists.newArrayList();
+        if (users.size()==0){
+            users = Lists.newArrayList();
+        }
         return users;
     }
 

+ 3 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/config/mybatis/MybatisInterceptor.java

@@ -48,7 +48,7 @@ public class MybatisInterceptor implements Interceptor {
 						field.setAccessible(true);
 						Object local_createBy = field.get(parameter);
 						field.setAccessible(false);
-						if (local_createBy == null || local_createBy.equals("")) {
+						if (local_createBy == null || "".equals(local_createBy)) {
 							if (sysUser != null) {
 								// 登录人账号
 								field.setAccessible(true);
@@ -62,7 +62,7 @@ public class MybatisInterceptor implements Interceptor {
 						field.setAccessible(true);
 						Object local_createDate = field.get(parameter);
 						field.setAccessible(false);
-						if (local_createDate == null || local_createDate.equals("")) {
+						if (local_createDate == null || "".equals(local_createDate)) {
 							field.setAccessible(true);
 							field.set(parameter, new Date());
 							field.setAccessible(false);
@@ -73,7 +73,7 @@ public class MybatisInterceptor implements Interceptor {
 						field.setAccessible(true);
 						Object local_sysOrgCode = field.get(parameter);
 						field.setAccessible(false);
-						if (local_sysOrgCode == null || local_sysOrgCode.equals("")) {
+						if (local_sysOrgCode == null || "".equals(local_sysOrgCode)) {
 							// 获取登录用户信息
 							if (sysUser != null) {
 								field.setAccessible(true);

+ 42 - 24
jeecg-boot-module-system/src/main/java/org/jeecg/modules/append/xd_schedule/service/impl/XdScheduleServiceImpl.java

@@ -34,16 +34,17 @@ public class XdScheduleServiceImpl extends ServiceImpl<XdScheduleMapper, XdSched
     @Autowired
     RedisUtil redisUtil;
     /**单例 缓存,避免多次重复查*/
-    private List<XdSchedule> ScheduleList;
+    private List<XdSchedule> scheduleList;
     /**有效期*/
-    private Date ScheduleListDate = new Date();
+    private Date scheduleListDate = new Date();
 
     public List<XdSchedule> getDays() {
-        if (CollectionUtil.isEmpty(ScheduleList)||ScheduleListDate.getTime()<new Date().getTime()){
-            ScheduleList = this.list(new QueryWrapper<XdSchedule>().orderByAsc("day"));
-            ScheduleListDate = DateUtils.getDate(new Date().getTime()+60*1000);//缓存一分
+        if (CollectionUtil.isEmpty(scheduleList)||scheduleListDate.getTime()<System.currentTimeMillis()){
+            scheduleList = this.list(new QueryWrapper<XdSchedule>().orderByAsc("day"));
+            //缓存一分
+            scheduleListDate = DateUtils.getDate(System.currentTimeMillis()+60*1000);
         }
-        return this.ScheduleList;
+        return this.scheduleList;
     }
 
     /**
@@ -53,7 +54,7 @@ public class XdScheduleServiceImpl extends ServiceImpl<XdScheduleMapper, XdSched
      */
     public List<XdSchedule> getDays(String weeknum) {
         getDays();
-        List<XdSchedule> weekFilter = ScheduleList.stream().filter(o -> StrUtil.equals(o.getWeeknum().intValue() + "", weeknum)).collect(Collectors.toList());
+        List<XdSchedule> weekFilter = scheduleList.stream().filter(o -> StrUtil.equals(o.getWeeknum().intValue() + "", weeknum)).collect(Collectors.toList());
         return weekFilter;
     }
     /**
@@ -62,9 +63,9 @@ public class XdScheduleServiceImpl extends ServiceImpl<XdScheduleMapper, XdSched
     public List<XdSchedule> getDays(Integer yyyyMM) {
         getDays();
         if (yyyyMM==null){
-            return ScheduleList;
+            return scheduleList;
         }
-       return ScheduleList.stream().filter(d->{
+       return scheduleList.stream().filter(d->{
             String formatDate = DateUtils.formatDate(d.getDay(),"yyyyMM");
             return formatDate.equals(yyyyMM+"");
         }).collect(Collectors.toList());
@@ -108,33 +109,49 @@ public class XdScheduleServiceImpl extends ServiceImpl<XdScheduleMapper, XdSched
 
 
         //生成该年的数据信息
-        int year = Convert.toInt(yyyy);//定义一个字段,接收输入的年份
-        Calendar calendar = new GregorianCalendar();//定义一个日历,变量作为年初
-        Calendar calendarEnd = new GregorianCalendar();//定义一个日历,变量作为年末
+        //定义一个字段,接收输入的年份
+        int year = Convert.toInt(yyyy);
+        //定义一个日历,变量作为年初
+        Calendar calendar = new GregorianCalendar();
+        //定义一个日历,变量作为年末
+        Calendar calendarEnd = new GregorianCalendar();
         calendar.set(Calendar.YEAR, year);
         calendar.set(Calendar.MONTH, 0);
-        calendar.set(Calendar.DAY_OF_MONTH, 1);//设置年初的日期为1月1日
+        //设置年初的日期为1月1日
+        calendar.set(Calendar.DAY_OF_MONTH, 1);
         calendarEnd.set(Calendar.YEAR, year);
         calendarEnd.set(Calendar.MONTH, 11);
-        calendarEnd.set(Calendar.DAY_OF_MONTH, 31);//设置年末的日期为12月31日
+        //设置年末的日期为12月31日
+        calendarEnd.set(Calendar.DAY_OF_MONTH, 31);
 
         SimpleDateFormat sf = new SimpleDateFormat("yyyyMMdd");
         ArrayList<XdSchedule> addDays = Lists.newArrayList();
-        while(calendar.getTime().getTime()<=calendarEnd.getTime().getTime()){//用一整年的日期循环
+        //用一整年的日期循环
+        while(calendar.getTime().getTime()<=calendarEnd.getTime().getTime()){
             Date date = calendar.getTime();
             String format = sf.format(date);
 
-            int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR);//第几周
-            int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);//第几天
-            int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);//一周中第几周
-            int month = calendar.get(Calendar.MONTH)+1;//月份
+            //第几周
+            int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR);
+            //第几天
+            int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);
+            //一周中第几周
+            int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
+            //月份
+            int month = calendar.get(Calendar.MONTH)+1;
             //是否工作日
-            boolean isworking = dayOfWeek!=1&&dayOfWeek!=7;//周末休息
+            //周末休息
+            boolean isworking = dayOfWeek!=1&&dayOfWeek!=7;
             if (StrUtil.isNotBlank(body)){
                 Integer dayType = apiData.getInteger(format);
-                if (dayType!=null){ //1法定调休,2法定放假
-                    if (dayType==1) isworking = true;
-                    if (dayType==2) isworking = false;
+                //1法定调休,2法定放假
+                if (dayType!=null){
+                    if (dayType==1){
+                        isworking = true;
+                    }
+                    if (dayType==2){
+                        isworking = false;
+                    }
                 }
             }
             String weekNum;
@@ -175,7 +192,8 @@ public class XdScheduleServiceImpl extends ServiceImpl<XdScheduleMapper, XdSched
             xdSchedule.setIsworking(isworking?"1":"0");
             addDays.add(xdSchedule);
 
-            calendar.add(Calendar.DAY_OF_MONTH, 1);//日期+1
+            //日期+1
+            calendar.add(Calendar.DAY_OF_MONTH, 1);
         }
         this.remove(new LambdaQueryWrapper<XdSchedule>().likeRight(XdSchedule::getYear,year));
         this.saveBatch(addDays);

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

@@ -59,7 +59,7 @@ public class ActFormPorcessController {
 	@PostMapping("bindProcess")
 	public Map<String,Object>bindProcess(Long formId,String processId){
 		Map<String,Object>result = new HashMap<>();
-		if(null == formId||formId == 0||null == processId||processId.trim().equals("")){
+		if(null == formId||formId == 0||null == processId|| "".equals(processId.trim())){
 			ResultMapUtils.setResultMap(result, StatusCode.COMMON_PARAM_ERROR);
 			return result;
 		}

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

@@ -63,6 +63,7 @@ public class ActorController {
                                               HttpServletRequest req) {
         Result<IPage<Actor>> result = new Result<>();
         QueryWrapper<Actor> queryWrapper = QueryGenerator.initQueryWrapper(actor, req.getParameterMap());
+        queryWrapper.orderByDesc("create_time");
         Page<Actor> page = new Page<>(pageNo, pageSize);
         IPage<Actor> pageList = actorService.page(page, queryWrapper);
         result.setSuccess(true);
@@ -274,4 +275,15 @@ public class ActorController {
         }
         return result;
     }
+
+    @DeleteMapping(value = "/delete")
+    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
+        try {
+            actorService.removeById(id);
+        } catch (Exception e) {
+            log.error("删除失败",e.getMessage());
+            return Result.error("删除失败!");
+        }
+        return Result.ok("删除成功!");
+    }
 }

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

@@ -426,34 +426,34 @@ public class AdvertiserController {
         HttpUtils.setResponseHeader(response, "快手效果报表" + date + ".xlsx");
         ExcelWriter excelWriter = EasyExcelFactory.getWriter(outputStream);
         String type = dto.getType();
-        if (null != type && type.trim().equals("project")) {
+        if (null != type && "project".equals(type.trim())) {
             SheetInfoVo projectSheetVo = this.getProjectSheetVo(dto, "项目报表");
             Sheet sheet = new Sheet(1, 0, EffecfReportProjectEntity.class);
             sheet.setSheetName(projectSheetVo.getSheetName());
             excelWriter.write(projectSheetVo.getDetails(), sheet);
         }
-        if (null != type && type.trim().equals("account")) {
+        if (null != type && "account".equals(type.trim())) {
             SheetInfoVo accountSheetVo = this.getAccountSheetVo(dto, "账户报表");
             Sheet sheet = new Sheet(1, 0, EffecfReportAccountEntity.class);
             sheet.setSheetName(accountSheetVo.getSheetName());
             excelWriter.write(accountSheetVo.getDetails(), sheet);
         }
 
-        if (null != type && type.trim().equals("campaign")) {
+        if (null != type && "campaign".equals(type.trim())) {
             SheetInfoVo planSheetVo = this.getPlanSheetVo(dto, "广告计划报表");
             Sheet sheet = new Sheet(1, 0, EffecfReportPlanEntity.class);
             sheet.setSheetName(planSheetVo.getSheetName());
             excelWriter.write(planSheetVo.getDetails(), sheet);
         }
 
-        if (null != type && type.trim().equals("group")) {
+        if (null != type && "group".equals(type.trim())) {
             SheetInfoVo campaignSheetVo = this.getGroupSheetVo(dto, "广告组报表");
             Sheet sheet = new Sheet(1, 0, EffecfReportGroupEntity.class);
             sheet.setSheetName(campaignSheetVo.getSheetName());
             excelWriter.write(campaignSheetVo.getDetails(), sheet);
         }
 
-        if (null != type && type.trim().equals("creative")) {
+        if (null != type && "creative".equals(type.trim())) {
             SheetInfoVo creativeSheetVo = this.getCreativeSheetVo(dto, "广告创意");
             Sheet sheet = new Sheet(1, 0, EffecfReportCreativeEntity.class);
             sheet.setSheetName(creativeSheetVo.getSheetName());

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

@@ -138,7 +138,7 @@ public class BindAccountLoginController {
         }
         LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         String roleCode = sysRoleService.getRoleCodeByUserId(user.getId());
-        if(!roleCode.equals("admin")){
+        if(!"admin".equals(roleCode)){
             queryWrapper.eq("user_id", user.getId());
         }
         queryWrapper.orderByDesc("id");

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

@@ -1,5 +1,7 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.utils.ResultMapUtils;
+import cn.com.ctop.common.module.utils.StatusCode;
 import cn.com.ctop.crawler.modules.music.entity.BytedanceMusicInfo;
 import cn.com.ctop.crawler.modules.music.service.IBytedanceMusicInfoService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -15,8 +17,10 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
 
- /**
+/**
  * 音乐信息
  * @author jeecg-boot
  * @date   2020-10-28
@@ -30,6 +34,24 @@ public class BytedanceMusicInfoController {
 	@Autowired
 	private IBytedanceMusicInfoService bytedanceMusicInfoService;
 
+	 @GetMapping(value = "/downLoad")
+	 public Map<String,Object> downLoad(Long id) {
+		Map<String,Object>result = new HashMap<>();
+		if(null == id||id == 0){
+			ResultMapUtils.setResultMap(result, StatusCode.COMMON_PARAM_ERROR);
+			return result;
+		}
+		BytedanceMusicInfo musicInfo = bytedanceMusicInfoService.getById(id);
+		if(null == musicInfo){
+			ResultMapUtils.setResultMap(result, StatusCode.COMMON_PARAM_ERROR);
+			return result;
+		}
+		musicInfo.setDownloadNum(musicInfo.getDownloadNum()+1);
+		bytedanceMusicInfoService.updateById(musicInfo);
+		ResultMapUtils.setResultMap(result,StatusCode.COMMON_SUCCESS);
+		return result;
+	 }
+
 	/**
 	  * 分页列表查询
 	 * @param bytedanceMusicInfo

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

@@ -41,16 +41,30 @@ public class BytedanceMusicTypeController {
 	 * @param req
 	 * @return
 	 */
-	@GetMapping(value = "/list")
+	@PostMapping(value = "/list")
 	public Result<IPage<BytedanceMusicType>> queryPageList(BytedanceMusicType bytedanceMusicType,
 														   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
 														   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
 														   HttpServletRequest req) {
 		String typeValue = bytedanceMusicType.getTypeValue();
+		String author = bytedanceMusicType.getAuthor();
+		String musicName = bytedanceMusicType.getMusicName();
 		bytedanceMusicType.setTypeValue(null);
+		bytedanceMusicType.setAuthor(null);
+		bytedanceMusicType.setMusicName(null);
 		Result<IPage<BytedanceMusicType>> result = new Result<>();
 		QueryWrapper<BytedanceMusicType> queryWrapper = QueryGenerator.initQueryWrapper(bytedanceMusicType, req.getParameterMap());
-		queryWrapper.like("type_value",typeValue);
+		if(null!=typeValue&&!"".equals(typeValue.trim())){
+			queryWrapper.like("type_value",typeValue);
+		}else {
+			queryWrapper.select("DISTINCT music_id");
+		}
+		if(null!=author&&!"".equals(author.trim())){
+			queryWrapper.like("author",author);
+		}
+		if(null!=musicName&&!"".equals(musicName.trim())){
+			queryWrapper.like("music_name",musicName);
+		}
 		Page<BytedanceMusicType> page = new Page<>(pageNo, pageSize);
 		IPage<BytedanceMusicType> pageList = bytedanceMusicTypeService.page(page, queryWrapper);
 		List<BytedanceMusicType> records = pageList.getRecords();

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

@@ -57,7 +57,6 @@ public class DictMusicTypeController {
 
 	/**
 	  *   添加
-	 * @param dict_music_type
 	 * @return
 	 */
 	@PostMapping(value = "/add")

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

@@ -350,7 +350,7 @@ public class MaterialInfoController {
         List<Long> projectIds = null;
         String userId = user.getId();
         String roleCode = roleService.getRoleCodeByUserId(userId);
-        if (null == tagCode || tagCode.trim().equals("")) {
+        if (null == tagCode || "".equals(tagCode.trim())) {
             tagCode = null;
         }
         if (CtopRoleCodeConstant.COMMON_ROLE_CODE_ADMIN.equals(roleCode) || "operator".equals(roleCode) || "kuaishouOperationManager".equals(roleCode) || "operationAssistant".equals(roleCode) || "touTiaoOperationManager".equals(roleCode) || roleCode.contains("sale")) {

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

@@ -65,7 +65,7 @@ public class ProjectTransferRecordController {
         QueryWrapper<ProjectTransferRecord> queryWrapper = QueryGenerator.initQueryWrapper(projectTransferRecord, req.getParameterMap());
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         String rodeCode = sysRoleService.getRoleCodeByUserId(sysUser.getId());
-        if (null != rodeCode && rodeCode.trim().equals("admin")) {
+        if (null != rodeCode && "admin".equals(rodeCode.trim())) {
             queryWrapper.eq("user_id", sysUser.getId());
         }
         queryWrapper.ne("status", 0);
@@ -100,7 +100,7 @@ public class ProjectTransferRecordController {
         QueryWrapper<ProjectTransferRecord> queryWrapper = QueryGenerator.initQueryWrapper(projectTransferRecord, req.getParameterMap());
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         String rodeCode = sysRoleService.getRoleCodeByUserId(sysUser.getId());
-        if (null != rodeCode && !rodeCode.trim().equals("admin")) {
+        if (null != rodeCode && !"admin".equals(rodeCode.trim())) {
             queryWrapper.eq("reviewer_id", sysUser.getId());
         }
         queryWrapper.ne("status", 0);

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

@@ -37,6 +37,17 @@ public class PropController {
         return result;
     }
 
+    @DeleteMapping(value = "/delete")
+    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
+        try {
+            propService.removeById(id);
+        } catch (Exception e) {
+            log.error("删除失败",e.getMessage());
+            return Result.error("删除失败!");
+        }
+        return Result.ok("删除成功!");
+    }
+
     /**
      * 分页列表查询
      *
@@ -53,6 +64,7 @@ public class PropController {
                                               HttpServletRequest req) {
         Result<IPage<Prop>> result = new Result<>();
         QueryWrapper<Prop> queryWrapper = QueryGenerator.initQueryWrapper(prop, req.getParameterMap());
+        queryWrapper.orderByDesc("create_time");
         Page<Prop> page = new Page<>(pageNo, pageSize);
         IPage<Prop> pageList = propService.page(page, queryWrapper);
 

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

@@ -220,7 +220,7 @@ public class UserAllocationController {
             }
 
             String authName = null;
-            if (mediaId.equals("2") || mediaId.equals("4")) {
+            if ("2".equals(mediaId) || "4".equals(mediaId)) {
                 Map<String, Object> advertiseBaseInfoMap = kuaishouInterfaceService.advertiserInfo(accountId, oauthToken.getAccessToken());
                 Integer code = (Integer) advertiseBaseInfoMap.get("code");
                 if (code != 0) {
@@ -228,7 +228,7 @@ public class UserAllocationController {
 
                 }
                 authName = (String) advertiseBaseInfoMap.get("userName");
-            } else if (mediaId.equals("1") || mediaId.equals("3")) {
+            } else if ("1".equals(mediaId) || "3".equals(mediaId)) {
                 Map<String, Object> advertiserDataMap = advertiserDataService.getAdvertiserInfo(String.valueOf(accountId), oauthToken.getAccessToken());
                 Integer code = (Integer) advertiserDataMap.get("code");
                 if (code != 0) {

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

@@ -4,7 +4,10 @@ import cn.com.ctop.manage.modules.actor.entity.Yard;
 import cn.com.ctop.manage.modules.actor.entity.YardComment;
 import cn.com.ctop.manage.modules.actor.entity.YardPhoto;
 import cn.com.ctop.manage.modules.actor.entity.YardVideo;
-import cn.com.ctop.manage.modules.actor.service.*;
+import cn.com.ctop.manage.modules.actor.service.IYardCommentService;
+import cn.com.ctop.manage.modules.actor.service.IYardPhotoService;
+import cn.com.ctop.manage.modules.actor.service.IYardService;
+import cn.com.ctop.manage.modules.actor.service.IYardVideoService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -15,7 +18,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
-import java.io.File;
 
 /**
  * @author yumeng
@@ -28,8 +30,6 @@ public class YardController {
     @Autowired
     private IYardPhotoService yardPhotoService;
     @Autowired
-    private IYardSchedulerService yardSchedulerService;
-    @Autowired
     private IYardService yardService;
     @Autowired
     private IYardVideoService yardVideoService;
@@ -79,8 +79,9 @@ public class YardController {
                                              @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                              @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                              HttpServletRequest req) {
-        Result<IPage<Yard>> result = new Result<IPage<Yard>>();
+        Result<IPage<Yard>> result = new Result<>();
         QueryWrapper<Yard> queryWrapper = QueryGenerator.initQueryWrapper(yard, req.getParameterMap());
+        queryWrapper.orderByDesc("create_time");
         Page<Yard> page = new Page<Yard>(pageNo, pageSize);
         IPage<Yard> pageList = yardService.page(page, queryWrapper);
 
@@ -217,4 +218,17 @@ public class YardController {
         result.setResult(pageList);
         return result;
     }
+
+    @DeleteMapping(value = "/delete")
+    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
+        try {
+            yardService.removeById(id);
+        } catch (Exception e) {
+            log.error("删除失败",e.getMessage());
+            return Result.error("删除失败!");
+        }
+        return Result.ok("删除成功!");
+    }
+
+
 }

+ 12 - 12
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/ImageReportDailyServiceImpl.java

@@ -32,11 +32,11 @@ public class ImageReportDailyServiceImpl implements IImageReportDailyService {
     public Map<String,Object> bytedanceImageCost(JSONObject data) {
         Map<String,Object>result = new HashMap<>();
         String startDate = data.getString("startDate");
-        if(null == startDate||startDate.trim().equals("")){
+        if(null == startDate|| "".equals(startDate.trim())){
             startDate = null;
         }
         String endDate = data.getString("endDate");
-        if(null == endDate||endDate.trim().equals("")){
+        if(null == endDate|| "".equals(endDate.trim())){
             endDate = null;
         }
         JSONArray accountList = data.getJSONArray("accountList");
@@ -44,7 +44,7 @@ public class ImageReportDailyServiceImpl implements IImageReportDailyService {
             accountList = null;
         }
         String code = data.getString("code");
-        if(null == code||code.trim().equals("")){
+        if(null == code|| "".equals(code.trim())){
             code = null;
         }
         Integer pageSize = data.getInteger("pageSize");
@@ -67,11 +67,11 @@ public class ImageReportDailyServiceImpl implements IImageReportDailyService {
     public SheetInfoVo getbytedanceImageCostVo(JSONObject data) {
         SheetInfoVo sheetInfoVo = new SheetInfoVo<BytedanceImageCostVOEntity>();
         String startDate = data.getString("startDate");
-        if(null == startDate||startDate.trim().equals("")){
+        if(null == startDate|| "".equals(startDate.trim())){
             startDate = null;
         }
         String endDate = data.getString("endDate");
-        if(null == endDate||endDate.trim().equals("")){
+        if(null == endDate|| "".equals(endDate.trim())){
             endDate = null;
         }
         JSONArray accountList = data.getJSONArray("accountList");
@@ -79,7 +79,7 @@ public class ImageReportDailyServiceImpl implements IImageReportDailyService {
             accountList = null;
         }
         String code = data.getString("code");
-        if(null == code||code.trim().equals("")){
+        if(null == code|| "".equals(code.trim())){
             code = null;
         }
         List<BytedanceImageCostVOEntity>details = bytedanceReportMaterialDailyMapper.bytedanceImageCostEntity(startDate,endDate,accountList,code);
@@ -91,11 +91,11 @@ public class ImageReportDailyServiceImpl implements IImageReportDailyService {
     public Map<String, Object> kuaishouImageCost(JSONObject data) {
         Map<String,Object>result = new HashMap<>();
         String startDate = data.getString("startDate");
-        if(null == startDate||startDate.trim().equals("")){
+        if(null == startDate|| "".equals(startDate.trim())){
             startDate = null;
         }
         String endDate = data.getString("endDate");
-        if(null == endDate||endDate.trim().equals("")){
+        if(null == endDate|| "".equals(endDate.trim())){
             endDate = null;
         }
         JSONArray accountList = data.getJSONArray("accountList");
@@ -103,7 +103,7 @@ public class ImageReportDailyServiceImpl implements IImageReportDailyService {
             accountList = null;
         }
         String code = data.getString("code");
-        if(null == code||code.trim().equals("")){
+        if(null == code|| "".equals(code.trim())){
             code = null;
         }
         Integer pageSize = data.getInteger("pageSize");
@@ -126,11 +126,11 @@ public class ImageReportDailyServiceImpl implements IImageReportDailyService {
     public SheetInfoVo getkuaishouImageCostVo(JSONObject data) {
         SheetInfoVo sheetInfoVo = new SheetInfoVo<KuaishouImageCostVOEntity>();
         String startDate = data.getString("startDate");
-        if(null == startDate||startDate.trim().equals("")){
+        if(null == startDate|| "".equals(startDate.trim())){
             startDate = null;
         }
         String endDate = data.getString("endDate");
-        if(null == endDate||endDate.trim().equals("")){
+        if(null == endDate|| "".equals(endDate.trim())){
             endDate = null;
         }
         JSONArray accountList = data.getJSONArray("accountList");
@@ -138,7 +138,7 @@ public class ImageReportDailyServiceImpl implements IImageReportDailyService {
             accountList = null;
         }
         String code = data.getString("code");
-        if(null == code||code.trim().equals("")){
+        if(null == code|| "".equals(code.trim())){
             code = null;
         }
         sheetInfoVo.setSheetName("快手图片消耗统计");

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

@@ -38,7 +38,7 @@ public class MediaReportServiceImpl implements IMediaReportService {
     @Override
     public PageInfo<JSONObject> queryReportByCondition(int pageNO, int pageSize, JSONObject requestBody) {
         PageInfo<JSONObject> pageInfo;
-        if(requestBody.getString("companyId").equals("6weq589875c040119adst08751712368")){
+        if("6weq589875c040119adst08751712368".equals(requestBody.getString("companyId"))){
             pageInfo=getAgentReportByCondition(pageNO,pageSize,requestBody);
         }else {
             pageInfo=getMediaReportByCondition(pageNO,pageSize,requestBody);
@@ -65,7 +65,7 @@ public class MediaReportServiceImpl implements IMediaReportService {
     @Override
     public List<JSONObject> queryReportByCondition(JSONObject requestBody) {
         List<JSONObject> list;
-        if(requestBody.getString("companyId").equals("6weq589875c040119adst08751712368")){
+        if("6weq589875c040119adst08751712368".equals(requestBody.getString("companyId"))){
             list=getAgentReportListByCondition(requestBody);
         }else {
             list=getMediaReportListByCondition(requestBody);

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

@@ -84,13 +84,13 @@ public class ProjectMemberServiceImpl extends ServiceImpl<ProjectMemberMapper, P
 
         //角色权限判断
         List<ProjectMember> projectMemberList = null;
-        if (roleCode.equals("plan") || roleCode.equals("clip") || roleCode.equals("shot") || roleCode.equals("plane") || roleCode.equals("planeLeader")) {
+        if ("plan".equals(roleCode) || "clip".equals(roleCode) || "shot".equals(roleCode) || "plane".equals(roleCode) || "planeLeader".equals(roleCode)) {
             projectMemberList = memberMapper.designProjects(userId, mediaIds);
-        } else if (roleCode.equals("designTeamLeader")) {
+        } else if ("designTeamLeader".equals(roleCode)) {
             projectMemberList = memberMapper.designLeaderProjects(companyId, mediaIds);
-        } else if (roleCode.equals("admin")) {
+        } else if ("admin".equals(roleCode)) {
             projectMemberList = memberMapper.adminProjects(mediaIds);
-        } else if (roleCode.equals("operator") || roleCode.equals("operationAssistant") || roleCode.equals("touTiaoOperationManager")) {
+        } else if ("operator".equals(roleCode) || "operationAssistant".equals(roleCode) || "touTiaoOperationManager".equals(roleCode)) {
             projectMemberList = memberMapper.designProjects(userId, mediaIds);
         } else {
             //如果以上角色都不是的话直接查询此角色所属项目
@@ -177,7 +177,7 @@ public class ProjectMemberServiceImpl extends ServiceImpl<ProjectMemberMapper, P
 
         //角色权限判断
         List<ProjectMember> projectMemberList = null;
-        if (roleCode.equals("admin")) {
+        if ("admin".equals(roleCode)) {
             projectMemberList = memberMapper.adminProjects(mediaIds);
         } else {
             //如果以上角色都不是的话直接查询此角色所属项目
@@ -216,7 +216,7 @@ public class ProjectMemberServiceImpl extends ServiceImpl<ProjectMemberMapper, P
 
         //角色权限判断
         List<ProjectMember> projectMemberList = null;
-        if (roleCode.equals("admin")) {
+        if ("admin".equals(roleCode)) {
             projectMemberList = memberMapper.adminProjects(mediaIds);
         } else {
             //如果以上角色都不是的话直接查询此角色所属项目

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

@@ -68,7 +68,7 @@ public class ReleaseViewRecordServiceImpl extends ServiceImpl<ReleaseViewRecordM
 
     public ReleaseViewRecord getRecordByParams(String userId,Long releaseId){
         QueryWrapper<ReleaseViewRecord> queryWrapper = new QueryWrapper<>();
-        if(null!=userId&&!userId.trim().equals("")){
+        if(null!=userId&&!"".equals(userId.trim())){
             queryWrapper.eq("user_id",userId);
         }
         if(null!=releaseId&&releaseId!=0){

+ 6 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/performance/entity/PerformanceQuarter.java

@@ -92,8 +92,12 @@ public class PerformanceQuarter {
 
     @Override
     public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
+        if (this == o){
+            return true;
+        }
+        if (o == null || getClass() != o.getClass()){
+            return false;
+        }
         PerformanceQuarter that = (PerformanceQuarter) o;
         return Objects.equals(id, that.id) &&
                 Objects.equals(userId, that.userId) &&

+ 6 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/performance/service/impl/CalculatePerformanceServiceImpl.java

@@ -30,8 +30,12 @@ public class CalculatePerformanceServiceImpl implements ICalculatePerformanceSer
     public void CalculateOperatePerformance(int year, String quarter, int mediaType) {
         //TODO 查询配置的提成点
         BigDecimal point =new BigDecimal(0);
-        if (mediaType == 1) point = RateConstant.THOUSAND_2;
-        if (mediaType == 2) point = RateConstant.THOUSAND_3;
+        if (mediaType == 1) {
+            point = RateConstant.THOUSAND_2;
+        }
+        if (mediaType == 2){
+            point = RateConstant.THOUSAND_3;
+        }
         String startDate= year+"-"+ PeriodConstant.valueOf(quarter).getStart();
         String endDate= year+"-"+PeriodConstant.valueOf(quarter).getEnd();
         List<JSONObject> operateCost = calculatePerformanceMapper.queryOperateCostGroupByUser(startDate, endDate, mediaType);

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/performance/service/impl/PerformanceInfoInfoServiceImpl.java

@@ -60,7 +60,7 @@ public class PerformanceInfoInfoServiceImpl implements IPerformanceInfoService {
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         String userId = sysUser.getId();
         Map<String,Object> role=sysUserService.queryRoleCode(userId);
-        if(role.get("roleName").equals("管理员")){
+        if("管理员".equals(role.get("roleName"))){
             result=sysCompanyService.list();
         }else {
             String companyId=projectMemberMapper.getCompanyIdByUserId(userId);

+ 11 - 10
jeecg-boot-module-system/src/main/java/org/jeecg/modules/performance/service/impl/PerformanceQuarterServiceImpl.java

@@ -48,10 +48,10 @@ public class PerformanceQuarterServiceImpl extends ServiceImpl<PerformanceQuarte
         String[] columns={"user_id","user_name","company_name","role_name","media_type","year","quarter","cost","point","performance","additional_fees"};
         quarterWrapper.select(columns);
         Map<String,Object> map = new HashMap<>(10);
-        if(!requestBody.getString("company").equals("")) {
+        if(!"".equals(requestBody.getString("company"))) {
             map.put("company_id",requestBody.getString("company"));
         }
-        if(!requestBody.getString("department").equals("")) {
+        if(!"".equals(requestBody.getString("department"))) {
             map.put("department",requestBody.getString("department"));
         }
         if(requestBody.getInteger("mediaType")!=0) {
@@ -60,10 +60,10 @@ public class PerformanceQuarterServiceImpl extends ServiceImpl<PerformanceQuarte
         if(requestBody.getInteger("year")!=0) {
             map.put("year",requestBody.getInteger("year"));
         }
-        if(!requestBody.getString("quarter").equals("")) {
+        if(!"".equals(requestBody.getString("quarter"))) {
             map.put("quarter",requestBody.getString("quarter"));
         }
-        if(!requestBody.getString("roleCode").equals("")) {
+        if(!"".equals(requestBody.getString("roleCode"))) {
             map.put("role_code",requestBody.getString("roleCode"));
         }
         quarterWrapper.allEq(map);
@@ -77,10 +77,10 @@ public class PerformanceQuarterServiceImpl extends ServiceImpl<PerformanceQuarte
         String[] columns={"user_id","user_name","company_name","department","role_name","media_type","year","quarter","cost","point","performance","additional_fees"};
         quarterWrapper.select(columns);
         Map<String,Object> map = new HashMap<>(16);
-        if(!requestBody.getString("company").equals("")) {
+        if(!"".equals(requestBody.getString("company"))) {
             map.put("company_id",requestBody.getString("company"));
         }
-        if(!requestBody.getString("department").equals("")) {
+        if(!"".equals(requestBody.getString("department"))) {
             map.put("department",requestBody.getString("department"));
         }
         if(requestBody.getInteger("mediaType")!=0) {
@@ -89,18 +89,19 @@ public class PerformanceQuarterServiceImpl extends ServiceImpl<PerformanceQuarte
         if(requestBody.getInteger("year")!=0) {
             map.put("year",requestBody.getInteger("year"));
         }
-        if(!requestBody.getString("quarter").equals("")) {
+        if(!"".equals(requestBody.getString("quarter"))) {
             map.put("quarter",requestBody.getString("quarter"));
         }
-        if(!requestBody.getString("roleCode").equals("")) {
+        if(!"".equals(requestBody.getString("roleCode"))) {
             map.put("role_code",requestBody.getString("roleCode"));
         }
         quarterWrapper.allEq(map);
         quarterWrapper.like("user_name",requestBody.getString("userName"));
-        if(order.equals("asc"))
+        if("asc".equals(order)){
             quarterWrapper.orderByAsc("cost");
-        else
+        } else{
             quarterWrapper.orderByDesc("cost");
+        }
         PageHelper.startPage(pageNo,pageSize);
         List<PerformanceQuarter> maps = performanceQuarterMapper.selectList(quarterWrapper);
         return (PageInfo<PerformanceQuarter>) new PageInfo(maps);

+ 2 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/aspect/DictAspect.java

@@ -104,11 +104,11 @@ public class DictAspect {
                             String text = field.getAnnotation(Dict.class).dicText();
                             String table = field.getAnnotation(Dict.class).dictTable();
                             String extendsKey = field.getAnnotation(Dict.class).extendsKey();
-                            if(extendsKey.trim().equals("")){
+                            if("".equals(extendsKey.trim())){
                                 extendsKey = null;
                             }
                             String extendsValue = field.getAnnotation(Dict.class).extendsValue();
-                            if(extendsValue.trim().equals("")){
+                            if("".equals(extendsValue.trim())){
                                 extendsValue = null;
                             }
                             String key = String.valueOf(item.get(field.getName()));

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

@@ -97,7 +97,7 @@ public class LoginController {
         Result<JSONObject> result = new Result<>();
         //1:根据code值获取用户飞书信息
         try {
-            if(code.trim().equals("code")){
+            if("code".equals(code.trim())){
                 JSONObject setData = new JSONObject();
                 String url = AuthProvider.getAuthUrl("");
                 setData.put("url",url);
@@ -113,7 +113,7 @@ public class LoginController {
             JSONObject userData = AuthProvider.getUserInfo(accessToken);
             JSONObject dataObject = userData.getJSONObject("data");
             String email = dataObject.getString("email");
-            if(null == email||email.trim().equals("")){
+            if(null == email|| "".equals(email.trim())){
                 return result.error500(StatusCode.CTOP_FEISHU_EMAIL_NOT_EXIST.getDesc());
             }
             SysUser sysUser = sysUserService.getUserByEmail(email);

+ 6 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/rule/OrgCodeRule.java

@@ -38,11 +38,15 @@ public class OrgCodeRule implements IFillRuleHandler {
         String parentId = null;
         if (formData != null && formData.size() > 0) {
             Object obj = formData.get("parentId");
-            if (obj != null) parentId = obj.toString();
+            if (obj != null){
+                parentId = obj.toString();
+            }
         } else {
             if (params != null) {
                 Object obj = params.get("parentId");
-                if (obj != null) parentId = obj.toString();
+                if (obj != null) {
+                    parentId = obj.toString();
+                }
             }
         }
 

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/wps/controller/WpsFileController.java

@@ -78,7 +78,7 @@ public class WpsFileController {
 		wpsFile.setName(null);
 		Result<IPage<WpsFile>> result = new Result<>();
 		QueryWrapper<WpsFile> queryWrapper = QueryGenerator.initQueryWrapper(wpsFile, req.getParameterMap());
-		if(null!=name&&!name.trim().equals("")){
+		if(null!=name&&!"".equals(name.trim())){
 			queryWrapper.like("name",name);
 		}
 		LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();

+ 2 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/wps/service/impl/WpsFileVersionServiceImpl.java

@@ -21,7 +21,7 @@ public class WpsFileVersionServiceImpl extends ServiceImpl<WpsFileVersionMapper,
     @Override
     public WpsFileVersion findByFileIdAndVersion(String fileId, Integer version) {
         QueryWrapper<WpsFileVersion>queryWrapper = new QueryWrapper<>();
-        if(null!=fileId&&!fileId.trim().equals("")){
+        if(null!=fileId&&!"".equals(fileId.trim())){
             queryWrapper.eq("file_id",fileId);
         }
         if(null!=version&&version!=0){
@@ -34,7 +34,7 @@ public class WpsFileVersionServiceImpl extends ServiceImpl<WpsFileVersionMapper,
     @Override
     public List<WpsFileVersion> findByFileIdOrderByVersionDesc(String fileId) {
         QueryWrapper<WpsFileVersion>queryWrapper = new QueryWrapper<>();
-        if(null!=fileId&&fileId.trim().equals("")){
+        if(null!=fileId&& "".equals(fileId.trim())){
             queryWrapper.eq("file_id",fileId);
         }
         queryWrapper.orderByDesc("version");

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/wps/service/impl/WpsFileWatermarkServiceImpl.java

@@ -19,7 +19,7 @@ public class WpsFileWatermarkServiceImpl extends ServiceImpl<WpsFileWatermarkMap
     @Override
     public WpsFileWatermark findFirstByFileId(String fileId) {
         QueryWrapper<WpsFileWatermark>queryWrapper = new QueryWrapper<>();
-        if(null!=fileId&&!fileId.trim().equals("")){
+        if(null!=fileId&&!"".equals(fileId.trim())){
             queryWrapper.eq("file_id",fileId);
         }
         queryWrapper.orderByDesc("id").last("limit 1");

+ 2 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/wps/service/impl/WpsUserAclServiceImpl.java

@@ -18,10 +18,10 @@ public class WpsUserAclServiceImpl extends ServiceImpl<WpsUserAclMapper, WpsUser
     @Override
     public WpsUserAcl findFirstByFileIdAndUserId(String fileId, String userId) {
         QueryWrapper<WpsUserAcl> queryWrapper = new QueryWrapper<>();
-        if(null!=fileId&&!fileId.trim().equals("")){
+        if(null!=fileId&&!"".equals(fileId.trim())){
             queryWrapper.eq("file_id",fileId);
         }
-        if(null!=userId&&!userId.trim().equals("")){
+        if(null!=userId&&!"".equals(userId.trim())){
             queryWrapper.eq("user_id",userId);
         }
         queryWrapper.last("limit 1");

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/wps/util/SignatureUtil.java

@@ -38,7 +38,7 @@ public class SignatureUtil {
         // 构造签名的源字符串
         StringBuilder contents = new StringBuilder();
         for (String key : keys) {
-            if (key.equals("_w_signature")) {
+            if ("_w_signature".equals(key)) {
                 continue;
             }
             contents.append(key).append("=").append(params.get(key));

文件差异内容过多而无法显示
+ 39 - 11
jeecg-boot-module-system/src/test/java/org/jeecg/SampleTest.java


+ 5 - 0
module-alarm/pom.xml

@@ -24,6 +24,11 @@
             <artifactId>module-common</artifactId>
             <version>2.0.2</version>
         </dependency>
+        <dependency>
+            <groupId>cn.com.ctop</groupId>
+            <artifactId>module-kuaishou</artifactId>
+            <version>2.0.2</version>
+        </dependency>
 
     </dependencies>
 

+ 36 - 13
module-alarm/src/main/java/cn/com/ctop/alarm/modules/controller/AlarmEventRuleController.java

@@ -6,8 +6,8 @@ import cn.com.ctop.common.module.annotation.AutoLog;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -68,14 +68,37 @@ public class AlarmEventRuleController {
     @AutoLog(value = "预警事件规则表-分页列表查询")
     @ApiOperation(value = "预警事件规则表-分页列表查询", notes = "预警事件规则表-分页列表查询")
     @GetMapping(value = "/list")
-    public Result<IPage<AlarmEventRule>> queryPageList(AlarmEventRule alarmEventRule,
-                                                       @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                                       @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                                       HttpServletRequest req) {
-        Result<IPage<AlarmEventRule>> result = new Result<>();
-        QueryWrapper<AlarmEventRule> queryWrapper = QueryGenerator.initQueryWrapper(alarmEventRule, req.getParameterMap());
-        Page<AlarmEventRule> page = new Page<AlarmEventRule>(pageNo, pageSize);
-        IPage<AlarmEventRule> pageList = alarmEventRuleService.page(page, queryWrapper);
+    public Result<PageInfo<AlarmEventRule>> queryPageList(AlarmEventRule alarmEventRule,
+                                                          @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                          @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                          HttpServletRequest req) {
+        Result<PageInfo<AlarmEventRule>> result = new Result<>();
+        PageHelper.startPage(pageNo, pageSize);
+        PageInfo<AlarmEventRule> pageList = alarmEventRuleService.selectListPage(alarmEventRule);
+        result.setSuccess(true);
+        result.setResult(pageList);
+        return result;
+    }
+
+    /**
+     * 分页列表查询
+     *
+     * @param alarmEventRule
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "获取规则运行记录数据-分页列表查询")
+    @ApiOperation(value = "获取规则运行记录数据-分页列表查询", notes = "获取规则运行记录数据-分页列表查询")
+    @GetMapping(value = "/getRunningRecords")
+    public Result<PageInfo<AlarmEventRule>> getRunningRecord(AlarmEventRule alarmEventRule,
+                                                             @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                             @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                             HttpServletRequest req) {
+        Result<PageInfo<AlarmEventRule>> result = new Result<>();
+        PageHelper.startPage(pageNo, pageSize);
+        PageInfo<AlarmEventRule> pageList = alarmEventRuleService.queryRunningRecordPage(alarmEventRule);
         result.setSuccess(true);
         result.setResult(pageList);
         return result;
@@ -131,10 +154,10 @@ public class AlarmEventRuleController {
      */
     @AutoLog(value = "预警事件规则表-通过id删除")
     @ApiOperation(value = "预警事件规则表-通过id删除", notes = "预警事件规则表-通过id删除")
-    @DeleteMapping(value = "/delete")
-    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
+    @GetMapping(value = "/delete")
+    public Result<?> delete(String id) {
         try {
-            alarmEventRuleService.removeById(id);
+            alarmEventRuleService.deleteById(id);
         } catch (Exception e) {
             log.error("删除失败", e.getMessage());
             return Result.error("删除失败!");

+ 2 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/entity/AlarmEventMetric.java

@@ -46,6 +46,8 @@ public class AlarmEventMetric {
     @Excel(name = "指标标识", width = 15)
     @ApiModelProperty(value = "指标标识")
     private String metricValueCode;
+
+    private String metricValueName;
     /**
      * 判断方式 > >= < <= =
      */

+ 24 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/entity/AlarmEventRule.java

@@ -98,4 +98,28 @@ public class AlarmEventRule {
     @TableField(exist = false)
     private List<AlarmEventMetric> alarmEventMetrics;
 
+    private String createrId;
+
+    @TableField(exist = false)
+    private String createrName;
+
+    @TableField(exist = false)
+    private String userId;
+
+    @TableField(exist = false)
+    private String accountName;
+
+    @TableField(exist = false)
+    private String UserName;
+
+    @TableField(exist = false)
+    private Date runningTime;
+
+    @TableField(exist = false)
+    private String alarmCondition;
+
+    private String metricValueCode;
+
+    private String metricValueName;
+
 }

+ 4 - 2
module-alarm/src/main/java/cn/com/ctop/alarm/modules/entity/AlarmEventSend.java

@@ -33,13 +33,13 @@ public class AlarmEventSend {
      */
     @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "主键id")
-    private Integer alarmSendId;
+    private Long alarmSendId;
     /**
      * 规则id
      */
     @Excel(name = "规则id", width = 15)
     @ApiModelProperty(value = "规则id")
-    private Integer eventRuleId;
+    private Long eventRuleId;
     /**
      * 预警指标
      */
@@ -58,6 +58,8 @@ public class AlarmEventSend {
     @Excel(name = "预警发送状态 0未发送,1已发送", width = 15)
     @ApiModelProperty(value = "预警发送状态 0未发送,1已发送")
     private String alarmStatus;
+
+    private String alarmCondition;
     /**
      * createTime
      */

+ 2 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/AlarmEventMetricMapper.java

@@ -15,4 +15,6 @@ import java.util.List;
 public interface AlarmEventMetricMapper extends BaseMapper<AlarmEventMetric> {
 
     List<AlarmEventMetric> selectByEventRuleId(String id);
+
+    void deleteByRuleId(String id);
 }

+ 7 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/AlarmEventRuleMapper.java

@@ -3,6 +3,8 @@ package cn.com.ctop.alarm.modules.mapper;
 import cn.com.ctop.alarm.modules.entity.AlarmEventRule;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
+import java.util.List;
+
 /**
  * 预警事件规则表
  *
@@ -12,4 +14,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface AlarmEventRuleMapper extends BaseMapper<AlarmEventRule> {
 
+    List<AlarmEventRule> selectListPage(AlarmEventRule alarmEventRule);
+
+    AlarmEventRule queryById(String id);
+
+    List<AlarmEventRule> queryRunningRecordPage(AlarmEventRule alarmEventRule);
 }

+ 6 - 1
module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/xml/AlarmEventMetricMapper.xml

@@ -5,6 +5,11 @@
     <select id="selectByEventRuleId" resultType="cn.com.ctop.alarm.modules.entity.AlarmEventMetric">
         SELECT *
         FROM ctop_alarm_event_metric
-        WHERE event_metric_id = #{id}
+        WHERE event_rule_id = #{id}
     </select>
+
+    <delete id="deleteByRuleId">
+        delete from ctop_alarm_event_metric
+        where event_rule_id = #{id}
+    </delete>
 </mapper>

+ 45 - 1
module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/xml/AlarmEventRuleMapper.xml

@@ -1,5 +1,49 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="cn.com.ctop.AlarmEventRule.mapper.AlarmEventRuleMapper">
+<mapper namespace="cn.com.ctop.alarm.modules.mapper.AlarmEventRuleMapper">
 
+    <select id="selectListPage" parameterType="cn.com.ctop.alarm.modules.entity.AlarmEventRule"
+            resultType="cn.com.ctop.alarm.modules.entity.AlarmEventRule">
+        SELECT DISTINCT
+        t1.*,t3.realname AS 'createrName',t2.user_id,t2.user_name,t2.auth_name AS 'accountName' FROM
+        ctop_alarm_event_rule t1
+        LEFT JOIN ctop_user_allocation t2 ON t1.account_id = t2.account_id
+        LEFT JOIN sys_user t3 ON t1.creater_id = t3.id
+        <where>
+            <if test="eventRuleStatus != null and eventRuleStatus !='' ">
+                AND t1.event_rule_status = #{eventRuleStatus}
+            </if>
+            <if test="checkFrequency != null and checkFrequency !='' ">
+                AND t1.check_frequency = #{checkFrequency}
+            </if>
+        </where>
+        order by t1.create_time desc
+    </select>
+    <select id="queryRunningRecordPage" parameterType="cn.com.ctop.alarm.modules.entity.AlarmEventRule"
+            resultType="cn.com.ctop.alarm.modules.entity.AlarmEventRule">
+        SELECT t1.*,
+        t3.user_id,t2.create_time AS 'runningTime',
+        t3.auth_name AS 'accountName',
+        t2.alarm_condition AS 'alarmCondition',
+        t3.user_name AS 'userName',t4.realname AS 'createrName'
+        FROM ctop_alarm_event_rule t1
+        INNER JOIN ctop_alarm_event_send t2 ON t1.event_rule_id = t2.event_rule_id
+        LEFT JOIN ctop_user_allocation t3 ON t1.account_id = t3.account_id
+        LEFT JOIN sys_user t4 ON t1.creater_id = t4.id
+        WHERE t1.event_rule_status = '1'
+        <if test="eventRuleId!=null">
+            AND t1.event_rule_id = #{eventRuleId}
+        </if>
+        <if test="eventRuleName!=null">
+            AND t1.event_rule_name LIKE CONCAT('%',#{eventRuleName},'%')
+        </if>
+        ORDER BY t2.create_time DESC
+    </select>
+    <select id="queryById" resultType="cn.com.ctop.alarm.modules.entity.AlarmEventRule">
+       SELECT DISTINCT t1.*,t3.realname AS 'createrName',t2.user_id,t2.user_name,t2.auth_name AS accountName FROM
+        ctop_alarm_event_rule t1
+        LEFT JOIN ctop_user_allocation t2 ON t1.account_id = t2.account_id
+         LEFT JOIN sys_user t3 ON t1.creater_id = t3.id
+        WHERE t1.event_rule_id = #{id}
+    </select>
 </mapper>

+ 9 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/IAlarmEventRuleService.java

@@ -3,6 +3,7 @@ package cn.com.ctop.alarm.modules.service;
 import cn.com.ctop.alarm.modules.entity.AlarmEventRule;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.github.pagehelper.PageInfo;
 
 /**
  * @Description: 预警事件规则表
@@ -17,4 +18,12 @@ public interface IAlarmEventRuleService extends IService<AlarmEventRule> {
     void editAlarmEventRule(JSONObject obj);
 
     AlarmEventRule selectById(String id);
+
+    void matchAlarmRules(String checkType);
+
+    PageInfo<AlarmEventRule> selectListPage(AlarmEventRule alarmEventRule);
+
+    void deleteById(String id);
+
+    PageInfo<AlarmEventRule> queryRunningRecordPage(AlarmEventRule alarmEventRule);
 }

+ 263 - 5
module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/impl/AlarmEventRuleServiceImpl.java

@@ -2,17 +2,29 @@ package cn.com.ctop.alarm.modules.service.impl;
 
 import cn.com.ctop.alarm.modules.entity.AlarmEventMetric;
 import cn.com.ctop.alarm.modules.entity.AlarmEventRule;
+import cn.com.ctop.alarm.modules.entity.AlarmEventSend;
 import cn.com.ctop.alarm.modules.mapper.AlarmEventMetricMapper;
 import cn.com.ctop.alarm.modules.mapper.AlarmEventRuleMapper;
+import cn.com.ctop.alarm.modules.mapper.AlarmEventSendMapper;
 import cn.com.ctop.alarm.modules.service.IAlarmEventRuleService;
+import cn.com.ctop.common.module.service.IMessageTemplate;
+import cn.com.ctop.common.module.service.ISendMessageService;
 import cn.com.ctop.common.module.utils.Check;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.pagehelper.PageInfo;
+import com.xxl.job.core.enums.NoEn;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.common.util.db.DataSourceCachePool;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.HashOperations;
 import org.springframework.stereotype.Service;
 
+import javax.transaction.Transactional;
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -24,6 +36,7 @@ import java.util.List;
  * @version V1.0
  * @date 2020-10-29
  */
+@Transactional
 @Service
 public class AlarmEventRuleServiceImpl extends ServiceImpl<AlarmEventRuleMapper, AlarmEventRule> implements IAlarmEventRuleService {
 
@@ -33,6 +46,31 @@ public class AlarmEventRuleServiceImpl extends ServiceImpl<AlarmEventRuleMapper,
     @Autowired
     private AlarmEventMetricMapper alarmEventMetricMapper;
 
+    @Autowired
+    private AlarmEventSendMapper alarmEventSendMapper;
+
+    @Autowired
+    private IMessageTemplate messageTemplate;
+
+    @Autowired
+    private ISendMessageService sendMessageService;
+
+    @Override
+    public PageInfo<AlarmEventRule> selectListPage(AlarmEventRule alarmEventRule) {
+        return new PageInfo<AlarmEventRule>(alarmEventRuleMapper.selectListPage(alarmEventRule));
+    }
+
+    @Override
+    public void deleteById(String id) {
+        alarmEventRuleMapper.deleteById(id);
+        alarmEventMetricMapper.deleteByRuleId(id);
+    }
+
+    @Override
+    public PageInfo<AlarmEventRule> queryRunningRecordPage(AlarmEventRule alarmEventRule) {
+        return new PageInfo<AlarmEventRule>(alarmEventRuleMapper.queryRunningRecordPage(alarmEventRule));
+    }
+
     @Override
     public void addAlarmEventRule(JSONObject obj) {
         AlarmEventRule rule = new AlarmEventRule();
@@ -42,7 +80,15 @@ public class AlarmEventRuleServiceImpl extends ServiceImpl<AlarmEventRuleMapper,
         rule.setEventRuleLevel(obj.getString("eventRuleLevel"));
         rule.setCheckFrequency(obj.getString("checkFrequency"));
         rule.setProcessMethod(obj.getString("processMethod"));
-        rule.setEventRuleStatus(obj.getString("eventRuleStatus"));
+        rule.setEventRuleStatus(NoEn.NO1.valueStr());
+        rule.setMetricValueCode(obj.getString("metricValueCode"));
+        rule.setMetricValueName(obj.getString("metricValueName"));
+        rule.setCreaterId(obj.getString("createrId"));
+
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        if (!Check.isNull(sysUser)) {
+            rule.setCreaterId(sysUser.getId());
+        }
         alarmEventRuleMapper.insert(rule);
         JSONArray metrics = obj.getJSONArray("alarmEventMetric");
         for (int i = 0; i < metrics.size(); i++) {
@@ -55,6 +101,8 @@ public class AlarmEventRuleServiceImpl extends ServiceImpl<AlarmEventRuleMapper,
             metric.setThreshold(mo.getString("threshold"));
             metric.setMinThreshold(mo.getString("minThreshold"));
             metric.setDataRange(mo.getString("dataRange"));
+            metric.setMetricValueCode(mo.getString("metricValueCode"));
+            metric.setMetricValueName(mo.getString("metricValueName"));
             alarmEventMetricMapper.insert(metric);
         }
     }
@@ -82,6 +130,14 @@ public class AlarmEventRuleServiceImpl extends ServiceImpl<AlarmEventRuleMapper,
         if (!Check.isNull(checkFrequency)) {
             rule.setCheckFrequency(checkFrequency);
         }
+        String metricValueCode = obj.getString("metricValueCode");
+        if (!Check.isNull(metricValueCode)) {
+            rule.setMetricValueCode(metricValueCode);
+        }
+        String metricValueName = obj.getString("metricValueName");
+        if (!Check.isNull(metricValueName)) {
+            rule.setMetricValueCode(metricValueName);
+        }
         String processMethod = obj.getString("processMethod");
         if (!Check.isNull(processMethod)) {
             rule.setProcessMethod(processMethod);
@@ -91,10 +147,17 @@ public class AlarmEventRuleServiceImpl extends ServiceImpl<AlarmEventRuleMapper,
         if (!Check.isNull(eventRuleStatus)) {
             rule.setEventRuleStatus(eventRuleStatus);
         }
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        if (!Check.isNull(sysUser)) {
+            rule.setCreaterId(sysUser.getId());
+        }
         QueryWrapper<AlarmEventRule> ruleWrapper = new QueryWrapper<>();
         ruleWrapper.eq("event_rule_id", obj.getLong("eventRuleId"));
         alarmEventRuleMapper.update(rule, ruleWrapper);
         JSONArray metrics = obj.getJSONArray("alarmEventMetric");
+        if (Check.isNull(metrics)) {
+            return;
+        }
         for (int i = 0; i < metrics.size(); i++) {
             JSONObject mo = metrics.getJSONObject(i);
             AlarmEventMetric metric = new AlarmEventMetric();
@@ -102,9 +165,13 @@ public class AlarmEventRuleServiceImpl extends ServiceImpl<AlarmEventRuleMapper,
             if (!Check.isNull(eventRuleId)) {
                 metric.setEventRuleId(eventRuleId);
             }
-            String metricValueCode = mo.getString("metricValueCode");
-            if (!Check.isNull(metricValueCode)) {
-                metric.setMetricValueCode(metricValueCode);
+            String valueCode = mo.getString("metricValueCode");
+            if (!Check.isNull(valueCode)) {
+                metric.setMetricValueCode(valueCode);
+            }
+            String valueName = mo.getString("metricValueName");
+            if (!Check.isNull(valueName)) {
+                metric.setMetricValueName(valueName);
             }
             String judgeType = mo.getString("judgeType");
             if (!Check.isNull(judgeType)) {
@@ -135,9 +202,200 @@ public class AlarmEventRuleServiceImpl extends ServiceImpl<AlarmEventRuleMapper,
 
     @Override
     public AlarmEventRule selectById(String id) {
-        AlarmEventRule alarmEventRule = alarmEventRuleMapper.selectById(id);
+        AlarmEventRule alarmEventRule = alarmEventRuleMapper.queryById(id);
         List<AlarmEventMetric> alarmEventMetricList = alarmEventMetricMapper.selectByEventRuleId(id);
         return alarmEventRule.setAlarmEventMetrics(alarmEventMetricList);
+    }
 
+    @Override
+    public void matchAlarmRules(String checkType) {
+        List<AlarmEventRule> allRules = getAllAlarmRules(checkType);
+        List<JSONObject> accountCosts = getCostInfo("account");
+        if (Check.isNull(allRules) || Check.isNull(accountCosts)) {
+            return;
+        }
+        for (JSONObject cost : accountCosts) {
+            for (AlarmEventRule rule : allRules) {
+                if (cost.getLong("accountId") - rule.getAccountId() == 0) {
+                    matchRules(rule, cost);
+                }
+            }
+        }
     }
+
+    private void matchRules(AlarmEventRule rule, JSONObject cost) {
+        String rulesMetric = rule.getMetricValueCode();
+        //目标成本
+        BigDecimal value = cost.getBigDecimal(rulesMetric);
+        if (Check.isNull(value)) {
+            log.warn("规则中指标不匹配");
+            return;
+        }
+        //总消耗
+        BigDecimal totalCost = cost.getBigDecimal("totalCost");
+        List<AlarmEventMetric> metrics = rule.getAlarmEventMetrics();
+        if (Check.isNull(metrics)) {
+            return;
+        }
+        boolean flag = true;
+        StringBuffer depletionStr = new StringBuffer();
+        StringBuffer valueStr = new StringBuffer();
+        StringBuffer roiStr = new StringBuffer();
+        if (metrics.size() > 1) {
+            depletionStr.append("消耗");
+            valueStr.append("并且成本");
+            roiStr.append("并且ROI");
+        } else {
+            valueStr.append(metrics.get(0).getMetricValueName());
+        }
+        for (AlarmEventMetric metric : metrics) {
+            if (flag) {
+                //阈值
+                BigDecimal threshold = new BigDecimal(metric.getThreshold());
+                String judgeMethod = metric.getJudgeMethod();
+                String metricValue = metric.getMetricValueCode();
+                String sub = metricValue.substring(metricValue.lastIndexOf("_") + 1);
+                //大于等于
+                if ("GT_EQ".equals(judgeMethod)) {
+                    //判断阈值类型(cost-成本;depletion-消耗;roi)
+                    if ("depletion".equals(sub)) {
+                        flag = totalCost.compareTo(threshold) >= 0;
+                        depletionStr.append("高于").append("账户设置的消耗值:").append(threshold).append("元");
+                        continue;
+                    } else if ("roi".equals(sub)) {
+                        roiStr.append("高于").append("账户设置的ROI:").append(threshold.multiply(new BigDecimal(100)).setScale(2)).append("%");
+                        flag = value.compareTo(threshold) >= 0;
+                        continue;
+                    } else {
+                        valueStr.append("高于").append("账户设置的成本价格:").append(threshold).append("元");
+                        flag = value.compareTo(threshold) >= 0;
+                        continue;
+                    }
+                    //小于等于
+                } else if ("LT_EQ".equals(judgeMethod)) {
+                    if ("depletion".equals(sub)) {
+                        depletionStr.append("低于").append("账户设置的消耗值:").append(threshold).append("元");
+                        flag = totalCost.compareTo(threshold) <= 0;
+                        continue;
+                    } else if ("roi".equals(sub)) {
+                        roiStr.append("低于").append("账户设置的ROI:").append(threshold.multiply(new BigDecimal(100)).setScale(2)).append("%");
+                        flag = value.compareTo(threshold) <= 0;
+                        continue;
+                    } else {
+                        valueStr.append("低于").append("账户设置的成本价格:").append(threshold).append("元");
+                        flag = value.compareTo(threshold) <= 0;
+                        continue;
+                    }
+                    //介于
+                } else if ("BETWEEN".equals(judgeMethod)) {
+                    BigDecimal minThreshold = new BigDecimal(metric.getMinThreshold());
+                    if ("depletion".equals(sub)) {
+                        flag = (totalCost.compareTo(threshold) > 0) || (totalCost.compareTo(minThreshold) < 0);
+                        if (totalCost.compareTo(threshold) > 0) {
+                            depletionStr.append("高于");
+                        }
+                        if (totalCost.compareTo(minThreshold) < 0) {
+                            depletionStr.append("低于");
+                        }
+                        depletionStr.append("账户设置的消耗区间:").append(minThreshold).append("元-").append(threshold).append("元");
+                        continue;
+                    } else if ("roi".equals(sub)) {
+                        flag = (value.compareTo(threshold) > 0) || (value.compareTo(minThreshold) < 0);
+                        if (value.compareTo(threshold) > 0) {
+                            roiStr.append("高于");
+                        }
+                        if (value.compareTo(minThreshold) < 0) {
+                            roiStr.append("低于");
+                        }
+                        roiStr.append("账户设置的").append(rule.getMetricValueName()).append("区间:").append(minThreshold.multiply(new BigDecimal(100)).setScale(2)).append("%-").append(threshold.multiply(new BigDecimal(100)).setScale(2)).append("%");
+                        continue;
+                    } else {
+                        flag = (value.compareTo(threshold) > 0) || (value.compareTo(minThreshold) < 0);
+                        if (value.compareTo(threshold) > 0) {
+                            valueStr.append("高于");
+                        }
+                        if (value.compareTo(minThreshold) < 0) {
+                            valueStr.append("低于");
+                        }
+                        valueStr.append("账户设置的成本区间:").append(minThreshold).append("元-").append(threshold).append("元");
+                        continue;
+                    }
+                } else {
+                    log.warn("缺失判断条件");
+                }
+            } else {
+                break;
+            }
+        }
+        //规则满足,产生预警
+        if (flag) {
+            cost.put("accountName", rule.getAccountName());
+            cost.put("name", rule.getMetricValueName());
+            if (metrics.size() > 1) {
+                if (rule.getMetricValueCode().toLowerCase().contains("roi")) {
+                    cost.put("depletion", depletionStr.append("<br/>").append(roiStr).toString());
+                } else {
+                    cost.put("depletion", depletionStr.append("<br/>").append(valueStr).toString());
+                }
+            } else {
+                cost.put("depletion", valueStr.toString());
+            }
+            String msg = null;
+            if ("SEND".equals(rule.getProcessMethod())) {
+                cost.put("end", "请您及时查看并调整!");
+                msg = messageTemplate.getAlarmCostMessage(cost);
+            } else {
+                cost.put("end", "现已被关停,请您及时查看并调整!");
+                msg = messageTemplate.getAlarmCostMessage(cost);
+            }
+            if (!Check.isNull(msg)) {
+                sendMessageService.sendMessage(rule.getUserId(), msg);
+
+                AlarmEventSend send = new AlarmEventSend();
+                send.setAlarmDetail(msg);
+                send.setAlarmStatus(NoEn.NO1.valueStr());
+                send.setMetricValueCode(rule.getMetricValueCode());
+                send.setEventRuleId(rule.getEventRuleId());
+                send.setAlarmCondition(rule.getMetricValueName() + "预警:" + cost.getString("depletion"));
+                alarmEventSendMapper.insert(send);
+            }
+        }
+    }
+
+    /**
+     * 获取成本数据。
+     *
+     * @param code : unit 组级数据,account 账户级数据
+     * @return java.util.List<cn.com.ctop.kuaishou.modules.report.entity.KuaishouCostGroup>
+     * @throws
+     * @author ZHAOXA
+     */
+    private List<JSONObject> getCostInfo(String code) {
+        HashOperations<String, Object, Object> hahs = DataSourceCachePool.getRedisTemplate().opsForHash();
+        return (List<JSONObject>) hahs.get("KS_COST", code);
+    }
+
+    /**
+     * 获取告警规则集合
+     *
+     * @param
+     * @return java.util.List<cn.com.ctop.alarm.modules.entity.AlarmEventRules>
+     * @throws
+     * @author ZHAOXA
+     */
+    private List<AlarmEventRule> getAllAlarmRules(String checkType) {
+        AlarmEventRule alarmEventRule = new AlarmEventRule();
+        alarmEventRule.setEventRuleStatus(NoEn.NO1.valueStr());
+        alarmEventRule.setCheckFrequency(checkType);
+        List<AlarmEventRule> ruleList = alarmEventRuleMapper.selectListPage(alarmEventRule);
+        if (!Check.isNull(ruleList)) {
+            for (AlarmEventRule rule : ruleList) {
+                QueryWrapper<AlarmEventMetric> metricWrapper = new QueryWrapper<>();
+                metricWrapper.eq("event_rule_id", rule.getEventRuleId());
+                rule.setAlarmEventMetrics(alarmEventMetricMapper.selectList(metricWrapper));
+            }
+        }
+        return ruleList;
+    }
+
 }

+ 6 - 2
module-common/src/main/java/cn/com/ctop/common/module/entity/SysCompany.java

@@ -27,8 +27,12 @@ public class SysCompany {
 
     @Override
     public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
+        if (this == o){
+            return true;
+        }
+        if (o == null || getClass() != o.getClass()) {
+            return false;
+        }
         SysCompany that = (SysCompany) o;
         return id.equals(that.id) &&
                 companyId.equals(that.companyId) &&

+ 11 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/IMessageTemplate.java

@@ -47,4 +47,15 @@ public interface IMessageTemplate {
      * @author ZHAOXA
      */
     String getZombieCreativeShutDownTemplate(JSONObject obj);
+
+    /**
+     * 成本预警消息模板
+     *
+     * @param
+     * @return java.lang.String
+     * @throws
+     * @author ZHAOXA
+     */
+    String getAlarmCostMessage(JSONObject cost);
+
 }

+ 1 - 1
module-common/src/main/java/cn/com/ctop/common/module/service/impl/BindAccountLoginServiceImpl.java

@@ -105,7 +105,7 @@ public class BindAccountLoginServiceImpl extends ServiceImpl<BindAccountLoginMap
     @Override
     public List<BindAccountLogin> getListByParams(String loginType, Integer status) {
         QueryWrapper<BindAccountLogin> queryWrapper = new QueryWrapper<>();
-        if(null!=loginType&&!loginType.equals("")){
+        if(null!=loginType&&!"".equals(loginType)){
             queryWrapper.eq("login_type",loginType);
         }
         if(status!=null){

+ 1 - 1
module-common/src/main/java/cn/com/ctop/common/module/service/impl/CtopOauthTokenServiceImpl.java

@@ -66,7 +66,7 @@ public class CtopOauthTokenServiceImpl extends ServiceImpl<CtopOauthTokenMapper,
         String result = HttpUtils.httpPostRequest(url, param, new HashMap<>());
         System.err.println(JSONObject.parseObject(result));
         XxlJobLogger.log("头条刷新token;accountId:{},返回信息:{}", token.getAccountId(), result);
-        if (null == result || result.trim().equals("") || result.equalsIgnoreCase("null")) {
+        if (null == result || "".equals(result.trim()) || "null".equalsIgnoreCase(result)) {
             XxlJobLogger.log("头条刷新token失败;accountId:{},返回信息:{}", token.getAccountId(), result);
             resultMap.put("message", "token刷新失败");
             resultMap.put("token", token);

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

@@ -144,7 +144,7 @@ public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfo> i
                 getWord.remove("words");
                 getWord.remove("max_word_len");
                 String status = getWord.getString("status");
-                if (null != status && status.trim().equals("CREATIVE_WORD_STATUS_APPROVE")) {
+                if (null != status && "CREATIVE_WORD_STATUS_APPROVE".equals(status.trim())) {
                     array.add(getWord);
                 }
             });

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

@@ -116,11 +116,11 @@ public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, Mat
                 log.error(e.getMessage());
             }
             taskDetailResponse = getTaskDetailResponse(taskId);
-            if (taskDetailResponse.getStatus().equals("FINISH")) {
+            if ("FINISH".equals(taskDetailResponse.getStatus())) {
                 break;
             }
         }
-        if (taskDetailResponse.getStatus().equals("FINISH")) {
+        if ("FINISH".equals(taskDetailResponse.getStatus())) {
             String videoUrl = taskDetailResponse.getWorkflowTask().getMediaProcessResultSet()[0].getTranscodeTask().getOutput().getPath();
             VideoWatermarkTask videoWatermarkTask = new VideoWatermarkTask();
             videoWatermarkTask.setVideoUrl(CosConstant.COS_MEDIA_URL_PREFIX + videoUrl);
@@ -159,11 +159,11 @@ public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, Mat
                     log.error(e.getMessage());
                 }
                 taskDetailResponse = getTaskDetailResponse(taskId);
-                if (taskDetailResponse.getStatus().equals("FINISH")) {
+                if ("FINISH".equals(taskDetailResponse.getStatus())) {
                     break;
                 }
             }
-            if (taskDetailResponse.getStatus().equals("FINISH")) {
+            if ("FINISH".equals(taskDetailResponse.getStatus())) {
                 String url = taskDetailResponse.getWorkflowTask().getMediaProcessResultSet()[0].getTranscodeTask().getOutput().getPath();
                 SupplierWatermark supplierWatermark = new SupplierWatermark();
                 supplierWatermark.setVideoSignature(videoSignature);

+ 11 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/impl/MessageTemplateImpl.java

@@ -145,4 +145,15 @@ public class MessageTemplateImpl implements IMessageTemplate {
                 .append("请您及时查看!");
         return text.toString();
     }
+
+    @Override
+    public String getAlarmCostMessage(JSONObject obj) {
+        StringBuilder text = new StringBuilder();
+        text.append(obj.getString("name")).append("预警").append("<br/>")
+                .append("您的账户:").append(obj.getString("accountId"))
+                .append(",授权名称为:").append(obj.getString("accountName")).append("<br/>")
+                .append(obj.getString("depletion")).append("<br/>")
+                .append(obj.getString("end"));
+        return text.toString();
+    }
 }

+ 1 - 1
module-common/src/main/java/cn/com/ctop/common/module/service/impl/RefreshTokenServiceImpl.java

@@ -49,7 +49,7 @@ public class RefreshTokenServiceImpl implements IRefreshTokenService {
 
     @Override
     public void byteDanceRefresh(String accountId) {
-        if (null == accountId || "".equals(accountId.trim()) || accountId.equalsIgnoreCase("null")) {
+        if (null == accountId || "".equals(accountId.trim()) || "null".equalsIgnoreCase(accountId)) {
             List<CtopOauthToken> byteDanceOauthTokens = oauthTokenMapper.selectByteDanceTokens(CtopAdConstant.PLATFORM_TYPE_BYTEDANCE);
             if (!Check.isNull(byteDanceOauthTokens)) {
                 for (CtopOauthToken oauthToken : byteDanceOauthTokens) {

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

@@ -134,7 +134,7 @@ public class CloudVideoProcessUtil {
         }
         Map<String, Object> mapResp = XmlToMapUtil.multilayerXmlToMap(response);
         Map JobsDetail = (Map) ((Map) mapResp.get("Response")).get("JobsDetail");
-        if (JobsDetail.get("Code").equals("Success")) {
+        if ("Success".equals(JobsDetail.get("Code"))) {
             return JobsDetail;
         } else {
             return MapUtil.newHashMap();
@@ -185,7 +185,7 @@ public class CloudVideoProcessUtil {
         }
         Map<String, Object> mapResp = XmlToMapUtil.multilayerXmlToMap(response);
         Map JobsDetail = (Map) ((Map) mapResp.get("Response")).get("JobsDetail");
-        if (JobsDetail.get("Code").equals("Success")) {
+        if ("Success".equals(JobsDetail.get("Code"))) {
             Map jobStatusMap = null;
             for (int i = 0; i < 30; i++) {
                 try {
@@ -194,11 +194,11 @@ public class CloudVideoProcessUtil {
                     logger.error(e.getMessage());
                 }
                 jobStatusMap = getMediaJobsResponse(JobsDetail.get("JobId").toString());
-                if (jobStatusMap.get("State").equals("Success")) {
+                if ("Success".equals(jobStatusMap.get("State"))) {
                     break;
                 }
             }
-            if (jobStatusMap.get("State").equals("Success")) {
+            if ("Success".equals(jobStatusMap.get("State"))) {
                 result = getFrameUrl(outputPath);
             } else {
                 result = getErrorUrl();

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

@@ -55,7 +55,7 @@ public class ParseInstallPackageUtil {
                                 break;
                             }
                             String name = parser.getName();
-                            if (null != name && name.toLowerCase().equals("manifest")) {
+                            if (null != name && "manifest".equals(name.toLowerCase())) {
                                 for (int i = 0; i != parser.getAttributeCount(); i++) {
                                     if ("versionName".equals(parser.getAttributeName(i))) {
                                         String versionName = getAttributeValue(parser, i);

+ 4 - 38
module-crawler/src/main/java/cn/com/ctop/crawler/modules/music/entity/BytedanceMusicInfo.java

@@ -4,11 +4,9 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
-import org.jeecgframework.poi.excel.annotation.Excel;
 
 import java.util.Date;
 
@@ -25,50 +23,18 @@ import java.util.Date;
 @ApiModel(value="ctop_music_info对象", description="音乐信息")
 public class BytedanceMusicInfo {
 
-	/**id*/
-	@TableId(type = IdType.UUID)
-    @ApiModelProperty(value = "id")
-	private Integer id;
-	/**name*/
-	@Excel(name = "name", width = 15)
-    @ApiModelProperty(value = "name")
+	@TableId(type = IdType.AUTO)
+	private Long id;
 	private String name;
-	/**author*/
-	@Excel(name = "author", width = 15)
-    @ApiModelProperty(value = "author")
 	private String author;
-	/**usedCount*/
-	@Excel(name = "usedCount", width = 15)
-    @ApiModelProperty(value = "usedCount")
-	private Integer usedCount;
-	/**musicUrl*/
-	@Excel(name = "musicUrl", width = 15)
-    @ApiModelProperty(value = "musicUrl")
+	private Long usedCount;
 	private String musicUrl;
-	/**coverUrl*/
-	@Excel(name = "coverUrl", width = 15)
-    @ApiModelProperty(value = "coverUrl")
 	private String coverUrl;
-	/**duration*/
-	@Excel(name = "duration", width = 15)
-    @ApiModelProperty(value = "duration")
 	private Integer duration;
-	/**source*/
-	@Excel(name = "source", width = 15)
-    @ApiModelProperty(value = "source")
 	private String source;
-	/**extId*/
-	@Excel(name = "extId", width = 15)
-    @ApiModelProperty(value = "extId")
 	private String extId;
-	/**extInfo*/
-	@Excel(name = "extInfo", width = 15)
-    @ApiModelProperty(value = "extInfo")
 	private Object extInfo;
-	/**createTime*/
-    @ApiModelProperty(value = "createTime")
 	private Date createTime;
-	/**updateTime*/
-    @ApiModelProperty(value = "updateTime")
 	private Date updateTime;
+	private Long downloadNum;
 }

+ 1 - 1
module-crawler/src/main/java/cn/com/ctop/crawler/modules/music/mapper/xml/DictMusicTypeMapper.xml

@@ -7,7 +7,7 @@
     </select>
 
     <select id="getAllExtInfoByExtTypeZh" resultType="cn.com.ctop.crawler.modules.music.entity.DictMusicType">
-        select distinct ext_type_value,ext_type_zh from ctop_dict_music_type_zh
+        select distinct ext_type_value_zh,ext_type_zh from ctop_dict_music_type_zh
         where ext_type_zh = #{extTypeZh}
     </select>
 </mapper>

+ 2 - 1
module-crawler/src/main/java/cn/com/ctop/crawler/modules/music/service/impl/DictMusicTypeServiceImpl.java

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -25,7 +26,7 @@ public class DictMusicTypeServiceImpl extends ServiceImpl<DictMusicTypeMapper, D
         JSONObject data = new JSONObject();
         List<DictMusicType> musicTypeList = musicTypeMapper.getAllExtTypeZh();
         if(null!=musicTypeList&&!musicTypeList.isEmpty()){
-            List<DictMusicType> setList = musicTypeMapper.getAllExtTypeZh();
+            List<DictMusicType> setList = new ArrayList<>();
             for (DictMusicType type:musicTypeList) {
                 List<DictMusicType>children = musicTypeMapper.getAllExtInfoByExtTypeZh(type.getExtTypeZh());
                 type.setDetail(children);

+ 2 - 2
module-crawler/src/main/java/cn/com/ctop/crawler/modules/oceanengine/service/impl/EffectCaseServiceImpl.java

@@ -44,13 +44,13 @@ public class EffectCaseServiceImpl extends ServiceImpl<EffectCaseMapper, EffectC
             queryWrapper.between("create_time", start, end);
         }
         if (null != orderByType && "desc".equals(orderByType)) {
-            if(orderByColumn.equals("create_time")){
+            if("create_time".equals(orderByColumn)){
                 queryWrapper.orderByAsc(orderByColumn);
             }else{
                 queryWrapper.orderByDesc(orderByColumn);
             }
         } else {
-            if(orderByColumn.equals("create_time")){
+            if("create_time".equals(orderByColumn)){
                 queryWrapper.orderByDesc(orderByColumn);
             }else{
                 queryWrapper.orderByAsc(orderByColumn);

+ 3 - 3
module-crawler/src/main/java/cn/com/ctop/crawler/modules/pangolin/service/impl/PangolinReportAppHourServiceImpl.java

@@ -63,16 +63,16 @@ public class PangolinReportAppHourServiceImpl extends ServiceImpl<PangolinReport
 
     private JSONObject getComparedDate(Integer appId,Integer hour,String userId,String type,String today, String yesterday, String sevenDaysAgo, String compareTime1, String compareTime2,List<Long>projectIds,List<String>  accountNames) {
         JSONObject data = pangolinReportAppHourMapper.getComparedDate(appId,hour,userId,type,today, yesterday,sevenDaysAgo,compareTime1,compareTime2,projectIds,accountNames);
-        if(null==data||data.toJSONString().equals("null")){
+        if(null==data|| "null".equals(data.toJSONString())){
             data = new JSONObject();
             data.put("today",0);
             data.put("yesterday",0);
             data.put("sevendaysAgo",0);
             data.put("hour",hour);
-            if(null!=compareTime1&&!compareTime1.trim().equals("")){
+            if(null!=compareTime1&&!"".equals(compareTime1.trim())){
                 data.put(compareTime1,0);
             }
-            if(null!=compareTime2&&!compareTime2.trim().equals("")){
+            if(null!=compareTime2&&!"".equals(compareTime2.trim())){
                 data.put(compareTime2,0);
             }
         }

+ 1 - 1
module-crawler/src/main/java/cn/com/ctop/crawler/modules/pangolin/service/impl/PangolinReportBillMonthServiceImpl.java

@@ -53,7 +53,7 @@ public class PangolinReportBillMonthServiceImpl extends ServiceImpl<PangolinRepo
         String startDate = data.getString("startDate");
         String endDate = data.getString("endDate");
         String operateSystem = data.getString("operateSystem");
-        if(null!=operateSystem&&operateSystem.trim().equals("all")){
+        if(null!=operateSystem&& "all".equals(operateSystem.trim())){
             operateSystem = null;
         }
         PageHelper.startPage(pageNo,pageSize);

+ 1 - 1
module-crawler/src/main/java/cn/com/ctop/crawler/modules/pangolin/service/impl/PangolinReportChannelDailyServiceImpl.java

@@ -36,7 +36,7 @@ public class PangolinReportChannelDailyServiceImpl extends ServiceImpl<PangolinR
             pageSize = 10;
         }
         String operateSystem = data.getString("operateSystem");
-        if(null!=operateSystem&&operateSystem.trim().equals("all")){
+        if(null!=operateSystem&& "all".equals(operateSystem.trim())){
             operateSystem = null;
         }
         Integer appId = data.getInteger("appId");

文件差异内容过多而无法显示
+ 1 - 1
module-crawler/src/main/java/cn/com/ctop/crawler/modules/taobao/service/impl/TaobaoJhsbybtServiceImpl.java


+ 3 - 3
module-crawler/src/main/java/cn/com/ctop/crawler/modules/taobao/service/impl/TaobaoTttmServiceImpl.java

@@ -43,7 +43,7 @@ public class TaobaoTttmServiceImpl implements TaobaoTttmService {
         String token = "";
         String cookie = "";
         for (Cookie ck : cookieList) {
-            if (ck.getName().equals("_m_h5_tk")) {
+            if ("_m_h5_tk".equals(ck.getName())) {
                 token = ck.getValue().split("_")[0];
             }
             cookie = cookie + ck.getName() + "=" + ck.getValue() + ";";
@@ -93,7 +93,7 @@ public class TaobaoTttmServiceImpl implements TaobaoTttmService {
 
                     JsonNode itemNode = items.next();
                     String itemType = itemNode.get("itemType").asText();
-                    if (itemType.equals("rankList")) {
+                    if ("rankList".equals(itemType)) {
                         Iterator<JsonNode> subitems = itemNode.get("items").iterator();
                         while (subitems.hasNext()) {
                             JsonNode subNode = subitems.next();
@@ -110,7 +110,7 @@ public class TaobaoTttmServiceImpl implements TaobaoTttmService {
                             String itemUrl = subNode.get("itemHref").asText();
                             String itemId = subNode.get("itemId").asText();
                         }
-                    } else if (itemType.equals("item")) {
+                    } else if ("item".equals(itemType)) {
                         String cjmsItemName = itemNode.get("shortName").asText();
                         Integer itemSoldInfo = itemNode.get("soldCount").asInt();
                         String picUrl = itemNode.get("preview").asText();

+ 2 - 2
module-ctop/src/main/java/cn/com/ctop/manage/modules/edu/service/impl/EduLessonServiceImpl.java

@@ -103,7 +103,7 @@ public class EduLessonServiceImpl extends ServiceImpl<EduLessonMapper, EduLesson
         try {
             JsonNode rootNode = mapper.readTree(result);
             String status = rootNode.get("status").asText();
-            if (status == null || !status.equals("success")) {
+            if (status == null || !"success".equals(status)) {
                 return;
             }
             String title = rootNode.get("data").get("title").asText();
@@ -120,7 +120,7 @@ public class EduLessonServiceImpl extends ServiceImpl<EduLessonMapper, EduLesson
                     String detailResult = HttpUtils2.httpGet(detailUrl+id,null,headMap);
                     JsonNode detailNode = mapper.readTree(detailResult);
                     status = detailNode.get("status").asText();
-                    if (status == null || !status.equals("success")) {
+                    if (status == null || !"success".equals(status)) {
                         return;
                     }
                     JsonNode courseNode = detailNode.get("data").get("course_data");

+ 1 - 1
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceEffectVideoJob.java

@@ -15,7 +15,7 @@ public class BytedanceEffectVideoJob {
     private IBytedanceEffectVideoInfoService bytedanceEffectVideoInfoService;
     @XxlJob("bytedanceEffectVideoJob")
     public ReturnT<String> execute(String date) throws Exception {
-        if(null == date||date.trim().equalsIgnoreCase("")||date.trim().equalsIgnoreCase("null")){
+        if(null == date|| "".equalsIgnoreCase(date.trim())|| "null".equalsIgnoreCase(date.trim())){
             date = DateUtils.formatDate(DateUtils.addDay(new Date(),-14));
         }
         bytedanceEffectVideoInfoService.loadEffectVideo(date);

+ 8 - 8
module-job-bytedance/src/main/java/cn/com/ctop/job/bytedance/handler/BytedanceMonitoringLinksCheckJob.java

@@ -66,21 +66,21 @@ public class BytedanceMonitoringLinksCheckJob {
         boolean errorflag = false;
         String errorMsg = "";
         String token = plan.getName().split("-")[0];
-        if(null!=token&&token.equals("衍生计划")){
+        if(null!=token&& "衍生计划".equals(token)){
             token = plan.getName().split("-")[1];
         }
         String tokenInfo = "surl_token="+token;
         String appType = plan.getAppType();
 
         if(null!=downloadUrl){
-            if(null!=appType&&appType.equals("APP_IOS")){
+            if(null!=appType&& "APP_IOS".equals(appType)){
 //                if(!downloadUrl.equals("https://apps.apple.com/cn/app/id1468454200")){
                 if(!downloadUrl.contains("https://apps.apple.com/cn/app")){
                     errorMsg+= "应用下载链接填写异常;";
                     errorflag = true;
                 }
             }
-            if(null!=appType&&appType.equals("APP_ANDROID")){
+            if(null!=appType&& "APP_ANDROID".equals(appType)){
                 if(!downloadUrl.contains(token)){
                     errorMsg+= "应用下载链接填写异常;";
                     errorflag = true;
@@ -89,7 +89,7 @@ public class BytedanceMonitoringLinksCheckJob {
         }
         //展示监测链接
         String trackUrl = data.getString("trackUrl");
-        if(null!=trackUrl&&!trackUrl.trim().equals("")){
+        if(null!=trackUrl&&!"".equals(trackUrl.trim())){
             if(!trackUrl.contains(tokenInfo)){
                 errorMsg+= "展示监测链接填写异常;";
                 errorflag = true;
@@ -97,14 +97,14 @@ public class BytedanceMonitoringLinksCheckJob {
         }
         //点击监测链接
         String actionTrackUrl = data.getString("actionTrackUrl");
-        if(null!=actionTrackUrl&&!actionTrackUrl.trim().equals("")){
-            if(null!=appType&&appType.equals("APP_IOS")){
+        if(null!=actionTrackUrl&&!"".equals(actionTrackUrl.trim())){
+            if(null!=appType&& "APP_IOS".equals(appType)){
                 if(!actionTrackUrl.contains(tokenInfo)||!actionTrackUrl.contains("app_platform=ios")){
                     errorMsg+= "点击监测链接填写异常;";
                     errorflag = true;
                 }
             }
-            if(null!=appType&&appType.equals("APP_ANDROID")){
+            if(null!=appType&& "APP_ANDROID".equals(appType)){
                 if(!actionTrackUrl.contains(tokenInfo)||!actionTrackUrl.contains("tt/")){
                     errorMsg+= "点击监测链接填写异常;";
                     errorflag = true;
@@ -113,7 +113,7 @@ public class BytedanceMonitoringLinksCheckJob {
         }
         //视频有效播放监测链接
         String videoPlayEffectiveTrackUrl = data.getString("videoPlayEffectiveTrackUrl");
-        if(null!=videoPlayEffectiveTrackUrl&&!videoPlayEffectiveTrackUrl.trim().equals("")){
+        if(null!=videoPlayEffectiveTrackUrl&&!"".equals(videoPlayEffectiveTrackUrl.trim())){
             if(!videoPlayEffectiveTrackUrl.contains(tokenInfo)){
                 errorMsg+= "视频有效播放监测链接填写异常;";
                 errorflag = true;

+ 6 - 0
module-job-kuaishou/pom.xml

@@ -64,6 +64,12 @@
 
         <dependency>
             <groupId>cn.com.ctop</groupId>
+            <artifactId>module-alarm</artifactId>
+            <version>2.0.2</version>
+        </dependency>
+
+        <dependency>
+            <groupId>cn.com.ctop</groupId>
             <artifactId>module-common</artifactId>
             <version>2.0.2</version>
         </dependency>

+ 27 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaiShouAlarmRuleHourlyCheckJob.java

@@ -0,0 +1,27 @@
+package cn.com.ctop.job.kuaishou.handler;
+
+import cn.com.ctop.alarm.modules.service.IAlarmEventRuleService;
+import com.xxl.job.core.biz.model.ReturnT;
+import com.xxl.job.core.handler.annotation.XxlJob;
+import org.quartz.JobExecutionException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Component
+public class KuaiShouAlarmRuleHourlyCheckJob {
+    @Autowired
+    private IAlarmEventRuleService alarmEventRuleService;
+
+    /**
+     * 定时获取成本数据
+     *
+     * @throws JobExecutionException
+     */
+    @XxlJob("kuaiShouAlarmRuleHourlyCheckJob")
+    public ReturnT<String> execute(String param) throws Exception {
+        //检查频率 HOUR - 每小时;HALF_HOUR-每半小时
+        alarmEventRuleService.matchAlarmRules("HOUR");
+        return ReturnT.SUCCESS;
+    }
+}
+

+ 27 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaiShouAlarmRuleMinuteCheckJob.java

@@ -0,0 +1,27 @@
+package cn.com.ctop.job.kuaishou.handler;
+
+import cn.com.ctop.alarm.modules.service.IAlarmEventRuleService;
+import com.xxl.job.core.biz.model.ReturnT;
+import com.xxl.job.core.handler.annotation.XxlJob;
+import org.quartz.JobExecutionException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Component
+public class KuaiShouAlarmRuleMinuteCheckJob {
+    @Autowired
+    private IAlarmEventRuleService alarmEventRuleService;
+
+    /**
+     * 定时获取成本数据
+     *
+     * @throws JobExecutionException
+     */
+    @XxlJob("kuaiShouAlarmRuleMinuteCheckJob")
+    public ReturnT<String> execute(String param) throws Exception {
+        //检查频率 HOUR - 每小时;HALF_HOUR-每半小时
+        alarmEventRuleService.matchAlarmRules("HALF_HOUR");
+        return ReturnT.SUCCESS;
+    }
+}
+

+ 26 - 0
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaiShouCostGroupJob.java

@@ -0,0 +1,26 @@
+package cn.com.ctop.job.kuaishou.handler;
+
+import cn.com.ctop.kuaishou.modules.report.service.IKuaishouCostGroupService;
+import com.xxl.job.core.biz.model.ReturnT;
+import com.xxl.job.core.handler.annotation.XxlJob;
+import org.quartz.JobExecutionException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+@Component
+public class KuaiShouCostGroupJob {
+    @Autowired
+    private IKuaishouCostGroupService kuaishouCostGroupService;
+
+    /**
+     * 定时获取成本数据
+     *
+     * @throws JobExecutionException
+     */
+    @XxlJob("kuaiShouCostGroupJob")
+    public ReturnT<String> execute(String param) throws Exception {
+        kuaishouCostGroupService.saveInfo();
+        return ReturnT.SUCCESS;
+    }
+}
+

+ 2 - 2
module-job-kuaishou/src/main/resources/application-prod.yml

@@ -98,7 +98,7 @@ spring:
   #redis 配置
   redis:
     database: 0
-    host: 127.0.0.1
+    host: 172.30.0.17
     lettuce:
       pool:
         max-active: 8   #最大连接数据库连接数,设 0 为没有限制
@@ -106,7 +106,7 @@ spring:
         max-wait: -1ms  #最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。
         min-idle: 0     #最小等待连接中的数量,设 0 为没有限制
       shutdown-timeout: 100ms
-    password: ''
+    password: foobared
     port: 6379
 #mybatis plus 设置
 mybatis-plus:

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

@@ -128,7 +128,6 @@ public class KuaiShouController {
             log.error(e.getMessage());
             result.setSuccess(false);
             result.setMessage("执行出错");
-        }finally {
         }
 
         return result;

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

@@ -114,13 +114,13 @@ public class KuaiShouVideoGetController {
             requestMap.put("orderBy", orderBy);
             requestMap.put("materialType", materialType);
             requestMap.put("channelType", channelType);
-            if (orderBy.equals("time")) {
+            if ("time".equals(orderBy)) {
                 if (!Check.isNull(startDate) && !Check.isNull(endDate)) {
                     requestMap.put("startDate", startDate + " 00:00:00");
                     requestMap.put("endDate", endDate + " 59:59:59");
                 }
                 list = kuaiShouVideoGetService.getVideoList(requestMap);
-            } else if (orderBy.equals("cost")) {
+            } else if ("cost".equals(orderBy)) {
                 if (!Check.isNull(startDate) && !Check.isNull(endDate)) {
                     requestMap.put("startDate", startDate);
                     requestMap.put("endDate", endDate);

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

@@ -1334,7 +1334,7 @@ public class BatchServiceImpl implements IBatchService {
                                     creativeJson.put("creative_tag", creativeTag);
                                 }
 
-                                if (creativeMaterialType.equals("4")) {
+                                if ("4".equals(creativeMaterialType)) {
                                     if (!Check.isNull("shortSlogan")) {
                                         creativeJson.put("short_slogan", shortSlogan);
                                     }
@@ -1361,7 +1361,7 @@ public class BatchServiceImpl implements IBatchService {
                                         continue;
                                     }
                                 }
-                                if (creativeMaterialType.equals("4")) {
+                                if ("4".equals(creativeMaterialType)) {
                                     JSONArray tokenArr = new JSONArray();
                                     tokenArr.add(imageToken);
                                     creativeJson.put("image_tokens", tokenArr);
@@ -1474,7 +1474,7 @@ public class BatchServiceImpl implements IBatchService {
                                 creativeJson.put("creative_category", creativeCategory);
                                 creativeJson.put("creative_tag", creativeTag);
                             }
-                            if (creativeMaterialType.equals("4")) {
+                            if ("4".equals(creativeMaterialType)) {
                                 if (!Check.isNull("shortSlogan")) {
                                     creative.put("short_slogan", shortSlogan);
                                 }
@@ -1497,7 +1497,7 @@ public class BatchServiceImpl implements IBatchService {
                                     continue;
                                 }
                             }
-                            if (creativeMaterialType.equals("4")) {
+                            if ("4".equals(creativeMaterialType)) {
                                 JSONArray tokenArr = new JSONArray();
                                 tokenArr.add(imageToken);
                                 creative.put("image_tokens", tokenArr);

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

@@ -520,7 +520,7 @@ public class KuaiShouUpdateServiceImpl implements IKuaiShouUpdateService {
                     returnMap.put("code", -1);
                     returnMap.put("success", false);
                     returnMap.put("message", resultJson.getString("message"));
-                    if (resultJson.getString("message").equals("该账户下创意不存在")) {
+                    if ("该账户下创意不存在".equals(resultJson.getString("message"))) {
                         Map<String, Object> deleteMap = new HashMap<>();
                         deleteMap.put("creative_id", creativeId);
                         creativeMapper.deleteByMap(deleteMap);

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

@@ -1212,6 +1212,7 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
         headers.put("Content-Type", "application/json");
 
         String result = HttpUtils.kuaiShouhttpPostRequest(url, param.toJSONString(), headers);
+        System.out.println(result);
         JSONObject resultJson = JSONObject.parseObject(result);
         if (Check.isNull(resultJson)) {
             log.error("获取广告组接口异常,advertiserId:{}", token.getAccountId());
@@ -1946,7 +1947,7 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
                         creativeCreate(accessToken, advertiserId, requestJson, count + 1);
                     }
 
-                    if (code == 400001 && resultJson.getString("message").equals("/rest/openapi/v2/creative/create已超日限")) {
+                    if (code == 400001 && "/rest/openapi/v2/creative/create已超日限".equals(resultJson.getString("message"))) {
                         overRunSendMessageService.creativeOverRunSendMessage(advertiserId);
                     }
                     log.error("创建广告创意失败,advertiser_id:{},返回信息:{},入参:{}", advertiserId, resultJson, requestJson, count + 1);
@@ -2025,7 +2026,7 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
                         creativeCreate(accessToken, advertiserId, requestJson, count + 1);
                     }
 
-                    if (code == 400001 && resultJson.getString("message").equals("/rest/openapi/v2/creative/create已超日限")) {
+                    if (code == 400001 && "/rest/openapi/v2/creative/create已超日限".equals(resultJson.getString("message"))) {
                         overRunSendMessageService.creativeOverRunSendMessage(advertiserId);
                     }
                     log.error("创建广告创意失败,advertiser_id:{},返回信息:{},入参:{}", advertiserId, resultJson, requestJson, count + 1);

+ 109 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/controller/KsNewPlanReportCtrl.java

@@ -0,0 +1,109 @@
+package cn.com.ctop.kuaishou.modules.report.controller;
+
+import cn.com.ctop.kuaishou.modules.report.service.IKsNewPlanReportService;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ *  Created by JQ.bi on 2020.11.2
+ */
+@Slf4j
+@RestController
+@RequestMapping("/ctop/kuaishou/newPlan")
+public class KsNewPlanReportCtrl {
+
+    @Autowired
+    IKsNewPlanReportService newPlanReportService;
+
+    /**
+     * 新建计划、有效计划 chart数据
+     */
+    @PostMapping("/report/data")
+    public Result<Map<String, Object>> getNewPlanChartReport(@RequestBody JSONObject requestBody) {
+        Result<Map<String, Object>> resultBody = new Result<>();
+        Map<String, Object> result = new HashMap<>();
+        JSONArray accountIds = requestBody.getJSONArray("accountIds");
+        String userId= requestBody.getString("userId");
+        if(!userId.isEmpty()){
+            accountIds= newPlanReportService.getAccountIdsByUserId(userId);
+        }
+
+
+        if(accountIds.isEmpty()){
+            return resultBody;
+        }
+        String startDate = requestBody.getString("startDate");
+        String endDate = requestBody.getString("endDate");
+        String target= requestBody.getString("target");
+        String order= requestBody.getString("order");
+        try {
+            JSONObject sumData = newPlanReportService.getSumNewPlanBy(accountIds, startDate, endDate);
+            List<JSONObject> chartData = newPlanReportService.getKsNewPlanGroupByStatDate(accountIds, startDate, endDate);
+            List<JSONObject> listData = newPlanReportService.getKsNewPlanGroupByAccount(accountIds, startDate, endDate,target,order);
+            result.put("sumData",sumData);
+            result.put("chartData",chartData);
+            result.put("listData",listData);
+            resultBody.setResult(result);
+            resultBody.setSuccess(true);
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            resultBody.setSuccess(false);
+        }
+        return resultBody;
+    }
+
+    /**
+     * 查询素材报表表格数据
+     */
+    @PostMapping("/report/list")
+    public Result<List<JSONObject>> getListReport(@RequestBody JSONObject requestBody) {
+        Result<List<JSONObject>> result = new Result<>();
+
+        JSONArray accountIds = requestBody.getJSONArray("accountIds");
+        if(accountIds.isEmpty()){
+            return result;
+        }
+        String startDate = requestBody.getString("startDate");
+        String endDate = requestBody.getString("endDate");
+        String target= requestBody.getString("target");
+        String order= requestBody.getString("order");
+        try {
+            List<JSONObject> listData = newPlanReportService.getKsNewPlanGroupByAccount(accountIds, startDate, endDate,target,order);
+            result.setResult(listData);
+            result.setSuccess(true);
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            result.setSuccess(false);
+        }
+        return result;
+    }
+
+    /**
+     * 查询所有的快手运营
+     */
+    @PostMapping("/report/AllOperator")
+    public Result<List<JSONObject>> getAllOperator() {
+        Result<List<JSONObject>> result = new Result<>();
+        try {
+            List<JSONObject> listData = newPlanReportService.getAllOperator();
+            result.setResult(listData);
+            result.setSuccess(true);
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            result.setSuccess(false);
+        }
+        return result;
+    }
+
+}

+ 3 - 3
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/controller/KsVideoReportCtrl.java

@@ -118,7 +118,7 @@ public class KsVideoReportCtrl {
         String filed = JsonResourceUtil.joinFiled(AccountReportConstants.dicMapKs, columns);
         List<String> titles = new ArrayList<>();
         //此处增加两个元素是为了保证数据顺序
-        if(exportType.equals("exportDetail")){
+        if("exportDetail".equals(exportType)){
             titles.add(0,"客户");
             titles.add(1,"项目名称");
             titles.add(2,"时间");
@@ -153,9 +153,9 @@ public class KsVideoReportCtrl {
         String target = requestBody.getString("target");
         String order = requestBody.getString("order");
         List<JSONObject> excelData=null;
-        if(exportType.equals("exportTable")){
+        if("exportTable".equals(exportType)){
             excelData = ksVideoReportService.exportExcelReportBy(accountIds, startDate, endDate, filed, target, order,clip,shot,plan);
-        }else if(exportType.equals("exportDetail")){
+        }else if("exportDetail".equals(exportType)){
             excelData = ksVideoReportService.getVideoDetailBy(accountIds,startDate,endDate,filed,signature);
         }
         if (null!=excelData&&excelData.isEmpty()) {

+ 91 - 60
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/entity/KuaishouCostGroup.java

@@ -1,98 +1,129 @@
 package cn.com.ctop.kuaishou.modules.report.entity;
 
-import java.io.Serializable;
-import java.util.Date;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
 import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
 
 /**
  * 快手组级时报统计
+ *
  * @author jeecg-boot
- * @date   2020-10-30
  * @version V1.0
+ * @date 2020-10-30
  */
 @Data
 @TableName("ctop_kuaishou_cost_group")
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
-@ApiModel(value="ctop_kuaishou_cost_group对象", description="快手组级时报统计")
+@ApiModel(value = "ctop_kuaishou_cost_group对象", description = "快手组级时报统计")
 public class KuaishouCostGroup {
-    
-	/**id*/
-	@TableId(type = IdType.INPUT)
+
+    /**
+     * id
+     */
+    @TableId(type = IdType.INPUT)
     @ApiModelProperty(value = "id")
-	private Long id;
-	/**账户ID*/
-	@Excel(name = "账户ID", width = 15)
+    private Long id;
+    /**
+     * 账户ID
+     */
+    @Excel(name = "账户ID", width = 15)
     @ApiModelProperty(value = "账户ID")
-	private Long accountId;
-	/**广告组ID*/
-	@Excel(name = "广告组ID", width = 15)
+    private Long accountId;
+    /**
+     * 广告组ID
+     */
+    @Excel(name = "广告组ID", width = 15)
     @ApiModelProperty(value = "广告组ID")
-	private Long unitId;
-	/**统计日期*/
-	@Excel(name = "统计日期", width = 15, format = "yyyy-MM-dd")
-	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern="yyyy-MM-dd")
+    private Long unitId;
+    /**
+     * 统计日期
+     */
+    @Excel(name = "统计日期", width = 15, format = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
     @ApiModelProperty(value = "统计日期")
-	private Date statDate;
-	/**行为成本*/
-	@Excel(name = "行为成本", width = 15)
+    private Date statDate;
+    /**
+     * 行为成本
+     */
+    @Excel(name = "行为成本", width = 15)
     @ApiModelProperty(value = "行为成本")
-	private java.math.BigDecimal actionCost;
-	/**激活成本*/
-	@Excel(name = "激活成本", width = 15)
+    private java.math.BigDecimal actionCost;
+    /**
+     * 激活成本
+     */
+    @Excel(name = "激活成本", width = 15)
     @ApiModelProperty(value = "激活成本")
-	private java.math.BigDecimal activationCost;
-	/**注册成本*/
-	@Excel(name = "注册成本", width = 15)
+    private java.math.BigDecimal activationCost;
+    /**
+     * 注册成本
+     */
+    @Excel(name = "注册成本", width = 15)
     @ApiModelProperty(value = "注册成本")
-	private java.math.BigDecimal registerCost;
-	/**付费成本*/
-	@Excel(name = "付费成本", width = 15)
+    private java.math.BigDecimal registerCost;
+    /**
+     * 付费成本
+     */
+    @Excel(name = "付费成本", width = 15)
     @ApiModelProperty(value = "付费成本")
-	private java.math.BigDecimal payCost;
-	/**表单提交成本*/
-	@Excel(name = "表单提交成本", width = 15)
+    private java.math.BigDecimal payCost;
+    /**
+     * 表单提交成本
+     */
+    @Excel(name = "表单提交成本", width = 15)
     @ApiModelProperty(value = "表单提交成本")
-	private java.math.BigDecimal formCost;
-	/**完件成本*/
-	@Excel(name = "完件成本", width = 15)
+    private java.math.BigDecimal formCost;
+    /**
+     * 完件成本
+     */
+    @Excel(name = "完件成本", width = 15)
     @ApiModelProperty(value = "完件成本")
-	private java.math.BigDecimal finishedCost;
-	/**授信成本*/
-	@Excel(name = "授信成本", width = 15)
+    private java.math.BigDecimal finishedCost;
+    private java.math.BigDecimal totalCost;
+    /**
+     * 授信成本
+     */
+    @Excel(name = "授信成本", width = 15)
     @ApiModelProperty(value = "授信成本")
-	private java.math.BigDecimal approvalCost;
-	/**首日ROI*/
-	@Excel(name = "首日ROI", width = 15)
+    private java.math.BigDecimal approvalCost;
+    /**
+     * 首日ROI
+     */
+    @Excel(name = "首日ROI", width = 15)
     @ApiModelProperty(value = "首日ROI")
-	private Double firstDayRoi;
-	/**ROI*/
-	@Excel(name = "ROI", width = 15)
+    private Double firstDayRoi;
+    /**
+     * ROI
+     */
+    @Excel(name = "ROI", width = 15)
     @ApiModelProperty(value = "ROI")
-	private Double roi;
-	/**createTime*/
-	@Excel(name = "createTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
-	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Double roi;
+    /**
+     * createTime
+     */
+    @Excel(name = "createTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "createTime")
-	private Date createTime;
-	/**updateTime*/
-	@Excel(name = "updateTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
-	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+    /**
+     * updateTime
+     */
+    @Excel(name = "updateTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "updateTime")
-	private Date updateTime;
-	private String type;
+    private Date updateTime;
+    private String type;
 }

+ 22 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/KsNewPlanReportMapper.java

@@ -0,0 +1,22 @@
+package cn.com.ctop.kuaishou.modules.report.mapper;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface KsNewPlanReportMapper {
+
+    List<JSONObject> queryKsNewPlanGroupByAccount(@Param("accountIds") JSONArray accountIds, @Param("startDate") String startDate, @Param("endDate") String endDate,@Param("target") String target,@Param("order") String order);
+
+    List<JSONObject> queryKsNewPlanGroupByStatDate(@Param("accountIds") JSONArray accountIds, @Param("startDate") String startDate, @Param("endDate") String endDate);
+
+    List<JSONObject> queryKsNewPlanGroupByMonth(@Param("accountIds") JSONArray accountIds, @Param("startDate") String startDate, @Param("endDate") String endDate);
+
+    JSONObject querySumNewPlanBy(@Param("accountIds") JSONArray accountIds, @Param("startDate") String startDate, @Param("endDate") String endDate);
+
+    List<JSONObject> queryAllOperator();
+
+    JSONArray queryAccountIdsByUserId(String userId);
+}

+ 4 - 3
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/KuaishouCostGroupMapper.java

@@ -1,6 +1,7 @@
 package cn.com.ctop.kuaishou.modules.report.mapper;
 
 import cn.com.ctop.kuaishou.modules.report.entity.KuaishouCostGroup;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 import java.util.List;
@@ -14,9 +15,9 @@ import java.util.List;
  */
 public interface KuaishouCostGroupMapper extends BaseMapper<KuaishouCostGroup> {
 
-    List<KuaishouCostGroup> queryGroupCostInfo(String date);
+    List<JSONObject> queryGroupCostInfo(String date);
 
-    int bulkInsert(List<KuaishouCostGroup> list);
+    int bulkInsert(List<JSONObject> list);
 
-    List<KuaishouCostGroup> queryAccountCostInfo(String nowDate);
+    List<JSONObject> queryAccountCostInfo(String nowDate);
 }

+ 279 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/xml/KsNewPlanReportMapper.xml

@@ -0,0 +1,279 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.ctop.kuaishou.modules.report.mapper.KsNewPlanReportMapper">
+
+    <select id="queryKsNewPlanGroupByAccount" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT
+        u.project_name as projectName,
+        u.auth_name as authName,
+        u.user_name as userName,
+        t.account_id accountId,
+        COUNT(t.campaign_id) new,
+        COUNT(IF(t.charge > 500, TRUE, NULL)) valid,
+        max(t.put_create_time) maxCreateTime
+        FROM
+        (
+        SELECT
+        t1.account_id,
+        t1.campaign_id,
+        t1.put_create_time,
+        DATE_FORMAT(
+        t1.put_create_time,
+        '%Y-%m-%d'
+        ) AS statDate,
+        (
+        SELECT
+        ifnull(sum(charge), 0)
+        FROM
+        ctop_kuaishou_report_daily_campaign t2
+        WHERE
+        t2.campaign_id = t1.campaign_id
+        AND stat_date >= DATE_FORMAT(
+        t1.put_create_time,
+        '%Y-%m-%d'
+        )
+        AND stat_date &lt; DATE_ADD(
+        DATE_FORMAT(
+        t1.put_create_time,
+        '%Y-%m-%d'
+        ),
+        INTERVAL '7' DAY
+        )
+        ) AS charge
+        FROM
+        ctop_kuaishou_campaign t1
+        WHERE
+        DATE_FORMAT(
+        t1.put_create_time,
+        '%Y-%m-%d'
+        ) >= #{startDate}
+        AND DATE_FORMAT(
+        t1.put_create_time,
+        '%Y-%m-%d'
+        ) &lt;= #{endDate}
+        <if test="accountIds != null">
+            AND t1.account_id in
+            <foreach item="item" index="index" collection="accountIds"
+                     open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        GROUP BY
+        account_id,
+        campaign_id
+        ) t LEFT JOIN ctop_user_allocation u on t.account_id=u.account_id
+        GROUP BY
+        t.account_id
+        ORDER BY ${target} ${order}
+    </select>
+
+    <select id="queryKsNewPlanGroupByMonth" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT
+        DATE_FORMAT(t.statDate, '%Y-%m') statDate,
+        COUNT(t.campaign_id) new,
+        COUNT(IF(t.charge > 500, TRUE, NULL)) valid
+        FROM
+        (
+        SELECT
+        t1.account_id,
+        t1.campaign_id,
+        t1.put_create_time,
+        DATE_FORMAT(
+        t1.put_create_time,
+        '%Y-%m-%d'
+        ) AS statDate,
+        (
+        SELECT
+        ifnull(sum(charge), 0)
+        FROM
+        ctop_kuaishou_report_daily_campaign t2
+        WHERE
+        t2.campaign_id = t1.campaign_id
+        AND stat_date >= DATE_FORMAT(
+        t1.put_create_time,
+        '%Y-%m-%d'
+        )
+        AND stat_date &lt; DATE_ADD(
+        DATE_FORMAT(
+        t1.put_create_time,
+        '%Y-%m-%d'
+        ),
+        INTERVAL '7' DAY
+        )
+        ) AS charge
+        FROM
+        ctop_kuaishou_campaign t1
+        WHERE
+        DATE_FORMAT(
+        t1.put_create_time,
+        '%Y-%m-%d'
+        ) >= #{startDate}
+        AND DATE_FORMAT(
+        t1.put_create_time,
+        '%Y-%m-%d'
+        ) &lt;= #{endDate}
+        <if test="accountIds != null">
+            AND t1.account_id in
+            <foreach item="item" index="index" collection="accountIds"
+                     open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        GROUP BY
+        account_id,
+        campaign_id
+        ) t
+        GROUP BY DATE_FORMAT(t.statDate, '%Y-%m')
+        ORDER BY statDate
+    </select>
+
+    <select id="queryKsNewPlanGroupByStatDate" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT
+        t.statDate,
+        COUNT(t.campaign_id) new,
+        COUNT(IF(t.charge > 500, TRUE, NULL)) valid
+        FROM
+        (
+        SELECT
+        t1.account_id,
+        t1.campaign_id,
+        t1.put_create_time,
+        DATE_FORMAT(
+        t1.put_create_time,
+        '%Y-%m-%d'
+        ) AS statDate,
+        (
+        SELECT
+        ifnull(sum(charge), 0)
+        FROM
+        ctop_kuaishou_report_daily_campaign t2
+        WHERE
+        t2.campaign_id = t1.campaign_id
+        AND stat_date >= DATE_FORMAT(
+        t1.put_create_time,
+        '%Y-%m-%d'
+        )
+        AND stat_date &lt; DATE_ADD(
+        DATE_FORMAT(
+        t1.put_create_time,
+        '%Y-%m-%d'
+        ),
+        INTERVAL '7' DAY
+        )
+        ) AS charge
+        FROM
+        ctop_kuaishou_campaign t1
+        WHERE
+        DATE_FORMAT(
+        t1.put_create_time,
+        '%Y-%m-%d'
+        ) >= #{startDate}
+        AND DATE_FORMAT(
+        t1.put_create_time,
+        '%Y-%m-%d'
+        ) &lt;= #{endDate}
+        <if test="accountIds != null">
+            AND t1.account_id in
+            <foreach item="item" index="index" collection="accountIds"
+                     open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        GROUP BY
+        account_id,
+        campaign_id
+        ) t
+        GROUP BY
+        statDate
+        ORDER BY statDate
+    </select>
+
+    <select id="querySumNewPlanBy" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT
+        COUNT(t.campaign_id) new,
+        COUNT(IF(t.charge > 500, TRUE, NULL)) valid
+        FROM
+        (
+        SELECT
+        t1.account_id,
+        t1.campaign_id,
+        t1.put_create_time,
+        DATE_FORMAT(
+        t1.put_create_time,
+        '%Y-%m-%d'
+        ) AS statDate,
+        (
+        SELECT
+        ifnull(sum(charge), 0)
+        FROM
+        ctop_kuaishou_report_daily_campaign t2
+        WHERE
+        t2.campaign_id = t1.campaign_id
+        AND stat_date >= DATE_FORMAT(
+        t1.put_create_time,
+        '%Y-%m-%d'
+        )
+        AND stat_date &lt; DATE_ADD(
+        DATE_FORMAT(
+        t1.put_create_time,
+        '%Y-%m-%d'
+        ),
+        INTERVAL '7' DAY
+        )
+        ) AS charge
+        FROM
+        ctop_kuaishou_campaign t1
+        WHERE
+        DATE_FORMAT(
+        t1.put_create_time,
+        '%Y-%m-%d'
+        ) >= #{startDate}
+        AND DATE_FORMAT(
+        t1.put_create_time,
+        '%Y-%m-%d'
+        ) &lt;= #{endDate}
+        <if test="accountIds != null">
+            AND t1.account_id in
+            <foreach item="item" index="index" collection="accountIds"
+                     open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        GROUP BY
+        account_id,
+        campaign_id
+        ) t
+    </select>
+
+    <select id="queryAllOperator"  resultType="com.alibaba.fastjson.JSONObject">
+        SELECT
+            DISTINCT user_id,user_name
+        FROM
+            ctop_project_member
+        WHERE
+                project_id IN (
+                SELECT
+                    id
+                FROM
+                    ctop_project
+                WHERE
+                    media_id = 2
+            )
+          and
+                role_code IN (
+                              'operator',
+                              'kuaishouOperationManager',
+                              'operationAssistant'
+                )
+    </select>
+
+    <select id="queryAccountIdsByUserId" resultType="java.lang.Long">
+        SELECT
+            account_id
+        FROM
+            ctop_user_allocation
+        WHERE
+            user_id = #{userId}
+    </select>
+
+</mapper>

+ 23 - 22
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/xml/KuaishouCostGroupMapper.xml

@@ -1,22 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="cn.com.ctop.kuaishou.modules.report.mapper.KuaishouCostGroupMapper">
-    <select id="queryGroupCostInfo" resultType="cn.com.ctop.kuaishou.modules.report.entity.KuaishouCostGroup">
-        SELECT stat_date,account_id,unit_id,
+    <select id="queryGroupCostInfo" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT stat_date AS statDate,account_id AS accountId,unit_id AS unitId,ROUND(SUM(charge),3) AS totalCost,
         CASE WHEN SUM(bclick) != 0 THEN
-        ROUND(SUM(charge)/SUM(bclick),4) ELSE 0 END AS 'actionCost',
+        ROUND(SUM(charge)/SUM(bclick),3) ELSE 0 END AS 'actionCost',
         CASE WHEN SUM(activation) != 0 THEN
-        ROUND(SUM(charge)/SUM(activation),4) ELSE 0 END AS activationCost,
+        ROUND(SUM(charge)/SUM(activation),3) ELSE 0 END AS activationCost,
         CASE WHEN SUM(event_register) != 0 THEN
-        ROUND(SUM(charge)/SUM(event_register),4)  ELSE 0 END AS  registerCost,
+        ROUND(SUM(charge)/SUM(event_register),3)  ELSE 0 END AS  registerCost,
         CASE WHEN SUM(event_pay) != 0 THEN
-         ROUND(SUM(charge) / SUM(event_pay), 4) ELSE 0 END AS  payCost,
+         ROUND(SUM(charge) / SUM(event_pay), 3) ELSE 0 END AS  payCost,
         CASE WHEN SUM(form_count) != 0 THEN
-         ROUND(SUM(charge) / SUM(form_count),4) ELSE 0 END AS  formCost,
+         ROUND(SUM(charge) / SUM(form_count),3) ELSE 0 END AS  formCost,
         CASE WHEN SUM(event_jin_jian_app) != 0 THEN
-        ROUND(SUM(charge)/SUM(event_jin_jian_app) ,4) ELSE 0 END AS finishedCost,
+        ROUND(SUM(charge)/SUM(event_jin_jian_app) ,3) ELSE 0 END AS finishedCost,
         CASE WHEN SUM(event_credit_grant_app) != 0 THEN
-        ROUND(SUM(charge)/SUM(event_credit_grant_app) ,4)ELSE 0 END AS approvalCost,
+        ROUND(SUM(charge)/SUM(event_credit_grant_app) ,3)ELSE 0 END AS approvalCost,
         CASE WHEN SUM(charge) != 0 THEN
         ROUND(SUM(event_pay_purchase_amount_first_day)/SUM(charge) ,4) ELSE 0 END AS firstDayRoi,
         CASE WHEN SUM(charge) != 0 THEN
@@ -27,36 +27,36 @@
         WHERE stat_date = #{date}
         GROUP BY unit_id
     </select>
-    <select id="queryAccountCostInfo" resultType="cn.com.ctop.kuaishou.modules.report.entity.KuaishouCostGroup">
-        SELECT stat_date,account_id,
+    <select id="queryAccountCostInfo" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT stat_date AS statDate,account_id AS accountId,ROUND(SUM(charge),3) AS totalCost,
         CASE WHEN SUM(bclick) != 0 THEN
-        ROUND(SUM(charge)/SUM(bclick),4) ELSE 0 END AS 'actionCost',
+        ROUND(SUM(charge)/SUM(bclick),3) ELSE 0 END AS 'actionCost',
         CASE WHEN SUM(activation) != 0 THEN
-        ROUND(SUM(charge)/SUM(activation),4) ELSE 0 END AS activationCost,
+        ROUND(SUM(charge)/SUM(activation),3) ELSE 0 END AS activationCost,
         CASE WHEN SUM(event_register) != 0 THEN
-        ROUND(SUM(charge)/SUM(event_register),4)  ELSE 0 END AS  registerCost,
+        ROUND(SUM(charge)/SUM(event_register),3)  ELSE 0 END AS  registerCost,
         CASE WHEN SUM(event_pay) != 0 THEN
-         ROUND(SUM(charge) / SUM(event_pay), 4) ELSE 0 END AS  payCost,
+         ROUND(SUM(charge) / SUM(event_pay), 3) ELSE 0 END AS  payCost,
         CASE WHEN SUM(form_count) != 0 THEN
-         ROUND(SUM(charge) / SUM(form_count),4) ELSE 0 END AS  formCost,
+         ROUND(SUM(charge) / SUM(form_count),3) ELSE 0 END AS  formCost,
         CASE WHEN SUM(event_jin_jian_app) != 0 THEN
-        ROUND(SUM(charge)/SUM(event_jin_jian_app) ,4) ELSE 0 END AS finishedCost,
+        ROUND(SUM(charge)/SUM(event_jin_jian_app) ,3) ELSE 0 END AS finishedCost,
         CASE WHEN SUM(event_credit_grant_app) != 0 THEN
-        ROUND(SUM(charge)/SUM(event_credit_grant_app) ,4)ELSE 0 END AS approvalCost,
+        ROUND(SUM(charge)/SUM(event_credit_grant_app) ,3)ELSE 0 END AS approvalCost,
         CASE WHEN SUM(charge) != 0 THEN
         ROUND(SUM(event_pay_purchase_amount_first_day)/SUM(charge) ,4) ELSE 0 END AS firstDayRoi,
         CASE WHEN SUM(charge) != 0 THEN
         ROUND(SUM(event_pay_purchase_amount)/SUM(charge) ,4) ELSE 0 END AS roi,
         "account" AS type,
         sysdate() AS createTime
-         FROM ctop_kuaishou_report_hourly_group
+         FROM ctop_kuaishou_report_hourly_account
         WHERE stat_date = #{date}
         GROUP BY account_id
     </select>
 
-    <insert id="bulkInsert" parameterType="cn.com.ctop.kuaishou.modules.report.entity.KuaishouCostGroup">
+    <insert id="bulkInsert" parameterType="com.alibaba.fastjson.JSONObject">
         insert into ctop_kuaishou_cost_group (
-        account_id, unit_id, type,stat_date, action_cost, activation_cost,
+        account_id, unit_id, total_cost, total_balance, type,stat_date, action_cost, activation_cost,
         register_cost, pay_cost, form_cost,finished_cost,approval_cost,first_day_roi,roi,create_time
         )
         values
@@ -64,6 +64,8 @@
             (
             #{it.accountId},
             #{it.unitId},
+            #{it.totalCost},
+            #{it.totalBalance},
             #{it.type},
             #{it.statDate},
             #{it.actionCost},
@@ -80,5 +82,4 @@
         </foreach>
     </insert>
 
-
 </mapper>

+ 4 - 4
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/mapper/xml/KuaishouReportDailyImageMapper.xml

@@ -107,7 +107,7 @@
     <select id="imageCost" resultType="cn.com.ctop.common.module.vo.KuaishouImageCostVO">
         select
         report.cover_url as 'image_url' ,
-        report.code as 'signature',
+        report.cover_id as 'signature',
         group_concat(distinct p.project_name) AS 'project_name',
         sum(report.charge) AS 'charge',
         sum(report.photo_click) AS 'photo_click',
@@ -125,7 +125,7 @@
         where
             1=1
         and
-            report.code is not null
+            report.cover_id is not null
         <if test="startDate!=null">
             and report.stat_date &gt;= #{startDate}
         </if>
@@ -139,9 +139,9 @@
             </foreach>
         </if>
         <if test="code!=null">
-            and report.code = #{code}
+            and report.cover_id = #{code}
         </if>
-        group by report.code
+        group by report.cover_id
         order by sum(report.charge) desc
     </select>
     <select id="imageCostEntity" resultType="cn.com.ctop.common.module.vo.KuaishouImageCostVOEntity">

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

@@ -0,0 +1,19 @@
+package cn.com.ctop.kuaishou.modules.report.service;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+
+import java.util.List;
+
+public interface IKsNewPlanReportService {
+
+    List<JSONObject> getKsNewPlanGroupByAccount(JSONArray accountIds, String startDate, String endDate, String target, String order);
+
+    List<JSONObject> getKsNewPlanGroupByStatDate(JSONArray accountIds, String startDate, String endDate);
+
+    JSONObject getSumNewPlanBy(JSONArray accountIds, String startDate, String endDate);
+
+    List<JSONObject> getAllOperator();
+
+    JSONArray getAccountIdsByUserId(String userId);
+}

+ 1 - 2
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/IKuaishouCostGroupService.java

@@ -6,12 +6,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
 /**
  * @Description: 快手组级时报统计
  * @Author: jeecg-boot
- * @Date:   2020-10-30
+ * @Date: 2020-10-30
  * @Version: V1.0
  */
 public interface IKuaishouCostGroupService extends IService<KuaishouCostGroup> {
 
-
     void saveInfo();
 
 }

+ 62 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/impl/KsNewPlanReportServiceImpl.java

@@ -0,0 +1,62 @@
+package cn.com.ctop.kuaishou.modules.report.service.impl;
+
+import cn.com.ctop.kuaishou.modules.report.mapper.KsNewPlanReportMapper;
+import cn.com.ctop.kuaishou.modules.report.service.IKsNewPlanReportService;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.util.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ *  Created By JQ.bi on 2020.11.2
+ */
+@Slf4j
+@Service
+public class KsNewPlanReportServiceImpl  implements IKsNewPlanReportService {
+
+    @Autowired
+    private KsNewPlanReportMapper newPlanReportMapper;
+
+    @Override
+    public List<JSONObject> getKsNewPlanGroupByAccount(JSONArray accountIds, String startDate, String endDate, String target, String order) {
+        return newPlanReportMapper.queryKsNewPlanGroupByAccount(accountIds,startDate,endDate,target,order);
+    }
+
+    @Override
+    public List<JSONObject> getKsNewPlanGroupByStatDate(JSONArray accountIds, String startDate, String endDate) {
+        List<JSONObject> resultList= new ArrayList<>();
+        try {
+            if(DateUtils.isMoreSixMonth(startDate,endDate)){
+                resultList = newPlanReportMapper.queryKsNewPlanGroupByMonth(accountIds,startDate,endDate);
+            }
+            else {
+                resultList = newPlanReportMapper.queryKsNewPlanGroupByStatDate(accountIds,startDate,endDate);
+            }
+        } catch (ParseException e) {
+            log.error(e.getMessage());
+        }
+        return resultList;
+    }
+
+    @Override
+    public JSONObject getSumNewPlanBy(JSONArray accountIds, String startDate, String endDate) {
+        return newPlanReportMapper.querySumNewPlanBy(accountIds,startDate,endDate);
+    }
+
+    @Override
+    public List<JSONObject> getAllOperator() {
+        return newPlanReportMapper.queryAllOperator();
+    }
+
+    @Override
+    public JSONArray getAccountIdsByUserId(String userId) {
+        return newPlanReportMapper.queryAccountIdsByUserId(userId);
+    }
+
+}

+ 1 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/impl/KuaiShouAccountReportServiceImpl.java

@@ -180,7 +180,7 @@ public class KuaiShouAccountReportServiceImpl implements IKuaiShouAccountReportS
         JSONObject jsonObject = new JSONObject();
         after.forEach((k, v) -> {
             //去除没法计算的字段
-            if (k.equals("accountId") || k.equals("authName") || v.toString().contains("%")||before.getString(k).contains("%")) {
+            if ("accountId".equals(k) || "authName".equals(k) || v.toString().contains("%")||before.getString(k).contains("%")) {
                 jsonObject.put(k, "-");
             }else {
                 jsonObject.put(k, LinkUtils.countLink(after.getBigDecimal(k)==null?zero:after.getBigDecimal(k), before.getBigDecimal(k)==null?zero:before.getBigDecimal(k)));

+ 43 - 5
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/report/service/impl/KuaishouCostGroupServiceImpl.java

@@ -1,16 +1,24 @@
 package cn.com.ctop.kuaishou.modules.report.service.impl;
 
+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.kuaishou.modules.batch.service.IKuaishouInterfaceService;
 import cn.com.ctop.kuaishou.modules.report.entity.KuaishouCostGroup;
 import cn.com.ctop.kuaishou.modules.report.mapper.KuaishouCostGroupMapper;
 import cn.com.ctop.kuaishou.modules.report.mapper.KuaishouReportHourlyGroupMapper;
 import cn.com.ctop.kuaishou.modules.report.service.IKuaishouCostGroupService;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.jeecg.common.util.DateUtils;
+import org.jeecg.common.util.db.DataSourceCachePool;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.HashOperations;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 快手组级时报统计
@@ -28,15 +36,45 @@ public class KuaishouCostGroupServiceImpl extends ServiceImpl<KuaishouCostGroupM
     @Autowired
     private KuaishouReportHourlyGroupMapper kuaishouReportHourlyGroupMapper;
 
+    @Autowired
+    private ICtopOauthTokenService oauthTokenService;
+    @Autowired
+    private IKuaishouInterfaceService iKuaishouInterfaceService;
+
     @Override
     public void saveInfo() {
-        List<KuaishouCostGroup> grouplist = kuaishouCostGroupMapper.queryGroupCostInfo(DateUtils.getNowDate(DateUtils.WEB_FORMAT));
-        if (!Check.isNull(grouplist)) {
-            kuaishouCostGroupMapper.bulkInsert(grouplist);
-        }
-        List<KuaishouCostGroup> accountList = kuaishouCostGroupMapper.queryAccountCostInfo(DateUtils.getNowDate(DateUtils.WEB_FORMAT));
+        String date = DateUtils.getNowDate(DateUtils.WEB_FORMAT);
+        Map<String, Object> deleteMap = new HashMap<>();
+        deleteMap.put("stat_date", date);
+        kuaishouCostGroupMapper.deleteByMap(deleteMap);
+        //组级的数据统计
+//        List<JSONObject> grouplist = kuaishouCostGroupMapper.queryGroupCostInfo(date);
+//        if (!Check.isNull(grouplist)) {
+//            kuaishouCostGroupMapper.bulkInsert(grouplist);
+//        }
+        List<JSONObject> accountList = kuaishouCostGroupMapper.queryAccountCostInfo(date);
         if (!Check.isNull(accountList)) {
+            getTotalBalance(accountList);
             kuaishouCostGroupMapper.bulkInsert(accountList);
         }
+        Map<String, List<JSONObject>> map = new HashMap<>();
+//        map.put("unit", grouplist);
+        map.put("account", accountList);
+        HashOperations<String, Object, Object> hash = DataSourceCachePool.getRedisTemplate().opsForHash();
+        hash.putAll("KS_COST", map);
+    }
+
+    private void getTotalBalance(List<JSONObject> accountList) {
+        for (JSONObject obj : accountList) {
+            CtopOauthToken oauthToken = oauthTokenService.getTokenByAccountId(obj.getLong("accountId"));
+            if (Check.isNull(oauthToken)) {
+                log.warn("未获取到账户信息");
+                continue;
+            }
+            JSONObject fundJson = iKuaishouInterfaceService.fundGet(oauthToken);
+            if (!Check.isNull(fundJson)) {
+                obj.put("totalBalance", fundJson.getBigDecimal("balance")); // 余额
+            }
+        }
     }
 }

+ 1 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/utils/LinkUtils.java

@@ -40,7 +40,7 @@ public class LinkUtils {
     //环比计算
     public static BigDecimal countLink(BigDecimal numA, BigDecimal numB) {
         BigDecimal link = new BigDecimal(0);
-        if (!(numB.compareTo(BigDecimal.ZERO)==0)) {
+        if (numB.compareTo(BigDecimal.ZERO)!=0) {
             link = (numA.subtract(numB)).divide(numB, 4, RoundingMode.HALF_UP);
         }
         return link;

+ 0 - 1
module-oa/src/main/java/cn/com/ctop/oa/modules/controller/WechatNoListController.java

@@ -269,7 +269,6 @@ public class WechatNoListController {
      */
     @PostMapping("/excel")
     public void getExcelReport(HttpServletResponse response, @RequestBody Map<String, Object> paramsMap) {
-
         List<WechatAttendance> excelData = wechatNoListService.queryAttendanceData(paramsMap);
         List<WechatAttendance> overtimeData = wechatNoListService.queryOverTimeData(paramsMap);
         try {

+ 2 - 2
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/adlab/controller/CtopAdlabProjectDetailController.java

@@ -57,7 +57,7 @@ public class CtopAdlabProjectDetailController {
         if (!requestBody.getJSONArray("accountIds").isEmpty()) {
             queryWrapper.in("account_id", requestBody.getJSONArray("accountIds"));
         }
-        if (!requestBody.getString("optStatus").equals("")) {
+        if (!"".equals(requestBody.getString("optStatus"))) {
             queryWrapper.eq("opt_status", requestBody.getString("optStatus"));
         }
         if (!requestBody.getJSONArray("createTime").isEmpty()) {
@@ -109,7 +109,7 @@ public class CtopAdlabProjectDetailController {
                 jsonObject.put("userId", temp.get("userId"));
                 params.add(jsonObject);
                 if (repo.getInteger("code") == 0) {
-                    if (((Map<String, Object>) it).get("optStatus").equals("DELETED")) {
+                    if ("DELETED".equals(((Map<String, Object>) it).get("optStatus"))) {
                     	ctopAdlabProjectDetailService.removeById((Long) temp.get("groupId"));
                     } else {
                         ctopAdlabProjectDetailService.putStorage(params);

+ 2 - 2
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/adlab/service/impl/CreateProjectServiceImpl.java

@@ -78,7 +78,7 @@ public class CreateProjectServiceImpl implements ICreateProjectService {
         params.put("group_id", requestBody.get("groupId"));
         params.put("inventory_type", requestBody.get("inventoryType"));
         //投放范围为穿山甲时可选 ORIGINAL_VIDEO 表示原生,REWARDED_VIDEO 表示激励视频
-        if (requestBody.get("deliveryRange").equals("UNION")) {
+        if ("UNION".equals(requestBody.get("deliveryRange"))) {
             params.put("union_video_type", requestBody.get("unionVideoType"));
         }
         //定向信息
@@ -111,7 +111,7 @@ public class CreateProjectServiceImpl implements ICreateProjectService {
         params.put("playable_url", requestBody.get("playableUrl"));
         params.put("action_track_url", requestBody.get("actionTrackUrl"));
         params.put("track_url", requestBody.get("trackUrl"));
-        if (!requestBody.get("deliveryRange").equals("UNION")) {
+        if (!"UNION".equals(requestBody.get("deliveryRange"))) {
             params.put("video_play_track_url", requestBody.get("videoPlayTrackUrl"));
             params.put("video_play_done_track_url", requestBody.get("videoPlayDoneTrackUrl"));
             params.put("video_play_effective_track_url", requestBody.get("videoPlayEffectiveTrackUrl"));

+ 1 - 1
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/batch/service/impl/BytedanceIndustryInfoServiceImpl.java

@@ -108,7 +108,7 @@ public class BytedanceIndustryInfoServiceImpl extends ServiceImpl<BytedanceIndus
         if(null!=level&&level!=0){
             queryWrapper.eq("level",level);
         }
-        if(null!=parentCode&&!parentCode.trim().equals("")){
+        if(null!=parentCode&&!"".equals(parentCode.trim())){
             queryWrapper.eq("parent_code",parentCode);
         }
        return this.list(queryWrapper);

+ 2 - 2
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/controller/ByteDanceAdvertisePlanController.java

@@ -53,7 +53,7 @@ public class ByteDanceAdvertisePlanController {
             byteDanceAdvertisePlan.setAccountId(accountId);
         }
         QueryWrapper<ByteDanceAdvertisePlan> queryWrapper = QueryGenerator.initQueryWrapper(byteDanceAdvertisePlan, req.getParameterMap());
-        if(status!=null&&!status.trim().equals("")){
+        if(status!=null&&!"".equals(status.trim())){
             queryWrapper.eq("opt_status","AD_STATUS_"+status);
         }
         if(null!=startDate&&!"".equals(startDate)){
@@ -68,7 +68,7 @@ public class ByteDanceAdvertisePlanController {
         //处理计划投放状态
         if (!pageList.getRecords().isEmpty()) {
             pageList.getRecords().forEach(it -> {
-                if (it.getOptStatus().equals("AD_STATUS_ENABLE")) {
+                if ("AD_STATUS_ENABLE".equals(it.getOptStatus())) {
                     it.setPlanStatus(true);
                 } else {
                     it.setPlanStatus(false);

+ 2 - 2
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/controller/ByteDanceCampaignController.java

@@ -80,7 +80,7 @@ public class ByteDanceCampaignController {
         IPage<ByteDanceCampaign> pageList = byteDanceCampaignService.page(page, queryWrapper);
         List<ByteDanceCampaign> records = pageList.getRecords();
         if(null!=records&&!records.isEmpty()){
-            List<ByteDanceCampaign> campaigns = records.stream().map(campaign-> campaign.setCampaignStatus(campaign.getStatus().equalsIgnoreCase("CAMPAIGN_STATUS_ENABLE"))).collect(Collectors.toList());
+            List<ByteDanceCampaign> campaigns = records.stream().map(campaign-> campaign.setCampaignStatus("CAMPAIGN_STATUS_ENABLE".equalsIgnoreCase(campaign.getStatus()))).collect(Collectors.toList());
             pageList.setRecords(campaigns);
         }
         result.setSuccess(true);
@@ -123,7 +123,7 @@ public class ByteDanceCampaignController {
                                          @RequestParam(name = "ids") String ids,
                                          @RequestParam(name = "status")String status){
         Map<String,Object>result = new HashMap();
-        if(null == accountId||accountId==0||null == ids||ids.trim().equals("")||null==status||status.trim().equals("")){
+        if(null == accountId||accountId==0||null == ids|| "".equals(ids.trim())||null==status|| "".equals(status.trim())){
             ResultMapUtils.setResultMap(result, StatusCode.COMMON_PARAM_ERROR);
             return result;
         }

+ 5 - 5
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/controller/ByteDanceCreativeController.java

@@ -58,7 +58,7 @@ public class ByteDanceCreativeController {
             @RequestParam(name = "name",defaultValue = "",required = false)String name) {
         Result<IPage<ByteDanceCreative>> result = new Result<>();
         QueryWrapper<ByteDanceCreative> queryWrapper = new QueryWrapper<>();
-        if(null!=startDate&&!startDate.trim().equals("")){
+        if(null!=startDate&&!"".equals(startDate.trim())){
             queryWrapper.ge("creative_create_time",startDate+" 00:00:00");
         }
         if(null!=accountId){
@@ -67,13 +67,13 @@ public class ByteDanceCreativeController {
         if(null!=planId&&planId!=0){
             queryWrapper.eq("plan_id",planId);
         }
-        if(null!=endDate&&!endDate.trim().equals("")){
+        if(null!=endDate&&!"".equals(endDate.trim())){
             queryWrapper.le("creative_create_time",endDate+" 23:59:59");
         }
         if(null!=name&&!"".equals(name.trim())){
             queryWrapper.like("title",name);
         }
-        if(null!=status&&!status.trim().equals("")){
+        if(null!=status&&!"".equals(status.trim())){
             queryWrapper.eq("opt_status","CREATIVE_STATUS_"+status);
         }
         queryWrapper.orderByDesc("creative_create_time");
@@ -81,7 +81,7 @@ public class ByteDanceCreativeController {
         IPage<ByteDanceCreative> pageList = byteDanceCreativeService.page(page, queryWrapper);
         List<ByteDanceCreative> records = pageList.getRecords();
         if(null!=records&&!records.isEmpty()){
-            List<ByteDanceCreative> creatives = records.stream().map(creative-> creative.setCreateStatus(creative.getOptStatus().equalsIgnoreCase("CREATIVE_STATUS_ENABLE"))).collect(Collectors.toList());
+            List<ByteDanceCreative> creatives = records.stream().map(creative-> creative.setCreateStatus("CREATIVE_STATUS_ENABLE".equalsIgnoreCase(creative.getOptStatus()))).collect(Collectors.toList());
             pageList.setRecords(creatives);
         }
         result.setSuccess(true);
@@ -119,7 +119,7 @@ public class ByteDanceCreativeController {
                                          @RequestParam(name = "ids") String ids,
                                          @RequestParam(name = "status")String status){
         Map<String,Object>result = new HashMap();
-        if(null == accountId||accountId==0||null == ids||ids.trim().equals("")||null==status||status.trim().equals("")){
+        if(null == accountId||accountId==0||null == ids|| "".equals(ids.trim())||null==status|| "".equals(status.trim())){
             ResultMapUtils.setResultMap(result, StatusCode.COMMON_PARAM_ERROR);
             return result;
         }

+ 0 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/service/impl/ByteDanceAdvertisePlanServiceImpl.java


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