zjh
2025-04-02 cf84e1347914b92e46c6a63155fff74282490890
ltkj-admin/src/test/java/zjhTest.java
@@ -1,20 +1,14 @@
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.hosp.idutil.IdUtils;
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,21 +19,17 @@
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: 西安路泰科技有限公司/赵佳豪
 * @Date: 2022/12/12 9:05
@@ -49,85 +39,71 @@
@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;
    @Test
    public void test() {
    public void test() throws InterruptedException {
        List<TjProject> list = projectService.list();
        for (TjProject project : list) {
            project.setProEngName(PinyinUtil.getFirstLetter(project.getProName(),""));
            projectService.updateById(project);
        ExecutorService executorService = Executors.newFixedThreadPool(20); // 20个线程池
        Set<String> numbers = Collections.synchronizedSet(new HashSet<>()); // 线程安全的Set,存放生成的编号
        // 并发执行
        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);
                }
            });
        }
/*
// 生成指定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();
        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) {
            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);
            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));
            }
        }