|
|
|
@ -4,6 +4,8 @@ package com.ynxbd.push.entity.enums; |
|
|
|
|
import lombok.ToString; |
|
|
|
|
import org.springframework.util.ObjectUtils; |
|
|
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
|
import java.math.RoundingMode; |
|
|
|
|
import java.util.HashMap; |
|
|
|
|
import java.util.Map; |
|
|
|
|
|
|
|
|
@ -16,8 +18,8 @@ public enum MsgParamEnum { |
|
|
|
|
THING(20, "thing", "【事物】可汉字、数字、字母或符号组合"), |
|
|
|
|
|
|
|
|
|
CHARACTER_STRING(32, "character_string", "【字符串】可数字、字母或符号组合"), |
|
|
|
|
TIME(32, "time", "【时间】24小时制时间格式(支持+年月日),支持填时间段,两个时间点之间用“~”符号连接【例如:15:01,或:2019年10月1日 15:01】"), |
|
|
|
|
AMOUNT(32, "amount", "【金额】1个币种符号+12位以内纯数字,可带小数,结尾可带“元” 可带小数"), |
|
|
|
|
TIME(20, "time", "【时间】24小时制时间格式(支持+年月日),支持填时间段,两个时间点之间用“~”符号连接【例如:15:01,或:2019年10月1日 15:01】"), |
|
|
|
|
AMOUNT(12, "amount", "【金额】1个币种符号+12位以内纯数字,可带小数,结尾可带“元” 可带小数"), |
|
|
|
|
PHONE_NUMBER(17, "phone_number", "【电话】(数字、符号) 电话号码,例:+86-0766-66888866"), |
|
|
|
|
CAR_NUMBER(8, "car_number", "【车牌】第一位与最后一位可为汉字,其余为字母或数字 例:车牌号码:粤A8Z888挂"), |
|
|
|
|
CONST(20, "const", "【常量】超过无法下发注:需枚举(需将内容提交平台审核,审核通过可下发)只能下发审核通过的字符串和空串"), |
|
|
|
@ -72,6 +74,16 @@ public enum MsgParamEnum { |
|
|
|
|
return value; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static String valSubstring(int len, String val) { |
|
|
|
|
if (ObjectUtils.isEmpty(val)) { |
|
|
|
|
return ""; |
|
|
|
|
} |
|
|
|
|
if (val.length() > len) { |
|
|
|
|
val = val.substring(0, len - 3) + "..."; |
|
|
|
|
} |
|
|
|
|
return val; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 获取参数 |
|
|
|
@ -107,6 +119,22 @@ public enum MsgParamEnum { |
|
|
|
|
} |
|
|
|
|
Map<String, String> keyMap = new HashMap<>(); |
|
|
|
|
String value = getStrValue(paramsMap, key, canNull); |
|
|
|
|
if (this == THING) { |
|
|
|
|
if (value.contains(":")) { |
|
|
|
|
value = value.replaceAll(":", ":"); |
|
|
|
|
} |
|
|
|
|
} else if (this == AMOUNT) { |
|
|
|
|
try { |
|
|
|
|
value = new BigDecimal(value).setScale(2, RoundingMode.DOWN).toString(); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
throw new Exception("[" + key + "][" + value + "] 金额异常"); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
if (value.length() > this.LENGTH) { |
|
|
|
|
keyMap.put("old_value", value); |
|
|
|
|
} |
|
|
|
|
value = valSubstring(this.LENGTH, value); |
|
|
|
|
} |
|
|
|
|
keyMap.put("value", value); |
|
|
|
|
if (!ObjectUtils.isEmpty(color)) { |
|
|
|
|
keyMap.put("color", color); |
|
|
|
@ -134,11 +162,10 @@ public enum MsgParamEnum { |
|
|
|
|
* @param paramName 参数名称 |
|
|
|
|
* @param keyNum key的编号(如:time21,入参就为21) |
|
|
|
|
*/ |
|
|
|
|
public void put(Map<String, String> paramsMap, Map<String, Object> tempData, String paramName, Integer keyNum) throws Exception { |
|
|
|
|
put(paramsMap, tempData, paramName, keyNum, false, null); |
|
|
|
|
public String put(Map<String, String> paramsMap, Map<String, Object> tempData, String paramName, Integer keyNum) throws Exception { |
|
|
|
|
return put(paramsMap, tempData, paramName, keyNum, false, null); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 模板参数组装 |
|
|
|
|
* |
|
|
|
@ -149,11 +176,12 @@ public enum MsgParamEnum { |
|
|
|
|
* @param canNull 是否可以为空 |
|
|
|
|
* @param color 颜色 |
|
|
|
|
*/ |
|
|
|
|
public void put(Map<String, String> paramsMap, Map<String, Object> tempData, String paramName, Integer keyNum, boolean canNull, String color) throws Exception { |
|
|
|
|
public String put(Map<String, String> paramsMap, Map<String, Object> tempData, String paramName, Integer keyNum, boolean canNull, String color) throws Exception { |
|
|
|
|
if (keyNum == null) { |
|
|
|
|
throw new Exception("keyNum is null"); |
|
|
|
|
} |
|
|
|
|
String keyNumStr = String.valueOf(keyNum); |
|
|
|
|
tempData.put(this.toKey(keyNumStr), this.getMapValue(paramsMap, paramName, canNull, color)); |
|
|
|
|
return getStrValue(paramsMap, paramName, canNull); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|