111
k94314517
2025-02-17 000c62b9a5b19197fcd93db6382841cedb0c4537
server/services/src/main/java/com/doumee/core/constants/Constants.java
@@ -5,15 +5,15 @@
import org.apache.commons.lang3.StringUtils;
import javax.servlet.http.HttpServletRequest;
import java.awt.*;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.*;
import java.util.List;
import java.util.UUID;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -25,26 +25,48 @@
  public static final String TOKEN ="TOKEN" ;
    public static final String SYSTEM ="SYSTEM" ;
    public static final String DINGDING ="DINGDING" ;
    public static final String DINGDING_APPKEY ="DINGDING_APPKEY" ;
    public static final String DINGDING_CHATTOKEN ="DINGDING_CHATTOKEN" ;
    public static final String DINGDING_ROBOTCODE ="DINGDING_ROBOTCODE" ;
    public static final String DINGDING_SECRET ="DINGDING_SECRET" ;
    public static final String DINGDING_TOKEN ="DINGDING_TOKEN" ;
    public static final String MINI_PROGRAMME ="MINI_PROGRAMME" ;
    public static final String FREE_RENT_TIME ="FREE_RENT_TIME" ;
    public static final String ACCESS_TOKEN ="ACCESS_TOKEN" ;
    public static final String IMG_DIR = "IMG_DIR";
    public static final String FILE_DIR ="FILE_DIR" ;
    public static final String PRIVATE_KEY = "PRIVATE_KEY";
    public static final String PROJECT_FILE = "PROJECT_FILE";
    public static final String PROJECTS = "PROJECTS";
    public static final String DISCOUNT = "DISCOUNT";
    public static final String FORCE_BACK_LOCK = "FORCE_BACK_LOCK";
    public static final String FORCE_BACK_SITE = "FORCE_BACK_SITE";
    //车辆类型数据
    public static final String  BIKE_TYPE ="0,1,2,3,4,5,6,7,8" ;
    public static final String MINI_PROGRAMME_REALEASE ="MINI_PROGRAMME_REALEASE" ;
    public static final int FOUR =4 ;
    public static String REDIS_DEBUG_STR="test_";
    public static final String AD = "AD";
    public static String REPAIR = "REPAIR";
    public static final String NOTICE_SITE_LINK_LIMIT="NOTICE_SITE_LINK_LIMIT";
    public static boolean equalsInteger(Integer a, Integer b) {
        if (formatIntegerNum(a) == formatIntegerNum(b)) {
            return true;
        }
        return false;
    }
    public  interface MqttTopic{
        String topic_index = "device/lock/";
        //开锁(发布)
        String pub_openLock = "device/lock/{siteId}/{lockId}/unlock";
        //站点全量锁头数量信息
        String sub_siteInfo = "device/lock/+/siteInfo";
        //管理员刷卡记录上报
        String sub_adminCard = "device/lock/+/+/adminCard";
        //锁信息,在初始化、状态变更时会推送锁的完整状态(订阅)
        String sub_lockInfo = "device/lock/+/+/info";
        //还车锁头(订阅)
@@ -88,11 +110,11 @@
      //交易类型 0租车押金 1结算实际消费 2结算退款 3平台退款"
        DEPOSIT(0,"租车押金", "租车押金"),
        CONSUMPTION(1,"结算实际消费", "结算实际消费"),
        CONSUMPTION(1,"订单消费结算", "订单消费结算"),
        REFUND(2,"结算退款", "结算退款"),
        REFUND(2,"结算退押金", "结算退押金"),
        PLATFORMREFUND(3,"平台退款", "平台退款")
        PLATFORMREFUND(3,"平台退押金", "平台退押金")
        ;
        String name;
@@ -192,8 +214,11 @@
        //钉钉通知地址
        public static final String DINGDING_URL = "DINGDING_URL";
        //钉钉签名
        public static final String DINGDING_SECRET = "DINGDING_SECRET";
        public static void main(String[] args) {
            double[][] polygon = {{120, 30}, {121, 30}, {121, 31}, {120, 31}}; // 经纬度列表表示多边形顶点
            boolean isInside = isPointInPolygon(122.5, 30.5, polygon);
            System.out.println("Is inside: " + isInside);
        }
        //小程序满载预警(%)最大值
        public static final String WARN_MAX = "WARN_MAX";
        //小程序满载预警(%)最小值
@@ -212,6 +237,14 @@
                return 0;
            }
            return num;
        }
        public static Integer formatIntegerFromStr(String num) {
            try {
                return  Integer.parseInt(num);
            }catch (Exception e){
            }
            return null;
        }
        public interface UserActionsType {
@@ -327,13 +360,13 @@
    public enum REFUND_TYPE{
        // '退款类型 0用户结算退款 1平台自动结算退款 2强制结算退款 3结算后退款'
        NORMAL(  0,"用户结算退款",""),
        NORMAL(  0,"用户结算退款","结算退押金"),
        PLAT_AUTO( 1,"平台自动结算退款",""),
        PLAT_AUTO( 1,"平台自动结算退款","平台退押金"),
        PLAT_FORCE( 2,"强制结算退款",""),
        PLAT_FORCE( 2,"强制结算退款","平台退押金"),
        BACK( 3,"结算后退款",""),
        BACK( 3,"结算后退款","平台退款"),
        ;
        String name;
@@ -573,4 +606,19 @@
            return  Constants.formatDecimalNum(money).divide(new BigDecimal(100), 2, BigDecimal.ROUND_UP);
        }
    public static boolean isPointInPolygon(double px, double py, double[]... polygon) {
        int i, j;
        boolean result = false;
        for (i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
            if ((polygon[i][1] > py) != (polygon[j][1] > py) &&
                    (px < (polygon[j][0] - polygon[i][0]) * (py - polygon[i][1]) / (polygon[j][1] - polygon[i][1]) + polygon[i][0])) {
                result = !result;
            }
        }
        return result;
    }
}