zjh
2024-12-30 1b7ed7edb09aaecf68ddf3396ee007bc6eadf52a
ltkj-admin/src/test/java/zjhTest.java
@@ -1,36 +1,44 @@
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.qrcode.QrCodeUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import cn.hutool.extra.pinyin.PinyinUtil;
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.domain.TjProject;
import com.ltkj.hosp.service.*;
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;
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.util.ArrayList;
import java.util.Date;
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.io.BufferedReader;
import java.io.InputStreamReader;
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: 西安路泰科技有限公司/赵佳豪
@@ -46,6 +54,10 @@
//    private ITjGroupingProService groupingProService;
    @Autowired
    private ITjProjectService projectService;
//    @Resource
//    private ITjCustomerService tjCustomerService;
//    @Resource
//    private ITjPackageService tjPackageService;
//
//    @Resource
//    private ITjOrderService tjOrderService;
@@ -54,40 +66,178 @@
//    @Resource
//    private ITjOrderRemarkService remarkService;
//
    @Resource
    private RedisCache redisCache;
//
    @Autowired
    public RedisTemplate<Object,Object> redisTemplate;
//    @Resource
//    private RedisCache redisCache;
////
//    @Autowired
//    public RedisTemplate<Object,Object> redisTemplate;
////    @Resource
//    private StringRedisTemplate stringRedisTemplate;
@Resource
private IDictHospService dictHospService;
//@Resource
//private IDictHospService dictHospService;
    @Value("${token.secret_key}")
    private String secret;
    @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"));
*/
    }
    public static void main(String[] args) {
//        String dateStr1 = "2024-03-01 22:33:23";
//        Date date1 = DateUtil.parse(dateStr1);
//        List<TjProject> list = projectService.list();
//        for (TjProject tjProject : list) {
//            tjProject.setProEngName(PinyinUtil.getFirstLetter(tjProject.getProName(),""));
//            projectService.updateById(tjProject);
//        }
//
////相差一个月,31天
//        long betweenDay = DateUtil.between(new Date(),date1, DateUnit.DAY);
//        System.out.println(betweenDay);
//        System.out.println(DateUtil.between(new Date(),date1, DateUnit.MS));
//        System.out.println(DateUtil.between(new Date(),date1, DateUnit.SECOND));
//        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);
//        }
        System.out.println(DateUtil.date().toDateStr());
        System.out.println(DateUtil.date().toString());
//        PinyinUtil.getFirstLetter();
    }
        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);
        }
    /**
     * 执行生成
     * @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");  // 禁用沙盒模式(可选,适用于某些Linux环境)
        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+)$";
        // 编译正则表达式
        Pattern pattern = Pattern.compile(regEx);
        // 忽略大小写的写法
        // Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);
        Matcher matcher = pattern.matcher(number);
        // 字符串是否与正则表达式相匹配
        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  大