|
import cn.hutool.core.io.FileUtil;
|
import com.ltkj.LtkjApplication;
|
import com.ltkj.framework.config.MatchUtils;
|
import com.ltkj.hosp.domain.TjJcycxm;
|
import com.ltkj.hosp.idutil.IdUtils;
|
import jodd.util.StringUtil;
|
import lombok.extern.slf4j.Slf4j;
|
import org.junit.Test;
|
import org.junit.runner.RunWith;
|
import org.openqa.selenium.Dimension;
|
import org.openqa.selenium.WebDriver;
|
import org.openqa.selenium.chrome.ChromeDriver;
|
import org.openqa.selenium.chrome.ChromeOptions;
|
import org.openqa.selenium.support.ui.WebDriverWait;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
|
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.test.context.junit4.SpringRunner;
|
import java.math.BigDecimal;
|
import java.net.HttpURLConnection;
|
import java.net.URL;
|
import java.util.*;
|
import java.io.BufferedReader;
|
import java.io.InputStreamReader;
|
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.Executors;
|
import java.util.regex.Matcher;
|
import java.util.regex.Pattern;
|
import org.openqa.selenium.*;
|
|
import java.io.File;
|
import java.io.IOException;
|
/**
|
* @Author: 西安路泰科技有限公司/赵佳豪
|
* @Date: 2022/12/12 9:05
|
*/
|
@RunWith(SpringRunner.class)
|
@SpringBootTest(classes = LtkjApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
@Slf4j
|
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class})
|
public class zjhTest {
|
|
@Autowired
|
private IdUtils idUtils;
|
|
@Value("${token.secret_key}")
|
private String secret;
|
@Test
|
public void test() throws InterruptedException {
|
|
ExecutorService executorService = Executors.newFixedThreadPool(20); // 20个线程池
|
Set<String> numbers = Collections.synchronizedSet(new HashSet<>()); // 线程安全的Set,存放生成的编号
|
// 并发执行
|
for (int i = 0; i < 20; i++) {
|
executorService.execute(() -> {
|
try {
|
String number = idUtils.getNewTjNumberRedisLock(); // 调用获取编号的方法
|
numbers.add(number); // 添加到 Set
|
} catch (RuntimeException e) {
|
throw new RuntimeException(e);
|
}
|
});
|
}
|
System.out.println(numbers);
|
executorService.shutdown(); // 关闭线程池
|
|
}
|
|
|
public static void main(String[] args) throws Exception {
|
|
String s = "610124199809053678";
|
String s1 = "610622199805230627";
|
System.out.println(String.valueOf(MatchUtils.getAgeByIdCard(s)));
|
System.out.println(String.valueOf(MatchUtils.getAgeByIdCard(s1)));
|
|
}
|
|
|
/**
|
* 执行生成
|
* @param filePath 图片生成路径
|
* @return 是否成功
|
*/
|
private void chrome(String filePath) throws IOException {
|
System.setProperty("webdriver.chrome.driver", "D:\\tools\\chromedriver.exe");
|
ChromeOptions options = new ChromeOptions();
|
options.setBinary("D:\\tools\\124063440\\chrome.exe");
|
options.addArguments("--headless"); // 启用无头模式
|
options.addArguments("--disable-gpu"); // 禁用GPU加速
|
options.addArguments("--no-sandbox"); // 禁用沙盒模式(可选,适用于某些Linux环境)
|
System.setProperty("webdriver.chrome.verboseLogging", "true");
|
WebDriver driver = null;
|
try {
|
driver = new ChromeDriver(options);
|
driver.manage().window().setSize(new Dimension(600, 730));
|
driver.get("www.baidu.com");
|
WebDriverWait wait = new WebDriverWait(driver,10);
|
File screenshot = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
|
FileUtil.copyFile(screenshot, new File("D:\\"+filePath));
|
}catch (Exception e){
|
log.error("玩家信息异常 ->{}",String.valueOf(e));
|
}finally {
|
if (driver != null)
|
driver.quit();
|
}
|
}
|
|
/**
|
* 将科学计数法文本转换成字符文本
|
* @param number
|
* @return
|
*/
|
public static String translateToPlainStr(String number) {
|
|
return getString(number);
|
}
|
|
private static String getString(String number) {
|
if (null == number || number.trim().length() == 0) {
|
return number;
|
}
|
String regEx="^([\\+|-]?\\d+(.{0}|.\\d+))[Ee]{1}([\\+|-]?\\d+)$";
|
// 编译正则表达式
|
Pattern pattern = Pattern.compile(regEx);
|
// 忽略大小写的写法
|
// Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);
|
Matcher matcher = pattern.matcher(number);
|
// 字符串是否与正则表达式相匹配
|
boolean rs = matcher.matches();
|
// 判断是否为字符串的科学计数法
|
if(rs){
|
// 科学计数法转数字
|
BigDecimal originValue = new BigDecimal(number);
|
System.out.println("手机号为 ==> " + originValue.toPlainString());
|
// 数字转字符串
|
return originValue.toPlainString();
|
}
|
return number;
|
}
|
|
|
public static void forwardUrl(String targetUrl, String forwardUrl) throws Exception {
|
// 创建URL对象
|
URL url = new URL(forwardUrl);
|
|
// 打开连接
|
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
|
// 设置请求方法
|
connection.setRequestMethod("GET");
|
|
// 设置请求头,例如Referer或其他你需要转发的头信息
|
connection.setRequestProperty("Referer", targetUrl);
|
|
// 连接
|
connection.connect();
|
|
// 检查响应代码
|
int responseCode = connection.getResponseCode();
|
if (responseCode == HttpURLConnection.HTTP_OK) {
|
// 读取服务器响应
|
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
|
String inputLine;
|
StringBuilder response = new StringBuilder();
|
|
while ((inputLine = in.readLine()) != null) {
|
response.append(inputLine);
|
}
|
|
in.close();
|
|
// 打印服务器响应
|
System.out.println(response.toString());
|
} else {
|
System.out.println("GET request not worked");
|
}
|
|
// 关闭连接
|
connection.disconnect();
|
}
|
|
|
|
|
|
//
|
// public static String getAdd(String log, String lat ){
|
// //lat 小 log 大
|
// //参数解释: 纬度,经度 type 001 (100代表道路,010代表POI,001代表门址,111可以同时显示前三项)
|
// String urlString = "http://gc.ditu.aliyun.com/regeocoding?l="+lat+","+log+"&type=010";
|
// JSONObject salerJson=JSONObject.parseObject(getUrl(urlString));
|
// JSONObject jsonData=JSONObject.parseObject(String.valueOf(salerJson));
|
// /* JSONArray fileItemsjson = JSONArray.fromObject(jsonData.get("addrList").toString());
|
// System.out.println("地区"+fileItemsjson);
|
// JSONObject job = fileItemsjson.getJSONObject(0);*/
|
// return jsonData.toString();
|
// }
|
//
|
// public static String getUrl(String url)
|
// {
|
// String resData = null;
|
// StringBuffer s = new StringBuffer();
|
// BufferedReader bReader = null;
|
// try {
|
// //114.55.248.182
|
// URL urlWeb = new URL(url);
|
// URLConnection connection = urlWeb.openConnection();
|
// bReader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "utf-8"));
|
// while (null != (resData = bReader.readLine())) {
|
// s.append(resData);
|
// }
|
// bReader.close();
|
// } catch (MalformedURLException e) {
|
// e.printStackTrace();
|
// } catch (IOException e) {
|
// e.printStackTrace();
|
// }
|
// System.out.println(s);
|
// return s.toString();
|
// }
|
}
|