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 | 195 ++++++++++++++++++++++++++---------------------- 1 files changed, 105 insertions(+), 90 deletions(-) diff --git a/ltkj-admin/src/test/java/zjhTest.java b/ltkj-admin/src/test/java/zjhTest.java index b3886f5..468e350 100644 --- a/ltkj-admin/src/test/java/zjhTest.java +++ b/ltkj-admin/src/test/java/zjhTest.java @@ -1,52 +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.pinyin.PinyinUtil; -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.framework.config.MatchUtils; -import com.ltkj.hosp.domain.DictHosp; -import com.ltkj.hosp.domain.TjCustomer; -import com.ltkj.hosp.domain.TjPackage; -import com.ltkj.hosp.domain.TjProject; -import com.ltkj.hosp.service.*; +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 javax.annotation.Resource; -import java.io.BufferedReader; -import java.io.InputStreamReader; +import java.math.BigDecimal; import java.net.HttpURLConnection; import java.net.URL; -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; import java.io.BufferedReader; import java.io.InputStreamReader; -import java.net.HttpURLConnection; -import java.net.URL; -import java.util.Properties; +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 @@ -56,79 +42,108 @@ @Slf4j @EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class}) public class zjhTest { -// -// @Autowired -// private ITjGroupingProService groupingProService; -// @Autowired -// private ITjProjectService projectService; -// @Resource -// private ITjCustomerService tjCustomerService; -// @Resource -// private ITjPackageService tjPackageService; -// -// @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; + + @Autowired + 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")); - -*/ - -// List<TjProject> list = projectService.list(); -// for (TjProject tjProject : list) { -// tjProject.setProEngName(PinyinUtil.getFirstLetter(tjProject.getProName(),"")); -// projectService.updateById(tjProject); -// } -// -// List<TjCustomer> list1 = tjCustomerService.list(); -// for (TjCustomer customer : list1) { -// customer.setPym(PinyinUtil.getFirstLetter(customer.getCusName(),"")); -// tjCustomerService.updateById(customer); -// } -// -// List<TjPackage> list2 = tjPackageService.list(); -// for (TjPackage tjPackage : list2) { -// tjPackage.setPym(PinyinUtil.getFirstLetter(tjPackage.getPacName(),"")); -// tjPackageService.updateById(tjPackage); -// } - - -// PinyinUtil.getFirstLetter(); + 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) throws Exception { + String s = "610124199809053678"; + String s1 = "610622199805230627"; + System.out.println(String.valueOf(MatchUtils.getAgeByIdCard(s))); + System.out.println(String.valueOf(MatchUtils.getAgeByIdCard(s1))); - - - public static void main(String[] args) { -// System.out.println(DateUtil.date()); -// System.out.println(DateUtil.offsetMonth(DateUtil.date(),-1)); } + /** + * 鎵ц鐢熸垚 + * @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(); + } + } - public static void forwardUrl(String targetUrl, String forwardUrl) throws Exception { + /** + * 灏嗙瀛﹁鏁版硶鏂囨湰杞崲鎴愬瓧绗︽枃鏈� + * @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); -- Gitblit v1.8.0