liuleilei
2023-12-15 dcde17c2cc7b7438415f91bc2731f998eb0a36fc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
package com.doumee.core.utils;
 
 
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import org.apache.commons.lang3.StringUtils;
 
import java.io.IOException;
import java.math.BigDecimal;
import java.net.URLDecoder;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import  java.util.Date;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
public class Constants {
 
    public static final String[]  ALL_SPELL_LIST_FIRST = new String[]{"A", "B", "C", "D", "E", "F", "G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
    public static final int ZERO = 0 ;
    public static final int ONE = 1 ;
    public static final int TWO = 2 ;
    public static final int THREE = 2 ;
    public static final String HK_PARAM ="HK_PARAM" ;
    public static final String HK_HOST ="HK_HOST" ;
    public static final String HK_APPKEY ="HK_APPKEY" ;
    public static final String HK_APPSECRET ="HK_APPSECRET" ;
    public static final String HK_HTTPS ="HK_HTTPS" ;
    public static final String HK_PUSH_URL = "HK_PUSH_URL";
    public static final String HK_ROOTORG_CODE ="HK_ROOTORG_CODE" ;
 
    //被拜访人信息校验方式(0手机号单独校验 1手机号和姓名组合校验)
    public static final String BEVISITED_USER_VALID = "BEVISITED_USER_VALID";
    public static final String SELECT_DOORS_VISIT_REQUIRED = "SELECT_DOORS_VISIT_REQUIRED";
    public static final String SELECT_DOORS_LW_REQUIRED = "SELECT_DOORS_LW_REQUIRED";
    public static final String PROBLEM_LW_REQUIRED = "PROBLEM_LW_REQUIRED";
    public static final String PROBLEM_VISIT_REQUIRED = "PROBLEM_VISIT_REQUIRED";
    public static final String MDJ_LW_REQUIRED = "MDJ_LW_REQUIRED";
    public static final String MDJ_VISIT_REQUIRED = "MDJ_VISIT_REQUIRED";
    public static final String EDS_PWD ="!@#$%^&QWERTY" ;
    public static final String ROOT_PATH = "";
    public static final String FILE_DIR = "";
    // 访客来访配置
    public static final String VISIT_CONFIG = "VISIT_CONFIG";
    public static final String MEMBER_IMG = "MEMBER_IMG";
    // 劳务来访配置
    public static final String LABOR_CONFIG = "LABOR_CONFIG";
    public static final String VISIT_EVENT_IMG = "VISIT_EVENT_IMG";
    public static final String CAR_EVENT_IMG = "CAR_EVENT_IMG";
    public static final String DEVICE_EVENT_IMG = "DEVICE_EVENT_IMG";
    public static final String FTP ="FTP" ;
    public static final String FTP_HOST ="FTP_HOST" ;
    public static final String FTP_PORT ="FTP_PORT" ;
    public static final String FTP_USERNAME ="FTP_USERNAME" ;
    public static final String FTP_PWD ="FTP_PWD" ;
    public static final String FTP_RESOURCE_PATH ="FTP_RESOURCE_PATH" ;
    public static final String ERP_ORGLIST_URL ="ERP_ORGLIST_URL" ;
    public static final String ERP_USERLIST_URL ="ERP_USERLIST_URL" ;
    public static final String ERP_APPROVE_URL ="ERP_APPROVE_URL" ;
    public static final String ERP_USERSTATUS_RL ="ERP_USERSTATUS_RL" ;
    public static final String ERP ="ERP" ;
 
    public static  boolean DEALING_HK_IMG = false;
    // ERP接口配置
    public static final String ERP_CONFIG = "ERP_CONFIG";
    // ERP ACCESS_KEY
    public static final String ERP_ACCESS_KEY = "ERP_ACCESS_KEY";
    // ERP ACCESS_SECRET
    public static final String ERP_ACCESS_SECRET = "ERP_ACCESS_SECRET";
 
 
 
    public static  Date  getBirthdyByCardNo(String idCard){
    if(idCard ==null || idCard.length()<14){
        return null;
    }
    Date birthday = null; // 解析为日期对象
    String birthdayString = idCard.substring(6, 14); // 截取身份证号的前六位数字作为出生日期
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
    try {
        birthday = dateFormat.parse(birthdayString);
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
    return  birthday;
}
 
    /**
     *   判断是否为有效车牌号
     */
    public static boolean checkCarNo(String str) {
        String patt="^[京津沪冀晋辽吉黑苏浙皖闽赣鲁豫鄂湘粤桂琼川黔云渝藏陕陇青宁新闽粤晋琼使领A_Z]{1}[A_Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$";
        Pattern r = Pattern.compile(patt);
        Matcher matcher = r.matcher(str);
        return matcher.find();
    }
 
    public static  String  getTuominStr(String s){
        if(StringUtils.isEmpty(s)){
            return "";
        }
        int l = s.length();
        if(l <= 2){
            return s.substring(0,1)+"****";
        }
        if(l <= 5){
            return s.substring(0,2)+"***";
        }
        if(l <= 10){
            return s.substring(0,3)+"***"+s.substring(l-3,l);
        }
        if(l <= 11){
            return s.substring(0,3)+"****"+s.substring(l-4,l);
        }
        if(l <= 15){
            return s.substring(0,3)+"****"+s.substring(l-4,l);
        }
        return s.substring(0,5)+"*******"+s.substring(l-6,l);
}
 
 
    /**
     * mq tag
     */
    public interface MQ_TAG{
         String order = "order";
        String activity = "activity";
    }
    public interface MQ_KEY{
         String activity_looknum = "looknum";
         String activity_signup = "signup";
    }
    public interface DeviceRoleType{
         int lw = 0;//劳务访客
         int fk = 1;//普通访客
         int nb = 2;//内部访客
    }
    public interface VisitStatus{
        //审核状态 0待审核 1已提交ERP审批  2审核通过 3审核不通过 4取消 5下发成功 6下发失败 7已签离
         int waitCheck = 0;
         int submitCheck = 1;
         int pass = 2;
         int noPass = 3;
         int cancel = 4;
         int xfSuccess = 5;
         int xfFail = 6;
         int signout = 7;
    }
    public interface DOOR_ROLE_TYPE{
         int lw = 0;
         int fk = 1;
         int nb = 2;
    }
    public static final String SUCCESS_STR = "SUCCESS" ;
 
    //开门时间有效期(分钟)
    public static final String ACCESS_ID="ACCESS_ID";
    public static final String BUCKETNAME = "BUCKETNAME";
    public static final String OSS = "OSS";
 
    public static final String ACCESS_KEY = "ACCESS_KEY";
    public static final String ENDPOINT = "ENDPOINT";
    public static final String RESOURCE_PATH = "RESOURCE_PATH";
    //发送会议开始  定时提前多少分钟发送
 
    public static final String SYSTEM ="SYSTEM";
 
    public static final String COFFEE_BEAN_TASK ="COFFEE_BEAN_TASK";
 
 
 
 
 
 
    public static final String WX_PLATFORM = "WX_PLATFORM";
    public static final String WX_PLATFORM_ACCESS_TOKEN = "WX_PLATFORM_ACCESS_TOKEN";
    public static final String WX_PLATFORM_APPID = "WX_PLATFORM_APPID";
    public static final String WX_PLATFORM_SECRET = "WX_PLATFORM_SECRET";
 
 
 
 
 
 
    public interface RedisKeys {
        public static final String ERP_TOKEN ="ERP_TOKEN";
        public static final long EXPIRE_TIME = 7200;
 
        public static final String GOODSORDER_KEY = "ordercode_";
        public static final String ACTIVITY_SIGN_KEY = "actcode_";
        public static final String AFTERSALE_KEY = "salecode_";
    }
 
 
    public static BigDecimal formatBigdecimal(BigDecimal d) {
        if (d == null) {
            d = new BigDecimal(0.0);
        }
        //保留两位小数且四舍五入
//        d = d.setScale(2, BigDecimal.ROUND_HALF_UP);
        return  d;
    }
    public static BigDecimal formatBigdecimal4Float(BigDecimal d) {
        if (d == null) {
            d = new BigDecimal(0.0);
        }
        //保留两位小数且四舍五入
        d = d.setScale(4, BigDecimal.ROUND_HALF_UP);
        return  d;
    }
 
    public static boolean equalsObject(Object a, Object b) {
        if (a == null && b == null) {
            return true;
        }
        if (a != null){
            return a.equals(b);
        }
        return false;
    }
 
 
    public static boolean equalsInteger(Integer a, Integer b) {
        if (formatIntegerNum(a) == formatIntegerNum(b)) {
            return true;
        }
        return false;
    }
 
    public static int formatIntegerNum(Integer d) {
        if (d == null) {
            d = 0;
        }
        return d.intValue();
    }
 
    public static long formatLongNum(Long d) {
        if (d == null) {
            d = 0L;
        }
        return d.longValue();
    }
 
 
public interface  memberType{
    int visitor = 0;//普通访客
    int lw_visitor = 1;//劳务访客
    int internal = 2;//内部人员
}
    public static void main(String[] args) {
        String t = URLDecoder.decode("https://lsqw.gtja.com/qwcos/v-index.html#/loginforProperty?corpId=ww4b7aefafeb430e4b&corpId=ww4b7aefafeb430e4b&agentId=1000005&agentId=1000005&fromRoute=&userCode=013561&userCode=&userId=zz&userId=&encryptUserCode=&custQwId=wmIUuSDgAAR8MhtVY8w90EyKltvoK5fA&custCode=&openId=op1wZwD1dKuBQywmWWS5957zUOJI&name=%E8%B9%84%E8%B9%84&headUrl=http%3A%2F%2Fwx.qlogo.cn%2Fmmhead%2FQ3auHgzwzM4QlibSOAvYcvRMdsoyF3Ua7duLOYSJfB3dsGsYxIYonBw%2F0&dbHeadUrl=https%3A%2F%2Ftgf.gtja.com%2Ff%2F%2Fqwoms%2F2022512%2Fqwoms_1652332606613_8.jpg");
        System.out.println(t);
    }
 
 
 
    /**
     * 数据状态枚举
     *
     */
    public enum Status {
 
        /** 用户启用禁用枚举值*/
        ENABLE(0,"正常"),
        DISABLE(1,"禁用"),
        FREEZE(2,"拉黑/冻结");
 
        private  Integer value;
        private  String des;
 
 
        Status(Integer value, String des) {
            this.value = value;
            this.des = des;
        }
 
        public Integer getValue() {
            return value;
        }
 
        public void setValue(Integer value) {
            this.value = value;
        }
 
        public String getDes() {
            return des;
        }
 
        public void setDes(String des) {
            this.des = des;
        }
    }
 
    /**
     * 对象驼峰属性转下划线
     * @param object
     * @return
     * @throws JsonProcessingException
     */
    public static String toUnderlineJSONString(Object object) throws JsonProcessingException {
        ObjectMapper mapper = new ObjectMapper();
        mapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
        mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
        String reqJson = mapper.writeValueAsString(object);
        return reqJson;
    }
 
 
    public static <T> T toSnakeObject(String json, Class<T> clazz) throws IOException {
        ObjectMapper mapper = new ObjectMapper();
        mapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
        T reqJson =  mapper.readValue(json, clazz);
        return reqJson;
    }
 
 
}