Browse Source

Merge remote-tracking branch 'origin/master'

xuzuoyun 5 years ago
parent
commit
e8718e80c0
71 changed files with 1093 additions and 845 deletions
  1. 1 1
      jeecg-boot-base-common/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java
  2. 3 1
      jeecg-boot-base-common/src/main/java/org/jeecg/common/system/query/QueryRuleEnum.java
  3. 2 5
      jeecg-boot-base-common/src/main/java/org/jeecg/common/system/util/JeecgDataAutorUtils.java
  4. 4 1
      jeecg-boot-base-common/src/main/java/org/jeecg/common/util/BrowserType.java
  5. 2 2
      jeecg-boot-base-common/src/main/java/org/jeecg/common/util/BrowserUtils.java
  6. 158 17
      jeecg-boot-base-common/src/main/java/org/jeecg/common/util/DateUtils.java
  7. 1 1
      jeecg-boot-base-common/src/main/java/org/jeecg/common/util/MD5Util.java
  8. 3 3
      jeecg-boot-base-common/src/main/java/org/jeecg/common/util/PasswordUtil.java
  9. 1 11
      jeecg-boot-base-common/src/main/java/org/jeecg/common/util/StatusCode.java
  10. 4 4
      jeecg-boot-base-common/src/main/java/org/jeecg/common/util/UUIDGenerator.java
  11. 3 3
      jeecg-boot-base-common/src/main/java/org/jeecg/common/util/oConvertUtils.java
  12. 3 1
      jeecg-boot-base-common/src/main/java/org/jeecg/common/util/superSearch/QueryRuleEnum.java
  13. 6 0
      jeecg-boot-module-system/pom.xml
  14. 10 10
      jeecg-boot-module-system/src/main/java/org/jeecg/config/mybatis/MybatisInterceptor.java
  15. 6 6
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/CallbackController.java
  16. 253 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/CustomerPlanStatisticInfoController.java
  17. 37 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ReportController.java
  18. 3 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/ByteDanceAdvertiserBudget.java
  19. 10 10
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/ByteDanceCampaign.java
  20. 38 42
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/ByteDanceCreative.java
  21. 12 12
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/ByteDanceCreativeMaterial.java
  22. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/CTopOauthToken.java
  23. 189 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/CustomerPlanStatisticInfo.java
  24. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/FileInfo.java
  25. 17 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/CustomerPlanStatisticInfoMapper.java
  26. 5 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/mapper/xml/CustomerPlanStatisticInfoMapper.xml
  27. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/ICTopOauthTokenService.java
  28. 14 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/ICustomerPlanStatisticInfoService.java
  29. 2 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/IReportService.java
  30. 5 5
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/ByteDanceAdvertisePlanServiceImpl.java
  31. 17 17
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/ByteDanceAdvertiserDataServiceImpl.java
  32. 3 3
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/ByteDanceCampaignTemplateServiceImpl.java
  33. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/ByteDanceCreativeServiceImpl.java
  34. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/BytedanceAdvertisePlanTemplateServiceImpl.java
  35. 2 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/CTopOauthTokenServiceImpl.java
  36. 19 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/CustomerPlanStatisticInfoServiceImpl.java
  37. 4 4
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/FileInfoServiceImpl.java
  38. 30 7
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/ReportServiceImpl.java
  39. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/mock/MockController.java
  40. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/fileupload/service/impl/UploadServiceImpl.java
  41. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/kuaishou/controller/KuaiShouController.java
  42. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/kuaishou/controller/KuaiShouConversionTypesController.java
  43. 4 4
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/kuaishou/service/IKuaishouInterfaceService.java
  44. 2 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/kuaishou/service/impl/KuaiShouCreateServiceImpl.java
  45. 31 5
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/kuaishou/service/impl/KuaishouInterfaceServiceImpl.java
  46. 2 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/message/controller/SysMessageTemplateController.java
  47. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/message/handle/ISendMsgHandle.java
  48. 4 4
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/message/handle/impl/EmailSendMsgHandle.java
  49. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/message/handle/impl/SmsSendMsgHandle.java
  50. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/message/handle/impl/WxSendMsgHandle.java
  51. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/message/job/SendMsgJob.java
  52. 6 6
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/LoginController.java
  53. 5 5
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java
  54. 0 4
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/model/DepartIdModel.java
  55. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/model/SysDepartTreeModel.java
  56. 4 4
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java
  57. 12 12
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserDepartServiceImpl.java
  58. 7 7
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java
  59. 38 0
      jeecg-boot-module-system/src/main/resources/effect_unit_2019-08-02-00_2019-08-02-00.csv
  60. 11 0
      module-common/pom.xml
  61. 68 0
      module-common/src/main/java/cn/com/ctop/common/utils/CsvUtils.java
  62. 0 157
      module-common/src/main/java/cn/com/ctop/common/utils/DateUtils.java
  63. 2 2
      module-common/src/main/java/cn/com/ctop/common/utils/FileUploadTool.java
  64. 0 429
      module-common/src/main/java/cn/com/ctop/common/utils/ImageUtils.java
  65. 2 2
      module-common/src/main/java/cn/com/ctop/common/utils/MD5Utils.java
  66. 7 7
      module-common/src/main/java/cn/com/ctop/common/utils/OSSUtils.java
  67. 2 2
      module-common/src/main/java/cn/com/ctop/common/utils/TransfMediaTool.java
  68. 1 1
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/core/util/KuaishouUtil.java
  69. 1 1
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/core/util/MD5Util.java
  70. 2 2
      module-crawler/src/main/java/cn/com/ctop/crawler/modules/core/util/SignUtil.java
  71. 1 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/graphql/service/impl/KuaishouWebInterfaceServiceImpl.java

+ 1 - 1
jeecg-boot-base-common/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java

@@ -12,7 +12,7 @@ import org.jeecg.common.system.vo.LoginUser;
  * @Date:2019-4-20 
  * @Version:V1.0
  */
