From 6b74e7a581a89d59e3e61e1b57a4570a3d031bc5 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期四, 05 六月 2025 16:25:44 +0800 Subject: [PATCH] 报告数据接口增加返回检查综述和医师建议 --- ltkj-admin/src/test/java/zjhTest.java | 213 +++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 158 insertions(+), 55 deletions(-) diff --git a/ltkj-admin/src/test/java/zjhTest.java b/ltkj-admin/src/test/java/zjhTest.java index dd3150e..4e62661 100644 --- a/ltkj-admin/src/test/java/zjhTest.java +++ b/ltkj-admin/src/test/java/zjhTest.java @@ -1,27 +1,38 @@ -import cn.hutool.core.date.DateUtil; +import cn.hutool.core.io.FileUtil; 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.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.RedisTemplate; -import org.springframework.data.redis.core.StringRedisTemplate; 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 javax.annotation.Resource; -import java.util.Date; -import java.util.List; - - +import java.io.File; +import java.io.IOException; /** * @Author: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃/璧典匠璞� * @Date: 2022/12/12 9:05 @@ -31,57 +42,149 @@ @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<String,String> redisTemplate; -// @Resource -// private StringRedisTemplate stringRedisTemplate; -@Resource -private IDictHospService dictHospService; + + @Autowired + private IdUtils idUtils; + @Value("${token.secret_key}") private String secret; @Test - public void test() { -// List<DictHosp> list = dictHospService.list(); -// for (DictHosp dictHosp : list) { -// String mallMerchantSecretKey = SecurityUtils.getMallMerchantSecretKey(secret,dictHosp.getHospAreaId(),dictHosp.getAreaid(), dictHosp.getExpirationTime()); -// dictHosp.setSecretKey(mallMerchantSecretKey); -// dictHosp.setExpirationTime(DateUtil.offsetDay(new Date(),30)); -// dictHospService.updateById(dictHosp); -// } + public void test() throws InterruptedException { + + 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) { - // lat 39.97646 - //log 116.3039 -// String add = getAdd("116.3039", "39.97646"); -// JSONObject jsonObject = JSONObject.parseObject(add); -// JSONArray jsonArray = JSONArray.parseArray(jsonObject.getString("addrList")); -// JSONObject j_2 = JSONObject.parseObject(String.valueOf(jsonArray.get(0))); -// String allAdd = j_2.getString("admName"); -// String arr[] = allAdd.split(","); -// System.out.println("鐪侊細"+arr[0]+"\n甯傦細"+arr[1]+"\n鍖猴細"+arr[2]); + public static void main(String[] args) throws Exception { -// String a ="浣犲ソ鍝堝搱鍝堝搱鍝堝搱"; -// String s = a.toUpperCase(Locale.ROOT); -// System.out.println(s); + String s = "620821201106110016"; + System.out.println(String.valueOf(MatchUtils.getSexByIdCard(s))); + + } + + + /** + * 鎵ц鐢熸垚 + * @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