From 5f1d1c462bbf49bc6a22b9e17b49733bcc1e0bc6 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期五, 20 六月 2025 19:01:13 +0800 Subject: [PATCH] zjh20250620 --- ltkj-admin/src/test/java/zjhTest.java | 211 +++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 158 insertions(+), 53 deletions(-) diff --git a/ltkj-admin/src/test/java/zjhTest.java b/ltkj-admin/src/test/java/zjhTest.java index 7662430..468e350 100644 --- a/ltkj-admin/src/test/java/zjhTest.java +++ b/ltkj-admin/src/test/java/zjhTest.java @@ -1,37 +1,38 @@ -import cn.hutool.core.date.DateTime; -import cn.hutool.core.date.DateUnit; -import cn.hutool.core.date.DateUtil; import cn.hutool.core.io.FileUtil; -import cn.hutool.extra.qrcode.QrCodeUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ltkj.LtkjApplication; -import com.ltkj.common.core.redis.RedisCache; -import com.ltkj.common.utils.SecurityUtils; -import com.ltkj.hosp.domain.DictHosp; -import com.ltkj.hosp.domain.TjProject; -import com.ltkj.hosp.service.*; +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.data.redis.core.Cursor; -import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.data.redis.core.ScanOptions; -import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.web.bind.annotation.PostMapping; +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 javax.annotation.Resource; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - - +import java.io.File; +import java.io.IOException; /** * @Author: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃/璧典匠璞� * @Date: 2022/12/12 9:05 @@ -41,47 +42,151 @@ @Slf4j @EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class}) public class zjhTest { -// -// @Autowired -// private ITjGroupingProService groupingProService; + @Autowired - private ITjProjectService projectService; -// -// @Resource -// private ITjOrderService tjOrderService; -// @Resource -// private ITjOrderDetailService tjOrderDetailService; -// @Resource -// private ITjOrderRemarkService remarkService; -// - @Resource - private RedisCache redisCache; -// - @Autowired - public RedisTemplate<Object,Object> redisTemplate; -// @Resource -// private StringRedisTemplate stringRedisTemplate; -@Resource -private IDictHospService dictHospService; + private IdUtils idUtils; + @Value("${token.secret_key}") private String secret; @Test - public void test() { + public void test() throws InterruptedException { -// 鐢熸垚鎸囧畾url瀵瑰簲鐨勪簩缁寸爜鍒版枃浠讹紝瀹藉拰楂橀兘鏄�300鍍忕礌 - QrCodeUtil.generate("https://ltpeis.xaltjdkj.cn:5516/1000110001240327094056%E7%8E%89%E5%BF%A0_%E4%BD%93%E6%A3%80%E6%8A%A5%E5%91%8A.pdf", 300, 300, FileUtil.file("D:\\Users\\w\\Desktop\\qrcode.jpg")); - + ExecutorService executorService = Executors.newFixedThreadPool(20); // 20涓嚎绋嬫睜 + Set<String> numbers = Collections.synchronizedSet(new HashSet<>()); // 绾跨▼瀹夊叏鐨凷et锛屽瓨鏀剧敓鎴愮殑缂栧彿 + // 骞跺彂鎵ц + 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) { -// -// String a ="1,2,3"; -// boolean contains = a.contains("1"); -// System.out.println(contains); -// -// } + 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"); // 绂佺敤娌欑洅妯″紡锛堝彲閫夛紝閫傜敤浜庢煇浜汱inux鐜锛� + 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+)$"; + // 缂栬瘧姝e垯琛ㄨ揪寮� + Pattern pattern = Pattern.compile(regEx); + // 蹇界暐澶у皬鍐欑殑鍐欐硶 + // Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE); + Matcher matcher = pattern.matcher(number); + // 瀛楃涓叉槸鍚︿笌姝e垯琛ㄨ揪寮忕浉鍖归厤 + 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 澶� -- Gitblit v1.8.0