管道基础大数据平台系统开发-【后端】-Server
13693261870
2023-11-29 a3d8b2a5a449f2f633973786573b5306f29a517e
src/main/java/com/lf/server/helper/StringHelper.java
@@ -2,9 +2,12 @@
import com.lf.server.entity.all.StaticData;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -122,10 +125,31 @@
    }
    /**
     * 获取 like 字符串-2
     * 获取 like 字符串
     */
    public static String getLikeStr2(String str) {
        return StringHelper.isEmpty(str) ? "%" : "%" + str.trim() + "%";
    public static String getLikeUpperStr(String str) {
        return StringHelper.isEmpty(str) ? null : "%" + str.trim().toUpperCase() + "%";
    }
    /**
     * 获取 右like 字符串
     */
    public static String getRightLike(String str) {
        return StringHelper.isEmpty(str) ? null : str.trim() + "%";
    }
    /**
     * 获取图形的WKT字符串
     *
     * @param wkt
     * @return
     */
    public static String getGeomWkt(String wkt) {
        if (StringHelper.isEmpty(wkt)) {
            return "null";
        }
        return String.format("ST_GeomFromText('%s')", wkt);
    }
    /**
@@ -149,6 +173,10 @@
     * @return 是/否
     */
    public static boolean isSqlInjection(String str) {
        if (null == str) {
            return false;
        }
        Matcher m = sqlPattern.matcher(str);
        return m.matches();
@@ -158,34 +186,67 @@
     * 校验密码是/否合法
     *
     * @param pwd 密码
     * @return 是/否合法
     * @return 是/否为无效的
     */
    public static boolean checkPwdValid(String pwd) {
        return Pattern.matches(StaticData.PWD_REG, pwd);
    public static boolean isPwdInvalid(String pwd) {
        return !Pattern.matches(StaticData.PWD_REG, pwd);
    }
    /**
     * 获取GUID
     */
    public static String getGuid() {
        return UUID.randomUUID().toString();
    }
    /**
     * 获取分钟差数
     */
    public static long getMinuteDifference(Timestamp ts) {
        return (ts.getTime() - System.currentTimeMillis()) / 1000 / 60;
    }
    /**
     * 连接List集合
     * @param list 整数集合
     * @param join 连接字符
     * @return
     *
     * @param list list 整数集合
     * @param join join 连接字符
     * @param <T>  泛型类
     * @return 字符串
     */
    public static String join(List<Integer> list, String join) {
    public static <T> String join(List<T> list, String join) {
        if (null == list || list.isEmpty()) {
            return "";
        }
        StringBuilder sb = new StringBuilder();
        for (Integer i : list) {
            if (null != i) {
                sb.append(i.toString() + join);
        for (T t : list) {
            if (null != t) {
                sb.append(t.toString()).append(join);
            }
        }
        if (sb.length() > 0 && sb.lastIndexOf(join) == sb.length() - 1) {
            sb.deleteCharAt(sb.length() -1 );
        if (sb.length() > 0 && sb.lastIndexOf(join) == sb.length() - join.length()) {
            // 删除从索引 start 开始到 end 之间的字符,即 前包括 后不包括。
            sb.delete(sb.length() - join.length(), sb.length());
        }
        return sb.toString();
    }
    /**
     * 字符串转整数集合
     */
    public static List<Integer> strToIntegers(String str) {
        if (StringHelper.isEmpty(str)) {
            return null;
        }
        List<Integer> list = new ArrayList<>();
        for (String s : str.split(StaticData.COMMA)) {
            list.add(Integer.parseInt(s));
        }
        return list;
    }
}