1,事务操作(注解+隔离级别+回滚条件)
通常情况下:也就是读已提交以及异常回滚
@Transactional(isolation = Isolation.READ_COMMITTED, rollbackFor = Exception.class)
2,使用枚举enum类进行进行有确定常量值的对象
比如FissionTypeEnum类中确定的常量值为三个,就可以用如下的枚举类Enum进行定义。定义最大值,分享值以及助力值(红包)值。
public enum FissionTypeEnum {
FISSION_TYPE_MAX("0","最大值"),
FISSION_SHARE("1", "分享"),
FISSION_HELP("2", "助力");
@Getter
private final String type;
@Getter
private final String desc;
FissionTypeEnum(String type, String desc) {
this.type = type;
this.desc = desc;
}
}public enum FissionTypeEnum {
FISSION_TYPE_MAX("0","最大值"),
FISSION_SHARE("1", "分享"),
FISSION_HELP("2", "助力");
@Getter
private final String type;
@Getter
private final String desc;
FissionTypeEnum(String type, String desc) {
this.type = type;
this.desc = desc;
}
}
3,更多的枚举使用
public enum EComm {
JD("0", "京东"),
PDD("1", "拼多多"),
TAO_BAO("2", "淘宝"),
TMALL("3", "天猫");
@Getter
public String code;
@Getter
String name;
EComm(String code, String name) {
this.code = code;
this.name = name;
}
// 遍历枚举值的方法
public static EComm byCode(String code) {
for (EComm eComm : EComm.values()) {
if (eComm.code.equals(code)) {
return eComm;
}
}
throw new IllegalArgumentException("Invalid code " + code);
}
// 调用遍历枚举值方法然后进行code值的检验。
public static EComm checkCode(String code) throws ApiException {
try {
return byCode(code);
} catch (Exception e) {
throw new ApiException(of(INVALID_ARGUMENT, "channel code invalid"), null);
}
}