From 767e25b35c688a8642c299065e4fe8421534b7df Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期四, 03 四月 2025 17:56:12 +0800
Subject: [PATCH] 小程序接口

---
 ltkj-admin/src/test/java/zjhTest.java |  226 +++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 134 insertions(+), 92 deletions(-)

diff --git a/ltkj-admin/src/test/java/zjhTest.java b/ltkj-admin/src/test/java/zjhTest.java
index b3886f5..d60c4e3 100644
--- a/ltkj-admin/src/test/java/zjhTest.java
+++ b/ltkj-admin/src/test/java/zjhTest.java
@@ -1,52 +1,35 @@
 
-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.idutil.IdUtils;
 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 +39,138 @@
 @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 {
+            List<String> numbers = Arrays.asList(
+                    "25032800283", "25032800284", "25032800285", "25032800286",
+                    "25032800287", "25032800288", "25032800289", "25032800290",
+                    "25032800291", "25032800292", "25032800293", "25032800294",
+                    "25032800295", "25032800296", "25032800297", "25032800298",
+                    "25032800299", "25032800300", "25032800301", "25032800302",
+                    "25032800303", "25032800304", "25032800305", "25032800306",
+                    "25032800307", "25032800308", "25032800309", "25032800310",
+                    "25032800311", "25032800312", "25032800313", "25032800314",
+                    "25032800315", "25032800316", "25032800317", "25032800318",
+                    "25032800319", "25032800320", "25032800321", "25032800322",
+                    "25032800323", "25032800324", "25032800325", "25032800326",
+                    "25032800327", "25032800328", "25032800329", "25032800330",
+                    "25032800331", "25032800332", "25032800333", "25032800334",
+                    "25032800335", "25032800336", "25032800337", "25032800338",
+                    "25032800339", "25032800340", "25032800341", "25032800342",
+                    "25032800343", "25032800344", "25032800345", "25032800346",
+                    "25032800347", "25032800348", "25032800349", "25032800350",
+                    "25032800351", "25032800352", "25032800353", "25032800354",
+                    "25032800355", "25032800356", "25032800357", "25032800358",
+                    "25032800359", "25032800360", "25032800361", "25032800362",
+                    "25032800363", "25032800364", "25032800365", "25032800366",
+                    "25032800367", "25032800368", "25032800369", "25032800370",
+                    "25032800371", "25032800372", "25032800373", "25032800374"
+            );
 
-
-
-
-        public static void main(String[] args) {
-//            System.out.println(DateUtil.date());
-//            System.out.println(DateUtil.offsetMonth(DateUtil.date(),-1));
+            Set<String> uniqueNumbers = new HashSet<>(numbers);
+            if (uniqueNumbers.size() == numbers.size()) {
+                System.out.println("鉁� 娌℃湁閲嶅缂栧彿锛�");
+            } else {
+                System.out.println("鉂� 鍙戠幇閲嶅缂栧彿锛�");
+                numbers.stream()
+                        .filter(n -> Collections.frequency(numbers, n) > 1)
+                        .distinct()
+                        .forEach(n -> System.out.println("閲嶅鐨勭紪鍙凤細" + n));
+            }
         }
 
 
+    /**
+     * 鎵ц鐢熸垚
+     * @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