Browse Source

Merge branch 'test'

# Conflicts:
#	module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/controller/ByteDanceAdvertisePlanController.java
#	module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/entity/ByteDanceAdvertisePlan.java
jiequan.bi 4 years ago
parent
commit
2d8fef19c0
100 changed files with 1925 additions and 1213 deletions
  1. 0 36
      jeecg-boot-base-common/src/main/java/org/jeecg/common/aspect/annotation/AutoLog.java
  2. 0 42
      jeecg-boot-base-common/src/main/java/org/jeecg/common/aspect/annotation/Dict.java
  3. 0 29
      jeecg-boot-base-common/src/main/java/org/jeecg/common/aspect/annotation/PermissionData.java
  4. 30 93
      jeecg-boot-base-common/src/main/java/org/jeecg/common/util/DateUtils.java
  5. 5 2
      jeecg-boot-module-system/src/main/java/org/jeecg/JeecgApplication.java
  6. 2 1
      jeecg-boot-module-system/src/main/java/org/jeecg/JeecgOneGui.java
  7. 1 6
      jeecg-boot-module-system/src/main/java/org/jeecg/config/ShiroConfig.java
  8. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/config/WebMvcConfiguration.java
  9. 0 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ActorController.java
  10. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/AdvertiserController.java
  11. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/AgentInfoController.java
  12. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BindAccountAuthController.java
  13. 16 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BindAccountLoginController.java
  14. 4 37
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceTemplateController.java
  15. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/CorpFeishuUserController.java
  16. 3 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/CtopOauthTokenController.java
  17. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/DramaInfoController.java
  18. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/DramaItemInfoController.java
  19. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/DramaRoleInfoController.java
  20. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/FileInfoController.java
  21. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/KuaiShouDefectMaterialController.java
  22. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/KuaishouAdvertiserController.java
  23. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/KuaishouAgentAccountController.java
  24. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/KuaishouAppAccountController.java
  25. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/KuaishouAppProductController.java
  26. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/KuaishouChannelRegInfoController.java
  27. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/KuaishouEffectAdInfoController.java
  28. 157 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/KuaishouEffectVideoInfoController.java
  29. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/KuaishouHotPhotoInfoController.java
  30. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/KuaishouInspiredAdController.java
  31. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/MaterialAscriptionController.java
  32. 1 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/MaterialCutFrameController.java
  33. 5 5
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/MaterialImageInfoController.java
  34. 98 24
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/MaterialInfoController.java
  35. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/MaterialParameterController.java
  36. 8 8
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/MaterialPartController.java
  37. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/MaterialTagController.java
  38. 13 4
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ProjectController.java
  39. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ProjectMemberController.java
  40. 210 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ProjectTransferRecordController.java
  41. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ReleaseRecordController.java
  42. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ReleaseViewRecordController.java
  43. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/SalePerformanceDetailController.java
  44. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ScriptTagInfoController.java
  45. 248 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/SupplierListController.java
  46. 248 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/SupplierWatermarkController.java
  47. 134 48
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/TestController.java
  48. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/TransferAccountController.java
  49. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/UReportFileBindUserController.java
  50. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/UReportFileController.java
  51. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/UserAllocationController.java
  52. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/VideoMergeTaskController.java
  53. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/VideoPartController.java
  54. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/VideoWatermarkTaskController.java
  55. 24 112
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/VideoWatermarkTemplateController.java
  56. 0 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/Advertiser.java
  57. 69 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/BytedanceAreaInfo.java
  58. 74 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/KuaishouEffectVideoInfo.java
  59. 45 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/ProjectTransferRecord.java
  60. 1 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/AccountBidJob.java
  61. 1 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/AccountCpaBidJob.java
  62. 0 45
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/BakDataBaseJob.java
  63. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/ByteDanceCleanMaterialJob.java
  64. 1 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/ByteDanceHourlyAccountWarningLoadJob.java
  65. 4 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/ByteDanceRefreshTokenJob.java
  66. 1 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/BytedanceAdvertiserDailyReportLoadJob.java
  67. 6 5
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/BytedanceAdvertiserDataLoadJob.java
  68. 1 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/BytedanceAdvertiserHourlyReportLoadJob.java
  69. 1 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/BytedanceCreativeDailyReportLoadJob.java
  70. 1 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/BytedanceCreativeHourlyReportLoadJob.java
  71. 1 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/BytedancePlanDailyReportLoadJob.java
  72. 1 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/BytedancePlanHourlyReportLoadJob.java
  73. 3 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/BytedancePlanLoadJob.java
  74. 2 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/BytedancePlanRealTimeLoadJob.java
  75. 4 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/BytedanceSameDayCreativeLoadJob.java
  76. 0 61
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/CutFrameJob.java
  77. 0 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/DailyFlowsJob.java
  78. 3 7
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/KuaishouMaterialsLoadJob.java
  79. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/KuaishouNowDateCampaignJob.java
  80. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/KuaishouNowDateCreativeJob.java
  81. 1 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/KuaishouNowDateGroupJob.java
  82. 3 4
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/KuaishouSuZaoLoadJob.java
  83. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/MergeVideoJob.java
  84. 7 29
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/ToutiaoMaterialsLoadJob.java
  85. 18 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/KuaishouEffectVideoInfoMapper.java
  86. 14 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/ProjectTransferRecordMapper.java
  87. 45 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/KuaishouEffectVideoInfoMapper.xml
  88. 5 13
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/KuaishouMatcostAccountMayMapper.xml
  89. 80 80
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/MaterialTopMapper.xml
  90. 193 338
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/MediaReportMapper.xml
  91. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/ProjectMemberMapper.xml
  92. 2 2
      module-common/src/main/java/cn/com/ctop/common/module/mapper/xml/VideoWatermarkTemplateMapper.xml
  93. 17 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/IKuaishouEffectVideoInfoService.java
  94. 1 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/IProjectMemberService.java
  95. 18 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/IProjectTransferRecordService.java
  96. 0 52
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/BidWarningServiceImpl.java
  97. 0 50
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/CpaBidWarningServiceImpl.java
  98. 18 20
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/KuaiShouUploadServiceImpl.java
  99. 39 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/KuaishouEffectVideoInfoServiceImpl.java
  100. 0 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/KuaishouMatcostAccountMayServiceImpl.java

+ 0 - 36
jeecg-boot-base-common/src/main/java/org/jeecg/common/aspect/annotation/AutoLog.java

@@ -1,36 +0,0 @@
-package org.jeecg.common.aspect.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.jeecg.common.constant.CommonConstant;
-
-/**
- * 系统日志注解
- * 
- * @Author scott
- * @email jeecgos@163.com
- * @Date 2019年1月14日
- */
-@Target(ElementType.METHOD)
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface AutoLog {
-
-	/**
-	 * 日志内容
-	 * 
-	 * @return
-	 */
-	String value() default "";
-
-	/**
-	 * 日志类型
-	 * 
-	 * @return 0:操作日志;1:登录日志;2:定时任务;
-	 */
-	int logType() default CommonConstant.LOG_TYPE_2;
-}

+ 0 - 42
jeecg-boot-base-common/src/main/java/org/jeecg/common/aspect/annotation/Dict.java

@@ -1,42 +0,0 @@
-package org.jeecg.common.aspect.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- *  类描述:  字典注解
- * 作    者: dangzhenghui
- * 日    期: 2019年03月17日-下午9:37:16
- */
-@Target(ElementType.FIELD)
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Dict {
-    /**
-     * 方法描述:  数据code
-     * 作    者: dangzhenghui
-     * 日    期: 2019年03月17日-下午9:37:16
-     *
-     * @return 返回类型: String
-     */
-    String dicCode();
-
-    /**
-     * 方法描述:  数据Text
-     * 作    者: dangzhenghui
-     * 日    期: 2019年03月17日-下午9:37:16
-     *
-     * @return 返回类型: String
-     */
-    String dicText() default "";
-
-    /**
-     * 方法描述: 数据字典表
-     * 作    者: dangzhenghui
-     * 日    期: 2019年03月17日-下午9:37:16
-     *
-     * @return 返回类型: String
-     */
-    String dictTable() default "";
-}

+ 0 - 29
jeecg-boot-base-common/src/main/java/org/jeecg/common/aspect/annotation/PermissionData.java

@@ -1,29 +0,0 @@
-package org.jeecg.common.aspect.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
-  *  数据权限注解
- * @Author taoyan
- * @Date 2019年4月11日
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.TYPE,ElementType.METHOD})
-@Documented
-public @interface PermissionData {
-	/**
-	 * 暂时没用
-	 * @return
-	 */
-	String value() default "";
-	
-	
-	/**
-	 * 配置菜单的组件路径,用于数据权限
-	 */
-	String pageComponent() default "";
-}

+ 30 - 93
jeecg-boot-base-common/src/main/java/org/jeecg/common/util/DateUtils.java

