From dedacd79c93f8ef95e0cb986f5e7fbd27ddbd907 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期四, 03 七月 2025 09:12:49 +0800
Subject: [PATCH] 2025-07-03

---
 ltkj-framework/src/main/java/com/ltkj/framework/config/MatchUtils.java |   95 +++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 83 insertions(+), 12 deletions(-)

diff --git a/ltkj-framework/src/main/java/com/ltkj/framework/config/MatchUtils.java b/ltkj-framework/src/main/java/com/ltkj/framework/config/MatchUtils.java
index c238163..5952351 100644
--- a/ltkj-framework/src/main/java/com/ltkj/framework/config/MatchUtils.java
+++ b/ltkj-framework/src/main/java/com/ltkj/framework/config/MatchUtils.java
@@ -1,11 +1,12 @@
 package com.ltkj.framework.config;
 
+import cn.hutool.core.date.DateUtil;
 import com.ltkj.common.utils.StringUtils;
 
-import java.util.Calendar;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.*;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -211,9 +212,9 @@
         if (matches && idCardBuilder.length() == SECOND_ID_CARD_LENGTH) {
             int index = getIdCardCheckIndex(idCardBuilder);
             // 鑾峰彇浼犲叆韬唤璇佺殑妫�楠岀爜
-            //String check = String.valueOf(idCardBuilder.charAt(idCardBuilder.length() - 1));
+            String check = String.valueOf(idCardBuilder.charAt(idCardBuilder.length() - 1));
             // 妫�楠岀爜鏍¢獙
-            //return StringUtils.equalsIgnoreCase(CHECK_INDEX[index], check);
+            return StringUtils.equalsIgnoreCase(CHECK_INDEX[index], check);
         }
         return matches;
     }
@@ -247,9 +248,9 @@
     /**
      * @desc 閫氳繃韬唤璇佽幏鍙栧嚭鐢熸棩鏈�
      */
-    public static String getBirthDayByIdCard(String idCard) {
+    public static Date getBirthDayByIdCard(String idCard) throws Exception {
         if (!isIdCard(idCard)) {
-            return "idCard error!";
+            throw new Exception("韬唤璇佷笉姝g‘");
         }
         // 鑾峰彇韬唤璇佺殑鍑虹敓骞存湀鏃ヤ覆
         String birth = getIdCardBirthDayStr(idCard);
@@ -257,7 +258,14 @@
         int year = Integer.parseInt(birth.substring(0, 4));
         int month = Integer.parseInt(birth.substring(4, 6));
         int day = Integer.parseInt(birth.substring(6, 8));
-        return year + "-" + month + "-" + day;
+        String sr= year + "-" + month + "-" + day;
+        // 瑙f瀽涓� Date
+        Date date = DateUtil.parse(sr, "yyyy-MM-dd");
+        // 杞崲涓� LocalDateTime
+        LocalDateTime dateTime = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
+        // 璁剧疆鍥哄畾鏃跺垎绉�
+        dateTime = dateTime.withHour(12).withMinute(34).withSecond(56);
+        return Date.from(dateTime.atZone(ZoneId.systemDefault()).toInstant());
     }
 
     /**
@@ -311,7 +319,7 @@
     /**
      * @desc 璁$畻鍑烘牎楠岀爜鎵�鍦ㄦ牎楠岀爜鏁扮粍鐨勪笅鏍囧��
      */
-    private static int getIdCardCheckIndex(StringBuilder idCardBuilder) {
+    public static int getIdCardCheckIndex(StringBuilder idCardBuilder) {
         // 鍒ゆ柇浼犲叆鐨勬槸17浣嶈繕鏄�18浣嶈韩浠借瘉鍙�
         int length = idCardBuilder.length() == SECOND_ID_CARD_LENGTH ? idCardBuilder.length() - 1 : idCardBuilder.length();
         // 璁$畻鍑烘牎楠岀爜
@@ -365,6 +373,34 @@
             nativePlace += quxian;
         }
         return nativePlace;
+    }
+
+    /**
+     *  灏唀xcel琛ㄤ腑绉戝璁℃暟鏍煎紡鐨勬墜鏈哄彿杞垚瀛楃涓插舰寮�
+     * @param  number
+     * @return
+     */
+    public static String translateToPlainStr(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;
     }
 
     private static String getNameString(int code) {
@@ -7407,10 +7443,12 @@
      * @return
      */
     public static String hidePhoneNum(String phoneNum){
+        if (phoneNum==null){
+            return "";
+        }
         if(phoneNum.contains("*")){
             return phoneNum;
         }
-
         Pattern pattern = Pattern.compile("((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(17[0,1,3,5,6,7,8])|(18[0-9])|(19[8|9]))\\d{8}");
         Matcher matcher = pattern.matcher(phoneNum);
         StringBuffer sb = new StringBuffer();
@@ -7435,6 +7473,9 @@
      */
     public static String hideIdCardNum(String idCardNum){
 
+        if (idCardNum==null){
+            return "";
+        }
         if(idCardNum.contains("*")){
             return idCardNum;
         }
@@ -7465,10 +7506,12 @@
      * @return
      */
     public static String hideCusName(String cusName){
+        if (cusName==null){
+            return "";
+        }
         if(cusName.contains("*")){
             return cusName;
         }
-
         String realname=null;
         char[] r =  cusName.toCharArray();
         if(r.length ==1){
@@ -7482,4 +7525,32 @@
         }
         return realname;
     }
+
+    /**
+     * 鏍规嵁鏃堕棿娈靛垽鏂笂鍗堣繕鏄笅鍗�
+     *
+     * @param timeSlot
+     * @return
+     */
+//    public static String getMorA(String timeSlot){
+//        String reg="";
+//        switch (timeSlot){
+//            case "1":
+//            case "2":
+//            case "3":
+//            case "4":
+//                reg="涓婂崍";
+//                break;
+//
+//            case "5":
+//            case "6":
+//            case "7":
+//                reg="涓嬪崍";
+//                break;
+//
+//            default:break;
+//        }
+//
+//        return reg;
+//    }
 }

--
Gitblit v1.8.0