From db7df9f067dcf46441b08174be82c3ce44e13932 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E9=A3=9E?= Date: Mon, 6 Jul 2020 18:17:57 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=85=B1=E9=80=9A=E6=A8=A1=E5=9D=97=E6=9B=B4?= =?UTF-8?q?=E6=8D=A2]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/AnalysisUserAuthorizationDTO.java | 48 ++++++++++++++ .../token/dto/AnalysisUserLoginDTO.java | 29 +++++++++ .../token/dto/AnalysisUserTokenFormDTO.java | 25 ++++++++ .../com/elink/esua/epdc/dto/TemplateData.java | 13 ++++ .../esua/epdc/dto/WxAccessTokenBean.java | 35 ++++++++++ .../java/com/elink/esua/epdc/dto/WxMssVo.java | 19 ++++++ .../tools/constant/ServiceConstant.java | 5 ++ .../commons/tools/constant/StrConstant.java | 4 ++ .../epdc/commons/tools/enums/YesOrNoEnum.java | 8 ++- .../commons/tools/exception/ErrorCode.java | 1 + .../commons/tools/redis/UserDetailRedis.java | 2 + .../epdc/commons/tools/utils/DateUtils.java | 38 +++++++++++ .../epdc/commons/tools/utils/ExcelUtils.java | 64 +++++++++++++++++++ 13 files changed, 290 insertions(+), 1 deletion(-) create mode 100644 epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/AnalysisUserAuthorizationDTO.java create mode 100644 epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/AnalysisUserLoginDTO.java create mode 100644 epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/AnalysisUserTokenFormDTO.java create mode 100644 epdc-commons-tools-wx-ma/src/main/java/com/elink/esua/epdc/dto/TemplateData.java create mode 100644 epdc-commons-tools-wx-ma/src/main/java/com/elink/esua/epdc/dto/WxAccessTokenBean.java create mode 100644 epdc-commons-tools-wx-ma/src/main/java/com/elink/esua/epdc/dto/WxMssVo.java diff --git a/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/AnalysisUserAuthorizationDTO.java b/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/AnalysisUserAuthorizationDTO.java new file mode 100644 index 0000000..385e303 --- /dev/null +++ b/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/AnalysisUserAuthorizationDTO.java @@ -0,0 +1,48 @@ +package com.elink.esua.epdc.common.token.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @program: esua-epdc + * @description: 数据端用户授权信息 + * @author: wangtong + * @create: 2020-05-26 15:39 + **/ +@Data +public class AnalysisUserAuthorizationDTO implements Serializable { + + private static final long serialVersionUID = 519392456658807347L; + + /** + * 令牌 + */ + private String token; + + /** + * 过期时长,单位秒 + */ + private Integer expire; + + /** + * 部门名称 + */ + private String deptName; + + /** + * 用户标签key + */ + private String userTagKey; + + /** + * 注册状态 0-未注册,1-已注册 + */ + private String registerState; + + /** + * 用户所有角色权限信息 + */ + private List deptDataScopeList; +} \ No newline at end of file diff --git a/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/AnalysisUserLoginDTO.java b/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/AnalysisUserLoginDTO.java new file mode 100644 index 0000000..6c4f3bd --- /dev/null +++ b/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/AnalysisUserLoginDTO.java @@ -0,0 +1,29 @@ +package com.elink.esua.epdc.common.token.dto; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @program: esua-epdc + * @description: 数据端登录用户信息 + * @author: wangtong + * @create: 2020-05-26 15:32 + **/ +@Data +public class AnalysisUserLoginDTO implements Serializable { + + private static final long serialVersionUID = 3829451481560643039L; + + @NotBlank(message="用户名不能为空") + private String username; + + @NotBlank(message="密码不能为空") + private String password; + + @NotBlank(message="微信code不能为空") + private String wxCode; + + private String analysisOpenId; +} \ No newline at end of file diff --git a/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/AnalysisUserTokenFormDTO.java b/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/AnalysisUserTokenFormDTO.java new file mode 100644 index 0000000..4caf643 --- /dev/null +++ b/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/dto/AnalysisUserTokenFormDTO.java @@ -0,0 +1,25 @@ +package com.elink.esua.epdc.common.token.dto; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * @program: esua-epdc + * @description: 数据端获取token + * @author: wangtong + * @create: 2020-05-26 20:25 + **/ +@Data +public class AnalysisUserTokenFormDTO implements Serializable { + + private static final long serialVersionUID = 5119156831661625353L; + + @NotNull(message = "用户ID不能为空") + private Long id; + + @NotBlank(message = "用户名不能为空") + private String username; +} \ No newline at end of file diff --git a/epdc-commons-tools-wx-ma/src/main/java/com/elink/esua/epdc/dto/TemplateData.java b/epdc-commons-tools-wx-ma/src/main/java/com/elink/esua/epdc/dto/TemplateData.java new file mode 100644 index 0000000..2eff3a9 --- /dev/null +++ b/epdc-commons-tools-wx-ma/src/main/java/com/elink/esua/epdc/dto/TemplateData.java @@ -0,0 +1,13 @@ +package com.elink.esua.epdc.dto; + +import lombok.Data; + +/** + * @author wanggongfeng + * @date 2020/5/26 15:40 + */ +@Data +public class TemplateData { + //keyword1:信息1,keyword2:信息2,keyword3:信息3,keyword4:信息4,keyword5:参数5 + private String value;//,,依次排下去 +} diff --git a/epdc-commons-tools-wx-ma/src/main/java/com/elink/esua/epdc/dto/WxAccessTokenBean.java b/epdc-commons-tools-wx-ma/src/main/java/com/elink/esua/epdc/dto/WxAccessTokenBean.java new file mode 100644 index 0000000..5534524 --- /dev/null +++ b/epdc-commons-tools-wx-ma/src/main/java/com/elink/esua/epdc/dto/WxAccessTokenBean.java @@ -0,0 +1,35 @@ +package com.elink.esua.epdc.dto; + +/** + * 获取AccessToken + * @author wanggongfeng + * @date 2020/5/27 14:31 + */ +public class WxAccessTokenBean { + private String access_token; + private int expires_in = -1; + + public String getAccess_token() { + return access_token; + } + + public void setAccess_token(String access_token) { + this.access_token = access_token; + } + + public int getExpires_in() { + return expires_in; + } + + public void setExpires_in(int expires_in) { + this.expires_in = expires_in; + } + + @Override + public String toString() { + return "WxAccessTokenBean{" + + "access_token='" + access_token + '\'' + + ", expires_in=" + expires_in + + '}'; + } +} diff --git a/epdc-commons-tools-wx-ma/src/main/java/com/elink/esua/epdc/dto/WxMssVo.java b/epdc-commons-tools-wx-ma/src/main/java/com/elink/esua/epdc/dto/WxMssVo.java new file mode 100644 index 0000000..f30afad --- /dev/null +++ b/epdc-commons-tools-wx-ma/src/main/java/com/elink/esua/epdc/dto/WxMssVo.java @@ -0,0 +1,19 @@ +package com.elink.esua.epdc.dto; + +import lombok.Data; + +import java.util.Map; + +/** + * @author wanggongfeng + * @date 2020/5/26 15:39 + */ +@Data +public class WxMssVo { + private String touser;//用户openid + private String template_id;//模版id + private String page = "pages/index/index";//默认跳到小程序首页 + private String miniprogram_state;// 跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版 + private String lang = "zh_CN";// 进入小程序查看”的语言类型,支持zh_CN(简体中文)、en_US(英文)、zh_HK(繁体中文)、zh_TW(繁体中文),默认为zh_CN + private Map data;//推送文字 +} diff --git a/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/ServiceConstant.java b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/ServiceConstant.java index 0247e89..4f8439c 100644 --- a/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/ServiceConstant.java +++ b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/ServiceConstant.java @@ -103,4 +103,9 @@ public interface ServiceConstant { * 开放接口模块 */ String EPDC_API_SERVER = "epdc-api-server"; + + /** + * 数据分析模块 + */ + String EPDC_CLOUD_ANALYSIS_SERVER = "epdc-cloud-analysis-server"; } diff --git a/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/StrConstant.java b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/StrConstant.java index ee9566e..0e879f7 100644 --- a/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/StrConstant.java +++ b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/StrConstant.java @@ -43,4 +43,8 @@ public interface StrConstant { * 问号 */ String QUESTION_MARK = "?"; + /** + * 星号 + */ + String ASTERISK = "*"; } diff --git a/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/enums/YesOrNoEnum.java b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/enums/YesOrNoEnum.java index ca35dc4..ab734a6 100644 --- a/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/enums/YesOrNoEnum.java +++ b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/enums/YesOrNoEnum.java @@ -22,7 +22,13 @@ public enum YesOrNoEnum { /** * 否 */ - NO("0"); + NO("0"), + /** + * 待审核 + */ + WAIT("2"); + + private String value; diff --git a/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/exception/ErrorCode.java b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/exception/ErrorCode.java index 097b9ef..dc08b49 100644 --- a/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/exception/ErrorCode.java +++ b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/exception/ErrorCode.java @@ -40,4 +40,5 @@ public interface ErrorCode { int JSON_FORMAT_ERROR = 10016; int PARSING_ERROR = 10017; int INVALID_ERROR = 10018; + int VOLUNTEER_ERROR = 10021; } diff --git a/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/UserDetailRedis.java b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/UserDetailRedis.java index afb4258..166584d 100644 --- a/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/UserDetailRedis.java +++ b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/UserDetailRedis.java @@ -10,6 +10,7 @@ package com.elink.esua.epdc.commons.tools.redis; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.map.MapUtil; +import com.elink.esua.epdc.commons.tools.constant.StrConstant; import com.elink.esua.epdc.commons.tools.security.enums.UserKillEnum; import com.elink.esua.epdc.commons.tools.security.user.UserDetail; import com.elink.esua.epdc.commons.tools.security.enums.UserKillEnum; @@ -72,5 +73,6 @@ public class UserDetailRedis { redisUtils.delete(RedisKeys.getUserPermissionsKey(id)); redisUtils.delete(RedisKeys.getAdminUserDeptOptionKey(id)); redisUtils.delete(RedisKeys.getAllAdminUserDeptOptionKey(id)); + redisUtils.deleteByPattern(RedisKeys.getAdminUserDeptOptionKey(id).concat(StrConstant.ASTERISK)); } } diff --git a/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java index bff6daf..336e784 100644 --- a/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java +++ b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java @@ -17,6 +17,7 @@ import org.joda.time.format.DateTimeFormatter; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.util.Calendar; import java.util.Date; import java.util.Locale; @@ -211,4 +212,41 @@ public class DateUtils { return df2.format(date1); } + /** + * 获取上一个月字符串yyyy-MM + * @return + */ + public static String getLastMonth() { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM"); + Date date = new Date(); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); // 设置为当前时间 + calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) - 1); // 设置为上一个月 + date = calendar.getTime(); + String accDate = format.format(date); + return accDate; + } + + /** + * 获取当前月字符串yyyy-MM + * @return + */ + public static String getCurrentMonth() { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM"); + Date date = new Date(); + String currentDate = format.format(date); + return currentDate; + } + + /** + * 获取当前年字符串yyyy + * @return + */ + public static String getCurrentYear() { + SimpleDateFormat format = new SimpleDateFormat("yyyy"); + Date date = new Date(); + String currentDate = format.format(date); + return currentDate; + } + } diff --git a/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/ExcelUtils.java b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/ExcelUtils.java index f3f675b..59823be 100644 --- a/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/ExcelUtils.java +++ b/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/ExcelUtils.java @@ -20,12 +20,15 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; +import java.io.File; import java.io.IOException; import java.net.URLEncoder; import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * Excel工具类 @@ -145,4 +148,65 @@ public class ExcelUtils { public static boolean isExcel2007(String filePath) { return filePath.matches("^.+\\.(?i)(xlsx)$"); } + + /** + * 校验是否为数字字符串 并且 校验是否超过了一位小数 + * @param numStr + * @return + */ + public static Boolean checkNumber(String numStr){ + Pattern pattern = Pattern.compile("([1-9]\\d*\\.?\\d*)|(0\\.\\d*[1-9])|(0)"); + Matcher isNum = pattern.matcher(numStr); + if( !isNum.matches() ){ + return true; + } + int num = checkNumberLength(numStr); + if(num > 1){ + return true; + } + return false; + } + + /** + * 校验String类型数字有几位小数 + * @param s 传入的数字格式的字符串 + * @return + */ + public static int checkNumberLength(String s){ + int num = 0; + if(s.indexOf(".") != -1){ + String str = s.substring(s.indexOf(".")); + num = str.length()-1; + } + + return num; + } + + /** + * 删除文件夹(强制删除) + * + * @param path + */ + public static void deleteAllFilesOfDir(File path) { + if (null != path) { + if (!path.exists()) { + return; + } + if (path.isFile()) { + boolean result = path.delete(); + int tryCount = 0; + while (!result && tryCount++ < 10) { + System.gc(); // 回收资源 + result = path.delete(); + } + } + File[] files = path.listFiles(); + if (null != files) { + for (int i = 0; i < files.length; i++) { + deleteAllFilesOfDir(files[i]); + } + } + path.delete(); + } + } }