@@ -32,12 +32,14 @@ public class DateUtils extends PropertyEditorSupport {
     private static final long SECOND_IN_MILLIS = 1000L;
 
 
+    public static String getNowHour(Date date){
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH");
+        return simpleDateFormat.format(date);
+    }
     public static Date getNowDate() throws ParseException {
         SimpleDateFormat dsdf = new SimpleDateFormat("yyyy-MM-dd");
         String nowDate = getNowDate("yyyy-MM-dd");
-        Date parse = dsdf.parse(nowDate);
-        return parse;
-
+        return dsdf.parse(nowDate);
     }
 
 
@@ -47,28 +49,14 @@ public class DateUtils extends PropertyEditorSupport {
         //将字符串形式的时间转化为Date类型的时间
         Date a = sdf.parse(beginDate);
         Date b = sdf.parse(nowDate);
-        //Date类的一个方法,如果a早于b返回true,否则返回false
-        if (a.before(b)) {
-            return true;
-        } else {
-            return false;
-        }
-
-		/*
-		 * 如果你不喜欢用上面这个太流氓的方法,也可以根据将Date转换成毫秒
-		if(a.getTime()-b.getTime()<0)
-			return true;
-		else
-			return false;
-		*/
+        return a.before(b);
     }
 
 
     public static String getDateByDateStr(String dateStr) throws ParseException {
         SimpleDateFormat dsdf = new SimpleDateFormat("yyyy-MM-dd");
         Date parse = dsdf.parse(dateStr);
-        String day = dsdf.format(parse);
-        return day;
+        return dsdf.format(parse);
     }
 
     public static Integer getHour(String dateStr) throws ParseException {
@@ -76,10 +64,7 @@ public class DateUtils extends PropertyEditorSupport {
         Calendar cal = Calendar.getInstance();
         Date date = sdf.parse(dateStr);
         cal.setTime(date);
-        Integer hour = cal.get(Calendar.HOUR_OF_DAY);
-        return hour;
-
-
+        return cal.get(Calendar.HOUR_OF_DAY);
     }
 
     /**
@@ -113,20 +98,6 @@ public class DateUtils extends PropertyEditorSupport {
         return cal;
     }
 
-    // ////////////////////////////////////////////////////////////////////////////
-    // getDate
-    // 各种方式获取的Date
-    // ////////////////////////////////////////////////////////////////////////////
-
-    /**
-     * 当前日期
-     *
-     * @return 系统当前时间
-     */
-    public static Date getDate() {
-        return new Date();
-    }
-
     /**
      * 字符串转换成日期
      *
@@ -147,17 +118,6 @@ public class DateUtils extends PropertyEditorSupport {
         }
         return null;
     }
-
-    /**
-     * 日期转换为字符串
-     *
-     * @return 字符串
-     */
-    public static String date2Str() {
-        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
-        return format.format(new Date());
-    }
-
     /**
      * 格式化时间
      *
@@ -251,8 +211,7 @@ public class DateUtils extends PropertyEditorSupport {
         Date dt = new Date();
         DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         String nowTime = df.format(dt);
-        Timestamp buydate = Timestamp.valueOf(nowTime);
-        return buydate;
+        return Timestamp.valueOf(nowTime);
     }
 
     // ////////////////////////////////////////////////////////////////////////////
@@ -516,10 +475,9 @@ public class DateUtils extends PropertyEditorSupport {
      * @param src     将要转换的原始字符窜
      * @param pattern 转换的匹配格式
      * @return 如果转换成功则返回转换后的日期
-     * @throws ParseException
      * @throws
      */
-    public static Calendar parseCalendar(String src, String pattern) throws ParseException {
+    public static Calendar parseCalendar(String src, String pattern){
 
         Date date = parseDate(src, pattern);
         Calendar cal = Calendar.getInstance();
@@ -527,7 +485,7 @@ public class DateUtils extends PropertyEditorSupport {
         return cal;
     }
 
-    public static String formatAddDate(String src, String pattern, int amount) throws ParseException {
+    public static String formatAddDate(String src, String pattern, int amount) {
         Calendar cal;
         cal = parseCalendar(src, pattern);
         cal.add(Calendar.DATE, amount);
@@ -543,7 +501,7 @@ public class DateUtils extends PropertyEditorSupport {
      * @throws ParseException
      * @throws
      */
-    public static Timestamp parseTimestamp(String src, String pattern) throws ParseException {
+    public static Timestamp parseTimestamp(String src, String pattern) {
         Date date = parseDate(src, pattern);
         return new Timestamp(date.getTime());
     }
@@ -593,13 +551,10 @@ public class DateUtils extends PropertyEditorSupport {
         SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
         Date date = sdf1.parse(createTime);
         SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        String str = sdf2.format(date);
-
-        return str;
+        return sdf2.format(date);
     }
 
     public static Map<String, Object> getStartEndTime(String createTime) throws ParseException {
-
         SimpleDateFormat smf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         Date parse = smf.parse(createTime);
         Calendar calendar = Calendar.getInstance();
@@ -646,7 +601,7 @@ public class DateUtils extends PropertyEditorSupport {
      * HH:mm:ss“ * @param text String类型的时间值
      */
     @Override
-    public void setAsText(String text) throws IllegalArgumentException {
+    public void setAsText(String text) {
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
         SimpleDateFormat datetimeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         if (StringUtils.hasText(text)) {
@@ -692,13 +647,13 @@ public class DateUtils extends PropertyEditorSupport {
         String splitDate = DateUtils.addDay(endDate, -1);
         splitDate = DateUtils.addDay(splitDate, 1);
         if (DateUtils.compareDate(startDate, splitDate) >= 0) {
-            Map<String, String> map = new HashMap<String, String>();
+            Map<String, String> map = new HashMap<>();
             map.put("startDate", startDate);
             map.put("endDate", endDate);
             list.add(map);
         } else {
             while (DateUtils.compareDate(startDate, splitDate) < 0 || DateUtils.compareDate(startDate, endDate) <= 0) {
-                Map<String, String> map = new HashMap<String, String>();
+                Map<String, String> map = new HashMap<>();
                 map.put("startDate", splitDate);
                 map.put("endDate", endDate);
                 list.add(map);
@@ -713,17 +668,17 @@ public class DateUtils extends PropertyEditorSupport {
     }
 
     public static List<Map<String, String>> getDateWeekRange(String startDate, String endDate) throws ParseException {
-        List<Map<String, String>> list = new ArrayList<Map<String, String>>();
+        List<Map<String, String>> list = new ArrayList<>();
         String splitDate = DateUtils.addWeek(endDate, -1);
         splitDate = DateUtils.addDay(splitDate, 1);
         if (DateUtils.compareDate(startDate, splitDate) >= 0) {
-            Map<String, String> map = new HashMap<String, String>();
+            Map<String, String> map = new HashMap<>();
             map.put("startDate", startDate);
             map.put("endDate", endDate);
             list.add(map);
         } else {
             while (DateUtils.compareDate(startDate, splitDate) < 0 || DateUtils.compareDate(startDate, endDate) <= 0) {
-                Map<String, String> map = new HashMap<String, String>();
+                Map<String, String> map = new HashMap<>();
                 map.put("startDate", splitDate);
                 map.put("endDate", endDate);
                 list.add(map);
@@ -738,17 +693,17 @@ public class DateUtils extends PropertyEditorSupport {
     }
 
     public static List<Map<String, String>> getDateMonthRange(String startDate, String endDate) throws ParseException {
-        List<Map<String, String>> list = new ArrayList<Map<String, String>>();
+        List<Map<String, String>> list = new ArrayList<>();
         String splitDate = DateUtils.addMonth(endDate, -1);
         splitDate = DateUtils.addDay(splitDate, 1);
         if (DateUtils.compareDate(startDate, splitDate) >= 0) {
-            Map<String, String> map = new HashMap<String, String>();
+            Map<String, String> map = new HashMap<>();
             map.put("startDate", startDate);
             map.put("endDate", endDate);
             list.add(map);
         } else {
             while (DateUtils.compareDate(startDate, splitDate) < 0 || DateUtils.compareDate(startDate, endDate) <= 0) {
-                Map<String, String> map = new HashMap<String, String>();
+                Map<String, String> map = new HashMap<>();
                 map.put("startDate", splitDate);
                 map.put("endDate", endDate);
                 list.add(map);
@@ -844,11 +799,10 @@ public class DateUtils extends PropertyEditorSupport {
 
     public static Map<String, Object> getBeforeDate() {
         Date dNow = new Date();
-        Date dBefore = new Date();
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(dNow);
         calendar.add(Calendar.DAY_OF_MONTH, -1);
-        dBefore = calendar.getTime();
+        Date dBefore = calendar.getTime();
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         String defaultStartDate = sdf.format(dBefore);
         defaultStartDate = defaultStartDate + " 00:00:00";
@@ -865,7 +819,6 @@ public class DateUtils extends PropertyEditorSupport {
      * @param date   传入的初始日期
      * @param num    天数
      * @return
-     * @throws ParseException
      */
     public static String getAnotherDay(String format, String date, Integer num) {
 
@@ -914,8 +867,6 @@ public class DateUtils extends PropertyEditorSupport {
     }
 
     public static Map<String, Object> compareDate(String format, String date1, String date2) {
-
-
         DateFormat df = new SimpleDateFormat(format);
         Map<String, Object> map = new HashMap<>();
         try {
@@ -945,11 +896,9 @@ public class DateUtils extends PropertyEditorSupport {
      * @throws ParseException
      */
     public static String getYear(String format, String date) throws ParseException {
-
         SimpleDateFormat df = new SimpleDateFormat(format);
         Date parse = df.parse(date);
         return String.format("%tY", parse);
-
     }
 
     /**
@@ -975,7 +924,6 @@ public class DateUtils extends PropertyEditorSupport {
      * @throws ParseException
      */
     public static String getDay(String format, String date) throws ParseException {
-
         SimpleDateFormat df = new SimpleDateFormat(format);
         Date parse = df.parse(date);
         return String.format("%td", parse);
@@ -1016,7 +964,6 @@ public class DateUtils extends PropertyEditorSupport {
         calendar.setTime(date);
         calendar.setFirstDayOfWeek(Calendar.FRIDAY);
         calendar.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
-        DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
         return calendar.getTime();
     }
 
@@ -1026,13 +973,12 @@ public class DateUtils extends PropertyEditorSupport {
      */
     public static Map<String, Integer> getYearQuarter(Date date) {
         Map<String, Integer> dateMap = new HashMap<>();
-
         Calendar calendar = new GregorianCalendar();
         calendar.setTime(date);
         int originYear = calendar.get(Calendar.YEAR);
         int originMonth = calendar.get(Calendar.MONTH);
-        int originQuarter = DateUtils.getQuarter(date); //本月所在季度(按照日期来的)
-
+        //本月所在季度(按照日期来的)
+        int originQuarter = DateUtils.getQuarter(date);
         Calendar calendar1 = new GregorianCalendar();
         calendar1.setTime(date);
         calendar1.setFirstDayOfWeek(Calendar.FRIDAY);
@@ -1054,7 +1000,8 @@ public class DateUtils extends PropertyEditorSupport {
         //如果本周第一天(周五)和当前天不在一个月内,说明周跨月了
         if (fridayMonth == originMonth && thursdayMonth == originMonth) {
             dateMap.put("year", originYear);
-            dateMap.put("month", originMonth + 1);  //最后一个月是11,应该+1
+            //最后一个月是11,应该+1
+            dateMap.put("month", originMonth + 1);
             dateMap.put("quarter", originQuarter);
             return dateMap;
         } else if (fridayYear < originYear || (fridayYear == originYear && fridayMonth < originMonth)) {
@@ -1248,14 +1195,10 @@ public class DateUtils extends PropertyEditorSupport {
         startCalendar.setTime(start);
         GregorianCalendar endCalendar = new GregorianCalendar();
         endCalendar.setTime(end);
-
         int startYear = startCalendar.get(Calendar.YEAR);
         int startMonth = startCalendar.get(Calendar.MONTH) + 1;
-        int startDay = startCalendar.get(Calendar.DAY_OF_MONTH);
         int endYear = endCalendar.get(Calendar.YEAR);
         int endMonth = endCalendar.get(Calendar.MONTH) + 1;
-        int endDay = endCalendar.get(Calendar.DAY_OF_MONTH);
-
         return (endYear - startYear) * 12 + (endMonth - startMonth);
     }
 
@@ -1317,12 +1260,6 @@ public class DateUtils extends PropertyEditorSupport {
         return (int) betweenDate;
     }
 
-    public static Date addMonth(Date date) {
-        Calendar calendar = Calendar.getInstance();//日历对象
-        calendar.add(Calendar.MONTH, -1);//月份减一
-        return calendar.getTime();
-    }
-
     /**
      * 判断两个日期间隔是否大于半年
      *
@@ -1334,13 +1271,13 @@ public class DateUtils extends PropertyEditorSupport {
         long time1 = c.getTimeInMillis();
         c.setTime(Objects.requireNonNull(parseDate(endDate, SystemDateConstant.yyyy_MM_dd)));
         long time2 = c.getTimeInMillis();
-        long between_days = (time2 - time1) / (1000 * 3600 * 24);
-        int day = Integer.parseInt(String.valueOf(between_days));
+        long betweenDays = (time2 - time1) / (1000 * 3600 * 24);
+        int day = Integer.parseInt(String.valueOf(betweenDays));
         return day > 180;
     }
 
     public static List<Date> findDates(Date dBegin, Date dEnd) {
-        List<Date> lDate = new ArrayList<Date>();
+        List<Date> lDate = new ArrayList<>();
         lDate.add(dBegin);
         Calendar calBegin = Calendar.getInstance();
         // 使用给定的 Date 设置此 Calendar 的时间

+ 5 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/JeecgApplication.java

@@ -4,6 +4,7 @@ import cn.com.ctop.common.module.utils.SpringUtils;
 import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.constant.AccountReportConstants;
+import org.jeecg.modules.system.util.ExtMappingJackson2HttpMessageConverter;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.context.ConfigurableApplicationContext;
@@ -41,8 +42,10 @@ public class JeecgApplication {
     }
 
     @Bean
-    public RestTemplate restTemplate() {
-        return new RestTemplate();
+    RestTemplate restTemplate(){
+        RestTemplate restTemplate = new RestTemplate();
+        restTemplate.getMessageConverters().add(new ExtMappingJackson2HttpMessageConverter());
+        return restTemplate;
     }
 
     @Bean

+ 2 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/JeecgOneGui.java

@@ -16,5 +16,6 @@ public class JeecgOneGui {
     public static void main(String[] args) {
         new CodeWindow().pack();
     }
-
 }
+
+

+ 1 - 6
jeecg-boot-module-system/src/main/java/org/jeecg/config/ShiroConfig.java

@@ -76,8 +76,6 @@ public class ShiroConfig {
         filterChainDefinitionMap.put("/appium/crawler/*", "anon");
 
         filterChainDefinitionMap.put("/ctop/kuaishouChannelRegInfo/*", "anon");
-
-
         filterChainDefinitionMap.put("/ctop/byteDance/homePage/report/*", "anon");
         filterChainDefinitionMap.put("/ctop/material/top/cost", "anon");
 
@@ -114,15 +112,13 @@ public class ShiroConfig {
         //oauth接口
         filterChainDefinitionMap.put("/auth/**", "anon");
         filterChainDefinitionMap.put("/ctop/syncdata/**", "anon");
+        filterChainDefinitionMap.put("/sys/dictItem/list", "anon");
         //头条接口
         filterChainDefinitionMap.put("/bytedance", "anon");
-        filterChainDefinitionMap.put("/toutiao/dictitem/list", "anon");
         filterChainDefinitionMap.put("/toutiao/loadAllData", "anon");
         filterChainDefinitionMap.put("/toutiao/loadSingleData", "anon");
         filterChainDefinitionMap.put("/kuaishou/getReport/historyData", "anon");
         filterChainDefinitionMap.put("/toutiao/advertiser/**", "anon");
-        filterChainDefinitionMap.put("/toutiao/industry/list", "anon");
-        filterChainDefinitionMap.put("/template/bytedance/industry/list", "anon");
         filterChainDefinitionMap.put("/template/convert/list", "anon");
         filterChainDefinitionMap.put("/template/convert/list/url", "anon");
         //文件上传接口
@@ -144,7 +140,6 @@ public class ShiroConfig {
         filterChainDefinitionMap.put("/graphql/video", "anon");
         filterChainDefinitionMap.put("/ks/web/test", "anon");
         filterChainDefinitionMap.put("/ureport/**", "anon");
-        //filterChainDefinitionMap.put("/ctop/performance/show/**", "anon");
         filterChainDefinitionMap.put("/job/test/*", "anon");
 
         // 添加自己的过滤器并且取名为jwt

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

@@ -9,7 +9,6 @@ import org.springframework.context.annotation.Configuration;
 import org.springframework.web.cors.CorsConfiguration;
 import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
 import org.springframework.web.filter.CorsFilter;
-import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
 import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@@ -38,6 +37,7 @@ public class WebMvcConfiguration implements WebMvcConfigurer {
 //		registry.addInterceptor(browseLogHandelInterceptor);
 //	}
 
+
 	@Bean
 	public CorsFilter corsFilter() {
 		final UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource();

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

@@ -65,7 +65,6 @@ public class ActorController {
         QueryWrapper<Actor> queryWrapper = QueryGenerator.initQueryWrapper(actor, req.getParameterMap());
         Page<Actor> page = new Page<>(pageNo, pageSize);
         IPage<Actor> pageList = actorService.page(page, queryWrapper);
-
         result.setSuccess(true);
         result.setResult(pageList);
         return result;
@@ -77,7 +76,6 @@ public class ActorController {
                                                         @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                                         HttpServletRequest req) {
         Result<IPage<ActorPhoto>> result = new Result<>();
-
         QueryWrapper<ActorPhoto> queryWrapper = QueryGenerator.initQueryWrapper(actorPhoto, req.getParameterMap());
         Page<ActorPhoto> page = new Page<>(pageNo, pageSize);
         IPage<ActorPhoto> pageList = actorPhotoService.page(page, queryWrapper);
@@ -92,7 +90,6 @@ public class ActorController {
                                                             @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                                             HttpServletRequest req) {
         Result<IPage<ActorComment>> result = new Result<>();
-
         QueryWrapper<ActorComment> queryWrapper = QueryGenerator.initQueryWrapper(actorComment, req.getParameterMap());
         Page<ActorComment> page = new Page<>(pageNo, pageSize);
         IPage<ActorComment> pageList = actorCommentService.page(page, queryWrapper);

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.constant.CtopRoleCodeConstant;
 import cn.com.ctop.common.module.entity.Project;
 import cn.com.ctop.common.module.entity.UserAllocation;
@@ -19,7 +20,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.DateUtils;
 import org.jeecg.modules.ctop.entity.Advertiser;

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -8,7 +9,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.ctop.entity.AgentInfo;

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.entity.BindAccountAuth;
 import cn.com.ctop.common.module.service.IBindAccountAuthService;
 import cn.com.ctop.common.module.utils.Check;
@@ -12,7 +13,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;

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

@@ -1,9 +1,11 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.entity.BindAccountLogin;
 import cn.com.ctop.common.module.entity.UserAllocation;
 import cn.com.ctop.common.module.mapper.UserAllocationMapper;
 import cn.com.ctop.common.module.service.IBindAccountLoginService;
+import cn.com.ctop.common.module.service.ISysRoleService;
 import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.common.module.utils.CtopAdConstant;
 import cn.com.ctop.common.module.utils.StringUtils;
@@ -16,7 +18,6 @@ import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.ctop.service.ICreateInternalService;
@@ -45,7 +46,8 @@ public class BindAccountLoginController {
     private UserAllocationMapper userAllocationMapper;
     @Autowired
     private ICreateInternalService createInternalService;
-
+    @Autowired
+    private ISysRoleService sysRoleService;
     /**
      * @param json
      * @return
@@ -123,9 +125,20 @@ public class BindAccountLoginController {
                                                          @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                                          HttpServletRequest req) {
         Result<IPage<BindAccountLogin>> result = new Result<>();
+        String accountName = bindAccountLogin.getAccountName();
+        String loginType = bindAccountLogin.getLoginType();
+        bindAccountLogin.setAccountName(null);
+        bindAccountLogin.setLoginType(null);
         QueryWrapper<BindAccountLogin> queryWrapper = QueryGenerator.initQueryWrapper(bindAccountLogin, req.getParameterMap());
+        if(null!=accountName&&!"".equals(accountName.trim())){
+            queryWrapper.like("account_name",accountName);
+        }
+        if(null != loginType&&!"".equals(loginType.trim())&&!"none".equals(loginType)){
+            queryWrapper.eq("login_type",loginType);
+        }
         LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        if (!Check.isNull(user)) {
+        String roleCode = sysRoleService.getRoleCodeByUserId(user.getId());
+        if(!roleCode.equals("admin")){
             queryWrapper.eq("user_id", user.getId());
         }
         queryWrapper.orderByDesc("id");

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

@@ -1,14 +1,12 @@
 package org.jeecg.modules.ctop.controller;
 
-import cn.com.ctop.common.module.utils.CtopAdConstant;
-import cn.com.ctop.common.module.entity.BindAccountLogin;
 import cn.com.ctop.common.module.entity.UserAllocation;
-import cn.com.ctop.common.module.service.IBindAccountLoginService;
 import cn.com.ctop.common.module.service.IFileInfoService;
 import cn.com.ctop.common.module.service.IUserAllocationService;
 import cn.com.ctop.toutiao.modules.material.entity.ByteDanceAdvertisePlan;
 import cn.com.ctop.toutiao.modules.material.entity.ByteDanceCampaign;
-import cn.com.ctop.toutiao.modules.material.service.*;
+import cn.com.ctop.toutiao.modules.material.service.IByteDanceAdvertisePlanService;
+import cn.com.ctop.toutiao.modules.material.service.IByteDanceCampaignService;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -33,8 +31,6 @@ import java.util.Map;
 @RequestMapping("template")
 public class ByteDanceTemplateController {
     @Autowired
-    private IByteDanceCreativeService creativeService;
-    @Autowired
     private IUserAllocationService userAllocationService;
     @Autowired
     private IFileInfoService fileInfoService;
@@ -67,35 +63,6 @@ public class ByteDanceTemplateController {
         return result;
     }
 
-    @Autowired
-    private IBindAccountLoginService bindAccountLoginService;
-
-    /**
-     * 获取头条授权用户信息列表
-     *
-     * @param accountLogin
-     * @param pageNo
-     * @param pageSize
-     * @param req
-     * @return
-     */
-    @PostMapping(value = "bind/login/list")
-    public Result<IPage<BindAccountLogin>> queryBindLoginList(@RequestBody BindAccountLogin accountLogin,
-                                                              @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                                              @RequestParam(name = "pageSize", defaultValue = "100") Integer pageSize,
-                                                              HttpServletRequest req) {
-        Result<IPage<BindAccountLogin>> result = new Result<>();
-        QueryWrapper<BindAccountLogin> queryWrapper = QueryGenerator.initQueryWrapper(accountLogin, req.getParameterMap());
-        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        queryWrapper.eq("user_id", user.getId()).eq("login_type", CtopAdConstant.PLATFORM_TYPE_BYTEDANCE_PY);
-        Page<BindAccountLogin> page = new Page<>(pageNo, pageSize);
-        IPage<BindAccountLogin> pageList = bindAccountLoginService.page(page, queryWrapper);
-        result.setSuccess(true);
-        result.setResult(pageList);
-        return result;
-    }
-
-
     /**
      * @param pageNo
      * @param pageSize
@@ -108,7 +75,7 @@ public class ByteDanceTemplateController {
                                                              @RequestParam(name = "pageSize", defaultValue = "1000") Integer pageSize, HttpServletRequest req) {
         Result<IPage<ByteDanceCampaign>> result = new Result<>();
         QueryWrapper<ByteDanceCampaign> queryWrapper = QueryGenerator.initQueryWrapper(campaign, req.getParameterMap());
-        queryWrapper.eq("toutiao_id", campaign.getToutiaoId()).orderByAsc("id");
+        queryWrapper.eq("account_id", campaign.getId()).orderByAsc("id");
         Page<ByteDanceCampaign> page = new Page<>(pageNo, pageSize);
         IPage<ByteDanceCampaign> pageList = campaignService.page(page, queryWrapper);
         result.setSuccess(true);
@@ -140,7 +107,7 @@ public class ByteDanceTemplateController {
                                                               @RequestParam(name = "pageSize", defaultValue = "1000") Integer pageSize, HttpServletRequest req) {
         Result<IPage<ByteDanceAdvertisePlan>> result = new Result<>();
         QueryWrapper<ByteDanceAdvertisePlan> queryWrapper = QueryGenerator.initQueryWrapper(plan, req.getParameterMap());
-        queryWrapper.eq("toutiao_id", plan.getToutiaoId()).orderByDesc("id");
+        queryWrapper.eq("account_id", plan.getAccountId()).orderByDesc("id");
         Page<ByteDanceAdvertisePlan> page = new Page<>(pageNo, pageSize);
         IPage<ByteDanceAdvertisePlan> pageList = planService.page(page, queryWrapper);
         result.setSuccess(true);

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.entity.CorpFeishuUser;
 import cn.com.ctop.common.module.service.ICorpFeishuUserService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -9,7 +10,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;

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

@@ -1,5 +1,8 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
+import cn.com.ctop.common.module.entity.CtopOauthToken;
+import cn.com.ctop.common.module.service.ICtopOauthTokenService;
 import cn.com.ctop.common.module.utils.StringUtils;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -8,10 +11,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
-import cn.com.ctop.common.module.entity.CtopOauthToken;
-import cn.com.ctop.common.module.service.ICtopOauthTokenService;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecgframework.poi.excel.ExcelImportUtil;

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.utils.ResultMapUtils;
 import cn.com.ctop.common.module.utils.StatusCode;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -10,7 +11,6 @@ import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.ctop.entity.DramaInfo;

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -7,7 +8,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.modules.ctop.entity.DramaItemInfo;
 import org.jeecg.modules.ctop.service.IDramaItemInfoService;

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -7,7 +8,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.modules.ctop.entity.DramaRoleInfo;
 import org.jeecg.modules.ctop.service.IDramaRoleInfoService;

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.entity.FileInfo;
 import cn.com.ctop.common.module.service.IFileInfoService;
 import cn.com.ctop.common.module.utils.StringUtils;
@@ -10,7 +11,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.entity.ImportParams;

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -7,7 +8,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.modules.ctop.entity.KuaiShouDefectMaterial;
 import org.jeecg.modules.ctop.service.IKuaiShouDefectMaterialService;

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.crawler.modules.account.entity.KuaishouAdAccount;
 import cn.com.ctop.crawler.modules.account.service.IKuaishouAdAccountService;
@@ -11,7 +12,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.system.entity.SysCategory;

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.utils.ExportExcelUtils;
 import cn.com.ctop.kuaishou.modules.report.entity.KuaishouAgentAccount;
 import cn.com.ctop.kuaishou.modules.report.service.IKuaishouAgentAccountService;
@@ -12,7 +13,6 @@ import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.DateUtils;
 import org.jeecg.common.util.oConvertUtils;

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.utils.StringUtils;
 import cn.com.ctop.crawler.modules.account.entity.KuaishouAppAccount;
 import cn.com.ctop.crawler.modules.account.service.IKuaishouAppAccountService;
@@ -11,7 +12,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecgframework.poi.excel.ExcelImportUtil;

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.kuaishou.modules.app.entity.KuaishouAppProduct;
 import cn.com.ctop.kuaishou.modules.app.service.IKuaishouAppProductService;
 import com.alibaba.fastjson.JSON;
@@ -10,7 +11,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecgframework.poi.excel.ExcelImportUtil;

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -7,7 +8,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.modules.ctop.entity.KuaishouChannelRegInfo;
 import org.jeecg.modules.ctop.service.IKuaishouChannelRegInfoService;

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.crawler.modules.kuaishoucce.entity.KuaishouEffectAdInfo;
 import cn.com.ctop.crawler.modules.kuaishoucce.service.IKuaishouEffectAdInfoService;
 import com.alibaba.fastjson.JSON;
@@ -10,7 +11,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecgframework.poi.excel.ExcelImportUtil;

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

@@ -0,0 +1,157 @@
+package org.jeecg.modules.ctop.controller;
+
+import cn.com.ctop.common.module.annotation.AutoLog;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.ctop.entity.KuaishouEffectVideoInfo;
+import org.jeecg.modules.ctop.service.IKuaishouEffectVideoInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Arrays;
+
+ /**
+ * 快手视频数据清洗信息
+ * @author jeecg-boot
+ * @date   2020-07-23
+ * @version V1.0
+ */
+@Slf4j
+@Api(tags="快手视频数据清洗信息")
+@RestController
+@RequestMapping("/ctop/kuaishouEffectVideoInfo")
+public class KuaishouEffectVideoInfoController {
+	@Autowired
+	private IKuaishouEffectVideoInfoService kuaishouEffectVideoInfoService;
+
+	/**
+	  * 分页列表查询
+	 * @param kuaishouEffectVideoInfo
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	@AutoLog(value = "快手视频数据清洗信息-分页列表查询")
+	@ApiOperation(value="快手视频数据清洗信息-分页列表查询", notes="快手视频数据清洗信息-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<KuaishouEffectVideoInfo>> queryPageList(KuaishouEffectVideoInfo kuaishouEffectVideoInfo,
+																@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+																@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+																HttpServletRequest req) {
+		Result<IPage<KuaishouEffectVideoInfo>> result = new Result<>();
+		QueryWrapper<KuaishouEffectVideoInfo> queryWrapper = QueryGenerator.initQueryWrapper(kuaishouEffectVideoInfo, req.getParameterMap());
+		Page<KuaishouEffectVideoInfo> page = new Page<>(pageNo, pageSize);
+		IPage<KuaishouEffectVideoInfo> pageList = kuaishouEffectVideoInfoService.page(page, queryWrapper);
+		result.setSuccess(true);
+		result.setResult(pageList);
+		return result;
+	}
+
+	/**
+	  *   添加
+	 * @param kuaishouEffectVideoInfo
+	 * @return
+	 */
+	@AutoLog(value = "快手视频数据清洗信息-添加")
+	@ApiOperation(value="快手视频数据清洗信息-添加", notes="快手视频数据清洗信息-添加")
+	@PostMapping(value = "/add")
+	public Result<KuaishouEffectVideoInfo> add(@RequestBody KuaishouEffectVideoInfo kuaishouEffectVideoInfo) {
+		Result<KuaishouEffectVideoInfo> result = new Result<>();
+		try {
+			kuaishouEffectVideoInfoService.save(kuaishouEffectVideoInfo);
+			result.success("添加成功!");
+		} catch (Exception e) {
+			log.error(e.getMessage(),e);
+			result.error500("操作失败");
+		}
+		return result;
+	}
+
+	/**
+	  *  编辑
+	 * @param kuaishouEffectVideoInfo
+	 * @return
+	 */
+	@AutoLog(value = "快手视频数据清洗信息-编辑")
+	@ApiOperation(value="快手视频数据清洗信息-编辑", notes="快手视频数据清洗信息-编辑")
+	@PutMapping(value = "/edit")
+	public Result<KuaishouEffectVideoInfo> edit(@RequestBody KuaishouEffectVideoInfo kuaishouEffectVideoInfo) {
+		Result<KuaishouEffectVideoInfo> result = new Result<>();
+		KuaishouEffectVideoInfo kuaishouEffectVideoInfoEntity = kuaishouEffectVideoInfoService.getById(kuaishouEffectVideoInfo.getId());
+		if(kuaishouEffectVideoInfoEntity==null) {
+			result.error500("未找到对应实体");
+		}else {
+			boolean ok = kuaishouEffectVideoInfoService.updateById(kuaishouEffectVideoInfo);
+			if(ok) {
+				result.success("修改成功!");
+			}
+		}
+
+		return result;
+	}
+
+	/**
+	  *   通过id删除
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "快手视频数据清洗信息-通过id删除")
+	@ApiOperation(value="快手视频数据清洗信息-通过id删除", notes="快手视频数据清洗信息-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public Result<Object> delete(@RequestParam(name="id",required=true) String id) {
+		try {
+			kuaishouEffectVideoInfoService.removeById(id);
+		} catch (Exception e) {
+			log.error("删除失败",e.getMessage());
+			return Result.error("删除失败!");
+		}
+		return Result.ok("删除成功!");
+	}
+
+	/**
+	  *  批量删除
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "快手视频数据清洗信息-批量删除")
+	@ApiOperation(value="快手视频数据清洗信息-批量删除", notes="快手视频数据清洗信息-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<KuaishouEffectVideoInfo> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		Result<KuaishouEffectVideoInfo> result = new Result<>();
+		if(ids==null || "".equals(ids.trim())) {
+			result.error500("参数不识别!");
+		}else {
+			this.kuaishouEffectVideoInfoService.removeByIds(Arrays.asList(ids.split(",")));
+			result.success("删除成功!");
+		}
+		return result;
+	}
+
+	/**
+	  * 通过id查询
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "快手视频数据清洗信息-通过id查询")
+	@ApiOperation(value="快手视频数据清洗信息-通过id查询", notes="快手视频数据清洗信息-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<KuaishouEffectVideoInfo> queryById(@RequestParam(name="id",required=true) String id) {
+		Result<KuaishouEffectVideoInfo> result = new Result<>();
+		KuaishouEffectVideoInfo kuaishouEffectVideoInfo = kuaishouEffectVideoInfoService.getById(id);
+		if(kuaishouEffectVideoInfo==null) {
+			result.error500("未找到对应实体");
+		}else {
+			result.setResult(kuaishouEffectVideoInfo);
+			result.setSuccess(true);
+		}
+		return result;
+	}
+}

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.crawler.modules.kuaishoucce.entity.KuaishouHotPhotoInfo;
 import cn.com.ctop.crawler.modules.kuaishoucce.service.IKuaishouHotPhotoInfoService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -9,7 +10,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.crawler.modules.kuaishoucce.entity.KuaishouInspiredAd;
 import cn.com.ctop.crawler.modules.kuaishoucce.service.IKuaishouInspiredAdService;
 import com.alibaba.fastjson.JSON;
@@ -10,7 +11,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecgframework.poi.excel.ExcelImportUtil;

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.entity.MaterialAscription;
 import cn.com.ctop.common.module.service.IMaterialAscriptionService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -9,7 +10,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;

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

@@ -1,9 +1,9 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.entity.MaterialCutFrame;
 import cn.com.ctop.common.module.entity.MaterialCutFrameTask;
 import cn.com.ctop.common.module.entity.MaterialInfo;
-import cn.com.ctop.common.module.entity.MaterialParameter;
 import cn.com.ctop.common.module.service.IMaterialCutFrameService;
 import cn.com.ctop.common.module.service.IMaterialCutFrameTaskService;
 import cn.com.ctop.common.module.service.IMaterialInfoService;
@@ -15,7 +15,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.entity.MaterialImageInfo;
 import cn.com.ctop.common.module.entity.MaterialInfo;
 import cn.com.ctop.common.module.mapper.MaterialInfoMapper;
@@ -17,7 +18,6 @@ import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.DateUtils;
@@ -74,8 +74,6 @@ public class MaterialImageInfoController {
                                                      @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                                      HttpServletRequest req) {
         Result<IPage<MaterialImageInfo>> result = new Result<IPage<MaterialImageInfo>>();
-
-
         QueryWrapper<MaterialImageInfo> queryWrapper = new QueryWrapper<>();
         Object createTime = materialImageInfo.getCreateTime();
         materialImageInfo.setCreateTime(null);
@@ -116,13 +114,15 @@ public class MaterialImageInfoController {
     @AutoLog(value = "素材-分页列表查询")
     @ApiOperation(value = "素材-分页列表查询", notes = "素材-分页列表查询")
     @GetMapping(value = "/list")
-    public Result<List<MaterialImageInfo>> queryPageList(String videoId) {
+    public Result<List<MaterialImageInfo>> queryPageList(String videoId, Integer status) {
         Result<List<MaterialImageInfo>> result = new Result<>();
-
         List<MaterialImageInfo> list = new ArrayList<>();
         if (!Check.isNull(videoId)) {
             QueryWrapper<MaterialImageInfo> queryWrapper = new QueryWrapper<>();
             queryWrapper.eq("video_id", videoId);
+            if (!Check.isNull(status)) {
+                queryWrapper.eq("status", status);
+            }
             list = MaterialImageInfoService.list(queryWrapper);
         }
 

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

@@ -1,6 +1,7 @@
 package org.jeecg.modules.ctop.controller;
 
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.constant.CtopRoleCodeConstant;
 import cn.com.ctop.common.module.entity.*;
 import cn.com.ctop.common.module.service.*;
@@ -21,7 +22,6 @@ import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.DateUtils;
@@ -30,6 +30,7 @@ import org.jeecg.modules.ctop.service.IProjectMemberService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.text.ParseException;
 import java.util.Arrays;
@@ -51,6 +52,8 @@ import java.util.Map;
 public class MaterialInfoController {
     @Autowired
     private IMaterialInfoService materialInfoService;
+    @Resource
+    private IMaterialCutFrameService materialCutFrameService;
     @Autowired
     private IMaterialAscriptionService materialAscriptionService;
     @Autowired
@@ -64,6 +67,10 @@ public class MaterialInfoController {
     @Autowired
     private IVideoWatermarkTaskService watermarkTaskService;
     @Autowired
+    private IProjectMemberService memberService;
+    @Autowired
+    private IMaterialImageInfoService iMaterialImageInfoService;
+    @Autowired
     private IKuaiShouUploadService uploadService;
 
 
@@ -76,6 +83,18 @@ public class MaterialInfoController {
         return materialInfoService.correlationUpload(json);
     }
 
+    @PostMapping("/supplementFrameUrl")
+    public Result<Object> supplementFrameUrl(@RequestParam String videoMD5) {
+        Result<Object> result = new Result<>();
+        boolean bool = materialCutFrameService.updateTencentCutFrame(videoMD5);
+        if (!bool) {
+            result.setSuccess(false);
+            result.error500("补全截帧url失败");
+            return result;
+        }
+        result.setSuccess(true);
+        return result;
+    }
 
     @GetMapping(value = "/report")
     public JSONObject report(String userId) {
@@ -90,7 +109,7 @@ public class MaterialInfoController {
     }
 
     @PostMapping("watermark")
-    public Result<Object> watermarkVideo(@RequestParam(name = "id") String id, @RequestParam(name = "watermarkTemplateId") Integer watermarkTemplateId) {
+    public Result<Object> watermarkVideo(@RequestParam(name = "id") String id, @RequestParam(name = "watermarkTemplateId") Long watermarkTemplateId) {
         Result<Object> result = new Result<>();
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         materialInfoService.watermarkVideo(id, watermarkTemplateId, sysUser.getId());
@@ -111,18 +130,6 @@ public class MaterialInfoController {
     }
 
 
-    /**
-     * 分页列表查询
-     *
-     * @param materialInfo
-     * @param pageNo
-     * @param pageSize
-     * @param req
-     * @return
-     */
-    @Autowired
-    private IProjectMemberService memberService;
-
     @GetMapping("/excellent/list")
     public Result<IPage<MaterialInfo>> excellentList(MaterialInfo materialInfo,
                                                      @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@@ -151,9 +158,6 @@ public class MaterialInfoController {
         return result;
     }
 
-    @Autowired
-    private IMaterialImageInfoService iMaterialImageInfoService;
-
     @AutoLog(value = "素材信息-分页列表查询")
     @ApiOperation(value = "素材信息-分页列表查询", notes = "素材信息-分页列表查询")
     @GetMapping(value = "/list")
@@ -162,6 +166,7 @@ public class MaterialInfoController {
                                                      @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                                      HttpServletRequest req) {
 
+
         Result<IPage<MaterialInfo>> result = new Result<>();
         String materialName = materialInfo.getMaterialName();
         materialInfo.setMaterialName(null);
@@ -270,6 +275,82 @@ public class MaterialInfoController {
     }
 
 
+    @AutoLog(value = "素材信息-分页列表查询")
+    @ApiOperation(value = "素材信息-分页列表查询", notes = "素材信息-分页列表查询")
+    @GetMapping(value = "/supplierList")
+    public Result<IPage<MaterialInfo>> supplierList(MaterialInfo materialInfo,
+                                                    @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                    @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                    HttpServletRequest req) {
+
+
+        Result<IPage<MaterialInfo>> result = new Result<>();
+        String materialName = materialInfo.getMaterialName();
+        materialInfo.setMaterialName(null);
+        QueryWrapper<MaterialInfo> queryWrapper = new QueryWrapper<>();
+        Object createTime = materialInfo.getCreateTime();
+        materialInfo.setCreateTime(null);
+        if (!Check.isNull(materialInfo.getUserId())) {
+            String roleCode = materialInfoService.getRoleCodeByUserId(materialInfo.getUserId());
+            if (CtopRoleCodeConstant.COMMON_ROLE_CODE_ADMIN.equals(roleCode)) {
+                materialInfo.setUserId(null);
+            } else {
+                result.setResult(null);
+                return result;
+            }
+
+            queryWrapper = QueryGenerator.initQueryWrapper(materialInfo, req.getParameterMap());
+
+            if (!Check.isNull(createTime)) {
+                try {
+                    String dateString = DateUtils.getDateString(String.valueOf(createTime));
+                    Map<String, Object> map = DateUtils.getStartEndTime(dateString);
+                    queryWrapper.ge("create_time", map.get("start"));
+                    queryWrapper.lt("create_time", map.get("end"));
+                } catch (ParseException e) {
+                    e.printStackTrace();
+                }
+            }
+        } else {
+            result.setResult(null);
+            return result;
+        }
+        if (!Check.isNull(materialName)) {
+            queryWrapper.like("material_name", materialName);
+
+        }
+        Page<MaterialInfo> page = new Page<>(pageNo, pageSize);
+        IPage<MaterialInfo> pageList = materialInfoService.page(page, queryWrapper);
+        List<MaterialInfo> materialInfoList = pageList.getRecords();
+        if (materialInfoList.size() != 0) {
+            for (MaterialInfo material : materialInfoList) {
+                Project project = projectService.getById(material.getProjectId());
+                if (!Check.isNull(project)) {
+                    material.setMediaId(project.getMediaId());
+                    material.setProjectName(project.getProjectName());
+                }
+
+                QueryWrapper<MaterialImageInfo> imageInfoQueryWrapper = new QueryWrapper<>();
+                imageInfoQueryWrapper.eq("video_id", material.getCode());
+                imageInfoQueryWrapper.eq("status", 0);
+                List<MaterialImageInfo> imageInfoList = iMaterialImageInfoService.list(imageInfoQueryWrapper);
+                if (Check.isNull(imageInfoList)) {
+                    material.setWhetherUnaudited(false);
+                } else {
+                    material.setWhetherUnaudited(true);
+                }
+
+            }
+
+
+        }
+
+        result.setSuccess(true);
+        result.setResult(pageList);
+        return result;
+    }
+
+
     /**
      * 添加
      *
@@ -405,9 +486,6 @@ public class MaterialInfoController {
             Project project = projectService.getById(materialInfoEntity.getProjectId());
             String text = messageTemplate.getMaterialRejectTemplate(project.getProjectName(), materialInfoEntity.getMaterialName(), materialInfo.getRefuseReason());
             sendMessageService.sendMessage(materialInfoEntity.getUserId(), text);
-
-            String feishuText = messageTemplate.getFeishuMaterialRejectTemplate(project.getProjectName(), materialInfoEntity.getMaterialName(), materialInfo.getRefuseReason());
-            sendMessageService.sendFeishuMessage(materialInfoEntity.getUserId(), feishuText);
         }
         return result;
 
@@ -498,10 +576,6 @@ public class MaterialInfoController {
         List<String> effiList = materialInfoService.getEffiCode();
         Object createTime = materialInfo.getCreateTime();
         materialInfo.setCreateTime(null);
-        Long projectId = materialInfo.getProjectId();
-        if (projectId != null) {
-            queryWrapper.eq("project_id", projectId);
-        }
         queryWrapper.in("code", effiList);
         queryWrapper.groupBy("code");
         //queryWrapper = QueryGenerator.initQueryWrapper(materialInfo, req.getParameterMap());

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.entity.MaterialParameter;
 import cn.com.ctop.common.module.service.IMaterialParameterService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -9,7 +10,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;

+ 8 - 8
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/MaterialPartController.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.entity.MaterialInfo;
 import cn.com.ctop.common.module.entity.VideoMerge;
 import cn.com.ctop.common.module.entity.VideoMergeTask;
@@ -16,7 +17,6 @@ import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.vo.LoginUser;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -48,22 +48,22 @@ public class MaterialPartController {
         List<String> jobIdList = new ArrayList<>();
         List<VideoMerge> videoMergeList = jsonArray.toJavaList(VideoMerge.class);
         try {
-            for (VideoMerge videoMerge:videoMergeList){
+            for (VideoMerge videoMerge : videoMergeList) {
                 MaterialInfo start = materialInfoService.getMaterialInfoByCode(videoMerge.getStartPart());
                 MaterialInfo end = materialInfoService.getMaterialInfoByCode(videoMerge.getEndPart());
                 List<String> partUrlList = new ArrayList<>();
                 List<String> parts = videoMerge.getParts();
-                for (String part :parts){
+                for (String part : parts) {
                     MaterialInfo materialInfo = materialInfoService.getMaterialInfoByCode(part);
                     String url = materialInfo.getUrl();
                     int i = url.indexOf('/', 10);
-                    partUrlList.add(url.substring(i+1,url.length()));
+                    partUrlList.add(url.substring(i + 1, url.length()));
                 }
                 String startUrl = start.getUrl();
                 String startPath = startUrl.substring(startUrl.indexOf('/', 10) + 1, startUrl.length());
                 String endUrl = end.getUrl();
                 String endPath = endUrl.substring(endUrl.indexOf('/', 10) + 1, endUrl.length());
-                String jobId = MpsUtils.mergeOneVideo(startPath,partUrlList,endPath);
+                String jobId = MpsUtils.mergeOneVideo(startPath, partUrlList, endPath);
                 QueryJobListResponse.Job job = MpsUtils.getJobStatus(jobId);
                 VideoMergeTask videoMergeTask = new VideoMergeTask();
                 LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
@@ -71,9 +71,9 @@ public class MaterialPartController {
                 videoMergeTask.setJobId(jobId);
                 videoMergeTask.setStatus(job.getState());
                 videoMergeTaskService.save(videoMergeTask);
-                parts.add(0,videoMerge.getStartPart());
+                parts.add(0, videoMerge.getStartPart());
                 parts.add(videoMerge.getStartPart());
-                for(String part :parts){
+                for (String part : parts) {
                     VideoPart videoPart = new VideoPart();
                     videoPart.setJobId(jobId);
                     videoPart.setPartId(part);
@@ -81,7 +81,7 @@ public class MaterialPartController {
                 }
                 jobIdList.add(jobId);
             }
-            result.success("合成中,可在任务列表中查询状态,任务ID:"+new Gson().toJson(jobIdList));
+            result.success("合成中,可在任务列表中查询状态,任务ID:" + new Gson().toJson(jobIdList));
         } catch (Exception e) {
             log.error(e.getMessage(), e);
             result.error500("操作失败");

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.entity.MaterialTag;
 import cn.com.ctop.common.module.service.IMaterialTagService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -9,7 +10,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;

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

@@ -1,9 +1,12 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.constant.CtopRoleCodeConstant;
+import cn.com.ctop.common.module.entity.MaterialInfo;
 import cn.com.ctop.common.module.entity.Project;
 import cn.com.ctop.common.module.entity.UserAllocation;
 import cn.com.ctop.common.module.mapper.ProjectMapper;
+import cn.com.ctop.common.module.service.IMaterialInfoService;
 import cn.com.ctop.common.module.service.IProjectService;
 import cn.com.ctop.common.module.service.ISysRoleService;
 import cn.com.ctop.common.module.service.IUserAllocationService;
@@ -16,7 +19,6 @@ import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.ctop.entity.Advertiser;
@@ -68,7 +70,6 @@ public class ProjectController {
      * @param mediaId
      * @return
      */
-
     @GetMapping(value = "/getProjectByAdvertiserAndMediaId")
     public Result<List<Project>> getProjectByCompany(String advertiserId, String mediaId) {
         Result<List<Project>> result = new Result<>();
@@ -177,8 +178,6 @@ public class ProjectController {
         project.setAdvertiserName(null);
         String projectName = project.getProjectName();
         project.setProjectName(null);
-
-
         String industryId = project.getIndustryId();
         project.setIndustryId(null);
         QueryWrapper<Project> queryWrapper = QueryGenerator.initQueryWrapper(project, req.getParameterMap());
@@ -277,6 +276,8 @@ public class ProjectController {
 
     @Autowired
     private ISysRoleService sysRoleService;
+    @Autowired
+    private IMaterialInfoService materialInfoService;
 
     /**
      * 编辑
@@ -324,6 +325,14 @@ public class ProjectController {
             // updateUserAllocation.setMediaId(project.getMediaId());
             userAllocationService.update(updateUserAllocation, userAllocationQueryWrapper);
 
+            if (!projectEntity.getSupplierCode().equals(project.getSupplierCode())) {
+                QueryWrapper<MaterialInfo> materialInfoQueryWrapper = new QueryWrapper<>();
+                materialInfoQueryWrapper.eq("project_id", project.getId());
+                MaterialInfo updateMaterialInfo = new MaterialInfo();
+                updateMaterialInfo.setSupplierCode(project.getSupplierCode());
+                materialInfoService.update(updateMaterialInfo, materialInfoQueryWrapper);
+            }
+
             if (ok) {
                 result.success("修改成功!");
             }

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.entity.Project;
 import cn.com.ctop.common.module.service.IProjectService;
 import cn.com.ctop.common.module.service.ISysRoleService;
@@ -14,7 +15,6 @@ import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.ctop.entity.ProjectMember;

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

@@ -0,0 +1,210 @@
+package org.jeecg.modules.ctop.controller;
+
+import cn.com.ctop.common.module.annotation.AutoLog;
+import cn.com.ctop.common.module.service.ISysRoleService;
+import cn.com.ctop.common.module.utils.ResultMapUtils;
+import cn.com.ctop.common.module.utils.StatusCode;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.ctop.entity.ProjectTransferRecord;
+import org.jeecg.modules.ctop.service.IProjectTransferRecordService;
+import org.springframework.beans.factory.annotation.Autowired;
+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-07-22
+ * @version V1.0
+ */
+@Slf4j
+@Api(tags="账户转项目记录")
+@RestController
+@RequestMapping("/ctop/projectTransferRecord")
+public class ProjectTransferRecordController {
+	@Autowired
+	private IProjectTransferRecordService projectTransferRecordService;
+	@Autowired
+	private ISysRoleService sysRoleService;
+	/**
+	  * 我发起的
+	 * @param projectTransferRecord
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	@AutoLog(value = "账户转项目记录-分页列表查询")
+	@ApiOperation(value="账户转项目记录-分页列表查询", notes="账户转项目记录-分页列表查询")
+	@GetMapping(value = "/initiatedList")
+	public Result<IPage<ProjectTransferRecord>> initiatedList(ProjectTransferRecord projectTransferRecord,
+									  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+									  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+									  HttpServletRequest req) {
+		Integer status = projectTransferRecord.getStatus();
+		if(null == status||status.equals(0)){
+			projectTransferRecord.setStatus(null);
+		}
+		Result<IPage<ProjectTransferRecord>> result = new Result<>();
+		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")){
+			queryWrapper.eq("user_id",sysUser.getId());
+		}
+		queryWrapper.ne("status",0);
+		Page<ProjectTransferRecord> page = new Page<>(pageNo, pageSize);
+		IPage<ProjectTransferRecord> pageList = projectTransferRecordService.page(page, queryWrapper);
+		result.setSuccess(true);
+		result.setResult(pageList);
+		return result;
+	}
+
+	 /**
+	  * 待审核的
+	  * @param projectTransferRecord
+	  * @param pageNo
+	  * @param pageSize
+	  * @param req
+	  * @return
+	  */
+	 @AutoLog(value = "账户转项目记录-分页列表查询")
+	 @ApiOperation(value="账户转项目记录-分页列表查询", notes="账户转项目记录-分页列表查询")
+	 @GetMapping(value = "/auditList")
+	 public Result<IPage<ProjectTransferRecord>> auditList(ProjectTransferRecord projectTransferRecord,
+															   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+															   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+															   HttpServletRequest req) {
+		 Integer status = projectTransferRecord.getStatus();
+		 if(null == status||status.equals(0)){
+			 projectTransferRecord.setStatus(null);
+		 }
+		 Result<IPage<ProjectTransferRecord>> result = new Result<>();
+		 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")){
+			 queryWrapper.eq("reviewer_id",sysUser.getId());
+		 }
+		 queryWrapper.ne("status",0);
+		 Page<ProjectTransferRecord> page = new Page<>(pageNo, pageSize);
+		 IPage<ProjectTransferRecord> pageList = projectTransferRecordService.page(page, queryWrapper);
+		 result.setSuccess(true);
+		 result.setResult(pageList);
+		 return result;
+	 }
+
+	 @PostMapping("editStatus")
+	 public Map<String,Object> editStatus(Long id, Integer status){
+	 	Map<String, Object>result = new HashMap<>();
+	 	if(id == null||id == 0||status == null){
+			ResultMapUtils.setResultMap(result, StatusCode.COMMON_PARAM_ERROR);
+			return result;
+		}
+		return projectTransferRecordService.updateStatus(id,status);
+	 }
+
+	/**
+	  *  添加
+	 * @return
+	 */
+	@AutoLog(value = "账户转项目记录-添加")
+	@ApiOperation(value="账户转项目记录-添加", notes="账户转项目记录-添加")
+	@PostMapping(value = "/add")
+	public Map<String,Object> add(Long accountId, Long projectId) {
+		return projectTransferRecordService.addRecord(accountId,projectId);
+	}
+
+	/**
+	  *  编辑
+	 * @param projectTransferRecord
+	 * @return
+	 */
+	@AutoLog(value = "账户转项目记录-编辑")
+	@ApiOperation(value="账户转项目记录-编辑", notes="账户转项目记录-编辑")
+	@PutMapping(value = "/edit")
+	public Result<ProjectTransferRecord> edit(@RequestBody ProjectTransferRecord projectTransferRecord) {
+		Result<ProjectTransferRecord> result = new Result<>();
+		ProjectTransferRecord projectTransferRecordEntity = projectTransferRecordService.getById(projectTransferRecord.getId());
+		if(projectTransferRecordEntity==null) {
+			result.error500("未找到对应实体");
+		}else {
+			boolean ok = projectTransferRecordService.updateById(projectTransferRecord);
+			if(ok) {
+				result.success("修改成功!");
+			}
+		}
+
+		return result;
+	}
+
+	/**
+	 * 通过id删除
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "账户转项目记录-通过id删除")
+	@ApiOperation(value="账户转项目记录-通过id删除", notes="账户转项目记录-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public Result<Object> delete(@RequestParam(name="id",required=true) Long id,@RequestParam(name = "status",defaultValue = "0") Integer status) {
+		try {
+			projectTransferRecordService.updateStatus(id,status);
+		} catch (Exception e) {
+			log.error("删除失败",e.getMessage());
+			return Result.error("删除失败!");
+		}
+		return Result.ok("删除成功!");
+	}
+
+	/**
+	 *  批量删除
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "账户转项目记录-批量删除")
+	@ApiOperation(value="账户转项目记录-批量删除", notes="账户转项目记录-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<ProjectTransferRecord> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		Result<ProjectTransferRecord> result = new Result<>();
+		if(ids==null || "".equals(ids.trim())) {
+			result.error500("参数不识别!");
+		}else {
+			this.projectTransferRecordService.removeByIds(Arrays.asList(ids.split(",")));
+			result.success("删除成功!");
+		}
+		return result;
+	}
+
+	/**
+	 * 通过id查询
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "账户转项目记录-通过id查询")
+	@ApiOperation(value="账户转项目记录-通过id查询", notes="账户转项目记录-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<ProjectTransferRecord> queryById(@RequestParam(name="id",required=true) String id) {
+		Result<ProjectTransferRecord> result = new Result<>();
+		ProjectTransferRecord projectTransferRecord = projectTransferRecordService.getById(id);
+		if(projectTransferRecord==null) {
+			result.error500("未找到对应实体");
+		}else {
+			result.setResult(projectTransferRecord);
+			result.setSuccess(true);
+		}
+		return result;
+	}
+}

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -7,7 +8,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.modules.ctop.entity.ReleaseRecord;
 import org.jeecg.modules.ctop.service.IReleaseRecordService;

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -9,7 +10,6 @@ import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.ctop.entity.ReleaseViewRecord;

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -8,7 +9,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.performance.entity.SalePerformanceDetail;

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -7,7 +8,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.modules.ctop.entity.ScriptTagInfo;
 import org.jeecg.modules.ctop.service.IScriptTagInfoService;

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

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

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

@@ -0,0 +1,248 @@
+package org.jeecg.modules.ctop.controller;
+
+import cn.com.ctop.common.module.annotation.AutoLog;
+import cn.com.ctop.common.module.entity.SupplierWatermark;
+import cn.com.ctop.common.module.service.ISupplierWatermarkService;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 供应商水印
+ *
+ * @author jeecg-boot
+ * @version V1.0
+ * @date 2020-07-28
+ */
+@Slf4j
+@Api(tags = "供应商水印")
+@RestController
+@RequestMapping("/a12/supplierWatermark")
+public class SupplierWatermarkController {
+    @Autowired
+    private ISupplierWatermarkService supplierWatermarkService;
+
+    /**
+     * 分页列表查询
+     *
+     * @param supplierWatermark
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "供应商水印-分页列表查询")
+    @ApiOperation(value = "供应商水印-分页列表查询", notes = "供应商水印-分页列表查询")
+    @GetMapping(value = "/list")
+    public Result<IPage<SupplierWatermark>> queryPageList(SupplierWatermark supplierWatermark,
+                                                          @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                          @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                          HttpServletRequest req) {
+        Result<IPage<SupplierWatermark>> result = new Result<>();
+        QueryWrapper<SupplierWatermark> queryWrapper = QueryGenerator.initQueryWrapper(supplierWatermark, req.getParameterMap());
+        Page<SupplierWatermark> page = new Page<SupplierWatermark>(pageNo, pageSize);
+        IPage<SupplierWatermark> pageList = supplierWatermarkService.page(page, queryWrapper);
+        result.setSuccess(true);
+        result.setResult(pageList);
+        return result;
+    }
+
+    /**
+     * 添加
+     *
+     * @param supplierWatermark
+     * @return
+     */
+    @AutoLog(value = "供应商水印-添加")
+    @ApiOperation(value = "供应商水印-添加", notes = "供应商水印-添加")
+    @PostMapping(value = "/add")
+    public Result<SupplierWatermark> add(@RequestBody SupplierWatermark supplierWatermark) {
+        Result<SupplierWatermark> result = new Result<>();
+        try {
+            supplierWatermarkService.save(supplierWatermark);
+            result.success("添加成功!");
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            result.error500("操作失败");
+        }
+        return result;
+    }
+
+    /**
+     * 编辑
+     *
+     * @param supplierWatermark
+     * @return
+     */
+    @AutoLog(value = "供应商水印-编辑")
+    @ApiOperation(value = "供应商水印-编辑", notes = "供应商水印-编辑")
+    @PutMapping(value = "/edit")
+    public Result<SupplierWatermark> edit(@RequestBody SupplierWatermark supplierWatermark) {
+        Result<SupplierWatermark> result = new Result<SupplierWatermark>();
+        SupplierWatermark supplierWatermarkEntity = supplierWatermarkService.getById(supplierWatermark.getId());
+        if (supplierWatermarkEntity == null) {
+            result.error500("未找到对应实体");
+        } else {
+            boolean ok = supplierWatermarkService.updateById(supplierWatermark);
+            if (ok) {
+                result.success("修改成功!");
+            }
+        }
+
+        return result;
+    }
+
+    /**
+     * 通过id删除
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "供应商水印-通过id删除")
+    @ApiOperation(value = "供应商水印-通过id删除", notes = "供应商水印-通过id删除")
+    @DeleteMapping(value = "/delete")
+    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
+        try {
+            supplierWatermarkService.removeById(id);
+        } catch (Exception e) {
+            log.error("删除失败", e.getMessage());
+            return Result.error("删除失败!");
+        }
+        return Result.ok("删除成功!");
+    }
+
+    /**
+     * 批量删除
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "供应商水印-批量删除")
+    @ApiOperation(value = "供应商水印-批量删除", notes = "供应商水印-批量删除")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<SupplierWatermark> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        Result<SupplierWatermark> result = new Result<>();
+        if (ids == null || "".equals(ids.trim())) {
+            result.error500("参数不识别!");
+        } else {
+            this.supplierWatermarkService.removeByIds(Arrays.asList(ids.split(",")));
+            result.success("删除成功!");
+        }
+        return result;
+    }
+
+    /**
+     * 通过id查询
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "供应商水印-通过id查询")
+    @ApiOperation(value = "供应商水印-通过id查询", notes = "供应商水印-通过id查询")
+    @GetMapping(value = "/queryById")
+    public Result<SupplierWatermark> queryById(@RequestParam(name = "id", required = true) String id) {
+        Result<SupplierWatermark> result = new Result<>();
+        SupplierWatermark supplierWatermark = supplierWatermarkService.getById(id);
+        if (supplierWatermark == null) {
+            result.error500("未找到对应实体");
+        } else {
+            result.setResult(supplierWatermark);
+            result.setSuccess(true);
+        }
+        return result;
+    }
+
+    /**
+     * 导出excel
+     *
+     * @param request
+     * @param response
+     */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) {
+        // Step.1 组装查询条件
+        QueryWrapper<SupplierWatermark> queryWrapper = null;
+        try {
+            String paramsStr = request.getParameter("paramsStr");
+            if (oConvertUtils.isNotEmpty(paramsStr)) {
+                String deString = URLDecoder.decode(paramsStr, "UTF-8");
+                SupplierWatermark supplierWatermark = JSON.parseObject(deString, SupplierWatermark.class);
+                queryWrapper = QueryGenerator.initQueryWrapper(supplierWatermark, request.getParameterMap());
+            }
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+
+        //Step.2 AutoPoi 导出Excel
+        ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
+        List<SupplierWatermark> pageList = supplierWatermarkService.list(queryWrapper);
+        //导出文件名称
+        mv.addObject(NormalExcelConstants.FILE_NAME, "供应商水印列表");
+        mv.addObject(NormalExcelConstants.CLASS, SupplierWatermark.class);
+        mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("供应商水印列表数据", "导出人:Jeecg", "导出信息"));
+        mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
+        return mv;
+    }
+
+    /**
+     * 通过excel导入数据
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+            MultipartFile file = entity.getValue();
+            ImportParams params = new ImportParams();
+            params.setTitleRows(2);
+            params.setHeadRows(1);
+            params.setNeedSave(true);
+            try {
+                List<SupplierWatermark> listSupplierWatermarks = ExcelImportUtil.importExcel(file.getInputStream(), SupplierWatermark.class, params);
+                supplierWatermarkService.saveBatch(listSupplierWatermarks);
+                return Result.ok("文件导入成功!数据行数:" + listSupplierWatermarks.size());
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+                return Result.error("文件导入失败:" + e.getMessage());
+            } finally {
+                try {
+                    file.getInputStream().close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+        return Result.ok("文件导入失败!");
+    }
+
+}

+ 134 - 48
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/TestController.java

@@ -3,13 +3,12 @@ package org.jeecg.modules.ctop.controller;
 import cn.com.ctop.common.module.entity.*;
 import cn.com.ctop.common.module.mapper.CtopOauthTokenMapper;
 import cn.com.ctop.common.module.service.*;
-import cn.com.ctop.common.module.utils.Check;
-import cn.com.ctop.common.module.utils.CtopAdConstant;
-import cn.com.ctop.common.module.utils.ResultMapUtils;
-import cn.com.ctop.common.module.utils.StatusCode;
+import cn.com.ctop.common.module.utils.*;
+import cn.com.ctop.common.module.vo.ResFileDTO;
 import cn.com.ctop.kuaishou.modules.batch.service.*;
 import cn.com.ctop.kuaishou.modules.graphql.service.IKuaishouWebInterfaceService;
 import cn.com.ctop.toutiao.modules.material.service.IByteDanceAdvertiserDataService;
+import cn.com.ctop.toutiao.modules.material.service.IBytedanceEffectVideoInfoService;
 import cn.com.ctop.toutiao.modules.report.service.IBytedancePlanDailyReportService;
 import cn.com.ctop.toutiao.modules.report.service.IBytedancePlanHourlyReportService;
 import cn.com.ctop.toutiao.modules.report.service.IBytedanceReportService;
@@ -25,6 +24,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.io.IOException;
+import java.io.InputStream;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -41,8 +41,17 @@ import static org.jeecg.common.util.DateUtils.getAnotherDay;
 @Slf4j
 public class TestController {
     @Autowired
+    private CtopOauthTokenMapper tokenMapper;
+    @Autowired
+    private IKuaishouInterfaceService kuaishouInterfaceService;
+    @Autowired
+    private ICtopOauthTokenService oauthTokenService;
+    @Autowired
+    private IMaterialCutFrameService cutFrameService;
+    @Autowired
+    IKuaiShouVideoGetService videoGetService;
+    @Autowired
     private IKuaishouWebInterfaceService kuaishouWebInterfaceService;
-
     @Autowired
     private CtopOauthTokenMapper oauthTokenMapper;
     @Autowired
@@ -59,10 +68,54 @@ public class TestController {
     private IMaterialImageInfoService iMaterialImageInfoService;
     @Autowired
     private IBytedanceReportService bytedanceReportService;
-    static ExecutorService executorService = Executors.newFixedThreadPool(10);
+    static ExecutorService executorService = Executors.newFixedThreadPool(15);
     static ExecutorService videoService = Executors.newFixedThreadPool(5);
     static ExecutorService suzhaoService = Executors.newFixedThreadPool(5);
 
+
+
+    @GetMapping(value = "/getCut")
+    public void getCut() {
+        QueryWrapper<MaterialInfo> materialInfoQueryWrapper = new QueryWrapper<>();
+        materialInfoQueryWrapper.like("cover_url", "ctop-media.oss-cn-beijing.aliyuncs.com");
+        List<MaterialInfo> list = materialInfoService.list(materialInfoQueryWrapper);
+        if (!Check.isNull(list)) {
+            for (MaterialInfo materialInfo : list) {
+                executorService.submit(new Runnable() {
+                    @Override
+                    public void run() {
+                        try {
+                            String url = materialInfo.getCoverUrl();
+                            if (!Check.isNull(url)) {
+                                InputStream imageStream = LoadFileUtil.getFileStream(url);
+                                if (!Check.isNull(imageStream)) {
+                                    ResFileDTO jpg = CosUtils.uploadDetailInputStreamV2(imageStream, materialInfo.getCode() + ".jpg", "jpg", 0L, "zeroImage/");
+                                    String fileUrl = jpg.getFileUrl();
+                                    materialInfo.setCoverUrl(fileUrl);
+                                    boolean b = materialInfoService.saveOrUpdate(materialInfo);
+                                    if (b) {
+                                        log.info("修改成功,videoCode:{}", materialInfo.getCode());
+                                    }
+                                }
+                            }
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }
+                });
+            }
+        }
+        // InputStream in, String fileName, String fileType, long fileSize, String fileSavePath
+
+
+    }
+
+
+
+
+
+
+
     @GetMapping(value = "/t")
     public String test() {
         Result<String> result = new Result<>();
@@ -83,26 +136,9 @@ public class TestController {
     }
 
 
-    @Autowired
-    private CtopOauthTokenMapper tokenMapper;
-    @Autowired
-    private IKuaishouInterfaceService kuaishouInterfaceService;
-
-
-    @Autowired
-    private ICtopOauthTokenService oauthTokenService;
-
-    @Autowired
-    private IMaterialCutFrameService cutFrameService;
-    @Autowired
-    IKuaiShouVideoGetService videoGetService;
-
-
     @GetMapping(value = "/getSuZhao")
     public void getSuZhao() throws JobExecutionException {
-
         try {
-
             //1:查询当日数据
             QueryWrapper<CtopOauthToken> queryWrapper = new QueryWrapper<>();
             queryWrapper.eq("media_id", 2);
@@ -113,9 +149,8 @@ public class TestController {
                 return;
             }
 
-            executorService = Executors.newFixedThreadPool(8);
             tokens.forEach(token -> {
-                executorService.submit(new Runnable() {
+                suzhaoService.submit(new Runnable() {
                     @Override
                     public void run() {
                         //1: 获取广告主信息数据
@@ -172,35 +207,32 @@ public class TestController {
 
     @GetMapping(value = "/getVideo")
     public String getVideo(String startDate, String endDate) throws IOException {
-
         try {
-
             Thread thread = new Thread() {
                 @Override
                 public void run() {
                     QueryWrapper<CtopOauthToken> tokenQueryWrapper = new QueryWrapper<>();
                     tokenQueryWrapper.eq("media_id", 2);
                     List<CtopOauthToken> list = tokenService.list(tokenQueryWrapper);
-
-                    executorService = Executors.newFixedThreadPool(8);
                     list.forEach(token -> {
-                        executorService.submit(new Runnable() {
+                        videoService.submit(new Runnable() {
                             @Override
                             public void run() {
                                 try {
                                     kuaishouInterfaceService.getSuZaoList(token.getAccessToken(), token.getAccountId(), 1, null, null);
-                                    String nowDate = DateUtils.getNowDate("yyyy-MM-dd");
+                                    kuaishouInterfaceService.getVideoList(token, null, null);
+                                    Thread.sleep(5000);
+                                     /*String nowDate = DateUtils.getNowDate("yyyy-MM-dd");
                                     String videoEndDate = DateUtils.addDay(nowDate, -180);
-                                    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+                                   SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
                                     Date end = simpleDateFormat.parse(nowDate);
                                     Date start = simpleDateFormat.parse(videoEndDate);
                                     List<Date> dates = DateUtils.findDates(start, end);
                                     for (int i = 0; i < dates.size(); i++) {
                                         String formatDate = simpleDateFormat.format(dates.get(i));
-                                        kuaishouInterfaceService.getVideoList(token, formatDate);
                                         kuaishouInterfaceService.getImageList(token, formatDate);
                                         Thread.sleep(500);
-                                    }
+                                    }*/
 
                                 } catch (Exception e) {
                                     e.printStackTrace();
@@ -222,9 +254,7 @@ public class TestController {
 
     @GetMapping(value = "/getVideoByAccountId")
     public String getVideoByAccountId(Long accountId) throws IOException {
-
         try {
-
             Thread thread = new Thread() {
                 @Override
                 public void run() {
@@ -234,6 +264,7 @@ public class TestController {
                     CtopOauthToken one = tokenService.getOne(tokenQueryWrapper);
                     try {
                         kuaishouInterfaceService.getSuZaoList(one.getAccessToken(), one.getAccountId(), 1, null, null);
+                        kuaishouInterfaceService.getVideoList(one, null, null);
                         String nowDate = DateUtils.getNowDate("yyyy-MM-dd");
                         String videoEndDate = DateUtils.addDay(nowDate, -180);
                         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
@@ -242,7 +273,7 @@ public class TestController {
                         List<Date> dates = DateUtils.findDates(start, end);
                         for (int i = 0; i < dates.size(); i++) {
                             String formatDate = simpleDateFormat.format(dates.get(i));
-                            kuaishouInterfaceService.getVideoList(one, formatDate);
+
                             kuaishouInterfaceService.getImageList(one, formatDate);
                             Thread.sleep(100);
                         }
@@ -250,8 +281,6 @@ public class TestController {
                         e.printStackTrace();
                     } finally {
                     }
-
-
                     log.info("快手物料数据同步完成");
                 }
             };
@@ -265,7 +294,6 @@ public class TestController {
 
     @GetMapping(value = "/createCutTask")
     public String createCutTask(String startDate, String endDate) throws IOException {
-
         List<MaterialInfo> materialInfos = materialInfoService.getListByDate(startDate, endDate);
         if (!Check.isNull(materialInfos)) {
             for (MaterialInfo materialInfo : materialInfos) {
@@ -279,11 +307,8 @@ public class TestController {
                         cutFrameService.getCutFrame(materialInfo.getUrl(), code, materialParameter.getSecond(), materialParameter.getHeight(), materialParameter.getWidth());
 
                     }
-
                 }
-
             }
-
         }
         return "Success";
     }
@@ -318,7 +343,6 @@ public class TestController {
             SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd");
             Date date1 = sim.parse(startDate);
             Date date2 = sim.parse(endDate);
-
             QueryWrapper<CtopOauthToken> tokenQueryWrapper = new QueryWrapper<>();
             tokenQueryWrapper.eq("media_id", 2);
             List<CtopOauthToken> ctopOauthTokens = oauthTokenMapper.selectList(tokenQueryWrapper);
@@ -326,7 +350,6 @@ public class TestController {
                 for (CtopOauthToken token : ctopOauthTokens) {
                     kuaishouInterfaceService.getAdvertiserReportDaily(token, date1, date2);
                 }
-
             }
         } catch (Exception e) {
             e.printStackTrace();
@@ -370,14 +393,12 @@ public class TestController {
             parameterService.update(updateMaterialParameter, parameterQueryWrapper);
         }
 
-
         List<String> codeList = iMaterialImageInfoService.getCodeList();
         if (!Check.isNull(codeList)) {
             for (int i = 0; i < codeList.size(); i++) {
                 String code = codeList.get(i);
                 QueryWrapper<MaterialImageInfo> materialImageInfoQueryWrapper = new QueryWrapper<>();
                 materialImageInfoQueryWrapper.eq("code", code);
-
                 List<MaterialImageInfo> list2 = iMaterialImageInfoService.list(materialImageInfoQueryWrapper);
                 if (list2.size() > 1) {
                     for (int j = 0; j < list2.size(); j++) {
@@ -387,7 +408,6 @@ public class TestController {
                         MaterialImageInfo materialImageInfo = list2.get(j);
                         iMaterialImageInfoService.removeById(String.valueOf(materialImageInfo.getId()));
                     }
-
                 }
             }
         }
@@ -439,6 +459,28 @@ public class TestController {
     }
 
 
+    @GetMapping(value = "/getHistoryDataByAccountId")
+    public String getHistoryDataByAccountId(Long accountId) {
+        Result<String> result = new Result<>();
+        try {
+            String endDateStr = DateUtils.getDate("yyyy-MM-dd");
+            String startDate = DateUtils.addMonth(endDateStr, -6);
+            QueryWrapper<CtopOauthToken> tokenQueryWrapper = new QueryWrapper<>();
+            tokenQueryWrapper.eq("media_id", 2);
+            tokenQueryWrapper.eq("account_id", accountId);
+            CtopOauthToken ctopOauthTokens = oauthTokenMapper.selectOne(tokenQueryWrapper);
+            if (!Check.isNull(ctopOauthTokens)) {
+                historyReportTaskService.createTask(ctopOauthTokens.getAccountId(), ctopOauthTokens.getAccessToken(), startDate, endDateStr, CtopAdConstant.KUAISHOU_LOAD_JOB_TYPE_HISTORY);
+
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            result.setSuccess(false);
+        }
+        return "success";
+    }
+
+
     @GetMapping(value = "/getTaskList")
     public String getTaskList() {
         Result<String> result = new Result<>();
@@ -765,4 +807,48 @@ public class TestController {
         }
     }
 
+    @Autowired
+    private IBytedanceEffectVideoInfoService effectVideoInfoService;
+
+    @GetMapping("/bytedance/effectVideo/get")
+    public Map<String, Object> effectVideoGet(String date) {
+        Map<String, Object> result = new HashMap<>();
+        effectVideoInfoService.loadEffectVideo(date);
+        ResultMapUtils.setResultMap(result, StatusCode.COMMON_SUCCESS);
+        return result;
+    }
+
+
+
+    @GetMapping(value = "/getAppList")
+    public void getAppList() throws JobExecutionException {
+        try {
+            //1:查询当日数据
+            QueryWrapper<CtopOauthToken> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("media_id", 2);
+            queryWrapper.orderByDesc("create_time");
+            List<CtopOauthToken> tokens = tokenService.list(queryWrapper);
+            if (null == tokens || tokens.size() <= 0) {
+                log.info("定时获取快手数据异常:未获取到可用的token");
+                return;
+            }
+
+            tokens.forEach(token -> {
+
+                kuaishouInterfaceService.getAppList2(token.getAccountId(),token.getAccessToken());
+                //suzhaoService.submit(new Runnable() {
+                //    @Override
+                //    public void run() {
+                //        //1: 获取广告主信息数据
+                //        log.info("获取素造素材:accountId:{}", token.getAccountId());
+                //        kuaishouInterfaceService.getSuZaoList(token.getAccessToken(), token.getAccountId(), 1, null, null);
+                //    }
+                //});
+            });
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+
+    }
 }

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.entity.Project;
 import cn.com.ctop.common.module.entity.UserAllocation;
 import cn.com.ctop.common.module.mapper.MailLogMapper;
@@ -13,7 +14,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.modules.ctop.entity.ProjectMember;
 import org.jeecg.modules.ctop.entity.TransferAccount;

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.utils.ResultMapUtils;
 import cn.com.ctop.common.module.utils.StatusCode;
 import cn.com.ctop.toutiao.modules.report.service.IBytedancePlanDailyReportService;
@@ -12,7 +13,6 @@ import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.ctop.entity.UReportFileBindUser;

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -8,7 +9,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.modules.ctop.entity.UReportFile;
 import org.jeecg.modules.ctop.service.IUReportFileService;

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.constant.CtopRoleCodeConstant;
 import cn.com.ctop.common.module.entity.Project;
 import cn.com.ctop.common.module.entity.UserAllocation;
@@ -17,7 +18,6 @@ import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.ctop.entity.ProjectMember;

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.entity.VideoMergeTask;
 import cn.com.ctop.common.module.service.IVideoMergeTaskService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -9,7 +10,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.entity.VideoPart;
 import cn.com.ctop.common.module.service.IVideoPartService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -9,7 +10,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.entity.VideoWatermarkTask;
 import cn.com.ctop.common.module.service.IVideoWatermarkTaskService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -9,7 +10,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;

+ 24 - 112
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/VideoWatermarkTemplateController.java

@@ -1,7 +1,8 @@
 package org.jeecg.modules.ctop.controller;
 
-import cn.com.ctop.common.module.entity.VideoWatermarkTemplate;
-import cn.com.ctop.common.module.service.IVideoWatermarkTemplateService;
+import cn.com.ctop.common.module.annotation.AutoLog;
+import cn.com.ctop.common.module.entity.TencentWatermarkTemplate;
+import cn.com.ctop.common.module.service.ITencentWatermarkTemplateService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -9,13 +10,14 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletRequest;
-import java.util.Arrays;
 
  /**
  * 水印模板
@@ -28,8 +30,9 @@ import java.util.Arrays;
 @RestController
 @RequestMapping("/ctop/videoWatermarkTemplate")
 public class VideoWatermarkTemplateController {
+
 	@Autowired
-	private IVideoWatermarkTemplateService videoWatermarkTemplateService;
+	private ITencentWatermarkTemplateService tencentWatermarkTemplateService;
 
      /**
 	  * 分页列表查询
@@ -42,116 +45,25 @@ public class VideoWatermarkTemplateController {
 	@AutoLog(value = "水印模板-分页列表查询")
 	@ApiOperation(value="水印模板-分页列表查询", notes="水印模板-分页列表查询")
 	@GetMapping(value = "/list")
-	public Result<IPage<VideoWatermarkTemplate>> queryPageList(VideoWatermarkTemplate videoWatermarkTemplate,
-									  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
-									  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
-									  HttpServletRequest req) {
-        Result<IPage<VideoWatermarkTemplate>> result = new Result<>();
-		QueryWrapper<VideoWatermarkTemplate> queryWrapper = QueryGenerator.initQueryWrapper(videoWatermarkTemplate, req.getParameterMap());
-        Page<VideoWatermarkTemplate> page = new Page<>(pageNo, pageSize);
-		IPage<VideoWatermarkTemplate> pageList = videoWatermarkTemplateService.page(page, queryWrapper);
+	public Result<IPage<TencentWatermarkTemplate>> queryPageList(TencentWatermarkTemplate videoWatermarkTemplate,
+																 @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+																 @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+																 HttpServletRequest req) {
+        Result<IPage<TencentWatermarkTemplate>> result = new Result<>();
+		QueryWrapper<TencentWatermarkTemplate> queryWrapper = QueryGenerator.initQueryWrapper(videoWatermarkTemplate, req.getParameterMap());
+        Page<TencentWatermarkTemplate> page = new Page<>(pageNo, pageSize);
+		IPage<TencentWatermarkTemplate> pageList = tencentWatermarkTemplateService.page(page, queryWrapper);
 		result.setSuccess(true);
 		result.setResult(pageList);
 		return result;
 	}
 
-     /**
-	  *   添加
-	 * @param videoWatermarkTemplate
-	 * @return
-	 */
-	@AutoLog(value = "水印模板-添加")
-	@ApiOperation(value="水印模板-添加", notes="水印模板-添加")
-	@PostMapping(value = "/add")
-	public Result<VideoWatermarkTemplate> add(@RequestBody VideoWatermarkTemplate videoWatermarkTemplate) {
-        Result<VideoWatermarkTemplate> result = new Result<>();
-		try {
-			videoWatermarkTemplateService.save(videoWatermarkTemplate);
-			result.success("添加成功!");
-		} catch (Exception e) {
-			log.error(e.getMessage(),e);
-			result.error500("操作失败");
-		}
-		return result;
-	}
-
-     /**
-	  *  编辑
-	 * @param videoWatermarkTemplate
-	 * @return
-	 */
-	@AutoLog(value = "水印模板-编辑")
-	@ApiOperation(value="水印模板-编辑", notes="水印模板-编辑")
-	@PutMapping(value = "/edit")
-	public Result<VideoWatermarkTemplate> edit(@RequestBody VideoWatermarkTemplate videoWatermarkTemplate) {
-        Result<VideoWatermarkTemplate> result = new Result<>();
-		VideoWatermarkTemplate videoWatermarkTemplateEntity = videoWatermarkTemplateService.getById(videoWatermarkTemplate.getId());
-		if(videoWatermarkTemplateEntity==null) {
-			result.error500("未找到对应实体");
-		}else {
-			boolean ok = videoWatermarkTemplateService.updateById(videoWatermarkTemplate);
-			if(ok) {
-				result.success("修改成功!");
-			}
-		}
-
-        return result;
-	}
-
-     /**
-	  *   通过id删除
-	 * @param id
-	 * @return
-	 */
-	@AutoLog(value = "水印模板-通过id删除")
-	@ApiOperation(value="水印模板-通过id删除", notes="水印模板-通过id删除")
-	@DeleteMapping(value = "/delete")
-    public Result<Object> delete(@RequestParam(name = "id", required = true) String id) {
-		try {
-			videoWatermarkTemplateService.removeById(id);
-		} catch (Exception e) {
-			log.error("删除失败",e.getMessage());
-			return Result.error("删除失败!");
-		}
-		return Result.ok("删除成功!");
-	}
-
-     /**
-	  *  批量删除
-	 * @param ids
-	 * @return
-	 */
-	@AutoLog(value = "水印模板-批量删除")
-	@ApiOperation(value="水印模板-批量删除", notes="水印模板-批量删除")
-	@DeleteMapping(value = "/deleteBatch")
-	public Result<VideoWatermarkTemplate> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
-        Result<VideoWatermarkTemplate> result = new Result<>();
-		if(ids==null || "".equals(ids.trim())) {
-			result.error500("参数不识别!");
-		}else {
-			this.videoWatermarkTemplateService.removeByIds(Arrays.asList(ids.split(",")));
-			result.success("删除成功!");
-		}
-		return result;
-	}
-
-     /**
-	  * 通过id查询
-	 * @param id
-	 * @return
-	 */
-	@AutoLog(value = "水印模板-通过id查询")
-	@ApiOperation(value="水印模板-通过id查询", notes="水印模板-通过id查询")
-	@GetMapping(value = "/queryById")
-	public Result<VideoWatermarkTemplate> queryById(@RequestParam(name="id",required=true) String id) {
-        Result<VideoWatermarkTemplate> result = new Result<>();
-		VideoWatermarkTemplate videoWatermarkTemplate = videoWatermarkTemplateService.getById(id);
-		if(videoWatermarkTemplate==null) {
-			result.error500("未找到对应实体");
-		}else {
-			result.setResult(videoWatermarkTemplate);
-			result.setSuccess(true);
-		}
+	@GetMapping(value= "/queryById")
+	public Result<TencentWatermarkTemplate> queryById(){
+		Result<TencentWatermarkTemplate> result = new Result<>();
+		TencentWatermarkTemplate tencentWatermarkTemplate=tencentWatermarkTemplateService.getById(5);
+		result.setSuccess(true);
+		result.setResult(tencentWatermarkTemplate);
 		return result;
 	}
-}
+ }

+ 0 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/Advertiser.java

@@ -10,7 +10,6 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
-import org.jeecg.common.aspect.annotation.Dict;
 import org.jeecgframework.poi.excel.annotation.Excel;
 import org.springframework.format.annotation.DateTimeFormat;
 
@@ -47,7 +46,6 @@ public class Advertiser {
      */
     @Excel(name = "行业ID", width = 15)
     @ApiModelProperty(value = "行业ID")
-    @Dict(dicCode = "id",dictTable="sys_category",dicText="name")
     private String industryId;
     private String industryCode;
     /**
@@ -55,7 +53,6 @@ public class Advertiser {
      */
     @Excel(name = "销售ID", width = 15)
     @ApiModelProperty(value = "销售ID")
-    @Dict(dicCode = "id",dictTable="sys_user",dicText="realname")
     private String saleId;
     /**
      * 销售ID

+ 69 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/BytedanceAreaInfo.java

@@ -0,0 +1,69 @@
+package org.jeecg.modules.ctop.entity;
+
+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;
+
+/**
+ * 省市县信息
+ *
+ * @author jeecg-boot
+ * @version V1.0
+ * @date 2019-09-17
+ */
+@Data
+@TableName("ctop_bytedance_area_info")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "ctop_bytedance_area_info对象", description = "省市县信息")
+public class BytedanceAreaInfo {
+
+    /**
+     * id
+     */
+    @TableId(type = IdType.UUID)
+    @ApiModelProperty(value = "id")
+    private Integer id;
+    /**
+     * name
+     */
+    @Excel(name = "name", width = 15)
+    @ApiModelProperty(value = "name")
+    private String name;
+    /**
+     * code
+     */
+    @Excel(name = "code", width = 15)
+    @ApiModelProperty(value = "code")
+    private String code;
+    /**
+     * parentCode
+     */
+    @Excel(name = "parentCode", width = 15)
+    @ApiModelProperty(value = "parentCode")
+    private String parentCode;
+    /**
+     * level
+     */
+    @Excel(name = "level", width = 15)
+    @ApiModelProperty(value = "level")
+    private Integer level;
+    /**
+     * createTime
+     */
+    @ApiModelProperty(value = "createTime")
+    private Date createTime;
+    /**
+     * updateTime
+     */
+    @ApiModelProperty(value = "updateTime")
+    private Date updateTime;
+}

+ 74 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/KuaishouEffectVideoInfo.java

@@ -0,0 +1,74 @@
+package org.jeecg.modules.ctop.entity;
+
+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;
+
+/**
+ * 快手视频数据清洗信息
+ * @author jeecg-boot
+ * @date   2020-07-23
+ * @version V1.0
+ */
+@Data
+@TableName("ctop_kuaishou_effect_video_info")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="ctop_kuaishou_effect_video_info对象", description="快手视频数据清洗信息")
+public class KuaishouEffectVideoInfo {
+
+	/**id*/
+	@TableId(type = IdType.UUID)
+    @ApiModelProperty(value = "id")
+	private Integer id;
+	/**signature*/
+	@Excel(name = "signature", width = 15)
+    @ApiModelProperty(value = "signature")
+	private String signature;
+	/**url*/
+	@Excel(name = "url", width = 15)
+    @ApiModelProperty(value = "url")
+	private String url;
+	/**coverUrl*/
+	@Excel(name = "coverUrl", width = 15)
+    @ApiModelProperty(value = "coverUrl")
+	private String coverUrl;
+	/**materialType*/
+	@Excel(name = "materialType", width = 15)
+    @ApiModelProperty(value = "materialType")
+	private Integer materialType;
+	/**channelType*/
+	@Excel(name = "channelType", width = 15)
+    @ApiModelProperty(value = "channelType")
+	private Integer channelType;
+	/**initialCostDate*/
+	@Excel(name = "initialCostDate", width = 15)
+    @ApiModelProperty(value = "initialCostDate")
+	private String initialCostDate;
+	/**finalCostDate*/
+	@Excel(name = "finalCostDate", width = 15)
+    @ApiModelProperty(value = "finalCostDate")
+	private String finalCostDate;
+	/**twoWeekCost*/
+	@Excel(name = "twoWeekCost", width = 15)
+    @ApiModelProperty(value = "twoWeekCost")
+	private java.math.BigDecimal twoWeekCost;
+	/**totalCost*/
+	@Excel(name = "totalCost", width = 15)
+    @ApiModelProperty(value = "totalCost")
+	private java.math.BigDecimal totalCost;
+	/**createTime*/
+    @ApiModelProperty(value = "createTime")
+	private Date createTime;
+	/**updateTime*/
+    @ApiModelProperty(value = "updateTime")
+	private Date updateTime;
+}

+ 45 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/ProjectTransferRecord.java

@@ -0,0 +1,45 @@
+package org.jeecg.modules.ctop.entity;
+
+import cn.com.ctop.common.module.annotation.Dict;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.util.Date;
+
+/**
+ * 账户转项目记录
+ * @author jeecg-boot
+ * @date   2020-07-22
+ * @version V1.0
+ */
+@Data
+@TableName("ctop_project_transfer_record")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="ctop_project_transfer_record对象", description="账户转项目记录")
+public class ProjectTransferRecord {
+	@TableId(type = IdType.AUTO)
+	private Long id;
+	/**账户id*/
+	@Dict(dicCode = "account_id",dictTable="ctop_user_allocation",dicText="auth_name")
+	private Long accountId;
+	@Dict(dicCode = "id",dictTable="ctop_project",dicText="project_name")
+	private Long soucreProject;
+	@Dict(dicCode = "id",dictTable="ctop_project",dicText="project_name")
+	private Long targetProject;
+	/**申请人*/
+	@Dict(dicCode = "id",dictTable="sys_user",dicText="realname")
+	private String userId;
+	@Dict(dicCode = "item_value", dictTable = "sys_dict_item", dicText = "item_text",extendsKey = "dict_id",extendsValue = "18922b5d04bfcb1b5ded1a17dfdd9510")
+	private Integer status;
+	/**审核人*/
+	@Dict(dicCode = "id",dictTable="sys_user",dicText="realname")
+	private String reviewerId;
+	private Date createTime;
+	private Date updateTime;
+}

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

@@ -7,6 +7,7 @@ import org.quartz.JobExecutionException;
 import org.springframework.beans.factory.annotation.Autowired;
 
 /**
+ * DONE
  * 出价预警
  */
 public class AccountBidJob implements Job {

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

@@ -17,6 +17,7 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
 /**
+ * DONE
  * 深度转化出价预警
  */
 public class AccountCpaBidJob implements Job {

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

@@ -1,45 +0,0 @@
-package org.jeecg.modules.ctop.job;
-
-import cn.com.ctop.common.module.utils.LoadFileUtil;
-import lombok.extern.slf4j.Slf4j;
-import org.jeecg.common.util.DateUtils;
-import org.quartz.Job;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
-import org.springframework.beans.factory.annotation.Value;
-
-import java.util.Date;
-
-@Slf4j
-public class BakDataBaseJob implements Job {
-    @Value("${spring.datasource.username}")
-    private String userName;
-    @Value("${spring.datasource.password}")
-    private String password;
-    @Value("${jeecg.path.bak-database-file}")
-    private String filePath;
-
-    @Override
-    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-        String currentFileName = filePath + "db-" + DateUtils.formatDate(new Date()) + ".sql";
-        String historyFileName = filePath + "db-" + DateUtils.formatDate(DateUtils.addDay(new Date(), -4)) + ".sql";
-        String command = "mysqldump jeecg-boot -h 127.0.0.1 -u" + userName + " -p" + password + " --default-character-set=utf8mb4 --result-file=" + currentFileName;
-        //1:删除历史数据
-        LoadFileUtil.delFile(historyFileName);
-        //2:导出当天数据
-        Runtime runtime = Runtime.getRuntime();
-        Process pro = null;
-        try {
-            pro = runtime.exec(command);
-            int status = pro.waitFor();
-            if (status == 0) {
-                log.info("数据备份shell脚本执行成功");
-            } else {
-                log.info("数据备份shell脚本执行失败");
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-
-    }
-}

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

@@ -3,7 +3,6 @@ package org.jeecg.modules.ctop.job;
 import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.toutiao.modules.report.service.IByteDanceCleanMaterialReportService;
 import lombok.extern.slf4j.Slf4j;
-import org.jeecg.modules.ctop.service.ICleanMaterialService;
 import org.quartz.Job;
 import org.quartz.JobExecutionContext;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -13,6 +12,7 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
 /**
+ * DONE
  * 清洗素材报表
  */
 @Slf4j

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

@@ -18,6 +18,7 @@ import java.util.concurrent.Executors;
 import static org.jeecg.common.util.DateUtils.getAnotherDay;
 
 /**
+ * DONE
  * 头条预警
  *
  * @author yumeng

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

@@ -6,6 +6,9 @@ import org.quartz.JobExecutionContext;
 import org.quartz.JobExecutionException;
 import org.springframework.beans.factory.annotation.Autowired;
 
+/**
+ * DONE
+ */
 public class ByteDanceRefreshTokenJob implements Job {
     @Autowired
     private IRefreshTokenService refreshTokenService;
@@ -21,7 +24,7 @@ public class ByteDanceRefreshTokenJob implements Job {
         Thread thread = new Thread() {
             @Override
             public void run() {
-                refreshTokenService.byteDanceRefresh();
+                refreshTokenService.byteDanceRefresh(null);
             }
         };
         thread.start();

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

@@ -17,6 +17,7 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
 /**
+ * DONE
  * @author syh
  * 头条广告主日报数据获取任务
  * 第二天凌晨跑前一天的数据

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

@@ -4,6 +4,7 @@ import cn.com.ctop.common.module.entity.CtopOauthToken;
 import cn.com.ctop.common.module.service.ICtopOauthTokenService;
 import cn.com.ctop.common.module.utils.CtopAdConstant;
 import cn.com.ctop.toutiao.modules.material.service.IByteDanceAdvertiserDataService;
+import cn.com.ctop.toutiao.modules.material.service.IByteDanceCampaignService;
 import cn.com.ctop.toutiao.modules.material.service.IByteDanceCreativeService;
 import lombok.extern.slf4j.Slf4j;
 import org.quartz.Job;
@@ -24,12 +25,13 @@ import java.util.concurrent.Executors;
 public class BytedanceAdvertiserDataLoadJob implements Job {
     @Autowired
     private ICtopOauthTokenService tokenService;
-    static ExecutorService executorService = null;
+    static ExecutorService executorService = Executors.newFixedThreadPool(5);
     @Autowired
     private IByteDanceAdvertiserDataService advertiserDataService;
     @Autowired
     private IByteDanceCreativeService creativeService;
-
+    @Autowired
+    private IByteDanceCampaignService byteDanceCampaignService;
     @Override
     public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
         Date getDate = new Date();
@@ -37,14 +39,13 @@ public class BytedanceAdvertiserDataLoadJob implements Job {
         String dateString = dateFormat.format(getDate);
         //1:查询当日数据
         List<CtopOauthToken> tokens = tokenService.getTokenListByType(CtopAdConstant.PLATFORM_TYPE_BYTEDANCE);
-        executorService = Executors.newFixedThreadPool(5);
         tokens.forEach(token -> executorService.submit(() -> {
             //1:获取当日广告组数据
-            advertiserDataService.getAdvertiserCampaign(token.getAccountId() + "", "", dateString);
+            byteDanceCampaignService.getAdvertiserCampaign(token, null, dateString);
             //2:获取当日广告计划数据
             advertiserDataService.getAdvertiserPlan(token, "", dateString, null);
             //3:获取当日创意数据
-            creativeService.getAdvertiserCreative(token.getAccountId() + "", "", dateString);
+            creativeService.getAdvertiserCreative(token, "", dateString);
         }));
         log.info("物料数据同步完成");
     }

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

@@ -18,6 +18,7 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
 /**
+ * DONE
  * @author syh
  * 头条广告主时报获取任务
  */

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

@@ -17,6 +17,7 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
 /**
+ * DONE
  * @author syh
  * 头条创意日报数据获取任务
  * 第二天凌晨跑前一天的数据

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

@@ -18,6 +18,7 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
 /**
+ * DONE
  * @author syh
  * 头条创意时报获取任务
  */

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

@@ -21,6 +21,7 @@ import java.util.Date;
 import java.util.List;
 
 /**
+ * DONE
  * 头条计划日报数据任务
  * @author 宋英豪
  */

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

@@ -20,6 +20,7 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
 /**
+ * done
  * 头条计划时报数据任务
  */
 @Slf4j

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

@@ -15,6 +15,9 @@ import java.util.List;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
+/**
+ * DONE
+ */
 @Slf4j
 public class BytedancePlanLoadJob implements Job {
     @Autowired

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

@@ -16,6 +16,7 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
 /**
+ * DONE
  * 头条当日计划素材获取任务
  */
 @Slf4j
@@ -36,7 +37,7 @@ public class BytedancePlanRealTimeLoadJob implements Job {
                 //1:查询当日数据
                 List<CtopOauthToken> tokens = tokenService.getTokenListByType(CtopAdConstant.PLATFORM_TYPE_BYTEDANCE);
                 executorService = Executors.newFixedThreadPool(4);
-                String nowDate = DateUtils.date2Str();
+                String nowDate = DateUtils.formatDate();
                 tokens.forEach(token -> {
                     executorService.submit(new Runnable() {
                         @Override

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

@@ -17,6 +17,9 @@ import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
+/**
+ * DONE
+ */
 @Slf4j
 public class BytedanceSameDayCreativeLoadJob implements Job {
     @Autowired
@@ -39,7 +42,7 @@ public class BytedanceSameDayCreativeLoadJob implements Job {
                 public void run() {
                     try {
                         String getDateString = DateUtils.formatDate(new Date());
-                        advertiserDataService.getAdvertiserCreative(token, getDateString);
+//                        advertiserDataService.getAdvertiserCreative(token, getDateString);
                     } catch (Exception e) {
                         e.printStackTrace();
                     } finally {

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

@@ -1,61 +0,0 @@
-package org.jeecg.modules.ctop.job;
-
-import cn.com.ctop.common.module.entity.MaterialCutFrameTask;
-import cn.com.ctop.common.module.service.IMaterialCutFrameService;
-import cn.com.ctop.common.module.service.IMaterialCutFrameTaskService;
-import cn.com.ctop.common.module.utils.Check;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import lombok.extern.slf4j.Slf4j;
-import org.quartz.Job;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
-import org.springframework.beans.factory.annotation.Autowired;
-
-import java.util.List;
-import java.util.concurrent.Executors;
-
-import static org.jeecg.modules.ctop.job.KuaishouDailyGroupReportLoadJob.executorService;
-
-/**
- * 获取抽帧视频
- */
-@Slf4j
-public class CutFrameJob implements Job {
-    @Autowired
-    private IMaterialCutFrameService materialCutFrameService;
-    @Autowired
-    private IMaterialCutFrameTaskService taskService;
-
-    @Override
-    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-        Thread thread = new Thread() {
-            @Override
-            public void run() {
-
-                log.info("开始抽帧定时任务");
-                QueryWrapper<MaterialCutFrameTask> taskQueryWrapper = new QueryWrapper<>();
-                taskQueryWrapper.eq("job_status", 0);
-                //taskQueryWrapper.eq("cloud_type", 2);
-                List<MaterialCutFrameTask> list = taskService.list(taskQueryWrapper);
-
-                if (Check.isNull(list)) {
-                    return;
-                }
-                executorService = Executors.newFixedThreadPool(5);
-                list.forEach(cutFrameTask -> {
-                    executorService.submit(new Runnable() {
-                        @Override
-                        public void run() {
-                            //获取广告计划信息数据
-                            materialCutFrameService.loadCutFrame(cutFrameTask.getJobId(), cutFrameTask.getVideoSignature());
-                            //materialCutFrameService.loadCosCutFrame(cutFrameTask.getJobId(), cutFrameTask.getVideoSignature());  //腾讯云任务状态查询以及图片下载
-                        }
-                    });
-                });
-            }
-        };
-        thread.start();
-
-
-    }
-}

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

@@ -16,8 +16,6 @@ public class DailyFlowsJob implements Job {
     private IKuaishouInterfaceService kuaishouInterfaceService;
     @Autowired
     private ICtopOauthTokenService oauthTokenService;
-
-
     /**
      * 刷新token
      *

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

@@ -10,7 +10,6 @@ import org.quartz.JobExecutionContext;
 import org.quartz.JobExecutionException;
 import org.springframework.beans.factory.annotation.Autowired;
 
-import java.util.Date;
 import java.util.List;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
@@ -29,11 +28,9 @@ public class KuaishouMaterialsLoadJob implements Job {
         Thread thread = new Thread() {
             @Override
             public void run() {
-                //增加接口的开始和结束日期
-                Date startDate = DateUtils.addDay(new Date(), -1);
-                Date endDate = new Date();
-                //1:查询当日数据
                 List<CtopOauthToken> tokens = tokenService.selectKuaiShouToken();
+                String endDate = DateUtils.getNowDate("yyyy-MM-dd");
+                String startDate = DateUtils.getAnotherDay("yyyy-MM-dd", endDate, -1);
                 executorService = Executors.newFixedThreadPool(8);
                 tokens.forEach(token -> {
                     executorService.submit(new Runnable() {
@@ -42,7 +39,7 @@ public class KuaishouMaterialsLoadJob implements Job {
                             try {
 
                                 //获取全量视频素材数据
-                                kuaishouInterfaceService.getVideoList(token, DateUtils.getNowDate("yyyy-MM-dd"));
+                                kuaishouInterfaceService.getVideoList(token, startDate, endDate);
                                 // 获取图片信息数据
                                 kuaishouInterfaceService.getImageList(token, DateUtils.getNowDate("yyyy-MM-dd"));
                             } catch (Exception e) {
@@ -56,6 +53,5 @@ public class KuaishouMaterialsLoadJob implements Job {
             }
         };
         thread.start();
-
     }
 }

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

@@ -35,7 +35,7 @@ public class KuaishouNowDateCampaignJob implements Job {
             @Override
             public void run() {
                 //1:查询当日数据
-                Date endDate  = DateUtils.getDate();
+                Date endDate  = new Date();
                 String anotherDay = DateUtils.getAnotherDay("yyyy-MM-dd", DateUtils.formatDate(endDate), -1);
                 SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd");
                 Date startDate = sim.parse(anotherDay);

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

@@ -35,7 +35,7 @@ public class KuaishouNowDateCreativeJob implements Job {
             @Override
             public void run() {
                 //1:查询当日数据
-                Date endDate  = DateUtils.getDate();
+                Date endDate  = new Date();
                 String anotherDay = DateUtils.getAnotherDay("yyyy-MM-dd", DateUtils.formatDate(endDate), -1);
                 SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd");
                 Date startDate = sim.parse(anotherDay);

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

@@ -2,7 +2,6 @@ package org.jeecg.modules.ctop.job;
 
 import cn.com.ctop.common.module.entity.CtopOauthToken;
 import cn.com.ctop.common.module.service.ICtopOauthTokenService;
-import cn.com.ctop.common.module.utils.CtopAdConstant;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaishouInterfaceService;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
@@ -12,7 +11,6 @@ import org.quartz.JobExecutionContext;
 import org.quartz.JobExecutionException;
 import org.springframework.beans.factory.annotation.Autowired;
 
-import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
@@ -37,7 +35,7 @@ public class KuaishouNowDateGroupJob implements Job {
             @Override
             public void run() {
                 //1:查询当日数据
-                Date endDate  = DateUtils.getDate();
+                Date endDate  = new Date();
                 String anotherDay = DateUtils.getAnotherDay("yyyy-MM-dd", DateUtils.formatDate(endDate), -1);
                 SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd");
                 Date startDate = sim.parse(anotherDay);

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

@@ -2,9 +2,7 @@ package org.jeecg.modules.ctop.job;
 
 import cn.com.ctop.common.module.entity.CtopOauthToken;
 import cn.com.ctop.common.module.service.ICtopOauthTokenService;
-import cn.com.ctop.common.module.utils.CtopAdConstant;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaishouInterfaceService;
-import com.xxl.job.core.util.DateUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.util.DateUtils;
 import org.quartz.Job;
@@ -37,8 +35,9 @@ public class KuaishouSuZaoLoadJob implements Job {
                         @Override
                         public void run() {
                             try {
-                                String endDate = DateUtils.getNowDate("yyyy-MM-dd");
-                                String startDate = DateUtils.getAnotherDay("yyyy-mm-dd", endDate, -1);
+                                String nowDate = DateUtils.getNowDate("yyyy-MM-dd");
+                                String endDate = DateUtils.getAnotherDay("yyyy-MM-dd", nowDate, 1);
+                                String startDate = DateUtils.getAnotherDay("yyyy-MM-dd", nowDate, -1);
                                 kuaishouInterfaceService.getSuZaoList(token.getAccessToken(), token.getAccountId(), 1, startDate, endDate);
                             } catch (Exception e) {
                                 e.printStackTrace();

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

@@ -49,7 +49,7 @@ public class MergeVideoJob implements Job {
                         materialInfo.setMaterialName("合成" + DateUtils.getMillis());
                         materialInfoService.saveOrUpdate(materialInfo);
                         Thread.sleep(3 * 1000);
-                        materialInfoService.getFile(materialInfo);
+                  //      materialInfoService.getFile(materialInfo);
                         videoMergeTask.setVideoUrl(url);
                         videoMergeTask.setStatus(job.getState());
                         videoMergeTask.setVideoId(materialInfo.getId());

+ 7 - 29
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/job/ToutiaoMaterialsLoadJob.java

@@ -23,37 +23,15 @@ public class ToutiaoMaterialsLoadJob implements Job {
     @Autowired
     private IBytedanceReportService bytedanceReportService;
 
-    static ExecutorService executorService = null;
+    static ExecutorService executorService = Executors.newFixedThreadPool(8);
 
     @Override
     public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-        Thread thread = new Thread() {
-            @Override
-            public void run() {
-                //增加接口的开始和结束日期
-                String startDate = DateUtils.formatDate(DateUtils.addDay(new Date(), -1));
-                String endDate = startDate;
-                //获取头条token数据
-                List<CtopOauthToken> tokens = tokenService.selectToutiaoToken();
-                executorService = Executors.newFixedThreadPool(8);
-                tokens.forEach(token -> {
-                    executorService.submit(new Runnable() {
-                        @Override
-                        public void run() {
-                            try {
-                                //获取头条素材报表数据
-                                bytedanceReportService.bytedanceMaterialReport(token,startDate,endDate);
-                            } catch (Exception e) {
-                                e.printStackTrace();
-                            } finally {
-                            }
-                        }
-                    });
-                });
-                log.info("头条素材数据同步完成,"+ "开始时间:" + startDate + ",结束时间:" + endDate);
-            }
-        };
-        thread.start();
-
+        //增加接口的开始和结束日期
+        String startDate = DateUtils.formatDate(DateUtils.addDay(new Date(), -1));
+        //获取头条token数据
+        List<CtopOauthToken> tokens = tokenService.selectToutiaoToken();
+        tokens.forEach(token -> executorService.submit(()-> bytedanceReportService.bytedanceMaterialReport(token,startDate,startDate)));
+        log.info("头条素材数据同步完成,"+ "开始时间:" + startDate + ",结束时间:" + startDate);
     }
 }

+ 18 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/KuaishouEffectVideoInfoMapper.java

@@ -0,0 +1,18 @@
+package org.jeecg.modules.ctop.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.ctop.entity.KuaishouEffectVideoInfo;
+
+/**
+ * 快手视频数据清洗信息
+ * @author: jeecg-boot
+ * @date:   2020-07-23
+ * @cersion: V1.0
+ */
+public interface KuaishouEffectVideoInfoMapper extends BaseMapper<KuaishouEffectVideoInfo> {
+    void updateInitialCostDateBySignature(@Param(value = "signature") String signature);
+    void updateFinalCostDateBySignature(@Param(value = "signature") String signature);
+    void updateTotalCostBySignature(@Param(value = "signature") String signature);
+    void updateTowWeekCostBySignature(@Param(value = "signature") String signature);
+}

+ 14 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/ProjectTransferRecordMapper.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.ctop.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.ctop.entity.ProjectTransferRecord;
+
+/**
+ * 账户转项目记录
+ * @author: jeecg-boot
+ * @date:   2020-07-22
+ * @cersion: V1.0
+ */
+public interface ProjectTransferRecordMapper extends BaseMapper<ProjectTransferRecord> {
+
+}

+ 45 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/KuaishouEffectVideoInfoMapper.xml

@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.ctop.mapper.KuaishouEffectVideoInfoMapper">
+
+    <update id="updateInitialCostDateBySignature">
+        update ctop_kuaishou_effect_video_info a
+        set a.initial_cost_date = (select min(report.stat_date)
+                           from ctop_kuaishou_report_daily_creative report
+                                    left join ctop_kuaishou_creative creative
+                                              on creative.creative_id = report.creative_id
+                                    left join ctop_kuaishou_video_get video on video.photo_id = creative.photo_id
+                           where video.signature = #{signature})
+        where a.signature = #{signature}
+    </update>
+    <update id="updateFinalCostDateBySignature">
+        update ctop_kuaishou_effect_video_info a
+        set a.final_cost_date = (select max(report.stat_date)
+                           from ctop_kuaishou_report_daily_creative report
+                                    left join ctop_kuaishou_creative creative
+                                              on creative.creative_id = report.creative_id
+                                    left join ctop_kuaishou_video_get video on video.photo_id = creative.photo_id
+                           where video.signature = #{signature})
+        where a.signature = #{signature}
+    </update>
+    <update id="updateTotalCostBySignature">
+        update ctop_kuaishou_effect_video_info a
+        set a.total_cost = (select sum(report.charge)
+                           from ctop_kuaishou_report_daily_creative report
+                                    left join ctop_kuaishou_creative creative
+                                              on creative.creative_id = report.creative_id
+                                    left join ctop_kuaishou_video_get video on video.photo_id = creative.photo_id
+                           where video.signature = #{signature})
+        where a.signature = #{signature}
+    </update>
+    <update id="updateTowWeekCostBySignature">
+        update ctop_kuaishou_effect_video_info a
+        set a.two_week_cost = (select sum(report.charge)
+                from ctop_kuaishou_report_daily_creative report
+                left join ctop_kuaishou_creative creative
+                    on creative.creative_id = report.creative_id
+        left join ctop_kuaishou_video_get video on video.photo_id = creative.photo_id
+        where video.signature = #{signature} and report.stat_date &gt; DATE_ADD(a.initial_cost_date,INTERVAL 14 DAY))
+        where a.signature = #{signature}
+    </update>
+</mapper>

+ 5 - 13
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/KuaishouMatcostAccountMayMapper.xml

@@ -10,24 +10,16 @@
         where video_code = #{code}
     </update>
     <select id="getMinDateByCode" resultType="java.lang.String">
-        SELECT
-            min(s.stat_date)
-        FROM
-            ctop_kuaishou_report_daily_creative s
-            LEFT JOIN ctop_kuaishou_creative creative2 ON s.creative_id = creative2.creative_id
-            left join ctop_kuaishou_video_get video on video.photo_id = creative2.photo_id and creative2.account_id = video.account_id
-        WHERE
-            video.signature = #{code}
+    select substr(min(tmp.stat_date),1,10) from kuaishou_video_new_v2 video
+        left join tmp_kuaishou_creative_statdate2 tmp on tmp.photo_id = video.photo_id
+        where video.video_code = #{code}
     </select>
     <select id="getCostByParams" resultType="java.math.BigDecimal">
         SELECT
             sum(report.charge)
         FROM
-        ctop_kuaishou_report_daily_creative report
-        LEFT JOIN ctop_kuaishou_creative creative2 ON report.creative_id = creative2.creative_id
-        left join ctop_kuaishou_video_get video on video.photo_id = creative2.photo_id and creative2.account_id = video.account_id
+        tmp_kuaishou_creative_report report
         WHERE
-        video.signature =#{code} and report.stat_date &gt;= #{startDate} and report.stat_date &lt;= #{endDate};
-
+        report.video_code =#{code} and report.state_date &gt;= #{startDate} and report.state_date &lt; #{endDate};
     </select>
 </mapper>

+ 80 - 80
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/MaterialTopMapper.xml

@@ -2,27 +2,27 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.ctop.mapper.MaterialTopMapper">
     <select id="selectMapsPage" resultType="org.jeecg.modules.ctop.vo.MaterialTopVO">
-       SELECT
-          url,
-          cover_url,
-          name,
-          stat_date ,
-          sum(cost) as cost,
-          sum(click) as click,
-          sum(show_num) as show_num,
-          sum(active) as active,
-          sum(register) as register,
-          sum(pay) as pay,
-          sum(phone_convert) as phone_convert,
-          sum(form_convert) as form_convert,
-          convert_rate,
-          sum(residue) as residue,
-          sum(play3s) as play3s,
-          sum(play10s) as play10s
-       FROM
-          ctop_material_report_total_result
-       where
-        ${ew.sqlSegment}
+        SELECT
+            url,
+            cover_url,
+            name,
+            stat_date ,
+            sum(cost) as cost,
+            sum(click) as click,
+            sum(show_num) as show_num,
+            sum(active) as active,
+            sum(register) as register,
+            sum(pay) as pay,
+            sum(phone_convert) as phone_convert,
+            sum(form_convert) as form_convert,
+            convert_rate,
+            sum(residue) as residue,
+            sum(play3s) as play3s,
+            sum(play10s) as play10s
+        FROM
+            ctop_material_report_total_result
+        where
+            ${ew.sqlSegment}
     </select>
 
     <insert id="insertByteDanceMaterialReportAccountByDate">
@@ -47,35 +47,35 @@
         ) SELECT
               t2.signature,
               IFNULL((SELECT
-                              info.url
-                          FROM
-                              ctop_material_info info
-                          WHERE
-                              info.CODE = t2.signature
-                          ORDER BY
-                              create_time DESC
-                          LIMIT 1),'') AS url,
-              			IFNULL((SELECT
-                              info.cover_url
-                          FROM
-                              ctop_material_info info
-                          WHERE
-                              info.CODE = t2.signature
-                          ORDER BY
-                              create_time DESC
-                          LIMIT 1),'') AS cover_url,
-                      IFNULL((
-                          SELECT
-                              info.material_name
-                          FROM
-                              ctop_material_info info
-                          WHERE
-                              info.CODE = t2.signature
-                          ORDER BY
-                              create_time DESC
-                          LIMIT 1
-                      ),'')
-                   AS NAME,
+                          info.url
+                      FROM
+                          ctop_material_info info
+                      WHERE
+                          info.CODE = t2.signature
+                      ORDER BY
+                          create_time DESC
+                      LIMIT 1),'') AS url,
+              IFNULL((SELECT
+                          info.cover_url
+                      FROM
+                          ctop_material_info info
+                      WHERE
+                          info.CODE = t2.signature
+                      ORDER BY
+                          create_time DESC
+                      LIMIT 1),'') AS cover_url,
+              IFNULL((
+                         SELECT
+                             info.material_name
+                         FROM
+                             ctop_material_info info
+                         WHERE
+                             info.CODE = t2.signature
+                         ORDER BY
+                             create_time DESC
+                         LIMIT 1
+                     ),'')
+                                   AS NAME,
               t1.stat_datetime AS statDate,
               sum(t1.cost) AS cost,
               sum(t1.click) click,
@@ -95,7 +95,7 @@
         WHERE
             1 = 1
           AND t1.stat_datetime = #{statDate}
-          AND t1.image_mode != 'MATERIAL_IMAGE_MODE_TITLE'
+          AND t1.image_mode in ('CREATIVE_IMAGE_MODE_VIDEO','CREATIVE_IMAGE_MODE_VIDEO_VERTICAL')
           AND t2.signature IS NOT NULL
           AND t2.signature != ""
         GROUP BY
@@ -120,35 +120,35 @@
         ) SELECT
               t1.signature AS 'code',
               IFNULL((SELECT
-                              info.url
-                          FROM
-                              ctop_material_info info
-                          WHERE
-                              info.CODE = t2.signature
-                          ORDER BY
-                              create_time DESC
-                          LIMIT 1),'') AS url,
-              			IFNULL((SELECT
-                              info.cover_url
-                          FROM
-                              ctop_material_info info
-                          WHERE
-                              info.CODE = t2.signature
-                          ORDER BY
-                              create_time DESC
-                          LIMIT 1),'') AS cover_url,
-                      IFNULL((
-                          SELECT
-                              info.material_name
-                          FROM
-                              ctop_material_info info
-                          WHERE
-                              info.CODE = t2.signature
-                          ORDER BY
-                              create_time DESC
-                          LIMIT 1
-                      ),'')
-                   AS NAME,
+                          info.url
+                      FROM
+                          ctop_material_info info
+                      WHERE
+                          info.CODE = t2.signature
+                      ORDER BY
+                          create_time DESC
+                      LIMIT 1),'') AS url,
+              IFNULL((SELECT
+                          info.cover_url
+                      FROM
+                          ctop_material_info info
+                      WHERE
+                          info.CODE = t2.signature
+                      ORDER BY
+                          create_time DESC
+                      LIMIT 1),'') AS cover_url,
+              IFNULL((
+                         SELECT
+                             info.material_name
+                         FROM
+                             ctop_material_info info
+                         WHERE
+                             info.CODE = t2.signature
+                         ORDER BY
+                             create_time DESC
+                         LIMIT 1
+                     ),'')
+                  AS NAME,
               t1.stat_date AS 'stat_date',
               sum(t1.charge) AS 'cost',
               sum(t1.photo_click) AS 'click',

+ 193 - 338
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/MediaReportMapper.xml

@@ -18,395 +18,250 @@
     <select id="queryAllBy" resultType="com.alibaba.fastjson.JSONObject">
         SELECT e.*
         from (
-                 SELECT r.*, (r.todayCost - r.yesterdayCost) as diffCost
+                 SELECT r.*, (r.todayCost - r.yesterdayCost) as diffCost, (r.todayCost + r.yesterdayCost) as sumCost
+
                  from (
-                          SELECT t1.advertiser_type                                                      as mediaType,
-                                 t1.company_id                                                           as companyId,
-                                 t1.id                                                                   as advertiserId,
-                                 t1.NAME                                                                 as advertiserName,
-                                 t2.id                                                                   as projectId,
-                                 t2.project_name                                                         as projectName,
-                                 t2.responsible_name                                                     as operatorManger,
-                                 t2.design_responsible_name                                              as designManger,
+                          SELECT t2.media_id                                                           as mediaType,
+                                 t1.company_id                                                         as companyId,
+                                 t1.id                                                                 as advertiserId,
+                                 t1.NAME                                                               as advertiserName,
+                                 t2.id                                                                 as projectId,
+                                 t2.project_name                                                       as projectName,
+                                 t2.responsible_name                                                   as operatorManger,
+                                 t2.design_responsible_name                                            as designManger,
                                  (SELECT GROUP_CONCAT(DISTINCT user_name)
                                   from ctop_user_allocation t3
-                                  where t2.id = t3.project_id)                                           as operator,
-                                 (SELECT realname from sys_user u WHERE u.id = t1.sale_id)               as sale,
+                                  where t2.id = t3.project_id)                                         as operator,
+                                 (SELECT realname from sys_user u WHERE u.id = t1.sale_id)             as sale,
                                  (SELECT GROUP_CONCAT(DISTINCT user_name)
                                   from ctop_project_member member
                                   where t2.id = member.project_id
-                                    and role_code = 'plan')                                              as plan,
+                                    and role_code = 'plan')                                            as plan,
                                  (SELECT GROUP_CONCAT(DISTINCT user_name)
                                   from ctop_project_member member
                                   where t2.id = member.project_id
-                                    and role_code = 'shot')                                              as shot,
+                                    and role_code = 'shot')                                            as shot,
                                  (SELECT GROUP_CONCAT(DISTINCT user_name)
                                   from ctop_project_member member
                                   where t2.id = member.project_id
-                                    and role_code = 'clip')                                              as clip,
-                                 case
-                                     when
-                                         (SELECT sum(cost)
-                                          from ctop_bytedance_report_advertiser_daily report
-                                          where report.advertiser_id in (SELECT account_id
-                                                                         from ctop_user_allocation t3
-                                                                         where t2.id = t3.project_id)
-                                            and report.stat_datetime = '${todayDate} 00:00:00') is null then 0
-                                     else (SELECT sum(cost)
-                                           from ctop_bytedance_report_advertiser_daily report
-                                           where report.advertiser_id in (SELECT account_id
-                                                                          from ctop_user_allocation t3
-                                                                          where t2.id = t3.project_id)
-                                             and report.stat_datetime = '${todayDate} 00:00:00') END     as todayCost,
-                                 case
-                                     when
-                                         (SELECT sum(cost)
-                                          from ctop_bytedance_report_advertiser_daily report
-                                          where report.advertiser_id in (SELECT account_id
-                                                                         from ctop_user_allocation t3
-                                                                         where t2.id = t3.project_id)
-                                            and report.stat_datetime = '${yesterdayDate} 00:00:00') is null then 0
-                                     else (SELECT sum(cost)
-                                           from ctop_bytedance_report_advertiser_daily report
-                                           where report.advertiser_id in (SELECT account_id
-                                                                          from ctop_user_allocation t3
-                                                                          where t2.id = t3.project_id)
-                                             and report.stat_datetime = '${yesterdayDate} 00:00:00') end as yesterdayCost
+                                    and role_code = 'clip')                                            as clip,
+                                 IFNULL((SELECT sum(cost)
+                                         from ctop_bytedance_report_advertiser_daily report
+                                         where report.advertiser_id in (SELECT account_id
+                                                                        from ctop_user_allocation t3
+                                                                        where t2.id = t3.project_id)
+                                           and report.stat_datetime = '${todayDate} 00:00:00'), 0)     as todayCost,
+                                 IFNULL((SELECT sum(cost)
+                                         from ctop_bytedance_report_advertiser_daily report
+                                         where report.advertiser_id in (SELECT account_id
+                                                                        from ctop_user_allocation t3
+                                                                        where t2.id = t3.project_id)
+                                           and report.stat_datetime = '${yesterdayDate} 00:00:00'), 0) as yesterdayCost
                           FROM ctop_advertiser t1
                                    LEFT JOIN ctop_project t2 ON t1.id = t2.advertiser_id
-                          where t1.advertiser_type = 1 and t2.id is not null) as r
+                          where t2.media_id in(1,3)
+                            and t2.id is not null) as r
 
                  UNION
 
-                 SELECT r.*, (r.todayCost - r.yesterdayCost) as diffCost
+                 SELECT r.*, (r.todayCost - r.yesterdayCost) as diffCost, (r.todayCost + r.yesterdayCost) as sumCost
                  from (
-                          SELECT t1.advertiser_type                                         as mediaType,
-                                 t1.company_id                                              as companyId,
-                                 t1.id                                                      as advertiserId,
-                                 t1.NAME                                                    as advertiserName,
-                                 t2.id                                                      as projectId,
-                                 t2.project_name                                            as projectName,
-                                 t2.responsible_name                                        as operatorManger,
-                                 t2.design_responsible_name                                 as designManger,
+                          SELECT t2.media_id                                               as mediaType,
+                                 t1.company_id                                             as companyId,
+                                 t1.id                                                     as advertiserId,
+                                 t1.NAME                                                   as advertiserName,
+                                 t2.id                                                     as projectId,
+                                 t2.project_name                                           as projectName,
+                                 t2.responsible_name                                       as operatorManger,
+                                 t2.design_responsible_name                                as designManger,
                                  (SELECT GROUP_CONCAT(DISTINCT user_name)
                                   from ctop_user_allocation t3
-                                  where t2.id = t3.project_id)                              as operator,
-                                 (SELECT realname from sys_user u WHERE u.id = t1.sale_id)  as sale,
+                                  where t2.id = t3.project_id)                             as operator,
+                                 (SELECT realname from sys_user u WHERE u.id = t1.sale_id) as sale,
                                  (SELECT GROUP_CONCAT(DISTINCT user_name)
                                   from ctop_project_member member
                                   where t2.id = member.project_id
-                                    and role_code = 'plan')                                 as plan,
+                                    and role_code = 'plan')                                as plan,
                                  (SELECT GROUP_CONCAT(DISTINCT user_name)
                                   from ctop_project_member member
                                   where t2.id = member.project_id
-                                    and role_code = 'shot')                                 as shot,
+                                    and role_code = 'shot')                                as shot,
                                  (SELECT GROUP_CONCAT(DISTINCT user_name)
                                   from ctop_project_member member
                                   where t2.id = member.project_id
-                                    and role_code = 'clip')                                 as clip,
-                                 case
-                                     when
-                                         (SELECT sum(charge)
-                                          from ctop_kuaishou_report_daily_account report
-                                          where report.account_id in (SELECT account_id
-                                                                      from ctop_user_allocation t3
-                                                                      where t2.id = t3.project_id)
-                                            and report.stat_date = '${todayDate}') is null then 0
-                                     ELSE (SELECT sum(charge)
-                                           from ctop_kuaishou_report_daily_account report
-                                           where report.account_id in (SELECT account_id
-                                                                       from ctop_user_allocation t3
-                                                                       where t2.id = t3.project_id)
-                                             and report.stat_date = '${todayDate}') END     as todayCost,
-                                 case
-                                     when
-                                         (SELECT sum(charge)
-                                          from ctop_kuaishou_report_daily_account report
-                                          where report.account_id in (SELECT account_id
-                                                                      from ctop_user_allocation t3
-                                                                      where t2.id = t3.project_id)
-                                            and report.stat_date = '${yesterdayDate}') is null then 0
-                                     ELSE (SELECT sum(charge)
-                                           from ctop_kuaishou_report_daily_account report
-                                           where report.account_id in (SELECT account_id
-                                                                       from ctop_user_allocation t3
-                                                                       where t2.id = t3.project_id)
-                                             and report.stat_date = '${yesterdayDate}') end as yesterdayCost
+                                    and role_code = 'clip')                                as clip,
+                                 IFNULL((SELECT sum(charge)
+                                         from ctop_kuaishou_report_daily_account report
+                                         where report.account_id in (SELECT account_id
+                                                                     from ctop_user_allocation t3
+                                                                     where t2.id = t3.project_id)
+                                           and report.stat_date = '${todayDate}'), 0)      as todayCost,
+                                 IFNULL((SELECT sum(charge)
+                                         from ctop_kuaishou_report_daily_account report
+                                         where report.account_id in (SELECT account_id
+                                                                     from ctop_user_allocation t3
+                                                                     where t2.id = t3.project_id)
+                                           and report.stat_date = '${yesterdayDate}'), 0)  as yesterdayCost
                           FROM ctop_advertiser t1
                                    LEFT JOIN ctop_project t2 ON t1.id = t2.advertiser_id
-                          where t1.advertiser_type = 2 and t2.id is not null) as r
+                          where t2.media_id  in(2,4)
+                            and t2.id is not null) as r
 
                  union
 
-                 SELECT r.*, (r.todayCost - r.yesterdayCost) as diffCost
+                 SELECT r.*, (r.todayCost - r.yesterdayCost) as diffCost, (r.todayCost + r.yesterdayCost) as sumCost
                  from (
-                          SELECT '0'                                                               as mediaType,
-                                 '-'                                                                as companyId,
-                                 id                                                                as advertiserId,
-                                 corporation_name                                                  as advertiserName,
-                                 '-'                                                                as projectId,
-                                 account_name                                                      as projectName,
-                                 '-'                                                                as operatorManger,
-                                 '-'                                                                as designManger,
-                                 '-'                                                                as operator,
-                                 '-'                                                                as sale,
-                                 '-'                                                                as plan,
-                                 '-'                                                                as shot,
-                                 '-'                                                                as clip,
-                                 case
-                                     WHEN
-                                         (SELECT sum(balance)
-                                          from ctop_kuaishou_agent_account report
-                                          where report.id = t1.id
-                                            and report.create_time like '%${todayDate}%') is null THEN 0
-                                     ELSE (SELECT sum(balance)
-                                           from ctop_kuaishou_agent_account report
-                                           where report.id = t1.id
-                                             and report.create_time like '%${todayDate}%') end     as todayCost,
-                                 case
-                                     WHEN
-                                         (SELECT sum(balance)
-                                          from ctop_kuaishou_agent_account report
-                                          where report.id = t1.id
-                                            and report.create_time like '%${yesterdayDate}%') is null THEN 0
-                                     ELSE (SELECT sum(balance)
-                                           from ctop_kuaishou_agent_account report
-                                           where report.id = t1.id
-                                             and report.create_time like '%${yesterdayDate}%') end as yesterdayCost
+                          SELECT '- '                                                            as mediaType,
+                                 '-'                                                             as companyId,
+                                 id                                                              as advertiserId,
+                                 corporation_name                                                as advertiserName,
+                                 '-'                                                             as projectId,
+                                 account_name                                                    as projectName,
+                                 '-'                                                             as operatorManger,
+                                 '-'                                                             as designManger,
+                                 '-'                                                             as operator,
+                                 '-'                                                             as sale,
+                                 '-'                                                             as plan,
+                                 '-'                                                             as shot,
+                                 '-'                                                             as clip,
+                                 IFNULL((SELECT sum(balance)
+                                         from ctop_kuaishou_agent_account report
+                                         where report.id = t1.id
+                                           and report.create_time like '%${todayDate}%'), 0)     as todayCost,
+                                 IFNULL((SELECT sum(balance)
+                                         from ctop_kuaishou_agent_account report
+                                         where report.id = t1.id
+                                           and report.create_time like '%${yesterdayDate}%'), 0) as yesterdayCost
                           from ctop_kuaishou_agent_account t1
                           where t1.create_time like '%${yesterdayDate}%'
                           GROUP by advertiserName, projectName) as r) as e
+        ORDER BY sumCost desc
     </select>
 
     <select id="queryMediaReportBy" resultType="com.alibaba.fastjson.JSONObject">
         SELECT e.*
         FROM (
-                 SELECT r.*,
-                        (r.todayCost - r.yesterdayCost) AS diffCost
-                 FROM (
-                          SELECT t1.advertiser_type         AS mediaType,
-                                 t1.company_id              as companyId,
-                                 t1.id                      as advertiserId,
-                                 t1.NAME                    as advertiserName,
-                                 t2.id                      as projectId,
-                                 t2.project_name            AS projectName,
-                                 t2.responsible_name        AS operatorManger,
-                                 t2.design_responsible_name AS designManger,
-                                 (
-                                     SELECT GROUP_CONCAT(DISTINCT user_name)
-                                     FROM ctop_user_allocation t3
-                                     WHERE t2.id = t3.project_id
-                                 )                          AS operator,
-                                 (
-                                     SELECT realname
-                                     FROM sys_user u
-                                     WHERE u.id = t1.sale_id
-                                 )                          AS sale,
-                                 (
-                                     SELECT GROUP_CONCAT(DISTINCT user_name)
-                                     FROM ctop_project_member member
-                                     WHERE t2.id = member.project_id
-                                       AND role_code = 'plan'
-                                 )                          AS plan,
-                                 (
-                                     SELECT GROUP_CONCAT(DISTINCT user_name)
-                                     FROM ctop_project_member member
-                                     WHERE t2.id = member.project_id
-                                       AND role_code = 'shot'
-                                 )                          AS shot,
-                                 (
-                                     SELECT GROUP_CONCAT(DISTINCT user_name)
-                                     FROM ctop_project_member member
-                                     WHERE t2.id = member.project_id
-                                       AND role_code = 'clip'
-                                 )                          AS clip,
-                                 CASE
-                                     WHEN (
-                                         SELECT sum(cost)
-                                         FROM ctop_bytedance_report_advertiser_daily report
-                                         WHERE report.advertiser_id IN (
-                                             SELECT account_id
-                                             FROM ctop_user_allocation t3
-                                             WHERE t2.id = t3.project_id
-                                         )
-                                           AND report.stat_datetime = '${todayDate} 00:00:00'
-                                     ) IS NULL THEN
-                                         0
-                                     ELSE
-                                         (
-                                             SELECT sum(cost)
-                                             FROM ctop_bytedance_report_advertiser_daily report
-                                             WHERE report.advertiser_id IN (
-                                                 SELECT account_id
-                                                 FROM ctop_user_allocation t3
-                                                 WHERE t2.id = t3.project_id
-                                             )
-                                               AND report.stat_datetime = '${todayDate} 00:00:00'
-                                         )
-                                     END                    AS todayCost,
-                                 CASE
-                                     WHEN (
-                                         SELECT sum(cost)
-                                         FROM ctop_bytedance_report_advertiser_daily report
-                                         WHERE report.advertiser_id IN (
-                                             SELECT account_id
-                                             FROM ctop_user_allocation t3
-                                             WHERE t2.id = t3.project_id
-                                         )
-                                           AND report.stat_datetime = '${yesterdayDate} 00:00:00'
-                                     ) IS NULL THEN
-                                         0
-                                     ELSE
-                                         (
-                                             SELECT sum(cost)
-                                             FROM ctop_bytedance_report_advertiser_daily report
-                                             WHERE report.advertiser_id IN (
-                                                 SELECT account_id
-                                                 FROM ctop_user_allocation t3
-                                                 WHERE t2.id = t3.project_id
-                                             )
-                                               AND report.stat_datetime = '${yesterdayDate} 00:00:00'
-                                         )
-                                     END                    AS yesterdayCost
+                 SELECT r.*, (r.todayCost - r.yesterdayCost) as diffCost, (r.todayCost + r.yesterdayCost) as sumCost
+
+                 from (
+                          SELECT t2.media_id                                                           as mediaType,
+                                 t1.company_id                                                         as companyId,
+                                 t1.id                                                                 as advertiserId,
+                                 t1.NAME                                                               as advertiserName,
+                                 t2.id                                                                 as projectId,
+                                 t2.project_name                                                       as projectName,
+                                 t2.responsible_name                                                   as operatorManger,
+                                 t2.design_responsible_name                                            as designManger,
+                                 (SELECT GROUP_CONCAT(DISTINCT user_name)
+                                  from ctop_user_allocation t3
+                                  where t2.id = t3.project_id)                                         as operator,
+                                 (SELECT realname from sys_user u WHERE u.id = t1.sale_id)             as sale,
+                                 (SELECT GROUP_CONCAT(DISTINCT user_name)
+                                  from ctop_project_member member
+                                  where t2.id = member.project_id
+                                    and role_code = 'plan')                                            as plan,
+                                 (SELECT GROUP_CONCAT(DISTINCT user_name)
+                                  from ctop_project_member member
+                                  where t2.id = member.project_id
+                                    and role_code = 'shot')                                            as shot,
+                                 (SELECT GROUP_CONCAT(DISTINCT user_name)
+                                  from ctop_project_member member
+                                  where t2.id = member.project_id
+                                    and role_code = 'clip')                                            as clip,
+                                 IFNULL((SELECT sum(cost)
+                                         from ctop_bytedance_report_advertiser_daily report
+                                         where report.advertiser_id in (SELECT account_id
+                                                                        from ctop_user_allocation t3
+                                                                        where t2.id = t3.project_id)
+                                           and report.stat_datetime = '${todayDate} 00:00:00'), 0)     as todayCost,
+                                 IFNULL((SELECT sum(cost)
+                                         from ctop_bytedance_report_advertiser_daily report
+                                         where report.advertiser_id in (SELECT account_id
+                                                                        from ctop_user_allocation t3
+                                                                        where t2.id = t3.project_id)
+                                           and report.stat_datetime = '${yesterdayDate} 00:00:00'), 0) as yesterdayCost
                           FROM ctop_advertiser t1
                                    LEFT JOIN ctop_project t2 ON t1.id = t2.advertiser_id
-                          WHERE t1.advertiser_type = 1 and t2.id is not null
-                      ) AS r
+                          where t2.media_id  in(1,3)
+                            and t2.id is not null) as r
+
                  UNION
-                 SELECT r.*,
-                        (r.todayCost - r.yesterdayCost) AS diffCost
-                 FROM (
-                          SELECT t1.advertiser_type         AS mediaType,
-                                 t1.company_id              as companyId,
-                                 t1.id                      as advertiserId,
-                                 t1.NAME                    as advertiserName,
-                                 t2.id                      as projectId,
-                                 t2.project_name            AS projectName,
-                                 t2.responsible_name        AS operatorManger,
-                                 t2.design_responsible_name AS designManger,
-                                 (
-                                     SELECT GROUP_CONCAT(DISTINCT user_name)
-                                     FROM ctop_user_allocation t3
-                                     WHERE t2.id = t3.project_id
-                                 )                          AS operator,
-                                 (
-                                     SELECT realname
-                                     FROM sys_user u
-                                     WHERE u.id = t1.sale_id
-                                 )                          AS sale,
-                                 (
-                                     SELECT GROUP_CONCAT(DISTINCT user_name)
-                                     FROM ctop_project_member member
-                                     WHERE t2.id = member.project_id
-                                       AND role_code = 'plan'
-                                 )                          AS plan,
-                                 (
-                                     SELECT GROUP_CONCAT(DISTINCT user_name)
-                                     FROM ctop_project_member member
-                                     WHERE t2.id = member.project_id
-                                       AND role_code = 'shot'
-                                 )                          AS shot,
-                                 (
-                                     SELECT GROUP_CONCAT(DISTINCT user_name)
-                                     FROM ctop_project_member member
-                                     WHERE t2.id = member.project_id
-                                       AND role_code = 'clip'
-                                 )                          AS clip,
-                                 CASE
-                                     WHEN (
-                                         SELECT sum(charge)
-                                         FROM ctop_kuaishou_report_daily_account report
-                                         WHERE report.account_id IN (
-                                             SELECT account_id
-                                             FROM ctop_user_allocation t3
-                                             WHERE t2.id = t3.project_id
-                                         )
-                                           AND report.stat_date = '${todayDate}'
-                                     ) IS NULL THEN
-                                         0
-                                     ELSE
-                                         (
-                                             SELECT sum(charge)
-                                             FROM ctop_kuaishou_report_daily_account report
-                                             WHERE report.account_id IN (
-                                                 SELECT account_id
-                                                 FROM ctop_user_allocation t3
-                                                 WHERE t2.id = t3.project_id
-                                             )
-                                               AND report.stat_date = '${todayDate}'
-                                         )
-                                     END                    AS todayCost,
-                                 CASE
-                                     WHEN (
-                                         SELECT sum(charge)
-                                         FROM ctop_kuaishou_report_daily_account report
-                                         WHERE report.account_id IN (
-                                             SELECT account_id
-                                             FROM ctop_user_allocation t3
-                                             WHERE t2.id = t3.project_id
-                                         )
-                                           AND report.stat_date = '${yesterdayDate}'
-                                     ) IS NULL THEN
-                                         0
-                                     ELSE
-                                         (
-                                             SELECT sum(charge)
-                                             FROM ctop_kuaishou_report_daily_account report
-                                             WHERE report.account_id IN (
-                                                 SELECT account_id
-                                                 FROM ctop_user_allocation t3
-                                                 WHERE t2.id = t3.project_id
-                                             )
-                                               AND report.stat_date = '${yesterdayDate}'
-                                         )
-                                     END                    AS yesterdayCost
+
+                 SELECT r.*, (r.todayCost - r.yesterdayCost) as diffCost, (r.todayCost + r.yesterdayCost) as sumCost
+                 from (
+                          SELECT t2.media_id                                               as mediaType,
+                                 t1.company_id                                             as companyId,
+                                 t1.id                                                     as advertiserId,
+                                 t1.NAME                                                   as advertiserName,
+                                 t2.id                                                     as projectId,
+                                 t2.project_name                                           as projectName,
+                                 t2.responsible_name                                       as operatorManger,
+                                 t2.design_responsible_name                                as designManger,
+                                 (SELECT GROUP_CONCAT(DISTINCT user_name)
+                                  from ctop_user_allocation t3
+                                  where t2.id = t3.project_id)                             as operator,
+                                 (SELECT realname from sys_user u WHERE u.id = t1.sale_id) as sale,
+                                 (SELECT GROUP_CONCAT(DISTINCT user_name)
+                                  from ctop_project_member member
+                                  where t2.id = member.project_id
+                                    and role_code = 'plan')                                as plan,
+                                 (SELECT GROUP_CONCAT(DISTINCT user_name)
+                                  from ctop_project_member member
+                                  where t2.id = member.project_id
+                                    and role_code = 'shot')                                as shot,
+                                 (SELECT GROUP_CONCAT(DISTINCT user_name)
+                                  from ctop_project_member member
+                                  where t2.id = member.project_id
+                                    and role_code = 'clip')                                as clip,
+                                 IFNULL((SELECT sum(charge)
+                                         from ctop_kuaishou_report_daily_account report
+                                         where report.account_id in (SELECT account_id
+                                                                     from ctop_user_allocation t3
+                                                                     where t2.id = t3.project_id)
+                                           and report.stat_date = '${todayDate}'), 0)      as todayCost,
+                                 IFNULL((SELECT sum(charge)
+                                         from ctop_kuaishou_report_daily_account report
+                                         where report.account_id in (SELECT account_id
+                                                                     from ctop_user_allocation t3
+                                                                     where t2.id = t3.project_id)
+                                           and report.stat_date = '${yesterdayDate}'), 0)  as yesterdayCost
                           FROM ctop_advertiser t1
                                    LEFT JOIN ctop_project t2 ON t1.id = t2.advertiser_id
-                          WHERE t1.advertiser_type = 2 and t2.id is not null
-                      ) AS r) as e
+                          where t2.media_id  in(2,4)
+                            and t2.id is not null) as r) as e
         where companyId = ${condition}
+        ORDER BY sumCost desc
     </select>
 
     <select id="queryAgentReportBy" resultType="com.alibaba.fastjson.JSONObject">
-        SELECT e.* from(
-                           SELECT r.*, (r.todayCost - r.yesterdayCost) as diffCost
-                           from (
-                                    SELECT '0'                                                               as mediaType,
-                                           '-'                                                                as companyId,
-                                           id                                                                as advertiserId,
-                                           corporation_name                                                  as advertiserName,
-                                           '-'                                                                as projectId,
-                                           account_name                                                      as projectName,
-                                           '-'                                                                as operatorManger,
-                                           '-'                                                                as designManger,
-                                           '-'                                                                as operator,
-                                           '-'                                                                as sale,
-                                           '-'                                                                as plan,
-                                           '-'                                                                as shot,
-                                           '-'                                                                as clip,
-                                           case
-                                               WHEN
-                                                   (SELECT sum(balance)
-                                                    from ctop_kuaishou_agent_account report
-                                                    where report.id = t1.id
-                                                      and report.create_time like '%${todayDate}%') is null THEN 0
-                                               ELSE (SELECT sum(balance)
-                                                     from ctop_kuaishou_agent_account report
-                                                     where report.id = t1.id
-                                                       and report.create_time like '%${todayDate}%') end     as todayCost,
-                                           case
-                                               WHEN
-                                                   (SELECT sum(balance)
-                                                    from ctop_kuaishou_agent_account report
-                                                    where report.id = t1.id
-                                                      and report.create_time like '%${yesterdayDate}%') is null THEN 0
-                                               ELSE (SELECT sum(balance)
-                                                     from ctop_kuaishou_agent_account report
-                                                     where report.id = t1.id
-                                                       and report.create_time like '%${yesterdayDate}%') end as yesterdayCost
-                                    from ctop_kuaishou_agent_account t1
-                                    where t1.create_time like '%${yesterdayDate}%'
-                                    GROUP by advertiserName, projectName
-                                )as r) as e
+        SELECT e.*
+        from (
+                 SELECT r.*, (r.todayCost - r.yesterdayCost) as diffCost, (r.todayCost + r.yesterdayCost) as sumCost
+                 from (
+                          SELECT '-'                                                             as mediaType,
+                                 '-'                                                             as companyId,
+                                 id                                                              as advertiserId,
+                                 corporation_name                                                as advertiserName,
+                                 '-'                                                             as projectId,
+                                 account_name                                                    as projectName,
+                                 '-'                                                             as operatorManger,
+                                 '-'                                                             as designManger,
+                                 '-'                                                             as operator,
+                                 '-'                                                             as sale,
+                                 '-'                                                             as plan,
+                                 '-'                                                             as shot,
+                                 '-'                                                             as clip,
+                                 IFNULL((SELECT sum(balance)
+                                         from ctop_kuaishou_agent_account report
+                                         where report.id = t1.id
+                                           and report.create_time like '%${todayDate}%'), 0)     as todayCost,
+                                 IFNULL((SELECT sum(balance)
+                                         from ctop_kuaishou_agent_account report
+                                         where report.id = t1.id
+                                           and report.create_time like '%${yesterdayDate}%'), 0) as yesterdayCost
+                          from ctop_kuaishou_agent_account t1
+                          where t1.create_time like '%${yesterdayDate}%'
+                          GROUP by advertiserName, projectName) as r) as e
+        ORDER BY sumCost desc
     </select>
 </mapper>

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/ProjectMemberMapper.xml

@@ -111,7 +111,7 @@
         b.project_name as projectName,
         a.advertiser_id as advertiserId,
         a.advertiser_name as advertiserName,
-        a.media_id as mediaId
+        (SELECT media_id from ctop_project c where c.id=a.project_id limit 1) as mediaId
         from
         ctop_user_allocation a
         left join ctop_project_member b on a.project_id = b.project_id

+ 2 - 2
module-common/src/main/java/cn/com/ctop/common/module/mapper/xml/VideoWatermarkTemplateMapper.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="cn.com.ctop.common.module.mapper.VideoWatermarkTemplateMapper">
+<mapper namespace="org.jeecg.modules.ctop.mapper.ProjectTransferRecordMapper">
 
-</mapper>
+</mapper>

+ 17 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/IKuaishouEffectVideoInfoService.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.ctop.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.ctop.entity.KuaishouEffectVideoInfo;
+
+/**
+ * 快手视频数据清洗信息
+ * @author jeecg-boot
+ * @date   2020-07-23
+ * @version V1.0
+ */
+public interface IKuaishouEffectVideoInfoService extends IService<KuaishouEffectVideoInfo> {
+    void updateInitialCostDateBySignature(String signature);
+    void updateFinalCostDateBySignature(String signature);
+    void updateTotalCostBySignature(String signature);
+    void updateTowWeekCostBySignature(String signature);
+}

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

@@ -24,4 +24,5 @@ public interface IProjectMemberService extends IService<ProjectMember> {
 
     List<Map<String, Object>> getProjectAccountByUserId(String userId);
 
+    ProjectMember getProjectByParams(Long targetProject, String userId);
 }

+ 18 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/IProjectTransferRecordService.java

@@ -0,0 +1,18 @@
+package org.jeecg.modules.ctop.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.ctop.entity.ProjectTransferRecord;
+
+import java.util.Map;
+
+/**
+ * 账户转项目记录
+ * @author jeecg-boot
+ * @date   2020-07-22
+ * @version V1.0
+ */
+public interface IProjectTransferRecordService extends IService<ProjectTransferRecord> {
+    Map<String,Object> updateStatus(Long id, Integer status);
+
+    Map<String,Object> addRecord(Long accountId, Long projectId);
+}

+ 0 - 52
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/BidWarningServiceImpl.java

@@ -5,7 +5,6 @@ import cn.com.ctop.common.module.entity.Project;
 import cn.com.ctop.common.module.entity.UserAllocation;
 import cn.com.ctop.common.module.mapper.MailLogMapper;
 import cn.com.ctop.common.module.mapper.ProjectMapper;
-import cn.com.ctop.common.module.service.ICorpFeishuUserService;
 import cn.com.ctop.common.module.service.IUserAllocationService;
 import cn.com.ctop.common.module.utils.BigDecimalUtil;
 import cn.com.ctop.common.module.utils.Check;
@@ -13,9 +12,7 @@ import cn.com.ctop.common.module.utils.CorpWexinUtils;
 import cn.com.ctop.common.module.utils.SendMailUtil;
 import cn.com.ctop.kuaishou.modules.batch.mapper.KuaiShouGroupMapper;
 import cn.com.ctop.toutiao.modules.material.service.IByteDanceAdvertisePlanService;
-import cn.com.feishu.provider.MessageProvider;
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.util.DateUtils;
@@ -83,7 +80,6 @@ public class BidWarningServiceImpl implements IBidWarningService {
 
                             if (!Check.isNull(unitWarning)) {
                                 sendMessage(project.getMediaId(), accountId, projectId, project.getProjectName(), userAllocation.getAuthName(), unitWarning, maxBid);
-                                sendFeishumessage(project.getMediaId(), accountId, projectId, project.getProjectName(), userAllocation.getAuthName(), unitWarning, maxBid);
                             }
                         }
                     }
@@ -94,55 +90,7 @@ public class BidWarningServiceImpl implements IBidWarningService {
         } catch (Exception e) {
             e.printStackTrace();
         }
-
-
     }
-    private void sendFeishumessage(String mediaId, Long accountId, Long projectId, String projectName, String authName, List<String> unitWarning, Long maxBid) throws Exception {
-        String createTime = DateUtils.getNowDate("yyyy-MM-dd");
-        Integer count = mailLogMapper.selectCountByAccountIdAndDate(accountId, createTime, Integer.getInteger(mediaId));
-        StringBuilder text = new StringBuilder();
-        String s = "";
-        for (int i = 0; i < unitWarning.size(); i++) {
-            s += unitWarning.get(i) + "," + "\n\r";
-
-        }
-        text.append("项目出价预警").append("\n\r").append("您的项目:").append(projectName + ",").append("\n\r")
-                .append("授权名称为:" + authName + " 下的,").append("\n\r").append(s)
-                .append("大于项目设置的最高出价:").append(maxBid / 1000).append(" 元! 请您及时调整。");
-        if (count < 3) {
-            List<String> mailList = mailLogMapper.selectMailList(projectId);
-            String subject;
-            if ("1".equals(mediaId)) {
-                subject = "头条-广告计划出价预警";
-
-            } else {
-                subject = "快手-广告组出价预警";
-            }
-            try {
-                SendMailUtil.sendMail(mailList, subject, text.toString());
-                MailLog mailLog = new MailLog();
-                mailLog.setAccountId(accountId);
-                mailLog.setMailType(1);
-                mailLog.setContent(text.toString());
-                mailLog.setSendEmil(JSON.toJSONString(mailList));
-                mailLog.setSubject(subject);
-                mailLogMapper.insert(mailLog);
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-        }
-
-        JSONArray openIds = corpFeishuUserService.getOpenIdByParams(projectId);
-        if(null == openIds||openIds.isEmpty()){
-            log.error("该项目下运营飞书账号尚未绑定邮箱=>projectId:{}",projectId);
-            return;
-        }
-        MessageProvider.batchSend(null,openIds,null,text.toString());
-    }
-
-    @Autowired
-    private ICorpFeishuUserService corpFeishuUserService;
-
     private void sendMessage(String mediaId, Long accountId, Long projectId, String projectName, String authName, List<String> unitWarning, Long maxBid) {
         String createTime = DateUtils.getNowDate("yyyy-MM-dd");
         Integer count = mailLogMapper.selectCountByAccountIdAndDate(accountId, createTime, 1);

+ 0 - 50
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/CpaBidWarningServiceImpl.java

@@ -4,7 +4,6 @@ import cn.com.ctop.common.module.entity.MailLog;
 import cn.com.ctop.common.module.entity.Project;
 import cn.com.ctop.common.module.entity.UserAllocation;
 import cn.com.ctop.common.module.mapper.MailLogMapper;
-import cn.com.ctop.common.module.service.ICorpFeishuUserService;
 import cn.com.ctop.common.module.service.IUserAllocationService;
 import cn.com.ctop.common.module.utils.BigDecimalUtil;
 import cn.com.ctop.common.module.utils.Check;
@@ -12,9 +11,7 @@ import cn.com.ctop.common.module.utils.CorpWexinUtils;
 import cn.com.ctop.common.module.utils.SendMailUtil;
 import cn.com.ctop.kuaishou.modules.batch.mapper.KuaiShouGroupMapper;
 import cn.com.ctop.toutiao.modules.material.service.IByteDanceAdvertisePlanService;
-import cn.com.feishu.provider.MessageProvider;
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.util.DateUtils;
 import org.jeecg.modules.ctop.service.ICpaBidWarningService;
@@ -40,8 +37,6 @@ public class CpaBidWarningServiceImpl implements ICpaBidWarningService {
     private MailLogMapper mailLogMapper;
     @Autowired
     private IByteDanceAdvertisePlanService byteDanceAdvertisePlanService;
-    @Autowired
-    private ICorpFeishuUserService corpFeishuUserService;
 
     /**
      * 预警
@@ -67,7 +62,6 @@ public class CpaBidWarningServiceImpl implements ICpaBidWarningService {
 
                     if (!Check.isNull(unitWarning)) {
                         sendMessage(project.getMediaId(), accountId, project.getId(), project.getProjectName(), userAllocation.getAuthName(), unitWarning, maxDeepCpaBid);
-                        sendFeishuMessage(project.getMediaId(), accountId, project.getId(), project.getProjectName(), userAllocation.getAuthName(), unitWarning, maxDeepCpaBid);
                     }
                 }
             }
@@ -77,50 +71,6 @@ public class CpaBidWarningServiceImpl implements ICpaBidWarningService {
         }
     }
 
-    private void sendFeishuMessage(String mediaId, Long accountId, Long projectId, String projectName, String authName, List<String> unitWarning, BigDecimal maxCpaBid) throws Exception {
-        BigDecimal maxBid = BigDecimalUtil.divideBigDecimal(maxCpaBid, new BigDecimal(1000));
-        String createTime = DateUtils.getNowDate("yyyy-MM-dd");
-        Integer count = mailLogMapper.selectCountByAccountIdAndDate(accountId, createTime, Integer.getInteger(mediaId));
-        StringBuilder text = new StringBuilder();
-        String s = "";
-        for (int i = 0; i < unitWarning.size(); i++) {
-            s += unitWarning.get(i) + "," + "\n\r";
-
-        }
-        text.append("项目深度出价预警").append("\n\r").append("您的项目:").append(projectName + ",").append("\n\r")
-                .append("授权名称为:" + authName + " 下的,").append("\n\r").append(s)
-                .append("大于项目设置的最高深度转化出价:").append(maxBid).append(" 元! 请您及时调整。");
-        if (count < 3) {
-            List<String> mailList = mailLogMapper.selectMailList(projectId);
-            String subject;
-            if ("1".equals(mediaId)) {
-                subject = "头条-广告计划深度转化出价预警";
-
-            } else {
-                subject = "快手-广告组深度转化出价预警";
-            }
-
-            try {
-                SendMailUtil.sendMail(mailList, subject, text.toString());
-                MailLog mailLog = new MailLog();
-                mailLog.setAccountId(accountId);
-                mailLog.setMailType(1);
-                mailLog.setContent(text.toString());
-                mailLog.setSendEmil(JSON.toJSONString(mailList));
-                mailLog.setSubject(subject);
-                mailLogMapper.insert(mailLog);
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-        }
-        JSONArray openIds = corpFeishuUserService.getOpenIdByParams(projectId);
-        if(null == openIds||openIds.isEmpty()){
-            log.error("该项目下运营飞书账号尚未绑定邮箱=>projectId:{}",projectId);
-            return;
-        }
-        MessageProvider.batchSend(null,openIds,null,text.toString());
-    }
-
     private void sendMessage(String mediaId, Long accountId, Long projectId, String projectName, String authName, List<String> unitWarning, BigDecimal maxCpaBid) {
         BigDecimal maxBid = BigDecimalUtil.divideBigDecimal(maxCpaBid, new BigDecimal(1000));
         String createTime = DateUtils.getNowDate("yyyy-MM-dd");

+ 18 - 20
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/KuaiShouUploadServiceImpl.java

@@ -14,11 +14,11 @@ import cn.com.ctop.common.module.utils.LoadFileUtil;
 import cn.com.ctop.common.module.utils.PropertiesUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouVideoGet;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouVideoGetService;
+import cn.com.ctop.kuaishou.modules.batch.service.IKuaishouInterfaceService;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.http.ParseException;
-import org.jeecg.common.util.DateUtils;
 import org.jeecg.modules.ctop.service.IKuaiShouUploadService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -43,11 +43,6 @@ import java.util.concurrent.Executors;
 @Service
 public class KuaiShouUploadServiceImpl implements IKuaiShouUploadService {
     private static ExecutorService executorService = Executors.newFixedThreadPool(6);
-
-    @Value("${oss.replace.replace-value}")
-    private String replaceValue;
-    @Value("${oss.replace.replace-old-value}")
-    private String replaceOldValue;
     @Value("${oss.replace.download}")
     private String downloadUrl;
 
@@ -60,11 +55,13 @@ public class KuaiShouUploadServiceImpl implements IKuaiShouUploadService {
     private MaterialParameterMapper parameterMapper;
     @Autowired
     private IKuaiShouVideoGetService kuaiShouVideoGetService;
+    @Autowired
+    private IKuaishouInterfaceService kuaishouInterfaceService;
 
     @Override
     public void upload(MaterialInfo materialInfo) {
         try {
-            String url = materialInfo.getUrl().replace(replaceOldValue, replaceValue);
+            String url = materialInfo.getUrl();
             log.info("replaceUrl:{}", url);
             String localUrl = LoadFileUtil.downLoadFromUrl(url, downloadUrl);
             FileSystemResource resource = new FileSystemResource(new File(localUrl));
@@ -95,7 +92,7 @@ public class KuaiShouUploadServiceImpl implements IKuaiShouUploadService {
             if (!Check.isNull(list)) {
                 for (UserAllocation allocation : list) {
                     Long accountId = allocation.getAccountId();
-                    CtopOauthToken ctopOauthToken = oauthTokenService.getAccessTokenByAccountIdAndMediaId(2,accountId);
+                    CtopOauthToken ctopOauthToken = oauthTokenService.getAccessTokenByAccountIdAndMediaId(2, accountId);
                     if (Check.isNull(ctopOauthToken)) {
                         log.error("快手账户信息为空,accountId:{}", accountId);
                         continue;
@@ -125,18 +122,19 @@ public class KuaiShouUploadServiceImpl implements IKuaiShouUploadService {
                                     if (resultJson.getInteger("code") == 0) {
                                         JSONObject dataJson = resultJson.getJSONObject("data");
                                         if (!Check.isNull(dataJson)) {
-                                            String photoId = dataJson.getString("photo_id");
-                                            String signature = dataJson.getString("signature");
-                                            KuaiShouVideoGet videoGet = new KuaiShouVideoGet();
-                                            videoGet.setAccountId(accountId);
-                                            videoGet.setId(accountId + photoId);
-                                            videoGet.setUrl(materialInfo.getUrl());
-                                            videoGet.setCoverUrl(materialInfo.getUrl()+ "?x-oss-process=video/snapshot,t_00000,m_fast");
-                                            videoGet.setStatDate(DateUtils.getNowDate());
-                                            videoGet.setMaterialType(finalType);
-                                            videoGet.setPhotoId(photoId);
-                                            videoGet.setSignature(signature);
-                                            kuaiShouVideoGetService.saveOrUpdate(videoGet);
+                                            Thread thread = new Thread() {
+                                                @Override
+                                                public void run() {
+                                                    try {
+                                                        Thread.sleep(2 * 1000L);
+                                                        kuaishouInterfaceService.getVideoInfo(ctopOauthToken.getAccessToken(), ctopOauthToken.getAccountId(), dataJson.getString("photo_id"));
+                                                    } catch (InterruptedException e) {
+                                                        e.printStackTrace();
+                                                    }
+                                                }
+                                            };
+                                            thread.start();
+
                                         }
                                         log.info("快手素材同步完成,accountId:{},code:{},返回信息:{}", accountId, materialInfo.getCode(), resultJson);
                                     } else {

+ 39 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/KuaishouEffectVideoInfoServiceImpl.java

@@ -0,0 +1,39 @@
+package org.jeecg.modules.ctop.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.ctop.entity.KuaishouEffectVideoInfo;
+import org.jeecg.modules.ctop.mapper.KuaishouEffectVideoInfoMapper;
+import org.jeecg.modules.ctop.service.IKuaishouEffectVideoInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 快手视频数据清洗信息
+ * @author jeecg-boot
+ * @date   2020-07-23
+ * @version V1.0
+ */
+@Service
+public class KuaishouEffectVideoInfoServiceImpl extends ServiceImpl<KuaishouEffectVideoInfoMapper, KuaishouEffectVideoInfo> implements IKuaishouEffectVideoInfoService {
+    @Autowired
+    private KuaishouEffectVideoInfoMapper effectVideoInfoMapper;
+    @Override
+    public void updateInitialCostDateBySignature(String signature) {
+        effectVideoInfoMapper.updateInitialCostDateBySignature(signature);
+    }
+
+    @Override
+    public void updateFinalCostDateBySignature(String signature) {
+        effectVideoInfoMapper.updateFinalCostDateBySignature(signature);
+    }
+
+    @Override
+    public void updateTotalCostBySignature(String signature) {
+        effectVideoInfoMapper.updateTotalCostBySignature(signature);
+    }
+
+    @Override
+    public void updateTowWeekCostBySignature(String signature) {
+        effectVideoInfoMapper.updateTowWeekCostBySignature(signature);
+    }
+}

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


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