需求描述
项目中根据不同地区生成银联支付号
如 zz:6217
kf:6218
zk:6219
在配置文件中配置地区编码 根据枚举类获取银联支付号前缀
import lombok.Getter;
/**
* 银联支付 地区前缀字符串获取
*
* @author ch
* @Param null:
* @return: null
* @date 2020/8/26 0026 11:24
**/
public enum RefPrefixEnum {
/**
* 地区前缀
*/
KF(6102, "开封商户订单号前缀"),
ZK(6103, "周口商户订单号前缀"),
;
RefPrefixEnum(int code, String msg) {
this.code = code;
this.msg = msg;
}
@Getter
private int code;
@Getter
private String msg;
/**
* 通过地区获取前缀
*/
public static int getAreaPrefix(String area) {
RefPrefixEnum[] types = RefPrefixEnum.values();
for (RefPrefixEnum type : types) {
if (type.name().equalsIgnoreCase(area)) {
return type.getCode();
}
}
return 0;
}
}
使用
//银联支付号 前缀+随机字符串(hutool工具类)
String reference = RefPrefixEnum.getAreaPrefix(area) + IdUtil.simpleUUID();