From 9ac01b48ef00a0855306d72e8c680b912a9a8d03 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期四, 07 八月 2025 08:44:50 +0800 Subject: [PATCH] zjh20250807 --- ltkj-admin/src/test/java/zjhTest.java | 146 ++++++++++++++++++++++-------------------------- 1 files changed, 66 insertions(+), 80 deletions(-) diff --git a/ltkj-admin/src/test/java/zjhTest.java b/ltkj-admin/src/test/java/zjhTest.java index 4e1c624..4f48657 100644 --- a/ltkj-admin/src/test/java/zjhTest.java +++ b/ltkj-admin/src/test/java/zjhTest.java @@ -1,20 +1,17 @@ -import cn.hutool.core.date.DateUtil; import cn.hutool.core.io.FileUtil; -import cn.hutool.extra.pinyin.PinyinUtil; -import com.ltkj.LtkjApplication; -import com.ltkj.hosp.domain.TjProject; -import com.ltkj.hosp.service.*; +import com.ltkj.LtkjApplication;import com.ltkj.framework.config.MatchUtils; +import com.ltkj.hosp.domain.TjJcycxm; +import com.ltkj.hosp.idutil.IdUtils; +import com.ltkj.system.service.ISysConfigService; +import jodd.util.StringUtil; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import org.junit.runner.RunWith; -import org.openqa.selenium.By; import org.openqa.selenium.Dimension; import org.openqa.selenium.WebDriver; -import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; -import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -25,20 +22,19 @@ import java.math.BigDecimal; import java.net.HttpURLConnection; import java.net.URL; -import java.time.LocalTime; -import java.time.ZonedDateTime; -import java.util.List; +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 org.springframework.core.io.ClassPathResource; + import java.io.File; import java.io.IOException; -import java.time.Duration; -import static javafx.scene.input.ScrollEvent.VerticalTextScrollUnits.PAGES; + /** * @Author: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃/璧典匠璞� @@ -49,87 +45,77 @@ @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; + private IdUtils idUtils; + @Value("${token.secret_key}") private String secret; + + @Autowired + private ISysConfigService configService; @Test - public void test() { - - - List<TjProject> list = projectService.list(); - for (TjProject project : list) { - project.setProEngName(PinyinUtil.getFirstLetter(project.getProName(),"")); - projectService.updateById(project); - } -/* - -// 鐢熸垚鎸囧畾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); -// } + public void test() throws InterruptedException { // -// List<TjCustomer> list1 = tjCustomerService.list(); -// for (TjCustomer customer : list1) { -// customer.setPym(PinyinUtil.getFirstLetter(customer.getCusName(),"")); -// tjCustomerService.updateById(customer); +// 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); +// } +// }); // } -// -// List<TjPackage> list2 = tjPackageService.list(); -// for (TjPackage tjPackage : list2) { -// tjPackage.setPym(PinyinUtil.getFirstLetter(tjPackage.getPacName(),"")); -// tjPackageService.updateById(tjPackage); -// } +// System.out.println(numbers); +// executorService.shutdown(); // 鍏抽棴绾跨▼姹� - -// PinyinUtil.getFirstLetter(); +// String regex = configService.selectConfigByKey("jcycxmzz"); +// String input = "鍙充晶棰堟�诲姩鑴夊彲瑙佽寖鍥�4.2x1.3mm鏂戝潡锛涘乏渚ч鍐呭姩鑴夊彲瑙佽寖鍥�7.8x1.5mm鏂戝潡锛屼綑绠¤厰鍐呮湭瑙佹槑鏄惧紓甯稿洖澹帮紝CDFI锛氬叾鍐呭僵鑹茶娴佸厖鐩堣壇濂斤紝琛�娴侀�熷害姝e父"; +// String[] split = input.replaceAll("\n", "").split(regex); +// System.out.println(split); } + private static final String[] CHECK_INDEX = {"1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"}; + public static void main(String[] args) throws Exception { - - - - public static void main(String[] args) { - ZonedDateTime now = ZonedDateTime.now(); - LocalTime time = now.toLocalTime(); - boolean isInRange = time.isAfter(LocalTime.of(14, 0)) && time.isBefore(LocalTime.of(10, 0)); - - System.out.println("褰撳墠鏃堕棿鏄惁鍦ㄦ棭涓�8鐐瑰埌10鐐逛箣闂�: " + isInRange); + String s = "62272219610528411X"; + System.out.println(isValidIdCard(s) ? "鍚堟硶" : "闈炴硶"); } + public static boolean isValidIdCard(String idCardNumber) { + // 姝e垯琛ㄨ揪寮忥紝鍖归厤韬唤璇佸彿鐮佺殑鏍煎紡 + String regex = "(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)"; + Pattern pattern = Pattern.compile(regex); + Matcher matcher = pattern.matcher(idCardNumber); + + // 鍒ゆ柇鏄惁鍖归厤韬唤璇佸彿鐮佺殑鏍煎紡 + if (!matcher.matches()) { + return false; + } + + // 楠岃瘉韬唤璇佸彿鐮佷腑鐨勬牎楠屼綅 + if (idCardNumber.length() == 18) { + int[] weights = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2}; + char[] chars = idCardNumber.toCharArray(); + int sum = 0; + for (int i = 0; i < weights.length; i++) { + sum += (chars[i] - '0') * weights[i]; + } + char[] checkCodes = {'1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'}; + char checkCode = checkCodes[sum % 11]; + return chars[17] == checkCode || (chars[17] == 'x' && checkCode == 'X'); + } + + return true; + } + /** * 鎵ц鐢熸垚 -- Gitblit v1.8.0