Merge remote-tracking branch 'origin/master'

master
wujingtao 3 years ago
commit 558f25b18e

1
.gitignore vendored

@ -24,6 +24,7 @@ gen
# Mobile Tools for Java (J2ME) # Mobile Tools for Java (J2ME)
.mtj.tmp/ .mtj.tmp/
# Package Files # # Package Files #
*.jar *.jar
*.war *.war

@ -86,6 +86,15 @@ public class SecurityUtils {
return JSONUtil.toList(array,Long.class); return JSONUtil.toList(array,Long.class);
} }
/**
*
* @return /
*/
public static JSONObject getUser(){
UserDetails userDetails = getCurrentUser();
return new JSONObject(new JSONObject(userDetails).get("user"));
}
/** /**
* *
* @return * @return

@ -0,0 +1,18 @@
package me.zhengjie.modules.dmp.rest;
import io.swagger.annotations.Api;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author Enzo
* @date : 2022/3/1
*/
@RestController
@RequiredArgsConstructor
@Api(tags = "数据解析与图表展示")
@RequestMapping("/api/dmp")
public class DMPController {
}

@ -0,0 +1,191 @@
package me.zhengjie.modules.uploadnew.util;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.poi.excel.ExcelReader;
import cn.hutool.poi.excel.ExcelUtil;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @author Enzo
* @date : 2021/10/28
*/
public class CheckPhone {
/**
*
**/
private static final String PHONE_CALL_PATTERN = "^(\\(\\d{3,4}\\)|\\d{3,4}-)?\\d{7,8}(-\\d{1,4})?$";
/**
* 133,153,180,181,189,177,1700
**/
private static final String CHINA_TELECOM_PATTERN = "(^1(33|53|77|8[019])\\d{8}$)|(^1700\\d{7}$)";
/**
* 130,131,132,155,156,185,186,145,176,1709
**/
private static final String CHINA_UNICOM_PATTERN = "(^1(3[0-2]|4[5]|5[56]|7[6]|8[56])\\d{8}$)|(^1709\\d{7}$)";
/**
*
* 134,135,136,137,138,139,150,151,152,157,158,159,182,183,184
* ,187,188,147,178,1705
**/
private static final String CHINA_MOBILE_PATTERN = "(^1(3[4-9]|4[7]|5[0-27-9]|7[8]|8[2-478])\\d{8}$)|(^1705\\d{7}$)";
/**
*
*
* @param str
* @return true, false
* @author LinBilin
*/
public static boolean isPhoneCallNum(String str) {
return str == null || str.trim().equals("") ? false : match(
PHONE_CALL_PATTERN, str);
}
/**
*
*
* @param str
* @return true, false
* @author LinBilin
*/
public static boolean isChinaTelecomPhoneNum(String str) {
return str == null || str.trim().equals("") ? false : match(
CHINA_TELECOM_PATTERN, str);
}
/**
*
*
* @param str
* @return true, false
* @author LinBilin
*/
public static boolean isChinaUnicomPhoneNum(String str) {
return str == null || str.trim().equals("") ? false : match(
CHINA_UNICOM_PATTERN, str);
}
/**
*
*
* @param str
* @return true, false
* @author LinBilin
*/
public static boolean isChinaMobilePhoneNum(String str) {
return str == null || str.trim().equals("") ? false : match(
CHINA_MOBILE_PATTERN, str);
}
/**
*
*
* @param str
* @return true, false
* @author LinBilin
*/
public static boolean isPhoneNum(String str) {
// 如果字符串为空直接返回false
if (str == null || str.trim().equals("")) {
return false;
} else {
int comma = str.indexOf(",");// 是否含有逗号
int caesuraSign = str.indexOf("、");// 是否含有顿号
int space = str.trim().indexOf(" ");// 是否含有空格
if (comma == -1 && caesuraSign == -1 && space == -1) {
// 如果号码不含分隔符,直接验证
str = str.trim();
return (isPhoneCallNum(str) || isChinaTelecomPhoneNum(str)
|| isChinaUnicomPhoneNum(str) || isChinaMobilePhoneNum(str)) ? true
: false;
} else {
// 号码含分隔符,先把分隔符统一处理为英文状态下的逗号
if (caesuraSign != -1) {
str = str.replaceAll("、", ",");
}
if (space != -1) {
str = str.replaceAll(" ", ",");
}
String[] phoneNumArr = str.split(",");
//遍历验证
for (String temp : phoneNumArr) {
temp = temp.trim();
if (isPhoneCallNum(temp) || isChinaTelecomPhoneNum(temp)
|| isChinaUnicomPhoneNum(temp)
|| isChinaMobilePhoneNum(temp)) {
continue;
} else {
return false;
}
}
return true;
}
}
}
/**
*
*
* @param pat
* @param str
* @return true, false
*/
private static boolean match(String pat, String str) {
Pattern pattern = Pattern.compile(pat);
Matcher match = pattern.matcher(str);
return match.find();
}
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("C:\\Users\\a\\Desktop\\7月.txt");
list.add("C:\\Users\\a\\Desktop\\8月.txt");
list.add("C:\\Users\\a\\Desktop\\9月份.txt");
List<String> resultList = new ArrayList<>();
List<String> duplicationList = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
ExcelReader reader = ExcelUtil.getReader(FileUtil.file(list.get(i)));
if (!CollectionUtils.isEmpty(reader.read())) {
for (List<Object> objects : reader.read()) {
String phone = objects.toString();
if (phone.startsWith(StrUtil.BRACKET_START) && phone.endsWith(StrUtil.BRACKET_END) && phone.length() > 11) {
if (phone.length() == 13) {
resultList.add(phone.substring(1, 12));
}
}
}
}
}
ExcelReader reader = ExcelUtil.getReader(FileUtil.file("C:\\Users\\a\\Desktop\\无标题.txt"));
for (List<Object> objects : reader.read()) {
String phone = objects.toString();
if (phone.startsWith(StrUtil.BRACKET_START) && phone.endsWith(StrUtil.BRACKET_END) && phone.length() > 11) {
if (phone.length() == 13) {
duplicationList.add(phone.substring(1, 12));
}
}
}
}
}

@ -46,9 +46,9 @@ spring:
redis: redis:
#数据库索引 #数据库索引
database: 0 database: 0
host: 127.0.0.1 host: 118.178.137.129
port: 6379 port: 6379
password: '012099' password:
#连接超时时间 #连接超时时间
timeout: 5000 timeout: 5000
@ -137,8 +137,8 @@ sys:
debug: true debug: true
redisson: redisson:
address: redis://127.0.0.1:6379 address: redis://118.178.137.129:6379
password: '012099' password:

@ -1,5 +1,5 @@
server: server:
port: 8000 port: 8888
# 解决 最大缓冲区不够的问题 # 解决 最大缓冲区不够的问题
max-http-header-size: 8999 max-http-header-size: 8999
spring: spring:

Loading…
Cancel
Save