-public interface ISysBaseAPI {
+public interface ISysBaseApi {
 
 	/**
 	 * 日志添加

+ 3 - 1
jeecg-boot-base-common/src/main/java/org/jeecg/common/system/query/QueryRuleEnum.java

@@ -8,7 +8,9 @@ import org.jeecg.common.util.oConvertUtils;
  * @Date 2019年02月14日
  */
 public enum QueryRuleEnum {
-
+    /**
+     * Query 规则 常量
+     */
     GT(">","gt","大于"),
     GE(">=","ge","大于等于"),
     LT("<","lt","小于"),

+ 2 - 5
jeecg-boot-base-common/src/main/java/org/jeecg/common/system/util/JeecgDataAutorUtils.java

@@ -46,8 +46,7 @@ public class JeecgDataAutorUtils {
 
 	/**
 	 * 获取请求对应的数据权限规则
-	 * 
-	 * @param request
+     *
 	 * @return
 	 */
 	@SuppressWarnings("unchecked")
@@ -58,8 +57,7 @@ public class JeecgDataAutorUtils {
 
 	/**
 	 * 获取请求对应的数据权限SQL
-	 * 
-	 * @param request
+     *
 	 * @return
 	 */
 	public static synchronized String loadDataSearchConditonSQLString() {
@@ -70,7 +68,6 @@ public class JeecgDataAutorUtils {
 	 * 往链接请求里面,传入数据查询条件
 	 * 
 	 * @param request
-	 * @param MENU_DATA_AUTHOR_RULE_SQL
 	 */
 	public static synchronized void installDataSearchConditon(HttpServletRequest request, String sql) {
 		String ruleSql = (String)loadDataSearchConditonSQLString();

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

@@ -6,5 +6,8 @@ package org.jeecg.common.util;
  *
  */
 public enum BrowserType {
-	IE11,IE10,IE9,IE8,IE7,IE6,Firefox,Safari,Chrome,Opera,Camino,Gecko
+    /**
+     * IE版本号
+     */
+    IE11,IE10,IE9,IE8,IE7,IE6,Firefox,Safari,Chrome,Opera,Camino,Gecko
 }

+ 2 - 2
jeecg-boot-base-common/src/main/java/org/jeecg/common/util/BrowserUtils.java

@@ -15,7 +15,7 @@ import javax.servlet.http.HttpServletRequest;
 public class BrowserUtils {
 	
 	// 判断是否是IE
-	public static boolean isIE(HttpServletRequest request) {
+    public static boolean isIe(HttpServletRequest request) {
 		return (request.getHeader("USER-AGENT").toLowerCase().indexOf("msie") > 0 || request
 				.getHeader("USER-AGENT").toLowerCase().indexOf("rv:11.0") > 0) ? true
 				: false;
@@ -27,7 +27,7 @@ public class BrowserUtils {
 	 * @param request
 	 * @return
 	 */
-	public static Double getIEversion(HttpServletRequest request) {
+    public static Double getIeVersion(HttpServletRequest request) {
 		Double version = 0.0;
 		if (getBrowserType(request, IE11)) {
 			version = 11.0;

+ 158 - 17
jeecg-boot-base-common/src/main/java/org/jeecg/common/util/DateUtils.java

@@ -5,9 +5,7 @@ import java.sql.Timestamp;
 import java.text.DateFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.GregorianCalendar;
+import java.util.*;
 
 import org.springframework.util.StringUtils;
 
@@ -36,7 +34,7 @@ public class DateUtils extends PropertyEditorSupport {
     private static final long SECOND_IN_MILLIS = 1000;
 
     // 指定模式的时间格式
-    private static SimpleDateFormat getSDFormat(String pattern) {
+    private static SimpleDateFormat getDateFormat(String pattern) {
         return new SimpleDateFormat(pattern);
     }
 
@@ -134,12 +132,9 @@ public class DateUtils extends PropertyEditorSupport {
 
     /**
      * 日期转换为字符串
-     *
-     * @param date   日期
-     * @param format 日期格式
      * @return 字符串
      */
-    public static String date2Str(SimpleDateFormat date_sdf) {
+    public static String date2Str(SimpleDateFormat dateSdf) {
         Date date = getDate();
         if (null == date) {
             return null;
@@ -170,20 +165,17 @@ public class DateUtils extends PropertyEditorSupport {
      * 日期转换为字符串
      *
      * @param date   日期
-     * @param format 日期格式
      * @return 字符串
      */
-    public static String date2Str(Date date, SimpleDateFormat date_sdf) {
+    public static String date2Str(Date date, SimpleDateFormat dateSdf) {
         if (null == date) {
             return null;
         }
-        return date_sdf.format(date);
+        return dateSdf.format(date);
     }
 
     /**
      * 日期转换为字符串
-     *
-     * @param date   日期
      * @param format 日期格式
      * @return 字符串
      */
@@ -375,7 +367,7 @@ public class DateUtils extends PropertyEditorSupport {
      * @return 默认日期按指定格式显示
      */
     public static String formatDate(String pattern) {
-        return getSDFormat(pattern).format(getCalendar().getTime());
+        return getDateFormat(pattern).format(getCalendar().getTime());
     }
 
     /**
@@ -386,7 +378,7 @@ public class DateUtils extends PropertyEditorSupport {
      * @return 指定日期按指定格式显示
      */
     public static String formatDate(Calendar cal, String pattern) {
-        return getSDFormat(pattern).format(cal.getTime());
+        return getDateFormat(pattern).format(cal.getTime());
     }
 
     /**
@@ -397,7 +389,7 @@ public class DateUtils extends PropertyEditorSupport {
      * @return 指定日期按指定格式显示
      */
     public static String formatDate(Date date, String pattern) {
-        return getSDFormat(pattern).format(date);
+        return getDateFormat(pattern).format(date);
     }
 
     // ////////////////////////////////////////////////////////////////////////////
@@ -505,7 +497,7 @@ public class DateUtils extends PropertyEditorSupport {
      * @throws
      */
     public static Date parseDate(String src, String pattern) throws ParseException {
-        return getSDFormat(pattern).parse(src);
+        return getDateFormat(pattern).parse(src);
 
     }
 
@@ -631,4 +623,153 @@ public class DateUtils extends PropertyEditorSupport {
         }
     }
 
+    public static List<Map<String, String>> getDateDayRange(String startDate, String endDate) throws ParseException {
+        List<Map<String, String>> list = new ArrayList<>();
+        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.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.put("startDate", splitDate);
+                map.put("endDate", endDate);
+                list.add(map);
+                splitDate = DateUtils.addDay(splitDate, -1);
+                endDate = DateUtils.addDay(endDate, -1);
+                if (DateUtils.compareDate(startDate, splitDate) > 0) {
+                    splitDate = startDate;
+                }
+            }
+        }
+        return list;
+    }
+
+    public static List<Map<String, String>> getDateWeekRange(String startDate, String endDate) throws ParseException {
+        List<Map<String, String>> list = new ArrayList<Map<String, String>>();
+        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.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.put("startDate", splitDate);
+                map.put("endDate", endDate);
+                list.add(map);
+                splitDate = DateUtils.addWeek(splitDate, -1);
+                endDate = DateUtils.addWeek(endDate, -1);
+                if (DateUtils.compareDate(startDate, splitDate) > 0) {
+                    splitDate = startDate;
+                }
+            }
+        }
+        return list;
+    }
+
+    public static List<Map<String, String>> getDateMonthRange(String startDate, String endDate) throws ParseException {
+        List<Map<String, String>> list = new ArrayList<Map<String, String>>();
+        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.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.put("startDate", splitDate);
+                map.put("endDate", endDate);
+                list.add(map);
+                splitDate = DateUtils.addMonth(splitDate, -1);
+                endDate = DateUtils.addMonth(endDate, -1);
+                if (DateUtils.compareDate(startDate, splitDate) > 0) {
+                    splitDate = startDate;
+                }
+            }
+        }
+        return list;
+    }
+
+    public static String addMonth(String dateString, int month) throws ParseException {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        Date date = sdf.parse(dateString);
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+        calendar.add(Calendar.MONTH, month);
+        return sdf.format(calendar.getTime());
+    }
+
+    public static String addWeek(String dateString, int week) throws ParseException {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        Date date = sdf.parse(dateString);
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+        calendar.add(Calendar.WEEK_OF_YEAR, week);
+        return sdf.format(calendar.getTime());
+    }
+
+    public static String addDay(String dateString, int day) throws ParseException {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        Date date = sdf.parse(dateString);
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+        calendar.add(Calendar.DAY_OF_YEAR, day);
+        return sdf.format(calendar.getTime());
+    }
+
+    public static Date addDay(Date date, int day) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+        calendar.add(Calendar.DAY_OF_YEAR, day);
+        return calendar.getTime();
+    }
+
+    public static Date addSecond(Date date, int seconds) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+        calendar.add(Calendar.SECOND, seconds);
+        return calendar.getTime();
+    }
+
+    public static int compareDate(String firstDateString, String secondDateString) throws ParseException {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        Date firstDate = sdf.parse(firstDateString);
+        Date secondDate = sdf.parse(secondDateString);
+        long first = firstDate.getTime();
+        long second = secondDate.getTime();
+        return first == second ? 0 : (first > second ? 1 : -1);
+    }
+
+    public static String timeStamp2Date(Timestamp timeLong) {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//要转换的时间格式
+        Date date;
+        try {
+            date = sdf.parse(sdf.format(timeLong));
+            return sdf.format(date);
+        } catch (ParseException e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+
+    public static String timeStamp2Date(long currentTimeMillis) {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//要转换的时间格式
+        Date date;
+        try {
+            date = sdf.parse(sdf.format(currentTimeMillis));
+            return sdf.format(date);
+        } catch (ParseException e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+
 }

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

@@ -22,7 +22,7 @@ public class MD5Util {
 		return hexDigits[d1] + hexDigits[d2];
 	}
 
-	public static String MD5Encode(String origin, String charsetname) {
+    public static String Md5Encode(String origin, String charsetname) {
 		String resultString = null;
 		try {
 			resultString = new String(origin);

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

@@ -49,7 +49,7 @@ public class PasswordUtil {
 	 *            生成密钥时所使用的密码
 	 * @return Key PBE算法密钥
 	 * */
-	private static Key getPBEKey(String password) {
+    private static Key getPbeKey(String password) {
 		// 实例化使用的算法
 		SecretKeyFactory keyFactory;
 		SecretKey secretKey = null;
@@ -81,7 +81,7 @@ public class PasswordUtil {
 	 */
 	public static String encrypt(String plaintext, String password, String salt) {
 
-		Key key = getPBEKey(password);
+        Key key = getPbeKey(password);
 		byte[] encipheredData = null;
 		PBEParameterSpec parameterSpec = new PBEParameterSpec(salt.getBytes(), ITERATIONCOUNT);
 		try {
@@ -109,7 +109,7 @@ public class PasswordUtil {
 	 */
 	public static String decrypt(String ciphertext, String password, String salt) {
 
-		Key key = getPBEKey(password);
+        Key key = getPbeKey(password);
 		byte[] passDec = null;
 		PBEParameterSpec parameterSpec = new PBEParameterSpec(salt.getBytes(), ITERATIONCOUNT);
 		try {

+ 1 - 11
jeecg-boot-base-common/src/main/java/org/jeecg/common/util/StatusCode.java

@@ -21,17 +21,7 @@ public enum StatusCode {
     BYTEDANCE_IMAGE_UPLOAD_FAIL("今日头条图片文件上传失败", -203, false),
     TEMPLATE_NAME_HAS_EXIST("模板名称已存在", -204, false),
     TEMPLATE_NAME_IS_NULL("模板名称为空", -205, false),
-    COMMON_SERVER_ERROR("server error", -102, false),
-    COMMON_DATA_HAS_EXIST_ERROR("data has exist", -103, false),
-    COMMON_CHANNEL_NOT_EXIST_ERROR("channel not exist", -104, false),
-    COMMON_RULEENGINE_HAS_NOT_CONFIGURED_ERROR("ruleEngine has not configured", -105, false),
-    COMMON_RULE_PACKAGE_IS_NULL_ERROR("rulepackage is null", -106, false),
-    COMMON_TONGDUN_DATA_IS_NULL_ERROR("tongdun data is null", -107, false),
-    COMMON_MODEL_SERVICE_ERROR("model service error", -108, false),
-    COMMON_DEEPSEARCH_ERROR("deep search error", -109, false),
-    COMMON_APPLICATION_MOBILE_IS_NULL_ERROR("application mobile is null", -110, false),
-    COMMON_TANZHEN_DATA_IS_NULL_ERROR("tanzhen data is null", -201, false),
-    COMMON_RULE_ERROR_APPLICATION_IS_NULL("there is no error application", -202, false);
+    COMMON_SERVER_ERROR("服务器内部错误", -102, false);
     private String desc;
     private int code;
     private boolean flag;

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

@@ -18,8 +18,8 @@ public class UUIDGenerator {
 	 */
 
 	public static String generate() {
-		return new StringBuilder(32).append(format(getIP())).append(
-				format(getJVM())).append(format(getHiTime())).append(
+        return new StringBuilder(32).append(format(getIp())).append(
+                format(getJvm())).append(format(getHiTime())).append(
 				format(getLoTime())).append(format(getCount())).toString();
 		
 	}
@@ -53,7 +53,7 @@ public class UUIDGenerator {
 		return buf.toString();
 	}
 
-	private final static int getJVM() {
+    private final static int getJvm() {
 		return JVM;
 	}
 
@@ -69,7 +69,7 @@ public class UUIDGenerator {
 	/**
 	 * Unique in a local network
 	 */
-	private final static int getIP() {
+    private final static int getIp() {
 		return IP;
 	}
 

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

@@ -54,7 +54,7 @@ public class oConvertUtils {
 		return temp;
 	}
 
-	public static String StrToUTF(String strIn, String sourceCode, String targetCode) {
+    public static String StrToUtf(String strIn, String sourceCode, String targetCode) {
 		strIn = "";
 		try {
 			strIn = new String(strIn.getBytes("ISO-8859-1"), "GBK");
@@ -376,7 +376,7 @@ public class oConvertUtils {
 	 * @param setobj
 	 * @return
 	 */
-	public static Map<Object, Object> SetToMap(Set<Object> setobj) {
+    public static Map<Object, Object> setToMap(Set<Object> setobj) {
 		Map<Object, Object> map = getHashMap();
 		for (Iterator iterator = setobj.iterator(); iterator.hasNext();) {
 			Map.Entry<Object, Object> entry = (Map.Entry<Object, Object>) iterator.next();
@@ -386,7 +386,7 @@ public class oConvertUtils {
 
 	}
 
-	public static boolean isInnerIP(String ipAddress) {
+    public static boolean isInnerIp(String ipAddress) {
 		boolean isInnerIp = false;
 		long ipNum = getIpNum(ipAddress);
 		/**

+ 3 - 1
jeecg-boot-base-common/src/main/java/org/jeecg/common/util/superSearch/QueryRuleEnum.java

@@ -8,7 +8,9 @@ import org.jeecg.common.util.oConvertUtils;
  * @Date 2019年02月14日
  */
 public enum QueryRuleEnum {
-
+    /**
+     * Query 规则 常量
+     */
     GT(">","大于"),
     GE(">=","大于等于"),
     LT("<","小于"),

+ 6 - 0
jeecg-boot-module-system/pom.xml

@@ -58,6 +58,12 @@
             <artifactId>aliyun-sdk-oss</artifactId>
             <version>3.5.0</version>
         </dependency>
+        <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-csv -->
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-csv</artifactId>
+            <version>1.5</version>
+        </dependency>
 
         <dependency>
             <groupId>cn.edu.hfut.dmic.webcollector</groupId>

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

@@ -53,9 +53,9 @@ public class MybatisInterceptor implements Interceptor {
 					LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
 					if ("createBy".equals(field.getName())) {
 						field.setAccessible(true);
-						Object local_createBy = field.get(parameter);
+                        Object localCreateBy = field.get(parameter);
 						field.setAccessible(false);
-                        if (local_createBy == null || "".equals(local_createBy)) {
+                        if (localCreateBy == null || "".equals(localCreateBy)) {
 							String createBy = "jeecg";
 							if (sysUser != null) {
 								// 登录账号
@@ -71,9 +71,9 @@ public class MybatisInterceptor implements Interceptor {
 					// 注入创建时间
 					if ("createTime".equals(field.getName())) {
 						field.setAccessible(true);
-						Object local_createDate = field.get(parameter);
+                        Object localCreateDate = field.get(parameter);
 						field.setAccessible(false);
-                        if (local_createDate == null || "".equals(local_createDate)) {
+                        if (localCreateDate == null || "".equals(localCreateDate)) {
 							field.setAccessible(true);
 							field.set(parameter, new Date());
 							field.setAccessible(false);
@@ -82,9 +82,9 @@ public class MybatisInterceptor implements Interceptor {
 					//注入部门编码
 					if ("sysOrgCode".equals(field.getName())) {
 						field.setAccessible(true);
-						Object local_sysOrgCode = field.get(parameter);
+                        Object localSysOrgCode = field.get(parameter);
 						field.setAccessible(false);
-                        if (local_sysOrgCode == null || "".equals(local_sysOrgCode)) {
+                        if (localSysOrgCode == null || "".equals(localSysOrgCode)) {
 							String sysOrgCode = "";
 							// 获取登录用户信息
 							if (sysUser != null) {
@@ -117,9 +117,9 @@ public class MybatisInterceptor implements Interceptor {
 				try {
 					if ("updateBy".equals(field.getName())) {
 						field.setAccessible(true);
-						Object local_updateBy = field.get(parameter);
+                        Object localUpdateBy = field.get(parameter);
 						field.setAccessible(false);
-                        if (local_updateBy == null || "".equals(local_updateBy)) {
+                        if (localUpdateBy == null || "".equals(localUpdateBy)) {
 							String updateBy = "jeecg";
 							// 获取登录用户信息
 							LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
@@ -136,9 +136,9 @@ public class MybatisInterceptor implements Interceptor {
 					}
 					if ("updateTime".equals(field.getName())) {
 						field.setAccessible(true);
-						Object local_updateDate = field.get(parameter);
+                        Object localUpdateDate = field.get(parameter);
 						field.setAccessible(false);
-                        if (local_updateDate == null || "".equals(local_updateDate)) {
+                        if (localUpdateDate == null || "".equals(localUpdateDate)) {
 							field.setAccessible(true);
 							field.set(parameter, new Date());
 							field.setAccessible(false);

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

@@ -76,7 +76,7 @@ public class CallbackController {
                 KuaishouAccessToken token = accessToken.getData();
                 if (token != null) {
                     Long accountId = token.getAccountId();
-                    String advertiser_id = json.getString("advertiserId");
+                    String advertiserId = json.getString("advertiserId");
                     String distributionName = json.getString("distributionName");//指定分配人姓名
                     String advertiserName = json.getString("advertiser_name"); // 广告主名称
                     String mediaId = json.getString("mediaId"); // 媒体类型: 1 头条 2 快手
@@ -86,7 +86,7 @@ public class CallbackController {
                     UserAllocation userAllocation = new UserAllocation();
                     userAllocation.setDistributionName(distributionName);
                     userAllocation.setUserId(userId);
-                    userAllocation.setAdvertiserId(advertiser_id);
+                    userAllocation.setAdvertiserId(advertiserId);
                     userAllocation.setAuthName(json.getString("authName"));
                     userAllocation.setAdvertiserName(advertiserName);
                     userAllocation.setMediaId(mediaId);
@@ -97,7 +97,7 @@ public class CallbackController {
                     userAllocation.setUpdateTime(new Date());
                     allocationMapper.deleteById(userAllocation.getId());
                     Map<String, Object> deleteUserMap = new HashMap<>();
-                    deleteUserMap.put("advertiser_id", advertiser_id);
+                    deleteUserMap.put("advertiser_id", advertiserId);
                     deleteUserMap.put("account_id", accountId);
                     allocationMapper.deleteByMap(deleteUserMap);
                     int i = allocationMapper.insert(userAllocation);
@@ -106,12 +106,12 @@ public class CallbackController {
                     }
                     CTopOauthToken topOauthToken = new CTopOauthToken();
                     Map<String, Object> deleteMap = new HashMap<>();
-                    deleteMap.put("advertiser_id", advertiser_id);
+                    deleteMap.put("advertiser_id", advertiserId);
                     deleteMap.put("account_id", accountId);
                     cTopOauthTokenMapper.deleteByMap(deleteMap); //删除 广告主id下的相关授权信息
                     topOauthToken.setAccountId(accountId);
                     topOauthToken.setMediaId("2");
-                    topOauthToken.setAdvertiserId(advertiser_id);
+                    topOauthToken.setAdvertiserId(advertiserId);
                     topOauthToken.setAccessToken(token.getAccessToken());
                     long accessTokenExpireIn = token.getAccessTokenExpiresIn() * 1000L;
                     long now = System.currentTimeMillis();
@@ -123,7 +123,7 @@ public class CallbackController {
                     topOauthToken.setRefreshTokenExpiresIn(refreshTokenExpireInDate);
                     topOauthToken.setUpdateTime(new Date());
                     cTopOauthTokenMapper.insert(topOauthToken);
-                    bindAccountAuthService.addBindAccount(accountId, KuaishouInterfaceConstant.LOGIN_TYPE_KUAISHOU, advertiser_id); //账号绑定
+                    bindAccountAuthService.addBindAccount(accountId, KuaishouInterfaceConstant.LOGIN_TYPE_KUAISHOU, advertiserId); //账号绑定
                 }
                 return "授权绑定成功";
             }

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

@@ -0,0 +1,253 @@
+package org.jeecg.modules.ctop.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.ctop.entity.CustomerPlanStatisticInfo;
+import org.jeecg.modules.ctop.service.ICustomerPlanStatisticInfoService;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * @Description: 用户广告计划信息统计
+ * @Author: jeecg-boot
+ * @Date: 2019-08-21
+ * @Version: V1.0
+ */
+@Slf4j
+@Api(tags = "用户广告计划信息统计")
+@RestController
+@RequestMapping("/ctop/customerPlanStatisticInfo")
+public class CustomerPlanStatisticInfoController {
+    @Autowired
+    private ICustomerPlanStatisticInfoService customerPlanStatisticInfoService;
+
+    /**
+     * 分页列表查询
+     *
+     * @param customerPlanStatisticInfo
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "用户广告计划信息统计-分页列表查询")
+    @ApiOperation(value = "用户广告计划信息统计-分页列表查询", notes = "用户广告计划信息统计-分页列表查询")
+    @GetMapping(value = "/list")
+    public Result<IPage<CustomerPlanStatisticInfo>> queryPageList(CustomerPlanStatisticInfo customerPlanStatisticInfo,
+                                                                  @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                                  @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                                  HttpServletRequest req) {
+        Result<IPage<CustomerPlanStatisticInfo>> result = new Result<IPage<CustomerPlanStatisticInfo>>();
+        QueryWrapper<CustomerPlanStatisticInfo> queryWrapper = QueryGenerator.initQueryWrapper(customerPlanStatisticInfo, req.getParameterMap());
+        Page<CustomerPlanStatisticInfo> page = new Page<CustomerPlanStatisticInfo>(pageNo, pageSize);
+        IPage<CustomerPlanStatisticInfo> pageList = customerPlanStatisticInfoService.page(page, queryWrapper);
+        result.setSuccess(true);
+        result.setResult(pageList);
+        return result;
+    }
+
+    /**
+     * 添加
+     *
+     * @param customerPlanStatisticInfo
+     * @return
+     */
+    @AutoLog(value = "用户广告计划信息统计-添加")
+    @ApiOperation(value = "用户广告计划信息统计-添加", notes = "用户广告计划信息统计-添加")
+    @PostMapping(value = "/add")
+    public Result<CustomerPlanStatisticInfo> add(@RequestBody CustomerPlanStatisticInfo customerPlanStatisticInfo) {
+        Result<CustomerPlanStatisticInfo> result = new Result<CustomerPlanStatisticInfo>();
+        try {
+            customerPlanStatisticInfoService.save(customerPlanStatisticInfo);
+            result.success("添加成功!");
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            result.error500("操作失败");
+        }
+        return result;
+    }
+
+    /**
+     * 编辑
+     *
+     * @param customerPlanStatisticInfo
+     * @return
+     */
+    @AutoLog(value = "用户广告计划信息统计-编辑")
+    @ApiOperation(value = "用户广告计划信息统计-编辑", notes = "用户广告计划信息统计-编辑")
+    @PutMapping(value = "/edit")
+    public Result<CustomerPlanStatisticInfo> edit(@RequestBody CustomerPlanStatisticInfo customerPlanStatisticInfo) {
+        Result<CustomerPlanStatisticInfo> result = new Result<CustomerPlanStatisticInfo>();
+        CustomerPlanStatisticInfo customerPlanStatisticInfoEntity = customerPlanStatisticInfoService.getById(customerPlanStatisticInfo.getId());
+        if (customerPlanStatisticInfoEntity == null) {
+            result.error500("未找到对应实体");
+        } else {
+            boolean ok = customerPlanStatisticInfoService.updateById(customerPlanStatisticInfo);
+            //TODO 返回false说明什么?
+            if (ok) {
+                result.success("修改成功!");
+            }
+        }
+
+        return result;
+    }
+
+    /**
+     * 通过id删除
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "用户广告计划信息统计-通过id删除")
+    @ApiOperation(value = "用户广告计划信息统计-通过id删除", notes = "用户广告计划信息统计-通过id删除")
+    @DeleteMapping(value = "/delete")
+    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
+        try {
+            customerPlanStatisticInfoService.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<CustomerPlanStatisticInfo> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        Result<CustomerPlanStatisticInfo> result = new Result<CustomerPlanStatisticInfo>();
+        if (ids == null || "".equals(ids.trim())) {
+            result.error500("参数不识别!");
+        } else {
+            this.customerPlanStatisticInfoService.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<CustomerPlanStatisticInfo> queryById(@RequestParam(name = "id", required = true) String id) {
+        Result<CustomerPlanStatisticInfo> result = new Result<CustomerPlanStatisticInfo>();
+        CustomerPlanStatisticInfo customerPlanStatisticInfo = customerPlanStatisticInfoService.getById(id);
+        if (customerPlanStatisticInfo == null) {
+            result.error500("未找到对应实体");
+        } else {
+            result.setResult(customerPlanStatisticInfo);
+            result.setSuccess(true);
+        }
+        return result;
+    }
+
+    /**
+     * 导出excel
+     *
+     * @param request
+     * @param response
+     */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) {
+        // Step.1 组装查询条件
+        QueryWrapper<CustomerPlanStatisticInfo> queryWrapper = null;
+        try {
+            String paramsStr = request.getParameter("paramsStr");
+            if (oConvertUtils.isNotEmpty(paramsStr)) {
+                String deString = URLDecoder.decode(paramsStr, "UTF-8");
+                CustomerPlanStatisticInfo customerPlanStatisticInfo = JSON.parseObject(deString, CustomerPlanStatisticInfo.class);
+                queryWrapper = QueryGenerator.initQueryWrapper(customerPlanStatisticInfo, request.getParameterMap());
+            }
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+
+        //Step.2 AutoPoi 导出Excel
+        ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
+        List<CustomerPlanStatisticInfo> pageList = customerPlanStatisticInfoService.list(queryWrapper);
+        //导出文件名称
+        mv.addObject(NormalExcelConstants.FILE_NAME, "用户广告计划信息统计列表");
+        mv.addObject(NormalExcelConstants.CLASS, CustomerPlanStatisticInfo.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<CustomerPlanStatisticInfo> listCustomerPlanStatisticInfos = ExcelImportUtil.importExcel(file.getInputStream(), CustomerPlanStatisticInfo.class, params);
+                customerPlanStatisticInfoService.saveBatch(listCustomerPlanStatisticInfos);
+                return Result.ok("文件导入成功!数据行数:" + listCustomerPlanStatisticInfos.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("文件导入失败!");
+    }
+
+}

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

@@ -1,13 +1,19 @@
 package org.jeecg.modules.ctop.controller;
 
 import com.alibaba.fastjson.JSONObject;
+import org.jeecg.common.util.DateUtils;
+import org.jeecg.modules.ctop.entity.CTopOauthToken;
+import org.jeecg.modules.ctop.service.ICTopOauthTokenService;
 import org.jeecg.modules.ctop.service.IReportService;
+import org.jeecg.modules.kuaishou.service.IKuaishouInterfaceService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Date;
+import java.util.HashMap;
 import java.util.Map;
 
 @RestController
@@ -21,7 +27,9 @@ public class ReportController {
     }
 
     @GetMapping("campaign")
-    public Map<String, Object> campaignReport(@RequestBody JSONObject conditions) {
+//    public Map<String, Object> campaignReport(@RequestBody JSONObject conditions) {
+    public Map<String, Object> campaignReport() {
+        JSONObject conditions = new JSONObject();
         return reportService.getCampaignReport(conditions);
     }
 
@@ -40,6 +48,34 @@ public class ReportController {
         return reportService.getAgentReport(conditions);
     }
 
+    /**
+     * 360借条报表数据
+     */
+    @GetMapping("jietiao/kuaishou/insert")
+    public Map<String, Object> jietiaoKuaishouInsert(String accountId) {
+        Map<String, Object> result = new HashMap<>();
+        CTopOauthToken token = tokenService.getOauthTokenByAccountId(accountId);
+        Date now = new Date();
+        String startDate = DateUtils.formatDate(now, "yyyy-MM-dd");
+        kuaishouInterfaceService.getCampaignDailyReport(token.getAccessToken(), token.getAccountId(), startDate, startDate, 1000, 1);
+        return result;
+    }
+
+    @Autowired
+    private ICTopOauthTokenService tokenService;
+    @Autowired
+    private IKuaishouInterfaceService kuaishouInterfaceService;
+
+    /**
+     * 360借条报表数据
+     */
+    @GetMapping("jietiao/customer/insert")
+    public Map<String, Object> jietiaoCustomerInsert() {
+        Map<String, Object> result = new HashMap<>();
+        String csvPath = "D:\\工作文件\\360借条\\effect_unit_2019-08-02-00_2019-08-02-00.csv";
+        reportService.insertCustomerInfo(csvPath);
+        return result;
+    }
 
     @Autowired
     private IReportService reportService;

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

@@ -53,9 +53,9 @@ public class ByteDanceAdvertiserBudget {
 		Long advertiserId = dataObject.getLong("advertiser_id");
 		this.id = advertiserId;
 		this.advertiserId = accountId;
-		String budget_mode = dataObject.getString("budget_mode");
-		if (null!=budget_mode&&!"".equals(budget_mode.trim())){
-			this.budgetMode =budget_mode;
+        String budgetMode = dataObject.getString("budget_mode");
+        if (null != budgetMode && !"".equals(budgetMode.trim())) {
+            this.budgetMode = budgetMode;
 		}
         BigDecimal budget = dataObject.getBigDecimal("budget");
 		if (null!=budget){

+ 10 - 10
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/ByteDanceCampaign.java

@@ -132,9 +132,9 @@ public class ByteDanceCampaign {
 		if (null!=landingType&&!"".equals(landingType.trim())){
 			this.landingType =landingType;
 		}
-		String modify_time = dataObject.getString("modify_time");
-		if (null!=modify_time&&!"".equals(modify_time.trim())){
-			this.modifyTime =modify_time;
+        String modifyTime = dataObject.getString("modify_time");
+        if (null != modifyTime && !"".equals(modifyTime.trim())) {
+            this.modifyTime = modifyTime;
 		}
 		String status = dataObject.getString("status");
 		if (null!=status&&!"".equals(status.trim())){
@@ -144,13 +144,13 @@ public class ByteDanceCampaign {
 		if (null!=optStatus&&!"".equals(optStatus.trim())){
 			this.optStatus =optStatus;
 		}
-		String campaign_create_time  = dataObject.getString("campaign_create_time ");
-		if (null!=campaign_create_time &&!"".equals(campaign_create_time .trim())){
-			this.campaignCreateTime  =campaign_create_time ;
-		}
-		String campaign_modify_time = dataObject.getString("campaign_modify_time");
-		if (null!=campaign_modify_time&&!"".equals(campaign_modify_time.trim())){
-			this.campaignModifyTime =campaign_modify_time;
+        String campaignCreateTime = dataObject.getString("campaign_create_time ");
+        if (null != campaignCreateTime && !"".equals(campaignCreateTime.trim())) {
+            this.campaignCreateTime = campaignCreateTime;
+        }
+        String campaignModifyTime = dataObject.getString("campaign_modify_time");
+        if (null != campaignModifyTime && !"".equals(campaignModifyTime.trim())) {
+            this.campaignModifyTime = campaignModifyTime;
         }
 		Date now = new Date();
 		this.createTime = now;

+ 38 - 42
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/ByteDanceCreative.java

@@ -105,54 +105,50 @@ public class ByteDanceCreative {
 		if (null!=title&&!"".equals(title.trim())){
 			this.title = title;
 		}
-		String creative_word_ids = dataObject.getString("creative_word_ids");
-		if (null!=creative_word_ids&&!"".equals(creative_word_ids.trim())){
-			this.creativeWordIds = creative_word_ids;
+        String creativeWordIds = dataObject.getString("creative_word_ids");
+        if (null != creativeWordIds && !"".equals(creativeWordIds.trim())) {
+            this.creativeWordIds = creativeWordIds;
 		}
 		String status = dataObject.getString("status");
 		if (null!=status&&!"".equals(status.trim())){
 			this.status = status;
 		}
-		String opt_status = dataObject.getString("opt_status");
-		if (null!=opt_status&&!"".equals(opt_status.trim())){
-			this.optStatus = opt_status;
+        String optStatus = dataObject.getString("opt_status");
+        if (null != optStatus && !"".equals(optStatus.trim())) {
+            this.optStatus = optStatus;
+        }
+        String imageMode = dataObject.getString("image_mode");
+        if (null != imageMode && !"".equals(imageMode.trim())) {
+            this.imageMode = imageMode;
+        }
+        String imageIds = dataObject.getString("image_ids");
+        if (null != imageIds && !"".equals(imageIds.trim())) {
+            this.imageIds = imageIds;
+        }
+        String imageId = dataObject.getString("image_id");
+        if (null != imageId && !"".equals(imageId.trim())) {
+            this.imageId = imageId;
+        }
+        String videoId = dataObject.getString("video_id");
+        if (null != videoId && !"".equals(videoId.trim())) {
+            this.videoId = videoId;
+        }
+        String thirdPartyId = dataObject.getString("third_party_id");
+        if (null != thirdPartyId && !"".equals(thirdPartyId.trim())) {
+            this.thirdPartyId = thirdPartyId;
+        }
+        String auditRejectReason = dataObject.getString("audit_reject_reason");
+        if (null != auditRejectReason && !"".equals(auditRejectReason.trim())) {
+            this.auditRejectReason = auditRejectReason;
+        }
+        String creativeCreateTime = dataObject.getString("creative_create_time");
+        if (null != creativeCreateTime && !"".equals(creativeCreateTime.trim())) {
+            this.creativeCreateTime = creativeCreateTime;
+        }
+        String creativeModifyTime = dataObject.getString("creative_modify_time");
+        if (null != creativeModifyTime && !"".equals(creativeModifyTime.trim())) {
+            this.creativeModifyTime = creativeModifyTime;
 		}
-		String image_mode = dataObject.getString("image_mode");
-		if (null!=image_mode&&!"".equals(image_mode.trim())){
-			this.imageMode = image_mode;
-		}
-		String image_ids = dataObject.getString("image_ids");
-		if (null!=image_ids&&!"".equals(image_ids.trim())){
-			this.imageIds = image_ids;
-		}
-		String image_id = dataObject.getString("image_id");
-		if (null!=image_id&&!"".equals(image_id.trim())){
-			this.imageId = image_id;
-		}
-		String video_id = dataObject.getString("video_id");
-		if (null!=video_id&&!"".equals(video_id.trim())){
-			this.videoId = video_id;
-		}
-		String third_party_id = dataObject.getString("third_party_id");
-		if (null!=third_party_id&&!"".equals(third_party_id.trim())){
-			this.thirdPartyId = third_party_id;
-		}
-		String audit_reject_reason = dataObject.getString("audit_reject_reason");
-		if (null!=audit_reject_reason&&!"".equals(audit_reject_reason.trim())){
-			this.auditRejectReason = audit_reject_reason;
-		}
-		String creative_create_time = dataObject.getString("creative_create_time");
-		if (null!=creative_create_time&&!"".equals(creative_create_time.trim())){
-			this.creativeCreateTime = creative_create_time;
-		}
-		String creative_modify_time = dataObject.getString("creative_modify_time");
-		if (null!=creative_modify_time&&!"".equals(creative_modify_time.trim())){
-			this.creativeModifyTime = creative_modify_time;
-		}
-//		String materials = dataObject.getString("materials");
-//		if (null!=materials&&!"".equals(materials.trim())){
-//			this.materials = materials;
-//		}
 		Date now = new Date();
 		this.createTime = now;
 		this.updateTime = now;

+ 12 - 12
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/ByteDanceCreativeMaterial.java

@@ -82,9 +82,9 @@ public class ByteDanceCreativeMaterial {
 			this.status = status;
 		}
 
-		Long ad_id = dataObject.getLong("ad_id");
-		if (null!=ad_id){
-			this.adId = ad_id;
+        Long adId = dataObject.getLong("ad_id");
+        if (null != adId) {
+            this.adId = adId;
 		}
 
 		String title = dataObject.getString("title");
@@ -92,19 +92,19 @@ public class ByteDanceCreativeMaterial {
 			this.title = title;
 		}
 
-		String image_mode = dataObject.getString("image_mode");
-		if (null!=image_mode&&!"".equals(image_mode.trim())){
-			this.imageMode = image_mode;
+        String imageMode = dataObject.getString("image_mode");
+        if (null != imageMode && !"".equals(imageMode.trim())) {
+            this.imageMode = imageMode;
 		}
 
-		String image_info = dataObject.getString("image_info");
-		if (null!=image_info&&!"".equals(image_info.trim())){
-			this.imageInfo = image_info;
+        String imageInfo = dataObject.getString("image_info");
+        if (null != imageInfo && !"".equals(imageInfo.trim())) {
+            this.imageInfo = imageInfo;
 		}
 
-		String opt_status = dataObject.getString("opt_status");
-		if (null!=opt_status&&!"".equals(opt_status.trim())){
-			this.optStatus = opt_status;
+        String optStatus = dataObject.getString("opt_status");
+        if (null != optStatus && !"".equals(optStatus.trim())) {
+            this.optStatus = optStatus;
 		}
 	}
 }

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/CTopOauthToken.java

@@ -1,6 +1,5 @@
 package org.jeecg.modules.ctop.entity;
 
-import cn.com.ctop.common.utils.DateUtils;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -11,6 +10,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
+import org.jeecg.common.util.DateUtils;
 import org.jeecgframework.poi.excel.annotation.Excel;
 import org.springframework.format.annotation.DateTimeFormat;
 

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

@@ -0,0 +1,189 @@
+package org.jeecg.modules.ctop.entity;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * @Description: 用户广告计划信息统计
+ * @Author: jeecg-boot
+ * @Date: 2019-08-21
+ * @Version: V1.0
+ */
+@Data
+@TableName("ctop_kuaishou_customer_plan_statistic_info")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "ctop_kuaishou_customer_plan_statistic_info对象", description = "用户广告计划信息统计")
+public class CustomerPlanStatisticInfo {
+
+    /**
+     * id
+     */
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "id")
+    private Long id;
+    /**
+     * 渠道类型
+     */
+    @Excel(name = "渠道类型", width = 15)
+    @ApiModelProperty(value = "渠道类型")
+    private String media;
+    /**
+     * 统计日期
+     */
+    @Excel(name = "统计日期", width = 15)
+    @ApiModelProperty(value = "统计日期")
+    private String statisticDate;
+    /**
+     * planInfo
+     */
+    @Excel(name = "planInfo", width = 15)
+    @ApiModelProperty(value = "planInfo")
+    private String planInfo;
+    /**
+     * campaignInfo
+     */
+    @Excel(name = "campaignInfo", width = 15)
+    @ApiModelProperty(value = "campaignInfo")
+    private String campaignInfo;
+    /**
+     * 广告组code
+     */
+    @Excel(name = "广告组code", width = 15)
+    @ApiModelProperty(value = "广告组code")
+    private String campaignCode;
+    /**
+     * 花费
+     */
+    @Excel(name = "花费", width = 15)
+    @ApiModelProperty(value = "花费")
+    private java.math.BigDecimal cost;
+    /**
+     * 曝光数
+     */
+    @Excel(name = "曝光数", width = 15)
+    @ApiModelProperty(value = "曝光数")
+    private Long exposure;
+    /**
+     * 点击数
+     */
+    @Excel(name = "点击数", width = 15)
+    @ApiModelProperty(value = "点击数")
+    private Integer click;
+    /**
+     * 行为数
+     */
+    @Excel(name = "行为数", width = 15)
+    @ApiModelProperty(value = "行为数")
+    private Integer action;
+    /**
+     * 点击率
+     */
+    @Excel(name = "点击率", width = 15)
+    @ApiModelProperty(value = "点击率")
+    private String clickRate;
+    /**
+     * 行为率
+     */
+    @Excel(name = "行为率", width = 15)
+    @ApiModelProperty(value = "行为率")
+    private String actionRate;
+    /**
+     * 平均千次曝光花费
+     */
+    @Excel(name = "平均千次曝光花费", width = 15)
+    @ApiModelProperty(value = "平均千次曝光花费")
+    private java.math.BigDecimal thousandsExposureCost;
+    /**
+     * 平均点击单价
+     */
+    @Excel(name = "平均点击单价", width = 15)
+    @ApiModelProperty(value = "平均点击单价")
+    private java.math.BigDecimal averageClickCost;
+    /**
+     * 平均行为单价
+     */
+    @Excel(name = "平均行为单价", width = 15)
+    @ApiModelProperty(value = "平均行为单价")
+    private java.math.BigDecimal averageActionCost;
+    /**
+     * 提交按钮点击
+     */
+    @Excel(name = "提交按钮点击", width = 15)
+    @ApiModelProperty(value = "提交按钮点击")
+    private Integer submitButtonClick;
+    /**
+     * 表单提交率
+     */
+    @Excel(name = "表单提交率", width = 15)
+    @ApiModelProperty(value = "表单提交率")
+    private String formSubmissionRate;
+    /**
+     * 表单提交单价
+     */
+    @Excel(name = "表单提交单价", width = 15)
+    @ApiModelProperty(value = "表单提交单价")
+    private java.math.BigDecimal formSubmissionPrice;
+    /**
+     * createTime
+     */
+    @ApiModelProperty(value = "createTime")
+    private Date createTime;
+    /**
+     * updateTime
+     */
+    @ApiModelProperty(value = "updateTime")
+    private Date updateTime;
+
+    public CustomerPlanStatisticInfo() {
+    }
+
+    public CustomerPlanStatisticInfo(String[] record) {
+        this.media = "2";
+        String date = record[0];
+        this.statisticDate = date;
+        String plan = record[1];
+        this.planInfo = plan;
+        String campaign = record[2];
+        this.campaignInfo = campaign;
+        this.campaignCode = campaign.substring(0, campaign.indexOf("-"));
+        String cost = record[3];
+        this.cost = new BigDecimal(cost);
+        String bg = record[4];
+        this.exposure = Long.parseLong(bg);
+        String click = record[5];
+        this.click = Integer.parseInt(click);
+        String action = record[6];
+        this.action = Integer.parseInt(action);
+        String clickRate = record[7];
+        this.clickRate = clickRate;
+        String actionRate = record[8];
+        this.actionRate = actionRate;
+        String tbgrate = record[9];
+        this.thousandsExposureCost = new BigDecimal(tbgrate);
+        String averageClickCost = record[10];
+        this.averageClickCost = new BigDecimal(averageClickCost);
+        String averageActionCost = record[11];
+        this.averageActionCost = new BigDecimal(averageActionCost);
+        String submitButtonClick = record[12];
+        this.submitButtonClick = Integer.parseInt(submitButtonClick);
+        String formSubmmitRate = record[13];
+        this.formSubmissionRate = formSubmmitRate;
+        String formSubmitCost = record[14];
+        this.formSubmissionPrice = new BigDecimal(formSubmitCost);
+    }
+}

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/FileInfo.java

@@ -98,7 +98,7 @@ public class FileInfo {
 
     public FileInfo(String md5Hex, JSONObject data, String advertiserId, CTopOauthToken token, String imageUrl, String imagePath, String fileType, String platformType) {
         this.type = fileType;
-        if (type.equals("IMAGE")) {
+        if ("IMAGE".equals(type)) {
             this.fileId = data.getString("id");
         } else {
             this.fileId = data.getString("video_id");

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

@@ -0,0 +1,17 @@
+package org.jeecg.modules.ctop.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.ctop.entity.CustomerPlanStatisticInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 用户广告计划信息统计
+ * @Author: jeecg-boot
+ * @Date: 2019-08-21
+ * @Version: V1.0
+ */
+public interface CustomerPlanStatisticInfoMapper extends BaseMapper<CustomerPlanStatisticInfo> {
+
+}

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

@@ -0,0 +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="org.jeecg.modules.ctop.mapper.CustomerPlanStatisticInfoMapper">
+
+</mapper>

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

@@ -13,7 +13,7 @@ import java.util.Map;
  */
 public interface ICTopOauthTokenService extends IService<CTopOauthToken> {
 
-    CTopOauthToken getOAuthTokenByAccountId(String accountId);
+    CTopOauthToken getOauthTokenByAccountId(String accountId);
 
     Map<String, Object> getByteDanceAccessToken(String accountId);
 

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

@@ -0,0 +1,14 @@
+package org.jeecg.modules.ctop.service;
+
+import org.jeecg.modules.ctop.entity.CustomerPlanStatisticInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 用户广告计划信息统计
+ * @Author: jeecg-boot
+ * @Date: 2019-08-21
+ * @Version: V1.0
+ */
+public interface ICustomerPlanStatisticInfoService extends IService<CustomerPlanStatisticInfo> {
+
+}

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

@@ -14,4 +14,6 @@ public interface IReportService {
     Map<String, Object> getCreativeReport(JSONObject conditions);
 
     Map<String, Object> getAgentReport(JSONObject conditions);
+
+    void insertCustomerInfo(String csvPath);
 }

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

@@ -69,7 +69,7 @@ public class ByteDanceAdvertisePlanServiceImpl extends ServiceImpl<ByteDanceAdve
 
     @Override
     public Map<String, Object> getAdConvertList(Long accountId, Long targetId) {
-        CTopOauthToken token = tokenService.getOAuthTokenByAccountId(accountId + "");
+        CTopOauthToken token = tokenService.getOauthTokenByAccountId(accountId + "");
         BytedanceDeliveryTargetTemplate targetTemplate = deliveryTargetTemplateMapper.selectById(targetId);
         return getAdConvert(token, targetTemplate);
     }
@@ -78,15 +78,15 @@ public class ByteDanceAdvertisePlanServiceImpl extends ServiceImpl<ByteDanceAdve
     private BytedanceDeliveryTargetTemplateMapper deliveryTargetTemplateMapper;
 
     public JSONObject getAdConvert(CTopOauthToken token, BytedanceDeliveryTargetTemplate targetTemplate) {
-        String access_token = token.getAccessToken();
-        final Long advertiser_id = token.getAccountId();
+        String accessToken = token.getAccessToken();
+        final Long advertiserId = token.getAccountId();
         // 请求地址
         String url = "https://ad.toutiao.com/open_api/2/tools/ad_convert/select/";
 
         // 请求参数
         Map data = new HashMap() {
             {
-                put("advertiser_id", advertiser_id);
+                put("advertiser_id", advertiserId);
             }
         };
         if ("EXTERNAL_URL".equals(targetTemplate.getDownloadType())) {//落地页
@@ -110,7 +110,7 @@ public class ByteDanceAdvertisePlanServiceImpl extends ServiceImpl<ByteDanceAdve
             }
         };
 
-        httpEntity.setHeader("Access-Token", access_token);
+        httpEntity.setHeader("Access-Token", accessToken);
 
         CloseableHttpResponse response = null;
         CloseableHttpClient client = null;

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

@@ -30,7 +30,7 @@ public class ByteDanceAdvertiserDataServiceImpl implements IByteDanceAdvertiserD
     @Override
     public Map<String, Object> getAdvertiserInfo(String accountId) {
         Map<String, Object> resultMap = new HashMap<>();
-        CTopOauthToken cTopOauthToken = tokenService.getOAuthTokenByAccountId(accountId);
+        CTopOauthToken cTopOauthToken = tokenService.getOauthTokenByAccountId(accountId);
         //2: 根据token以及用户id获取用户信息数据
         String url = PropertiesUtils.getValue("bytedance_config", "bytedance_api_url") + PropertiesUtils.getValue("bytedance_config", "bytedance_v2_advertiser_info");
         Map<String, String> headers = new HashMap<>();
@@ -72,7 +72,7 @@ public class ByteDanceAdvertiserDataServiceImpl implements IByteDanceAdvertiserD
     }
 
     private void getAdvertiserPlanByPageNumber(String accountId, Integer pageNumber, String ids) {
-        CTopOauthToken cTopOauthToken = tokenService.getOAuthTokenByAccountId(accountId);
+        CTopOauthToken cTopOauthToken = tokenService.getOauthTokenByAccountId(accountId);
         //2: 根据token以及用户id获取用户信息数据
         String url = PropertiesUtils.getValue("bytedance_config", "bytedance_api_url") + PropertiesUtils.getValue("bytedance_config", "bytedance_v2_ad_get");
         Map<String, String> headers = new HashMap<>();
@@ -141,7 +141,7 @@ public class ByteDanceAdvertiserDataServiceImpl implements IByteDanceAdvertiserD
     @Override
     public Map<String, Object> getAdvertiserBudget(String accountId) {
         Map<String, Object> resultMap = new HashMap<>();
-        CTopOauthToken cTopOauthToken = tokenService.getOAuthTokenByAccountId(accountId);
+        CTopOauthToken cTopOauthToken = tokenService.getOauthTokenByAccountId(accountId);
         //2: 根据token以及用户id获取用户信息数据
         String url = PropertiesUtils.getValue("bytedance_config", "bytedance_api_url") + PropertiesUtils.getValue("bytedance_config", "bytedance_v2_campaign_get");
         Map<String, String> headers = new HashMap<>();
@@ -191,7 +191,7 @@ public class ByteDanceAdvertiserDataServiceImpl implements IByteDanceAdvertiserD
     @Override
     public Map<String, Object> getAdvertiserCreativeMaterial(String accountId, String creativeIds) {
         Map<String, Object> resultMap = new HashMap<>();
-        CTopOauthToken cTopOauthToken = tokenService.getOAuthTokenByAccountId(accountId);
+        CTopOauthToken cTopOauthToken = tokenService.getOauthTokenByAccountId(accountId);
         //2: 根据token以及用户id获取用户信息数据
         String url = PropertiesUtils.getValue("bytedance_config", "bytedance_api_url") + PropertiesUtils.getValue("bytedance_config", "bytedance_v2_creative_material_get");
         Map<String, String> headers = new HashMap<>();
@@ -240,7 +240,7 @@ public class ByteDanceAdvertiserDataServiceImpl implements IByteDanceAdvertiserD
                 ids.add(Long.parseLong(getIds[i]));
             }
         }
-        CTopOauthToken cTopOauthToken = tokenService.getOAuthTokenByAccountId(accountId);
+        CTopOauthToken cTopOauthToken = tokenService.getOauthTokenByAccountId(accountId);
         //2: 根据token以及用户id获取用户信息数据
         String url = PropertiesUtils.getValue("bytedance_config", "bytedance_api_url") + PropertiesUtils.getValue("bytedance_config", "bytedance_v2_campaign_update_status");
         Map<String, String> headers = new HashMap<>();
@@ -287,7 +287,7 @@ public class ByteDanceAdvertiserDataServiceImpl implements IByteDanceAdvertiserD
     @Override
     public Map<String, Object> advertiserCampaignUpdate(String accountId, Long campaignId, String budgetMode, Integer budget, String campaignName) {
         Map<String, Object> resultMap = new HashMap<>();
-        CTopOauthToken cTopOauthToken = tokenService.getOAuthTokenByAccountId(accountId);
+        CTopOauthToken cTopOauthToken = tokenService.getOauthTokenByAccountId(accountId);
         ByteDanceCampaign campaign = campaignMapper.selectById(campaignId);
         //2: 根据token以及用户id获取用户信息数据
         String url = PropertiesUtils.getValue("bytedance_config", "bytedance_api_url") + PropertiesUtils.getValue("bytedance_config", "bytedance_v2_campaign_update");
@@ -353,7 +353,7 @@ public class ByteDanceAdvertiserDataServiceImpl implements IByteDanceAdvertiserD
                 ids.add(Long.parseLong(getIds[i]));
             }
         }
-        CTopOauthToken cTopOauthToken = tokenService.getOAuthTokenByAccountId(accountId);
+        CTopOauthToken cTopOauthToken = tokenService.getOauthTokenByAccountId(accountId);
         //2: 根据token以及用户id获取用户信息数据
         String url = PropertiesUtils.getValue("bytedance_config", "bytedance_api_url") + PropertiesUtils.getValue("bytedance_config", "bytedance_v2_ad_update_status");
         Map<String, String> headers = new HashMap<>();
@@ -401,14 +401,14 @@ public class ByteDanceAdvertiserDataServiceImpl implements IByteDanceAdvertiserD
         if (null != getadIds && getadIds.length > 0) {
             for (int i = 0; i < getadIds.length; i++) {
                 JSONObject object = new JSONObject();
-                Long ad_id = Long.parseLong(getadIds[i]);
+                Long adId = Long.parseLong(getadIds[i]);
                 Long bid = Long.parseLong(getBids[i]);
-                object.put("ad_id", ad_id);
+                object.put("ad_id", adId);
                 object.put("bid", bid);
                 data.add(object);
             }
         }
-        CTopOauthToken cTopOauthToken = tokenService.getOAuthTokenByAccountId(accountId);
+        CTopOauthToken cTopOauthToken = tokenService.getOauthTokenByAccountId(accountId);
         //2: 根据token以及用户id获取用户信息数据
         String url = PropertiesUtils.getValue("bytedance_config", "bytedance_api_url") + PropertiesUtils.getValue("bytedance_config", "bytedance_v2_ad_update_bid");
         Map<String, String> headers = new HashMap<>();
@@ -455,14 +455,14 @@ public class ByteDanceAdvertiserDataServiceImpl implements IByteDanceAdvertiserD
         if (null != getadIds && getadIds.length > 0) {
             for (int i = 0; i < getadIds.length; i++) {
                 JSONObject object = new JSONObject();
-                Long ad_id = Long.parseLong(getadIds[i]);
+                Long adId = Long.parseLong(getadIds[i]);
                 Long budget = Long.parseLong(getBudgets[i]);
-                object.put("ad_id", ad_id);
+                object.put("ad_id", adId);
                 object.put("budget", budget);
                 data.add(object);
             }
         }
-        CTopOauthToken cTopOauthToken = tokenService.getOAuthTokenByAccountId(accountId);
+        CTopOauthToken cTopOauthToken = tokenService.getOauthTokenByAccountId(accountId);
         //2: 根据token以及用户id获取用户信息数据
         String url = PropertiesUtils.getValue("bytedance_config", "bytedance_api_url") + PropertiesUtils.getValue("bytedance_config", "bytedance_v2_ad_update_budget");
         Map<String, String> headers = new HashMap<>();
@@ -508,7 +508,7 @@ public class ByteDanceAdvertiserDataServiceImpl implements IByteDanceAdvertiserD
                 ids.add(Long.parseLong(getCreativeIds[i]));
             }
         }
-        CTopOauthToken cTopOauthToken = tokenService.getOAuthTokenByAccountId(accountId);
+        CTopOauthToken cTopOauthToken = tokenService.getOauthTokenByAccountId(accountId);
         //2: 根据token以及用户id获取用户信息数据
         String url = PropertiesUtils.getValue("bytedance_config", "bytedance_api_url") + PropertiesUtils.getValue("bytedance_config", "bytedance_v2_creative_update_status");
         Map<String, String> headers = new HashMap<>();
@@ -554,7 +554,7 @@ public class ByteDanceAdvertiserDataServiceImpl implements IByteDanceAdvertiserD
     @Override
     public Map<String, Object> advertiserCustomAudienceSelect(String accountId) {
         Map<String, Object> resultMap = new HashMap<>();
-        CTopOauthToken token = tokenService.getOAuthTokenByAccountId(accountId);
+        CTopOauthToken token = tokenService.getOauthTokenByAccountId(accountId);
 
         String url = PropertiesUtils.getValue("bytedance_config", "bytedance_api_url") + PropertiesUtils.getValue("bytedance_config", "bytedance_v2_dmp_custom_audience_select");
         Map<String, String> headers = new HashMap<>();
@@ -609,7 +609,7 @@ public class ByteDanceAdvertiserDataServiceImpl implements IByteDanceAdvertiserD
     private ByteDanceCreativeMaterialMapper creativeMaterialMapper;
 
     private void getAdvertiserCreativeByPageNumber(String accountId, Integer pageNumber, String ids) {
-        CTopOauthToken cTopOauthToken = tokenService.getOAuthTokenByAccountId(accountId);
+        CTopOauthToken cTopOauthToken = tokenService.getOauthTokenByAccountId(accountId);
         //2: 根据token以及用户id获取用户信息数据
         String url = PropertiesUtils.getValue("bytedance_config", "bytedance_api_url") + PropertiesUtils.getValue("bytedance_config", "bytedance_v2_creative_get");
         Map<String, String> headers = new HashMap<>();
@@ -659,7 +659,7 @@ public class ByteDanceAdvertiserDataServiceImpl implements IByteDanceAdvertiserD
     private ByteDanceAdvertiserBudgetMapper advertiserBudgetMapper;
 
     private void getAdvertiserCampaignByPageNumber(String accountId, Integer pageNumber, String ids) {
-        CTopOauthToken cTopOauthToken = tokenService.getOAuthTokenByAccountId(accountId);
+        CTopOauthToken cTopOauthToken = tokenService.getOauthTokenByAccountId(accountId);
         //2: 根据token以及用户id获取用户信息数据
         String url = PropertiesUtils.getValue("bytedance_config", "bytedance_api_url") + PropertiesUtils.getValue("bytedance_config", "bytedance_v2_campaign_get");
         Map<String, String> headers = new HashMap<>();

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

@@ -98,7 +98,7 @@ public class ByteDanceCampaignTemplateServiceImpl extends ServiceImpl<ByteDanceC
     @Override
     public Map<String, Object> campaignCreate(String accountId, String campaignName, String budgetMode, Integer budget, String landingType) {
         Map<String, Object> resultMap = new HashMap<>();
-        CTopOauthToken token = tokenService.getOAuthTokenByAccountId(accountId);
+        CTopOauthToken token = tokenService.getOauthTokenByAccountId(accountId);
         //2: 根据token以及用户id获取用户信息数据
         JSONObject params = new JSONObject();
         params.put("advertiser_id", token.getAccountId());
@@ -132,7 +132,7 @@ public class ByteDanceCampaignTemplateServiceImpl extends ServiceImpl<ByteDanceC
 
     @Override
     public Map<String, Object> getSuggestCover(String accountId, String videoId) {
-        CTopOauthToken token = tokenService.getOAuthTokenByAccountId(accountId);
+        CTopOauthToken token = tokenService.getOauthTokenByAccountId(accountId);
         JSONObject result = suggestVideo(token, videoId);
         return null;
     }
@@ -188,7 +188,7 @@ public class ByteDanceCampaignTemplateServiceImpl extends ServiceImpl<ByteDanceC
     @Override
     public Map<String, Object> campaignCreate(String getAccountId, Long campaignId, String name) {
         ByteDanceCampaignTemplate template = campaignTemplateMapper.selectById(campaignId);
-        CTopOauthToken token = tokenService.getOAuthTokenByAccountId(getAccountId);
+        CTopOauthToken token = tokenService.getOauthTokenByAccountId(getAccountId);
         Map<String, Object> resultMap = new HashMap<>();
         //2: 根据token以及用户id获取用户信息数据
         JSONObject params = new JSONObject();

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

@@ -42,7 +42,7 @@ public class ByteDanceCreativeServiceImpl extends ServiceImpl<ByteDanceCreativeM
     public Map<String, Object> creativeCreate(String accountId, Long adId, String dataString) {
         Map<String, Object> resultMap = new HashMap<>();
         //1:获取token
-        CTopOauthToken token = tokenService.getOAuthTokenByAccountId(accountId);
+        CTopOauthToken token = tokenService.getOauthTokenByAccountId(accountId);
         JSONObject data = JSONObject.parseObject(dataString);
         data.put("advertiser_id", token.getAccountId());
         data.put("ad_id", adId);

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

@@ -48,7 +48,7 @@ public class BytedanceAdvertisePlanTemplateServiceImpl extends ServiceImpl<Byted
      */
     @Override
     public Map<String, Object> planCreate(Long campaignId, String getAccountId, String deliveryRange, Long userorentationId, Long budgetId, Long deliverytargetId, String getName, String convertId) {
-        CTopOauthToken token = tokenService.getOAuthTokenByAccountId(getAccountId);
+        CTopOauthToken token = tokenService.getOauthTokenByAccountId(getAccountId);
         ByteDanceBudgetTemplate budgetTemplate = budgetTemplateMapper.selectById(budgetId);
         BytedanceDeliveryTargetTemplate deliveryTargetTemplate = deliveryTargetTemplateMapper.selectById(deliverytargetId);
         ByteDanceUserOrientationTemplate userOrientationTemplate = userOrientationTemplateMapper.selectById(userorentationId);

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

@@ -35,7 +35,7 @@ public class CTopOauthTokenServiceImpl extends ServiceImpl<CTopOauthTokenMapper,
     private CTopOauthTokenMapper cTopOauthTokenMapper;
 
     @Override
-    public CTopOauthToken getOAuthTokenByAccountId(String accountId) {
+    public CTopOauthToken getOauthTokenByAccountId(String accountId) {
         QueryWrapper<CTopOauthToken> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("account_id", accountId).orderByDesc("create_time");
         queryWrapper.last("limit 1");
@@ -52,7 +52,7 @@ public class CTopOauthTokenServiceImpl extends ServiceImpl<CTopOauthTokenMapper,
     @Override
     public Map<String, Object> getByteDanceAccessToken(String accountId) {
         Map<String, Object> resultMap = new HashMap<>();
-        CTopOauthToken token = this.getOAuthTokenByAccountId(accountId);
+        CTopOauthToken token = this.getOauthTokenByAccountId(accountId);
         if (null == token) {
             resultMap.put("message", "token信息不存在");
             resultMap.put("code", -1);

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

@@ -0,0 +1,19 @@
+package org.jeecg.modules.ctop.service.impl;
+
+import org.jeecg.modules.ctop.entity.CustomerPlanStatisticInfo;
+import org.jeecg.modules.ctop.mapper.CustomerPlanStatisticInfoMapper;
+import org.jeecg.modules.ctop.service.ICustomerPlanStatisticInfoService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 用户广告计划信息统计
+ * @Author: jeecg-boot
+ * @Date: 2019-08-21
+ * @Version: V1.0
+ */
+@Service
+public class CustomerPlanStatisticInfoServiceImpl extends ServiceImpl<CustomerPlanStatisticInfoMapper, CustomerPlanStatisticInfo> implements ICustomerPlanStatisticInfoService {
+
+}

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

@@ -62,7 +62,7 @@ public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfo> i
     public Map<String, Object> uploadVideoToBytedance(String accountId, String videoUrl) {
         Map<String, Object> resultMap = new HashMap<>();
         //TODO查询是否已经上传过头条平台
-        CTopOauthToken token = tokenService.getOAuthTokenByAccountId(accountId);
+        CTopOauthToken token = tokenService.getOauthTokenByAccountId(accountId);
         JSONObject resultObject = uploadAdvideo(token, videoUrl, token.getAccountId() + "");
         System.out.println(resultObject);
         Integer code = resultObject.getInteger("code");
@@ -87,7 +87,7 @@ public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfo> i
             ResultMapUtils.setResultMap(resultMap, StatusCode.IMAGE_NUMBER_SHORTAGE.getCode());
             return resultMap;
         }
-        CTopOauthToken token = tokenService.getOAuthTokenByAccountId(accountId);
+        CTopOauthToken token = tokenService.getOauthTokenByAccountId(accountId);
         JSONArray imageIds = new JSONArray();
         for (int i = 0; i < imageUrls.length; i++) {
             JSONObject resultObject = uploadAdImage(token, imageUrls[i], token.getAccountId() + "");
@@ -115,7 +115,7 @@ public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfo> i
     @Override
     public Map<String, Object> uploadImageToBytedance(String accountId, String imageUrl) {
         Map<String, Object> resultMap = new HashMap<>();
-        CTopOauthToken token = tokenService.getOAuthTokenByAccountId(accountId);
+        CTopOauthToken token = tokenService.getOauthTokenByAccountId(accountId);
         JSONObject resultObject = uploadAdImage(token, imageUrl, token.getAccountId() + "");
         Integer code = resultObject.getInteger("code");
         String message = resultObject.getString("message");
@@ -139,7 +139,7 @@ public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfo> i
     @Override
     public Map<String, Object> getIndustryList(String accountId, Integer level) {
         Map<String, Object> resultMap = new HashMap<>();
-        CTopOauthToken token = tokenService.getOAuthTokenByAccountId(accountId);
+        CTopOauthToken token = tokenService.getOauthTokenByAccountId(accountId);
         JSONObject result = searchIndustry(token, level);
         JSONArray list = result.getJSONObject("data").getJSONArray("list");
         for (int i = 0; i < list.size(); i++) {

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

@@ -1,5 +1,6 @@
 package org.jeecg.modules.ctop.service.impl;
 
+import cn.com.ctop.common.utils.CsvUtils;
 import com.alibaba.fastjson.JSONObject;
 import org.apache.http.client.ClientProtocolException;
 import org.apache.http.client.methods.CloseableHttpResponse;
@@ -9,6 +10,8 @@ import org.apache.http.entity.StringEntity;
 import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClientBuilder;
 import org.jeecg.modules.ctop.entity.CTopOauthToken;
+import org.jeecg.modules.ctop.entity.CustomerPlanStatisticInfo;
+import org.jeecg.modules.ctop.mapper.CustomerPlanStatisticInfoMapper;
 import org.jeecg.modules.ctop.service.ICTopOauthTokenService;
 import org.jeecg.modules.ctop.service.IReportService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -19,6 +22,7 @@ import java.io.IOException;
 import java.io.InputStreamReader;
 import java.net.URI;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 @Service
@@ -33,7 +37,7 @@ public class ReportServiceImpl implements IReportService {
         conditions.put("page", 1);
         Long accountId = conditions.getLong("advertiser_id");
 //        Long accountId = 74099510334L;
-        CTopOauthToken token = tokenService.getOAuthTokenByAccountId(accountId + "");
+        CTopOauthToken token = tokenService.getOauthTokenByAccountId(accountId + "");
         JSONObject getObject = getAdvertiserStat(token, conditions);
         return getObject;
     }
@@ -41,13 +45,13 @@ public class ReportServiceImpl implements IReportService {
     @Override
     public Map<String, Object> getCampaignReport(JSONObject conditions) {
         Long accountId = conditions.getLong("accountId");
-        CTopOauthToken token = tokenService.getOAuthTokenByAccountId(accountId + "");
+        CTopOauthToken token = tokenService.getOauthTokenByAccountId(accountId + "");
         JSONObject getObject = getAdStat(token, conditions);
         return new HashMap<>();
     }
 
     private JSONObject getAdStat(CTopOauthToken token, JSONObject conditions) {
-        final Long advertiser_id = token.getAccountId();
+        final Long advertiserId = token.getAccountId();
 
         // 请求地址
         String url = "https://ad.toutiao.com/open_api/2/report/ad/get/";
@@ -61,7 +65,7 @@ public class ReportServiceImpl implements IReportService {
         // 请求参数
         final Map data = new HashMap() {
             {
-                put("advertiser_id", advertiser_id);
+                put("advertiser_id", advertiserId);
                 put("start_date", "2018-04-01");
                 put("end_date", "2018-05-01");
                 put("time_granularity", "STAT_TIME_GRANULARITY_DAILY");
@@ -121,7 +125,7 @@ public class ReportServiceImpl implements IReportService {
     @Override
     public Map<String, Object> getAdReport(JSONObject conditions) {
         Long accountId = conditions.getLong("accountId");
-        CTopOauthToken token = tokenService.getOAuthTokenByAccountId(accountId + "");
+        CTopOauthToken token = tokenService.getOauthTokenByAccountId(accountId + "");
         JSONObject getObject = getAdStat(token, conditions);
         return getObject;
     }
@@ -129,7 +133,7 @@ public class ReportServiceImpl implements IReportService {
     @Override
     public Map<String, Object> getCreativeReport(JSONObject conditions) {
         Long accountId = conditions.getLong("accountId");
-        CTopOauthToken token = tokenService.getOAuthTokenByAccountId(accountId + "");
+        CTopOauthToken token = tokenService.getOauthTokenByAccountId(accountId + "");
         JSONObject getObject = getCreativeStat(token, conditions);
         return getObject;
     }
@@ -137,11 +141,30 @@ public class ReportServiceImpl implements IReportService {
     @Override
     public Map<String, Object> getAgentReport(JSONObject conditions) {
         Long accountId = conditions.getLong("accountId");
-        CTopOauthToken token = tokenService.getOAuthTokenByAccountId(accountId + "");
+        CTopOauthToken token = tokenService.getOauthTokenByAccountId(accountId + "");
         JSONObject getObject = getCreativeStat(token, conditions);
         return getObject;
     }
 
+    @Override
+    public void insertCustomerInfo(String csvPath) {
+        try {
+            List<String[]> data = CsvUtils.ReadCSV(csvPath);
+            if (null != data && data.size() > 1) {
+                for (int i = 1; i < data.size(); i++) {
+                    String[] record = data.get(i);
+                    CustomerPlanStatisticInfo statisticInfo = new CustomerPlanStatisticInfo(record);
+                    statisticInfoMapper.insert(statisticInfo);
+                }
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    @Autowired
+    private CustomerPlanStatisticInfoMapper statisticInfoMapper;
+
     public JSONObject getAgentStat(CTopOauthToken token, JSONObject conditions) {
         // 请求地址
         String url = "https://ad.toutiao.com/open_api/2/report/agent/get/";

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/mock/MockController.java

@@ -76,7 +76,7 @@ public class MockController {
 	}
 
 	@GetMapping(value = "/permission/no-pager")
-	public String permission_no_page() {
+    public String permissionNoPage() {
 		return readJson("classpath:org/jeecg/modules/demo/mock/json/permission_no_page.json");
 	}
 	

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

@@ -52,7 +52,7 @@ public class UploadServiceImpl implements IUploadService {
             resultMap.put("fileInfo", getFileInfo.get(0));
         } else {
             //未上传过服务器
-            String url = OSSUtils.uploadObject2OSS(new File(entity.getPath()));
+            String url = OSSUtils.uploadObject2Oss(new File(entity.getPath()));
             FileInfo fileInfo = new FileInfo();
             fileInfo.setFileName(entity.getTitleOrig() + entity.getType());
             fileInfo.setPath(entity.getPath());

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/kuaishou/controller/KuaiShouController.java

@@ -203,7 +203,7 @@ public class KuaiShouController {
 
     @RequestMapping("report")
     public Map<String, Object> getReport(String accountId) {
-        CTopOauthToken token = tokenService.getOAuthTokenByAccountId(accountId);
+        CTopOauthToken token = tokenService.getOauthTokenByAccountId(accountId);
         String startDate = "2019-08-14";
         String endDate = "2019-08-14";
         KuaishouResult<KuaishouReportDailyCampaign> stringObjectMap = kuaishouInterfaceService.getCampaignDailyReport(token.getAccessToken(), token.getAccountId(), startDate, endDate, 1000, 1);

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/kuaishou/controller/KuaiShouConversionTypesController.java

@@ -58,7 +58,7 @@ public class KuaiShouConversionTypesController {
     @GetMapping(value = "/getIsActivate")
     public Result<IPage<KuaiShouConversionTypes>> queryPageList(Long accountId) {
         Result result = new Result<IPage<KuaiShouConversionTypes>>();
-        CTopOauthToken token = oauthTokenService.getOAuthTokenByAccountId(String.valueOf(accountId));
+        CTopOauthToken token = oauthTokenService.getOauthTokenByAccountId(String.valueOf(accountId));
         if (Check.isNull(token)) {
             result.setSuccess(false);
             result.setMessage("未获取到授权信息");

+ 4 - 4
jeecg-boot-module-system/src/main/java/org/jeecg/modules/kuaishou/service/IKuaishouInterfaceService.java

@@ -32,11 +32,11 @@ public interface IKuaishouInterfaceService {
      * 创建广告计划
      *
      * @param accessToken
-     * @param advertiser_id
+     * @param advertiserId
      * @param requestJson
      * @return
      */
-    Map<String, Object> campaignCreate(String accessToken, Long advertiser_id, JSONObject requestJson);
+    Map<String, Object> campaignCreate(String accessToken, Long advertiserId, JSONObject requestJson);
 
 
     /**
@@ -124,9 +124,9 @@ public interface IKuaishouInterfaceService {
      *
      * @param advertiserId
      * @param accessToken
-     * @param image_token
+     * @param imageToken
      */
-    void imageGet(Long advertiserId, String accessToken, String image_token);
+    void imageGet(Long advertiserId, String accessToken, String imageToken);
 
     /**
      * 获取 地域列表

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

@@ -61,7 +61,7 @@ public class KuaiShouCreateServiceImpl implements IKuaiShouCreateService {
                 return returnMap;
             }
 
-            CTopOauthToken cTopOauthToken = oauthTokenService.getOAuthTokenByAccountId(String.valueOf(accountId));
+            CTopOauthToken cTopOauthToken = oauthTokenService.getOauthTokenByAccountId(String.valueOf(accountId));
             if (Check.isNull(cTopOauthToken)) {
                 logger.error("未获取到token信息,accountId:{}", accountId);
                 throw new Exception("未获取到token信息");
@@ -251,7 +251,7 @@ public class KuaiShouCreateServiceImpl implements IKuaiShouCreateService {
                 return returnMap;
             }
 
-            CTopOauthToken cTopOauthToken = oauthTokenService.getOAuthTokenByAccountId(String.valueOf(accountId));
+            CTopOauthToken cTopOauthToken = oauthTokenService.getOauthTokenByAccountId(String.valueOf(accountId));
             if (Check.isNull(cTopOauthToken)) {
                 logger.error("未获取到token信息,accountId:{}", accountId);
                 throw new Exception("未获取到token信息");

+ 31 - 5
jeecg-boot-module-system/src/main/java/org/jeecg/modules/kuaishou/service/impl/KuaishouInterfaceServiceImpl.java

@@ -4,6 +4,8 @@ import cn.com.ctop.common.utils.*;
 import cn.com.ctop.kuaishou.modules.material.entity.KuaishouResult;
 import cn.com.ctop.kuaishou.modules.material.entity.KuaishouResultToken;
 import cn.com.ctop.kuaishou.modules.report.entity.*;
+import cn.com.ctop.kuaishou.modules.report.mapper.KuaishouReportDailyAccountMapper;
+import cn.com.ctop.kuaishou.modules.report.mapper.KuaishouReportDailyCampaignMapper;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -17,6 +19,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.type.TypeFactory;
 import constant.KuaishouInterfaceConstant;
 import org.apache.http.ParseException;
+import org.jeecg.common.util.DateUtils;
 import org.jeecg.common.util.LoadFileUtil;
 import org.jeecg.modules.kuaishou.entity.*;
 import org.jeecg.modules.kuaishou.mapper.*;
@@ -40,16 +43,14 @@ import java.io.File;
 import java.io.IOException;
 import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.*;
 
 @Service
 public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
     private static final Logger logger = LoggerFactory.getLogger(KuaishouInterfaceServiceImpl.class);
 
 
+    @Override
     public KuaishouResult<KuaishouReportHourlyAccount> getAccountHourlyReport(String accessToken, Long advertiserId, String startDate, String endDate, int pageSize, int pageNum) {
         String url = PropertiesUtils.getConfig("kuaishou_api_url") + KuaishouInterfaceConstant.ACCOUNT_REPORT;
         Map<String, String> headers = new HashMap<String, String>();
@@ -79,6 +80,7 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
         return kuaishouResult;
     }
 
+    @Override
     public KuaishouResult<KuaishouReportDailyAccount> getAccountDailyReport(String accessToken, Long advertiserId, String startDate, String endDate, int pageSize, int pageNum) {
         String url = PropertiesUtils.getConfig("kuaishou_api_url") + KuaishouInterfaceConstant.ACCOUNT_REPORT;
         Map<String, String> headers = new HashMap<String, String>();
@@ -99,12 +101,22 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
             kuaishouResult = mapper.readValue(result, new TypeReference<KuaishouResult<KuaishouReportDailyAccount>>() {
             });
 //            kuaishouResult = (KuaishouResult<KuaishouReportDailyAccount>)jsonToObj(KuaishouResult.class,result);
+            List<KuaishouReportDailyAccount> details = kuaishouResult.getData().getDetails();
+            if (null != details && details.size() > 0) {
+                for (KuaishouReportDailyAccount account : details) {
+                    dailyAccountMapper.insert(account);
+                }
+            }
         } catch (Exception e) {
             e.printStackTrace();
         }
         return kuaishouResult;
     }
 
+    @Autowired
+    private KuaishouReportDailyAccountMapper dailyAccountMapper;
+
+    @Override
     public KuaishouResult<KuaishouReportDailyCampaign> getCampaignDailyReport(String accessToken, Long advertiserId, String startDate, String endDate, int pageSize, int pageNum) {
         String url = PropertiesUtils.getConfig("kuaishou_api_url") + KuaishouInterfaceConstant.CAMPAIGN_REPORT;
         Map<String, String> headers = new HashMap<String, String>();
@@ -124,13 +136,22 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
             mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
             kuaishouResult = mapper.readValue(result, new TypeReference<KuaishouResult<KuaishouReportDailyCampaign>>() {
             });
-//            kuaishouResult = (KuaishouResult<KuaishouReportDailyCampaign>)jsonToObj(KuaishouResult.class,result);
+            List<KuaishouReportDailyCampaign> details = kuaishouResult.getData().getDetails();
+            if (null != details && details.size() > 0) {
+                for (KuaishouReportDailyCampaign account : details) {
+                    dailyCampaignMapper.insert(account);
+                }
+            }
         } catch (Exception e) {
             e.printStackTrace();
         }
         return kuaishouResult;
     }
 
+    @Autowired
+    KuaishouReportDailyCampaignMapper dailyCampaignMapper;
+
+    @Override
     public KuaishouResult<KuaishouReportHourlyCampaign> getCampaignHourlyReport(String accessToken, Long advertiserId, String startDate, String endDate, int pageSize, int pageNum) {
         String url = PropertiesUtils.getConfig("kuaishou_api_url") + KuaishouInterfaceConstant.CAMPAIGN_REPORT;
         Map<String, String> headers = new HashMap<String, String>();
@@ -157,6 +178,7 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
         return kuaishouResult;
     }
 
+    @Override
     public KuaishouResult<KuaishouReportDailyGroup> getGroupDailyReport(String accessToken, Long advertiserId, String startDate, String endDate, int pageSize, int pageNum) {
         String url = PropertiesUtils.getConfig("kuaishou_api_url") + KuaishouInterfaceConstant.GTOUP_REPORT;
         Map<String, String> headers = new HashMap<String, String>();
@@ -183,6 +205,7 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
         return kuaishouResult;
     }
 
+    @Override
     public KuaishouResult<KuaishouReportHourlyGroup> getGroupHourlyReport(String accessToken, Long advertiserId, String startDate, String endDate, int pageSize, int pageNum) {
         String url = PropertiesUtils.getConfig("kuaishou_api_url") + KuaishouInterfaceConstant.GTOUP_REPORT;
         Map<String, String> headers = new HashMap<String, String>();
@@ -209,6 +232,7 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
         return kuaishouResult;
     }
 
+    @Override
     public KuaishouResult<KuaishouReportDailyCreative> getCreativeDailyReport(String accessToken, Long advertiserId, String startDate, String endDate, int pageSize, int pageNum) {
         String url = PropertiesUtils.getConfig("kuaishou_api_url") + KuaishouInterfaceConstant.CREATIVE_REPORT;
         Map<String, String> headers = new HashMap<String, String>();
@@ -235,6 +259,7 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
         return kuaishouResult;
     }
 
+    @Override
     public KuaishouResult<KuaishouReportHourlyCreative> getCreativeHourlyReport(String accessToken, Long advertiserId, String startDate, String endDate, int pageSize, int pageNum) {
         String url = PropertiesUtils.getConfig("kuaishou_api_url") + KuaishouInterfaceConstant.CREATIVE_REPORT;
         Map<String, String> headers = new HashMap<String, String>();
@@ -1515,6 +1540,7 @@ public class KuaishouInterfaceServiceImpl implements IKuaishouInterfaceService {
     @Autowired
     private RestTemplate rest;
 
+    @Override
     public String exceptInfoForRestTemplate(String url, Map<String, Object> paramMap, Map<String, String> headerMap, String filePath) throws ParseException {
 
         try {

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

@@ -206,8 +206,8 @@ public class SysMessageTemplateController extends JeecgController<SysMessageTemp
 			result.error500("解析Json出错!");
 			return result;
 		}
-		boolean is_sendSuccess = pushMsgUtil.sendMessage(msgParams.getMsgType(), msgParams.getTemplateCode(), map, msgParams.getReceiver());
-		if (is_sendSuccess) {
+        boolean isSendSuccess = pushMsgUtil.sendMessage(msgParams.getMsgType(), msgParams.getTemplateCode(), map, msgParams.getReceiver());
+        if (isSendSuccess) {
 			result.success("发送消息任务添加成功!");
 		} else {
 			result.error500("发送消息任务添加失败!");

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/message/handle/ISendMsgHandle.java

@@ -2,5 +2,5 @@ package org.jeecg.modules.message.handle;
 
 public interface ISendMsgHandle {
 
-	void SendMsg(String es_receiver, String es_title, String es_content);
+    void sendMsg(String esReceiver, String esTitle, String esContent);
 }

+ 4 - 4
jeecg-boot-module-system/src/main/java/org/jeecg/modules/message/handle/impl/EmailSendMsgHandle.java

@@ -8,14 +8,14 @@ import org.springframework.mail.javamail.JavaMailSender;
 public class EmailSendMsgHandle implements ISendMsgHandle {
 
 	@Override
-	public void SendMsg(String es_receiver, String es_title, String es_content) {
+    public void sendMsg(String esReceiver, String esTitle, String esContent) {
 		JavaMailSender mailSender = (JavaMailSender) SpringContextUtils.getBean("mailSender");
 		SimpleMailMessage message = new SimpleMailMessage();
 		// 设置发送方邮箱地址
 		message.setFrom("2897976540@qq.com");
-		message.setTo(es_receiver);
-		message.setSubject(es_title);
-		message.setText(es_content);
+        message.setTo(esReceiver);
+        message.setSubject(esTitle);
+        message.setText(esContent);
 		mailSender.send(message);
 
 	}

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/message/handle/impl/SmsSendMsgHandle.java

@@ -5,7 +5,7 @@ import org.jeecg.modules.message.handle.ISendMsgHandle;
 public class SmsSendMsgHandle implements ISendMsgHandle {
 
 	@Override
-	public void SendMsg(String es_receiver, String es_title, String es_content) {
+    public void sendMsg(String esReceiver, String esTitle, String esContent) {
 		// TODO Auto-generated method stub
 	}
 

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/message/handle/impl/WxSendMsgHandle.java

@@ -5,7 +5,7 @@ import org.jeecg.modules.message.handle.ISendMsgHandle;
 public class WxSendMsgHandle implements ISendMsgHandle {
 
 	@Override
-	public void SendMsg(String es_receiver, String es_title, String es_content) {
+    public void sendMsg(String esReceiver, String esTitle, String esContent) {
 		// TODO Auto-generated method stub
 
 	}

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

@@ -51,7 +51,7 @@ public class SendMsgJob implements Job {
 			}
 			Integer sendNum = sysMessage.getEsSendNum();
 			try {
-				sendMsgHandle.SendMsg(sysMessage.getEsReceiver(), sysMessage.getEsTitle(),
+                sendMsgHandle.sendMsg(sysMessage.getEsReceiver(), sysMessage.getEsTitle(),
 						sysMessage.getEsContent().toString());
 				// 发送消息成功
 				sysMessage.setEsSendStatus(SendMsgStatusEnum.SUCCESS.getCode());

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

@@ -10,7 +10,7 @@ import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.subject.Subject;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CommonConstant;
-import org.jeecg.common.system.api.ISysBaseAPI;
+import org.jeecg.common.system.api.ISysBaseApi;
 import org.jeecg.common.system.util.JwtUtil;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.DySmsHelper;
@@ -45,7 +45,7 @@ public class LoginController {
     @Autowired
     private ISysUserService sysUserService;
     @Autowired
-    private ISysBaseAPI sysBaseAPI;
+    private ISysBaseApi sysBaseApi;
     @Autowired
     private ISysLogService logService;
     @Autowired
@@ -80,7 +80,7 @@ public class LoginController {
 
         //用户登录信息
         userInfo(sysUser, result);
-        sysBaseAPI.addLog("用户名: " + username + ",登录成功!", CommonConstant.LOG_TYPE_1, null);
+        sysBaseApi.addLog("用户名: " + username + ",登录成功!", CommonConstant.LOG_TYPE_1, null);
         return result;
     }
 
@@ -96,7 +96,7 @@ public class LoginController {
         //用户退出逻辑
         Subject subject = SecurityUtils.getSubject();
         LoginUser sysUser = (LoginUser) subject.getPrincipal();
-        sysBaseAPI.addLog("用户名: " + sysUser.getRealname() + ",退出成功!", CommonConstant.LOG_TYPE_1, null);
+        sysBaseApi.addLog("用户名: " + sysUser.getRealname() + ",退出成功!", CommonConstant.LOG_TYPE_1, null);
         log.info(" 用户名:  " + sysUser.getRealname() + ",退出成功! ");
         subject.logout();
 
@@ -210,7 +210,7 @@ public class LoginController {
                 SysUser sysUser = sysUserService.getUserByPhone(mobile);
                 if (sysUser != null) {
                     result.error500(" 手机号已经注册,请直接登录!");
-                    sysBaseAPI.addLog("手机号已经注册,请直接登录!", CommonConstant.LOG_TYPE_1, null);
+                    sysBaseApi.addLog("手机号已经注册,请直接登录!", CommonConstant.LOG_TYPE_1, null);
                     return result;
                 }
                 b = DySmsHelper.sendSms(mobile, captcha, DySmsHelper.REGISTER_TEMPLATE_CODE);
@@ -278,7 +278,7 @@ public class LoginController {
         //用户信息
         userInfo(sysUser, result);
         //添加日志
-        sysBaseAPI.addLog("用户名: " + sysUser.getUsername() + ",登录成功!", CommonConstant.LOG_TYPE_1, null);
+        sysBaseApi.addLog("用户名: " + sysUser.getUsername() + ",登录成功!", CommonConstant.LOG_TYPE_1, null);
 
         return result;
     }

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

@@ -298,7 +298,7 @@ public class SysPermissionController {
 		Result<List<String>> result = new Result<>();
 		try {
 			List<SysRolePermission> list = sysRolePermissionService.list(new QueryWrapper<SysRolePermission>().lambda().eq(SysRolePermission::getRoleId, roleId));
-			result.setResult(list.stream().map(SysRolePermission -> String.valueOf(SysRolePermission.getPermissionId())).collect(Collectors.toList()));
+            result.setResult(list.stream().map(sysRolePermission -> String.valueOf(sysRolePermission.getPermissionId())).collect(Collectors.toList()));
 			result.setSuccess(true);
 		} catch (Exception e) {
 			log.error(e.getMessage(), e);
@@ -472,8 +472,8 @@ public class SysPermissionController {
 				json.put("route", "0");// 表示不生成路由
 			}
 
-			if (isWWWHttpUrl(permission.getUrl())) {
-				json.put("path", MD5Util.MD5Encode(permission.getUrl(), "utf-8"));
+            if (isWwwHttpUrl(permission.getUrl())) {
+                json.put("path", MD5Util.Md5Encode(permission.getUrl(), "utf-8"));
 			} else {
 				json.put("path", permission.getUrl());
 			}
@@ -514,7 +514,7 @@ public class SysPermissionController {
 					meta.put("icon", permission.getIcon());
 				}
 			}
-			if (isWWWHttpUrl(permission.getUrl())) {
+            if (isWwwHttpUrl(permission.getUrl())) {
 				meta.put("url", permission.getUrl());
 			}
 			json.put("meta", meta);
@@ -529,7 +529,7 @@ public class SysPermissionController {
 	 * 
 	 * @return
 	 */
-	private boolean isWWWHttpUrl(String url) {
+    private boolean isWwwHttpUrl(String url) {
 		if (url != null && (url.startsWith("http://") || url.startsWith("https://") || url.startsWith("{{"))) {
 			return true;
 		}

+ 0 - 4
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/model/DepartIdModel.java

@@ -62,10 +62,6 @@ public class DepartIdModel implements Serializable {
         this.children = children;
     }
 
-    public static long getSerialVersionUID() {
-        return serialVersionUID;
-    }
-
     public String getKey() {
         return key;
     }

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/model/SysDepartTreeModel.java

@@ -168,7 +168,7 @@ public class SysDepartTreeModel implements Serializable{
         this.parentId = parentId;
     }
 
-    public static long getSerialVersionUID() {
+    public static long getSerialVersionUid() {
         return serialVersionUID;
     }
 

+ 4 - 4
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java

@@ -15,7 +15,7 @@ import javax.sql.DataSource;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.exception.JeecgBootException;
-import org.jeecg.common.system.api.ISysBaseAPI;
+import org.jeecg.common.system.api.ISysBaseApi;
 import org.jeecg.common.system.vo.DictModel;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.IPUtils;
@@ -50,7 +50,7 @@ import lombok.extern.slf4j.Slf4j;
  */
 @Slf4j
 @Service
-public class SysBaseApiImpl implements ISysBaseAPI {
+public class SysBaseApiImpl implements ISysBaseApi {
 	public static final String DB_TYPE_MYSQL="MYSQL";
 	public static final String DB_TYPE_ORACLE="ORACLE";
 	public static final String DB_TYPE_POSTGRESQL="POSTGRESQL";
@@ -71,10 +71,10 @@ public class SysBaseApiImpl implements ISysBaseAPI {
 	private SysAnnouncementSendMapper sysAnnouncementSendMapper;
 	
 	@Override
-	public void addLog(String LogContent, Integer logType, Integer operatetype) {
+    public void addLog(String logContent, Integer logType, Integer operatetype) {
 		SysLog sysLog = new SysLog();
 		//注解上的描述,操作日志内容
-		sysLog.setLogContent(LogContent);
+        sysLog.setLogContent(logContent);
 		sysLog.setLogType(logType);
 		sysLog.setOperateType(operatetype);
 

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

@@ -65,13 +65,13 @@ public class SysUserDepartServiceImpl extends ServiceImpl<SysUserDepartMapper, S
 	 */
 	@Override
 	public List<DepartIdModel> queryDepartIdsOfUser(String userId) {
-		LambdaQueryWrapper<SysUserDepart> queryUDep = new LambdaQueryWrapper<SysUserDepart>();
-		LambdaQueryWrapper<SysDepart> queryDep = new LambdaQueryWrapper<SysDepart>();
+        LambdaQueryWrapper<SysUserDepart> queryUserDepart = new LambdaQueryWrapper<>();
+        LambdaQueryWrapper<SysDepart> queryDep = new LambdaQueryWrapper<>();
 		try {
-			queryUDep.eq(SysUserDepart::getUserId, userId);
+            queryUserDepart.eq(SysUserDepart::getUserId, userId);
 			List<String> depIdList = new ArrayList<>();
 			List<DepartIdModel> depIdModelList = new ArrayList<>();
-			List<SysUserDepart> userDepList = this.list(queryUDep);
+            List<SysUserDepart> userDepList = this.list(queryUserDepart);
 			if(userDepList != null && userDepList.size() > 0) {
 			for(SysUserDepart userDepart : userDepList) {
 					depIdList.add(userDepart.getDepId());
@@ -98,11 +98,11 @@ public class SysUserDepartServiceImpl extends ServiceImpl<SysUserDepartMapper, S
 	 */
 	@Override
 	public boolean editSysUserWithDepart(SysUserDepartsVO sysUserDepartsVO) {
-		LambdaQueryWrapper<SysUserDepart> queryDep = new LambdaQueryWrapper<SysUserDepart>();
+        LambdaQueryWrapper<SysUserDepart> queryUserDepart = new LambdaQueryWrapper<SysUserDepart>();
 		List<String> depIdList = sysUserDepartsVO.getDepartIdList();
 		if(depIdList != null && depIdList.size() > 0) {
-			queryDep.eq(SysUserDepart::getUserId, sysUserDepartsVO.getUserId());	
-			boolean ok = this.remove(queryDep);
+            queryUserDepart.eq(SysUserDepart::getUserId, sysUserDepartsVO.getUserId());
+            boolean ok = this.remove(queryUserDepart);
 			if(ok) {
 				for(String str : depIdList) {
 					this.save(new SysUserDepart("", sysUserDepartsVO.getUserId(), str));
@@ -110,8 +110,8 @@ public class SysUserDepartServiceImpl extends ServiceImpl<SysUserDepartMapper, S
 			return ok;
 			}
 		}
-		queryDep.eq(SysUserDepart::getUserId, sysUserDepartsVO.getUserId());
-		boolean ok = this.remove(queryDep);
+        queryUserDepart.eq(SysUserDepart::getUserId, sysUserDepartsVO.getUserId());
+        boolean ok = this.remove(queryUserDepart);
 		return ok;
 	}
 
@@ -120,10 +120,10 @@ public class SysUserDepartServiceImpl extends ServiceImpl<SysUserDepartMapper, S
 	 */
 	@Override
 	public List<SysUser> queryUserByDepId(String depId) {
-		LambdaQueryWrapper<SysUserDepart> queryUDep = new LambdaQueryWrapper<SysUserDepart>();
-		queryUDep.eq(SysUserDepart::getDepId, depId);
+        LambdaQueryWrapper<SysUserDepart> queryUserDepart = new LambdaQueryWrapper<>();
+        queryUserDepart.eq(SysUserDepart::getDepId, depId);
 		List<String> userIdList = new ArrayList<>();
-		List<SysUserDepart> uDepList = this.list(queryUDep);
+        List<SysUserDepart> uDepList = this.list(queryUserDepart);
 		if(uDepList != null && uDepList.size() > 0) {
 			for(SysUserDepart uDep : uDepList) {
 				userIdList.add(uDep.getUserId());

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

@@ -10,7 +10,7 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CacheConstant;
 import org.jeecg.common.constant.CommonConstant;
 
-import org.jeecg.common.system.api.ISysBaseAPI;
+import org.jeecg.common.system.api.ISysBaseApi;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.system.vo.SysUserCacheInfo;
 import org.jeecg.common.util.oConvertUtils;
@@ -63,7 +63,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
 	private SysUserDepartMapper sysUserDepartMapper;
 	@Autowired
-	private ISysBaseAPI sysBaseAPI;
+    private ISysBaseApi sysBaseApi;
 	@Autowired
 	private SysDepartMapper sysDepartMapper;
 	
@@ -153,9 +153,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 //		SysUser user = userMapper.getUserByName(username);
 //		info.setSysUserCode(user.getUsername());
 //		info.setSysUserName(user.getRealname());
-		
 
-		LoginUser user = sysBaseAPI.getUserByName(username);
+
+        LoginUser user = sysBaseApi.getUserByName(username);
 		if(user!=null) {
 			info.setSysUserCode(user.getUsername());
 			info.setSysUserName(user.getRealname());
@@ -253,18 +253,18 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 		//情况1:根据用户信息查询,该用户不存在
 		if (sysUser == null) {
 			result.error500("该用户不存在,请注册");
-			sysBaseAPI.addLog("用户登录失败,用户不存在!", CommonConstant.LOG_TYPE_1, null);
+            sysBaseApi.addLog("用户登录失败,用户不存在!", CommonConstant.LOG_TYPE_1, null);
 			return result;
 		}
 		//情况2:根据用户信息查询,该用户已注销
 		if (CommonConstant.DEL_FLAG_1.toString().equals(sysUser.getDelFlag())) {
-			sysBaseAPI.addLog("用户登录失败,用户名:" + sysUser.getUsername() + "已注销!", CommonConstant.LOG_TYPE_1, null);
+            sysBaseApi.addLog("用户登录失败,用户名:" + sysUser.getUsername() + "已注销!", CommonConstant.LOG_TYPE_1, null);
 			result.error500("该用户已注销");
 			return result;
 		}
 		//情况3:根据用户信息查询,该用户已冻结
 		if (CommonConstant.USER_FREEZE.equals(sysUser.getStatus())) {
-			sysBaseAPI.addLog("用户登录失败,用户名:" + sysUser.getUsername() + "已冻结!", CommonConstant.LOG_TYPE_1, null);
+            sysBaseApi.addLog("用户登录失败,用户名:" + sysUser.getUsername() + "已冻结!", CommonConstant.LOG_TYPE_1, null);
 			result.error500("该用户已冻结");
 			return result;
 		}

+ 38 - 0
jeecg-boot-module-system/src/main/resources/effect_unit_2019-08-02-00_2019-08-02-00.csv

@@ -0,0 +1,38 @@
+"日期","广告计划","广告组","花费","曝光数","点击数","行为数","点击率","行为率","平均千次曝光花费","平均点击单价","平均行为单价","提交按钮点击","表单提交率","表单提交单价"
+"总计","","","28509.09","1683407","188298","4149","11.19%","2.20%","16.94","0.15","6.87","441","10.63%","64.65"
+"2019-08-02","信息流1-安卓-掰手腕(支付)-表单131-190802","HC1908021311-信息流1-安卓-银行APP-掰手腕(支付)-表单131-190802","180.52","14979","1039","31","6.94%","2.98%","12.05","0.17","5.82","5","16.13%","36.10"
+"2019-08-02","信息流1-安卓-8万-表单130-190802","HC1908021301-信息流1-安卓-借贷-8万-表单130-190802","5408.43","352928","45954","616","13.02%","1.34%","15.32","0.12","8.78","87","14.12%","62.17"
+"2019-08-02","信息流1-安卓-鹏哥-表单129-190802","HC1908021291-信息流1-安卓-银行APP-鹏哥-表单129-190802","1779.89","112512","7382","261","6.56%","3.54%","15.82","0.24","6.82","34","13.03%","52.35"
+"2019-08-02","信息流1-安卓-掰手腕(支付)-表单128-190801","HC1908011281-信息流1-安卓-持卡优质-掰手腕(支付)-表单128-190801","749.71","42904","5203","132","12.13%","2.54%","17.47","0.14","5.68","6","4.55%","124.95"
+"2019-08-02","信息流1-安卓-农村2-表单126-190731","HC1907311261-信息流1-安卓-优质关键词人群-农村2-表单126-190731","6891.15","432146","46790","1397","10.83%","2.99%","15.95","0.15","4.93","128","9.16%","53.84"
+"2019-08-02","信息流1-安卓-8万-表单125-190730","HC1907271251-信息流1-安卓-信用卡借贷-8万-表单125-190730","1331.80","80180","7418","164","9.25%","2.21%","16.61","0.18","8.12","13","7.93%","102.45"
+"2019-08-02","信息流1-安卓-吵架分手-表单124-190729","HC1907271241-信息流1-安卓-信用卡优质-吵架分手-表单124-190729","519.93","29310","3238","91","11.05%","2.81%","17.74","0.16","5.71","6","6.59%","86.65"
+"2019-08-02","信息流1-安卓-农村2-表单121-190727","HC1907271212-信息流1-安卓-银行APP-农村2-表单121-190729","3658.12","211000","19889","507","9.43%","2.55%","17.34","0.18","7.22","60","11.83%","60.97"
+"2019-08-02","信用卡持有人群-早点-表单-安卓","HC19072918-信息流1-安卓-信用卡优质组合(完件)-早点-表单18-7.29","415.57","17749","2081","72","11.72%","3.46%","23.41","0.20","5.77","5","6.94%","83.11"
+"2019-08-02","信息流1-安卓-农村2-表单121-190727","HC1907271211-信息流1-安卓-信用卡(完件)-农村2-表单121-190727","0.06","4","1","0","25.00%","0.00%","14.25","0.06","0.00","0","0.00%","0.00"
+"2019-08-02","信息流1-安卓-老妹-表单118-190724","HC1907221181-信息流1-安卓-持卡优质人群(完件)-老妹-表单118-190724","0.00","0","0","0","0.00%","0.00%","0.00","0.00","0.00","0","0.00%","0.00"
+"2019-08-02","信息流1-ios-快递员-表单117-190723-品牌","HC1907221171-信息流1-ios-排除-快递员-表单117-190723-品牌","0.00","0","0","0","0.00%","0.00%","0.00","0.00","0.00","0","0.00%","0.00"
+"2019-08-02","信息流1-安卓-项圈-表单116-190723-品牌","HC1907231161-信息流1-安卓-信用卡优质人群-项圈-表单116-190723-品牌","0.00","0","0","0","0.00%","0.00%","0.00","0.00","0.00","0","0.00%","0.00"
+"2019-08-02","信息流1-安卓-光头强-表单115-190722-品牌","HC1907221152-信息流1-安卓-银行APP关键词(完件)-光头强-表单115-190722","0.00","0","0","0","0.00%","0.00%","0.00","0.00","0.00","0","0.00%","0.00"
+"2019-08-02","信息流1-安卓-光头强-表单115-190722-品牌","HC1907221151-信息流1-安卓-银行APP关键词(完件)-光头强-表单115-190722-品牌-双出价","0.00","0","0","0","0.00%","0.00%","0.00","0.00","0.00","0","0.00%","0.00"
+"2019-08-02","信息流1-安卓-光头强-表单110-190715-品牌","HC1907151101-信息流1-安卓-信用卡借贷组合-光头强-表单110-190718-品牌","0.00","0","0","0","0.00%","0.00%","0.00","0.00","0.00","0","0.00%","0.00"
+"2019-08-02","信息流1-ios-吃饭租房买车(支付)-表单108-190714","HC1907141081-信息流1-ios-排除(完件)-吃饭租房买车(支付)-表单108-190714","0.00","0","0","0","0.00%","0.00%","0.00","0.00","0.00","0","0.00%","0.00"
+"2019-08-02","信息流1-安卓-农村 -完件-表单105-20190708","HC1907081052-信息流1-安卓-信用卡&贷款(完件)-农村 -表单105-20190712","0.00","0","0","0","0.00%","0.00%","0.00","0.00","0.00","0","0.00%","0.00"
+"2019-08-02","信息流1-安卓-手机额度-表单106-20190711-品牌","HC1907111064-信息流1-安卓-排除(完件)-手机额度-表单106-20190711-品牌-短时长","0.00","0","0","0","0.00%","0.00%","0.00","0.00","0.00","0","0.00%","0.00"
+"2019-08-02","信息流1-安卓-老妹-表单96-190629","HC190629964-信息流1-安卓-支付(完件)-老妹-表单96-190703","0.00","0","0","0","0.00%","0.00%","0.00","0.00","0.00","0","0.00%","0.00"
+"2019-08-02","信息流1-安卓-早点-表单98-20190701-P","HC190701981-信息流1-安卓-信用卡-早点-表单98-20190701-P","0.00","0","0","0","0.00%","0.00%","0.00","0.00","0.00","0","0.00%","0.00"
+"2019-08-02","信息流1-安卓-额度-表单97-190630","HC190630972-信息流1-安卓-排除-额度-表单97-190630","0.00","0","0","0","0.00%","0.00%","0.00","0.00","0.00","0","0.00%","0.00"
+"2019-08-02","信息流1-安卓-老妹-表单96-190629","HC190629962-信息流1-安卓-银行APP-老妹-表单96-190629","0.20","34","3","0","8.82%","0.00%","5.82","0.07","0.00","0","0.00%","0.00"
+"2019-08-02","信息流1-安卓-没钱了怎么办2-表单78-190606","HC190606788-信息流1-安卓-支付-没钱了怎么办2-表单78-190622-cpm","0.00","0","0","0","0.00%","0.00%","0.00","0.00","0.00","0","0.00%","0.00"
+"2019-08-02","信息流1-安卓-买单(支付场景)-表单88-190621","HC190621881-信息流1-安卓-信用卡-买单(支付场景)-表单88-190621","0.00","0","0","0","0.00%","0.00%","0.00","0.00","0.00","0","0.00%","0.00"
+"2019-08-02","信息流1-安卓-支付场景(吃饭租房买车)-表单82-190613","HC190613823-信息流1-安卓-排除-支付场景(吃饭租房买车)-表单82-190614","0.00","0","0","0","0.00%","0.00%","0.00","0.00","0.00","0","0.00%","0.00"
+"2019-08-02","信息流1-ios-采访黄衣女-表单81-190609","HC190610811-信息流1-ios-排除-采访黄衣女-表单81-190609","0.00","0","0","0","0.00%","0.00%","0.00","0.00","0.00","0","0.00%","0.00"
+"2019-08-02","信息流1-安卓-采访黄衣女-表单55-190514","HC19051556-信息流1-安卓-支付人群-采访黄衣女-表单55-190521","0.00","0","0","0","0.00%","0.00%","0.00","0.00","0.00","0","0.00%","0.00"
+"2019-08-02","信息流1-安卓-采访黄衣女-表单55-190514","HC19051553-信息流1-安卓-信用卡人群-采访黄衣女-表单55-190515","0.00","0","0","0","0.00%","0.00%","0.00","0.00","0.00","0","0.00%","0.00"
+"2019-08-02","信息流1-安卓-排除定向-灵动街坊-表单-190420(43-老素材)","HC19042002-信息流1-安卓-排除定向-灵动街坊-表单-190420","0.00","0","0","0","0.00%","0.00%","0.00","0.00","0.00","0","0.00%","0.00"
+"2019-08-02","信用卡持有人群-早点-表单-安卓","biaodan-7-早点","0.00","0","0","0","0.00%","0.00%","0.00","0.00","0.00","0","0.00%","0.00"
+"2019-08-02","信用卡持有人群-早点-表单-安卓","biaodan-1-早点","7573.72","389661","49300","878","12.65%","1.78%","19.44","0.15","8.63","97","11.05%","78.08"
+"2019-08-02","信息流1-安卓-信用卡持有人群-灵动街坊-ecpc-190402","HC19040201-信息流1-安卓-信用卡持有人群-早点-ecpc-190402","0.00","0","0","0","0.00%","0.00%","0.00","0.00","0.00","0","0.00%","0.00"
+"2019-08-02","新-OCPX-男(22-45岁)-IOS","ocpx10-灵动(君悦)-街访-1-1.21","0.00","0","0","0","0.00%","0.00%","0.00","0.00","0.00","0","0.00%","0.00"
+"2019-08-02","H5-OCPX3-男(22-45岁)-IOS","ocpx3-买早点-3-1.10","0.00","0","0","0","0.00%","0.00%","0.00","0.00","0.00","0","0.00%","0.00"
+"2019-08-02","DMP-CPC-男(22-45)-IOS","cpc2-ios-工资不够花-02-1.3-复用","0.00","0","0","0","0.00%","0.00%","0.00","0.00","0.00","0","0.00%","0.00"

+ 11 - 0
module-common/pom.xml

@@ -45,6 +45,17 @@
             <version>0.7.3</version>
             <scope>compile</scope>
         </dependency>
+        <!--<dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-csv</artifactId>
+            <version>1.5</version>
+            <scope>compile</scope>
+        </dependency>-->
+        <dependency>
+            <groupId>net.sourceforge.javacsv</groupId>
+            <artifactId>javacsv</artifactId>
+            <version>2.0</version>
+        </dependency>
     </dependencies>
 
     <build>

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

@@ -0,0 +1,68 @@
+package cn.com.ctop.common.utils;
+
+import com.csvreader.CsvReader;
+import com.csvreader.CsvWriter;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.charset.Charset;
+import java.util.ArrayList;
+import java.util.List;
+
+public class CsvUtils {
+    public static void CheckandCreateFile(String outPath) {
+        File file = new File(outPath);
+        try {
+            if (!file.exists()) {
+                file.createNewFile();
+                System.out.println("文件不存在,新建成功!");
+            } else {
+                System.out.println("文件存在!");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public static List<String[]> ReadCSV(String inPath) throws IOException {
+        List<String[]> list = new ArrayList<>();
+        CsvReader reader = new CsvReader(inPath, ',', Charset.forName("gb2312"));
+        reader.readHeaders();
+        while (reader.readRecord()) {
+            list.add(reader.getValues());
+        }
+        reader.close();
+        for (int row = 0; row < list.size(); row++) {
+            int Length = list.get(row).length;
+            if (Length > 0) {
+                for (int i = 0; i < Length; i++) {
+                    System.out.print(list.get(row)[i] + ",");
+                }
+
+            }
+            System.out.println("");
+        }
+        return list;
+    }
+
+    public static void WriteCSV(String outPath, List<String[]> data) throws IOException {
+        CsvUtils.CheckandCreateFile(outPath);
+        CsvWriter wr = new CsvWriter(outPath, ',', Charset.forName("gb2312"));
+        String[] header = {"Name", "Province", "City", "Address", "Tel", "Website", "Server_content", "Jigou_cengji", "Type", "Parent_level1", "Parent_level2", "Branch_level"};
+        wr.writeRecord(header);
+        for (int i = 0; i < data.size(); i++) {
+            String[] Data = data.get(i);
+            wr.writeRecord(Data);
+        }
+        wr.close();
+    }
+
+    public static void main(String[] args) throws IOException {
+        String[] header = new String[]{"日期", "plan", "广告组", "花费", "曝光数", "点击数", "行为数", "点击率", "行为率", "平均千次曝光花费", "平均点击单价", "平均行为单价", "提交按钮点击", "表单提交率", "表单提交单价"};
+        String inPath = "D:\\工作文件\\360借条\\effect_unit_2019-08-02-00_2019-08-02-00.csv";
+        String outPath = "D:\\工作文件\\360借条\\effect_unit_2019-08-02-00_2019-08-02-00_bak.csv";
+        List<String[]> list = CsvUtils.ReadCSV(inPath);
+        CsvUtils.WriteCSV(outPath, list);
+
+    }
+}

+ 0 - 157
module-common/src/main/java/cn/com/ctop/common/utils/DateUtils.java

@@ -1,157 +0,0 @@
-package cn.com.ctop.common.utils;
-
-import java.sql.Timestamp;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-public class DateUtils {
-    public static List<Map<String, String>> getDateDayRange(String startDate, String endDate) throws ParseException {
-        List<Map<String, String>> list = new ArrayList<Map<String, String>>();
-        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.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.put("startDate", splitDate);
-                map.put("endDate", endDate);
-                list.add(map);
-                splitDate = DateUtils.addDay(splitDate, -1);
-                endDate = DateUtils.addDay(endDate, -1);
-                if (DateUtils.compareDate(startDate, splitDate) > 0) {
-                    splitDate = startDate;
-                }
-            }
-        }
-        return list;
-    }
-
-    public static List<Map<String, String>> getDateWeekRange(String startDate, String endDate) throws ParseException {
-        List<Map<String, String>> list = new ArrayList<Map<String, String>>();
-        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.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.put("startDate", splitDate);
-                map.put("endDate", endDate);
-                list.add(map);
-                splitDate = DateUtils.addWeek(splitDate, -1);
-                endDate = DateUtils.addWeek(endDate, -1);
-                if (DateUtils.compareDate(startDate, splitDate) > 0) {
-                    splitDate = startDate;
-                }
-            }
-        }
-        return list;
-    }
-
-    public static List<Map<String, String>> getDateMonthRange(String startDate, String endDate) throws ParseException {
-        List<Map<String, String>> list = new ArrayList<Map<String, String>>();
-        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.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.put("startDate", splitDate);
-                map.put("endDate", endDate);
-                list.add(map);
-                splitDate = DateUtils.addMonth(splitDate, -1);
-                endDate = DateUtils.addMonth(endDate, -1);
-                if (DateUtils.compareDate(startDate, splitDate) > 0) {
-                    splitDate = startDate;
-                }
-            }
-        }
-        return list;
-    }
-
-    public static String addMonth(String dateString, int month) throws ParseException {
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-        Date date = sdf.parse(dateString);
-        Calendar calendar = Calendar.getInstance();
-        calendar.setTime(date);
-        calendar.add(Calendar.MONTH, month);
-        return sdf.format(calendar.getTime());
-    }
-
-    public static String addWeek(String dateString, int week) throws ParseException {
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-        Date date = sdf.parse(dateString);
-        Calendar calendar = Calendar.getInstance();
-        calendar.setTime(date);
-        calendar.add(Calendar.WEEK_OF_YEAR, week);
-        return sdf.format(calendar.getTime());
-    }
-
-    public static String addDay(String dateString, int day) throws ParseException {
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-        Date date = sdf.parse(dateString);
-        Calendar calendar = Calendar.getInstance();
-        calendar.setTime(date);
-        calendar.add(Calendar.DAY_OF_YEAR, day);
-        return sdf.format(calendar.getTime());
-    }
-
-    public static Date addDay(Date date, int day) {
-        Calendar calendar = Calendar.getInstance();
-        calendar.setTime(date);
-        calendar.add(Calendar.DAY_OF_YEAR, day);
-        return calendar.getTime();
-    }
-
-    public static Date addSecond(Date date, int seconds) {
-        Calendar calendar = Calendar.getInstance();
-        calendar.setTime(date);
-        calendar.add(Calendar.SECOND, seconds);
-        return calendar.getTime();
-    }
-
-    public static int compareDate(String firstDateString, String secondDateString) throws ParseException {
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-        Date firstDate = sdf.parse(firstDateString);
-        Date secondDate = sdf.parse(secondDateString);
-        long first = firstDate.getTime();
-        long second = secondDate.getTime();
-        return first == second ? 0 : (first > second ? 1 : -1);
-    }
-
-    public static String timeStamp2Date(Timestamp timeLong) {
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//要转换的时间格式
-        Date date;
-        try {
-            date = sdf.parse(sdf.format(timeLong));
-            return sdf.format(date);
-        } catch (ParseException e) {
-            e.printStackTrace();
-            return null;
-        }
-    }
-
-    public static String timeStamp2Date(long currentTimeMillis) {
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//要转换的时间格式
-        Date date;
-        try {
-            date = sdf.parse(sdf.format(currentTimeMillis));
-            return sdf.format(date);
-        } catch (ParseException e) {
-            e.printStackTrace();
-            return null;
-        }
-    }
-}

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

@@ -96,7 +96,7 @@ public class FileUploadTool {
                 String codcAviPath = savaPath + File.separator + newFileName + ".avi";
                 // 获取配置的转换工具(mencoder.exe)的存放路径
                 String mencoderPath = request.getSession().getServletContext().getRealPath("/tools/mencoder.exe");
-                aviPath = transfMediaTool.processAVI(mencoderPath, filedirs.getAbsolutePath(), codcAviPath);
+                aviPath = transfMediaTool.processAvi(mencoderPath, filedirs.getAbsolutePath(), codcAviPath);
                 fileEnd = this.getFileExt(codcAviPath);
             }
             if (aviPath != null) {
@@ -107,7 +107,7 @@ public class FileUploadTool {
                         String codcFilePath = savaPath + File.separator + newFileName + ".flv";
                         // 获取配置的转换工具(ffmpeg.exe)的存放路径
                         String ffmpegPath = request.getSession().getServletContext().getRealPath("/tools/ffmpeg.exe");
-                        transfMediaTool.processFLV(ffmpegPath, aviPath, codcFilePath);
+                        transfMediaTool.processFlv(ffmpegPath, aviPath, codcFilePath);
                         fileDir = savaPath + newFileName + ".flv";
                         builder = new StringBuilder(fileDir);
                         finalFileDir = builder.substring(1);

+ 0 - 429
module-common/src/main/java/cn/com/ctop/common/utils/ImageUtils.java

@@ -1,429 +0,0 @@
-//package cn.com.ctop.common.utils;
-//
-//import java.awt.Color;
-//import java.awt.Graphics2D;
-//import java.awt.Image;
-//import java.awt.Rectangle;
-//import java.awt.image.BufferedImage;
-//import java.io.File;
-//import java.io.FileInputStream;
-//import java.io.FileOutputStream;
-//import java.io.IOException;
-//import java.net.URL;
-//import java.util.Date;
-//import java.util.Iterator;
-//
-//import javax.imageio.ImageIO;
-//import javax.imageio.ImageReadParam;
-//import javax.imageio.ImageReader;
-//import javax.imageio.stream.ImageInputStream;
-//
-//import com.sun.image.codec.jpeg.ImageFormatException;
-//import com.sun.image.codec.jpeg.JPEGCodec;
-//import com.sun.image.codec.jpeg.JPEGEncodeParam;
-//import com.sun.image.codec.jpeg.JPEGImageEncoder;
-//
-///**
-// * 图片压缩工具类 提供的方法中可以设定生成的 缩略图片的大小尺寸、压缩尺寸的比例、图片的质量等
-// * <pre>
-// * 	调用示例:
-// * resiz(srcImg, tarDir + "car_1_maxLength_11-220px-hui.jpg", 220, 0.7F);
-// * </pre>
-// *
-// * @author cevencheng
-// * @project haohui-b2b
-// * @create 2012-3-22 下午8:29:01
-// */
-//public class ImageUtils {
-//
-//    /**
-//     * * 图片文件读取
-//     *
-//     * @param srcImgPath
-//     * @return
-//     */
-//    private static BufferedImage InputImage(String srcImgPath) throws RuntimeException {
-//
-//        BufferedImage srcImage = null;
-//        FileInputStream in = null;
-//        try {
-//            // 构造BufferedImage对象
-//            File file = new File(srcImgPath);
-//            in = new FileInputStream(file);
-//            byte[] b = new byte[5];
-//            in.read(b);
-//            srcImage = javax.imageio.ImageIO.read(file);
-//        } catch (IOException e) {
-//            e.printStackTrace();
-//            throw new RuntimeException("读取图片文件出错!", e);
-//        } finally {
-//            if (in != null) {
-//                try {
-//                    in.close();
-//                } catch (IOException e) {
-//                    throw new RuntimeException("读取图片文件出错!", e);
-//                }
-//            }
-//        }
-//        return srcImage;
-//    }
-//
-//    /**
-//     * * 将图片按照指定的图片尺寸、源图片质量压缩(默认质量为1)
-//     *
-//     * @param srcImgPath :源图片路径
-//     * @param outImgPath :输出的压缩图片的路径
-//     * @param new_w      :压缩后的图片宽
-//     * @param new_h      :压缩后的图片高
-//     */
-//    public static void resize(String srcImgPath, String outImgPath,
-//                              int new_w, int new_h) {
-//        resize(srcImgPath, outImgPath, new_w, new_h, 1F);
-//    }
-//
-//    /**
-//     * 将图片按照指定的尺寸比例、源图片质量压缩(默认质量为1)
-//     *
-//     * @param srcImgPath :源图片路径
-//     * @param outImgPath :输出的压缩图片的路径
-//     * @param ratio      :压缩后的图片尺寸比例
-//     *                   :百分比
-//     */
-//    public static void resize(String srcImgPath, String outImgPath,
-//                              float ratio) {
-//        resize(srcImgPath, outImgPath, ratio, 1F);
-//    }
-//
-//    /**
-//     * 将图片按照指定长或者宽的最大值来压缩图片(默认质量为1)
-//     *
-//     * @param srcImgPath :源图片路径
-//     * @param outImgPath :输出的压缩图片的路径
-//     * @param maxLength  :长或者宽的最大值
-//     *                   :图片质量
-//     */
-//    public static void resize(String srcImgPath, String outImgPath,
-//                              int maxLength) {
-//        resize(srcImgPath, outImgPath, maxLength, 1F);
-//    }
-//
-//    /**
-//     * * 将图片按照指定的图片尺寸、图片质量压缩
-//     *
-//     * @param srcImgPath :源图片路径
-//     * @param outImgPath :输出的压缩图片的路径
-//     * @param new_w      :压缩后的图片宽
-//     * @param new_h      :压缩后的图片高
-//     * @param per        :百分比
-//     * @author cevencheng
-//     */
-//    public static void resize(String srcImgPath, String outImgPath,
-//                              int new_w, int new_h, float per) {
-//        // 得到图片
-//        BufferedImage src = InputImage(srcImgPath);
-//        int old_w = src.getWidth();
-//        // 得到源图宽
-//        int old_h = src.getHeight();
-//        // 得到源图长
-//        // 根据原图的大小生成空白画布
-//        BufferedImage tempImg = new BufferedImage(old_w, old_h,
-//                BufferedImage.TYPE_INT_RGB);
-//        // 在新的画布上生成原图的缩略图
-//        Graphics2D g = tempImg.createGraphics();
-//        g.setColor(Color.white);
-//        g.fillRect(0, 0, old_w, old_h);
-//        g.drawImage(src, 0, 0, old_w, old_h, Color.white, null);
-//        g.dispose();
-//        BufferedImage newImg = new BufferedImage(new_w, new_h,
-//                BufferedImage.TYPE_INT_RGB);
-//        newImg.getGraphics().drawImage(
-//                tempImg.getScaledInstance(new_w, new_h, Image.SCALE_SMOOTH), 0,
-//                0, null);
-//        // 调用方法输出图片文件
-//        outImage(outImgPath, newImg, per);
-//    }
-//
-//    public static BufferedImage resize(BufferedImage src,
-//                                       int new_w, int new_h) {
-//        int old_w = src.getWidth();
-//        // 得到源图宽
-//        int old_h = src.getHeight();
-//        // 得到源图长
-//        // 根据原图的大小生成空白画布
-//        BufferedImage tempImg = new BufferedImage(old_w, old_h,
-//                BufferedImage.TYPE_INT_RGB);
-//        // 在新的画布上生成原图的缩略图
-//        Graphics2D g = tempImg.createGraphics();
-//        g.setColor(Color.white);
-//        g.fillRect(0, 0, old_w, old_h);
-//        g.drawImage(src, 0, 0, old_w, old_h, Color.white, null);
-//        g.dispose();
-//        BufferedImage newImg = new BufferedImage(new_w, new_h,
-//                BufferedImage.TYPE_INT_RGB);
-//        newImg.getGraphics().drawImage(
-//                tempImg, 0,
-//                0, null);
-//        // 调用方法输出图片文件
-//        return newImg;
-//    }
-//
-//    /**
-//     * * 将图片按照指定的尺寸比例、图片质量压缩
-//     *
-//     * @param srcImgPath :源图片路径
-//     * @param outImgPath :输出的压缩图片的路径
-//     * @param ratio      :压缩后的图片尺寸比例
-//     * @param per        :百分比
-//     * @author cevencheng
-//     */
-//    public static void resize(String srcImgPath, String outImgPath,
-//                              float ratio, float per) {
-//        // 得到图片
-//        BufferedImage src = InputImage(srcImgPath);
-//        int old_w = src.getWidth();
-//        // 得到源图宽
-//        int old_h = src.getHeight();
-//        // 得到源图长
-//        int new_w = 0;
-//        // 新图的宽
-//        int new_h = 0;
-//        // 新图的长
-//        BufferedImage tempImg = new BufferedImage(old_w, old_h,
-//                BufferedImage.TYPE_INT_RGB);
-//        Graphics2D g = tempImg.createGraphics();
-//        g.setColor(Color.white);
-//        // 从原图上取颜色绘制新图g.fillRect(0, 0, old_w, old_h);
-//        g.drawImage(src, 0, 0, old_w, old_h, Color.white, null);
-//        g.dispose();
-//        // 根据图片尺寸压缩比得到新图的尺寸new_w = (int) Math.round(old_w * ratio);
-//        new_h = (int) Math.round(old_h * ratio);
-//        BufferedImage newImg = new BufferedImage(new_w, new_h,
-//                BufferedImage.TYPE_INT_RGB);
-//        newImg.getGraphics().drawImage(
-//                tempImg.getScaledInstance(new_w, new_h, Image.SCALE_SMOOTH), 0,
-//                0, null);
-//        // 调用方法输出图片文件OutImage(outImgPath, newImg, per);
-//    }
-//
-//    /**
-//     * <b>
-//     * 指定长或者宽的最大值来压缩图片
-//     * 推荐使用此方法
-//     * </b>
-//     *
-//     * @param srcImgPath :源图片路径
-//     * @param outImgPath :输出的压缩图片的路径
-//     * @param maxLength  :长或者宽的最大值
-//     * @param per        :图片质量
-//     * @author cevencheng
-//     */
-//    public static void resize(String srcImgPath, String outImgPath,
-//                              int maxLength, float per) {
-//        // 得到图片
-//        BufferedImage src = InputImage(srcImgPath);
-//        int old_w = src.getWidth();
-//        // 得到源图宽
-//        int old_h = src.getHeight();
-//        // 得到源图长
-//        int new_w = 0;
-//        // 新图的宽
-//        int new_h = 0;
-//        // 新图的长
-//        BufferedImage tempImg = new BufferedImage(old_w, old_h,
-//                BufferedImage.TYPE_INT_RGB);
-//        Graphics2D g = tempImg.createGraphics();
-//        g.setColor(Color.white);
-//        // 从原图上取颜色绘制新图
-//        g.fillRect(0, 0, old_w, old_h);
-//        g.drawImage(src, 0, 0, old_w, old_h, Color.white, null);
-//        g.dispose();
-//        // 根据图片尺寸压缩比得到新图的尺寸
-//        if (old_w > old_h) {
-//            // 图片要缩放的比例
-//            new_w = maxLength;
-//            new_h = (int) Math.round(old_h * ((float) maxLength / old_w));
-//        } else {
-//            new_w = (int) Math.round(old_w * ((float) maxLength / old_h));
-//            new_h = maxLength;
-//        }
-//        BufferedImage newImg = new BufferedImage(new_w, new_h,
-//                BufferedImage.TYPE_INT_RGB);
-//        newImg.getGraphics().drawImage(
-//                tempImg.getScaledInstance(new_w, new_h, Image.SCALE_SMOOTH), 0,
-//                0, null);
-//        // 调用方法输出图片文件
-//        outImage(outImgPath, newImg, per);
-//    }
-//
-//    /**
-//     * 将图片压缩成指定宽度, 高度等比例缩放
-//     *
-//     * @param srcImgPath
-//     * @param outImgPath
-//     * @param width
-//     * @param per
-//     */
-//    public static void resizeFixedWidth(String srcImgPath, String outImgPath,
-//                                        int width, float per) {
-//        // 得到图片
-//        BufferedImage src = InputImage(srcImgPath);
-//        int old_w = src.getWidth();
-//        // 得到源图宽
-//        int old_h = src.getHeight();
-//        // 得到源图长
-//        int new_w = 0;
-//        // 新图的宽
-//        int new_h = 0;
-//        // 新图的长
-//        BufferedImage tempImg = new BufferedImage(old_w, old_h,
-//                BufferedImage.TYPE_INT_RGB);
-//        Graphics2D g = tempImg.createGraphics();
-//        g.setColor(Color.white);
-//        // 从原图上取颜色绘制新图
-//        g.fillRect(0, 0, old_w, old_h);
-//        g.drawImage(src, 0, 0, old_w, old_h, Color.white, null);
-//        g.dispose();
-//        // 根据图片尺寸压缩比得到新图的尺寸
-//        if (old_w > old_h) {
-//            // 图片要缩放的比例
-//            new_w = width;
-//            new_h = (int) Math.round(old_h * ((float) width / old_w));
-//        } else {
-//            new_w = (int) Math.round(old_w * ((float) width / old_h));
-//            new_h = width;
-//        }
-//        BufferedImage newImg = new BufferedImage(new_w, new_h,
-//                BufferedImage.TYPE_INT_RGB);
-//        newImg.getGraphics().drawImage(
-//                tempImg.getScaledInstance(new_w, new_h, Image.SCALE_SMOOTH), 0,
-//                0, null);
-//        // 调用方法输出图片文件
-//        outImage(outImgPath, newImg, per);
-//    }
-//
-//    /**
-//     * * 将图片文件输出到指定的路径,并可设定压缩质量
-//     *
-//     * @param outImgPath
-//     * @param newImg
-//     * @param per
-//     * @author cevencheng
-//     */
-//    private static void outImage(String outImgPath, BufferedImage newImg, float per) {
-//        // 判断输出的文件夹路径是否存在,不存在则创建
-//        File file = new File(outImgPath);
-//        if (!file.getParentFile().exists()) {
-//            file.getParentFile().mkdirs();
-//        }
-//        // 输出到文件流
-//        FileOutputStream fos = null;
-//        try {
-//            fos = new FileOutputStream(outImgPath);
-//            JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fos);
-//            JPEGEncodeParam jep = JPEGCodec.getDefaultJPEGEncodeParam(newImg);
-//            // 压缩质量
-//            jep.setQuality(per, true);
-//            encoder.encode(newImg, jep);
-//            fos.close();
-//        } catch (Exception e) {
-//            throw new RuntimeException(e);
-//        } finally {
-//            if (fos != null) {
-//                try {
-//                    fos.close();
-//                } catch (IOException e) {
-//                    throw new RuntimeException(e);
-//                }
-//            }
-//        }
-//    }
-//
-//    /**
-//     * 图片剪切工具方法
-//     *
-//     * @param srcfile 源图片
-//     * @param outfile 剪切之后的图片
-//     * @param x       剪切顶点 X 坐标
-//     * @param y       剪切顶点 Y 坐标
-//     * @param width   剪切区域宽度
-//     * @param height  剪切区域高度
-//     * @throws IOException
-//     * @author cevencheng
-//     */
-//    public static void cut(File srcfile, File outfile, int x, int y, int width, int height) throws IOException {
-//        FileInputStream is = null;
-//        ImageInputStream iis = null;
-//        try {
-//            // 读取图片文件
-//            is = new FileInputStream(srcfile);
-//
-//            /*
-//             * 返回包含所有当前已注册 ImageReader 的 Iterator,这些 ImageReader 声称能够解码指定格式。
-//             * 参数:formatName - 包含非正式格式名称 .(例如 "jpeg" 或 "tiff")等 。
-//             */
-//            Iterator<ImageReader> it = ImageIO.getImageReadersByFormatName("jpg");
-//            ImageReader reader = it.next();
-//            // 获取图片流
-//            iis = ImageIO.createImageInputStream(is);
-//
-//            /*
-//             * <p>iis:读取源.true:只向前搜索 </p>.将它标记为 ‘只向前搜索’。
-//             * 此设置意味着包含在输入源中的图像将只按顺序读取,可能允许 reader 避免缓存包含与以前已经读取的图像关联的数据的那些输入部分。
-//             */
-//            reader.setInput(iis, true);
-//
-//            /*
-//             * <p>描述如何对流进行解码的类<p>.用于指定如何在输入时从 Java Image I/O
-//             * 框架的上下文中的流转换一幅图像或一组图像。用于特定图像格式的插件 将从其 ImageReader 实现的
-//             * getDefaultReadParam 方法中返回 ImageReadParam 的实例。
-//             */
-//            ImageReadParam param = reader.getDefaultReadParam();
-//
-//            /*
-//             * 图片裁剪区域。Rectangle 指定了坐标空间中的一个区域,通过 Rectangle 对象
-//             * 的左上顶点的坐标(x,y)、宽度和高度可以定义这个区域。
-//             */
-//            Rectangle rect = new Rectangle(x, y, width, height);
-//
-//            // 提供一个 BufferedImage,将其用作解码像素数据的目标。
-//            param.setSourceRegion(rect);
-//
-//            /*
-//             * 使用所提供的 ImageReadParam 读取通过索引 imageIndex 指定的对象,并将 它作为一个完整的
-//             * BufferedImage 返回。
-//             */
-//            BufferedImage bi = reader.read(0, param);
-//
-//            // 保存新图片
-//            ImageIO.write(bi, "jpg", outfile);
-//        } finally {
-//            if (is != null) {
-//                is.close();
-//            }
-//            if (iis != null) {
-//                iis.close();
-//            }
-//        }
-//    }
-//
-//    public static void main(String args[]) throws Exception {
-//        String srcImg = "D:/sm.png";
-//        String tarDir = "d:/";
-////        URL url = ImageUtils.class.getResource("src-2012.jpg");
-//        File srcfile = new File(srcImg);
-////        System.out.println(url);
-//        System.out.println(srcfile.exists() + ", dir=" + srcfile.getParent());
-//        tarDir = srcfile.getParent();
-//        srcImg = srcfile.getPath();
-//        System.out.println("srcImg=" + srcImg);
-//        long startTime = new Date().getTime();
-//        resize(srcImg, tarDir + "car_1_maxLength_1-200px.jpg", 200);
-////        Tosmallerpic(srcImg, tarDir + "car_1_maxLength_2.jpg", 0.5F);
-//        resize(srcImg, tarDir + "car_1_maxLength_3.jpg", 280, 112);
-//        resize(srcImg, tarDir + "car_1_maxLength_4-400x400.jpg", 220, 220);
-//        resize(srcImg, tarDir + "car_1_maxLength_11-220px-yinhui.jpg", 220, 0.7F);
-////        Tosmallerpic(srcImg, tarDir + "car_1_maxLength_22.jpg", 0.5F, 0.8F);
-//        resize(srcImg, tarDir + "car_1_maxLength_33.jpg", 400, 500, 0.8F);
-//        System.out.println(new Date().getTime() - startTime);
-//    }
-//}

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

@@ -22,7 +22,7 @@ public class MD5Utils {
 		}
 	};
 
-	public static String getMD5(String msg){
+    public static String getMd5(String msg) {
 		MessageDigest md5 = MD5.get();
 		md5.reset();
 		return toHexStr(md5.digest(msg.getBytes()));
@@ -40,7 +40,7 @@ public class MD5Utils {
 		return String.valueOf(str);
 	}
 
-    public static String getFileMD5(String path) {
+    public static String getFileMd5(String path) {
         StringBuffer sb = new StringBuffer();
         try {
             MessageDigest md = MessageDigest.getInstance("MD5");

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

@@ -49,7 +49,7 @@ public class OSSUtils {
      *
      * @return ossClient
      */
-    public static OSS getOSSClient() {
+    public static OSS getOssClient() {
         return new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
     }
 
@@ -62,7 +62,7 @@ public class OSSUtils {
     public static String createBucketName(String bucketName) {
         // 存储空间
         final String bucketNames = bucketName;
-        OSS ossClient = OSSUtils.getOSSClient();
+        OSS ossClient = OSSUtils.getOssClient();
         if (!ossClient.doesBucketExist(bucketName)) {
             // 创建存储空间
             Bucket bucket = ossClient.createBucket(bucketName);
@@ -78,7 +78,7 @@ public class OSSUtils {
      * @param bucketName 存储空间
      */
     public static void deleteBucket(String bucketName) {
-        OSS ossClient = OSSUtils.getOSSClient();
+        OSS ossClient = OSSUtils.getOssClient();
         ossClient.deleteBucket(bucketName);
         logger.info("删除" + bucketName + "Bucket成功");
     }
@@ -93,7 +93,7 @@ public class OSSUtils {
     public static String createFolder(String bucketName, String folder) {
         // 文件夹名
         final String keySuffixWithSlash = folder;
-        OSS ossClient = OSSUtils.getOSSClient();
+        OSS ossClient = OSSUtils.getOssClient();
         // 判断文件夹是否存在,不存在则创建
         if (!ossClient.doesObjectExist(bucketName, keySuffixWithSlash)) {
             // 创建文件夹
@@ -115,7 +115,7 @@ public class OSSUtils {
      * @param key        Bucket下的文件的路径名+文件名 如:"upload/cake.jpg"
      */
     public static void deleteFile(String bucketName, String folder, String key) {
-        OSS ossClient = OSSUtils.getOSSClient();
+        OSS ossClient = OSSUtils.getOssClient();
         ossClient.deleteObject(bucketName, folder + key);
         logger.info("删除" + bucketName + "下的文件" + folder + key + "成功");
     }
@@ -126,10 +126,10 @@ public class OSSUtils {
      * @param file       上传文件(文件全路径如:D:\\image\\cake.jpg)
      * @return String 返回的唯一MD5数字签名
      */
-    public static String uploadObject2OSS(File file) {
+    public static String uploadObject2Oss(File file) {
         String resultStr = null;
         try {
-            OSS ossClient = OSSUtils.getOSSClient();
+            OSS ossClient = OSSUtils.getOssClient();
             // 以输入流的形式上传文件
             InputStream is = new FileInputStream(file);
             // 文件名

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

@@ -21,7 +21,7 @@ public class TransfMediaTool {
      * @return
      * @throws Exception
      */
-    public void processFLV(String ffmpegPath, String upFilePath, String codcFilePath) {
+    public void processFlv(String ffmpegPath, String upFilePath, String codcFilePath) {
         // 创建一个List集合来保存转换视频文件为flv格式的命令
         List<String> convert = new ArrayList<String>();
         convert.add(ffmpegPath); // 添加转换工具路径
@@ -65,7 +65,7 @@ public class TransfMediaTool {
      * @return
      * @throws Exception
      */
-    public String processAVI(String mencoderPath, String upFilePath, String codcAviPath) {
+    public String processAvi(String mencoderPath, String upFilePath, String codcAviPath) {
 //        boolean flag = false;
         List<String> commend = new ArrayList<String>();
         commend.add(mencoderPath);

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

@@ -44,7 +44,7 @@ public class KuaishouUtil {
         allMap.putAll(staticParams);
         allMap.putAll(dynamicParams);
         if (staticParams.get("kpf") != null && "ANDROID_PHONE".equals(staticParams.get("kpf"))) {
-            String sig = SignUtil.getMD5Sign(HttpParamUtil.mapToString(SortUtil.sortMapByKey(allMap),ignoreKeyList),salt);
+            String sig = SignUtil.getMd5Sign(HttpParamUtil.mapToString(SortUtil.sortMapByKey(allMap), ignoreKeyList), salt);
             dynamicParams.put("sig",sig);
             allMap.put("sig",sig);
         }

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

@@ -18,7 +18,7 @@ public class MD5Util {
         }
     };
 
-    public static String getMD5(String msg){
+    public static String getMd5(String msg) {
         MessageDigest md5 = MD5.get();
         md5.reset();
         return toHexStr(md5.digest(msg.getBytes()));

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

@@ -1,7 +1,7 @@
 package cn.com.ctop.crawler.modules.core.util;
 
 public class SignUtil {
-    public static String getMD5Sign(String source,String signKey){
-        return MD5Util.getMD5(source+signKey);
+    public static String getMd5Sign(String source, String signKey) {
+        return MD5Util.getMd5(source + signKey);
     }
 }

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

@@ -203,7 +203,7 @@ public class KuaishouWebInterfaceServiceImpl implements IKuaishouWebInterfaceSer
 
     @Override
     public void adkuaishouWebLogin(String phone, String password) throws IOException {
-        ChromeDriverService service = new ChromeDriverService.Builder().usingDriverExecutable(new File("D:/chromedriver.exe")).usingAnyFreePort().build();
+        ChromeDriverService service = new ChromeDriverService.Builder().usingDriverExecutable(new File(chromeDriver)).usingAnyFreePort().build();
         service.start();
 //        System.getProperties().setProperty("webdriver.chrome.driver", chromeDriver);
         ChromeOptions chromeOptions = new ChromeOptions();