0
点赞
收藏
分享

微信扫一扫

SQL面试题——抖音SQL面试题 最大在线用户数

扒皮狼 2024-11-18 阅读 13

枚举使用

数据库存储字段为code 前端返回为msg 修改时需要传入code

枚举代码

import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import com.ruoyi.common.exception.ServiceException;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;

@Getter
@AllArgsConstructor
public enum AuditStatus {

    UNREVIEWED("10","未提交审核"),           // 未提交审核
    PENDING_FIRST_REVIEW("20","待初审"),  // 待初审
    PENDING_FINAL_REVIEW("30","待终审"),  // 待终审
    FIRST_REVIEW_REJECTED("40","初审退回"), // 初审退回
    FINAL_REVIEW_REJECTED("50","终审退回") ,// 终审退回
    APPROVED("60","已通过");             // 已通过


    @EnumValue
    @JsonValue
    private final String code;
    private final String msg;

    public static AuditStatus fromCode(String code) {
        return Arrays.asList(AuditStatus.values()).stream().filter(auditStatus -> auditStatus.code.equals(code))
                .findAny().orElseThrow(() -> new ServiceException(String.format("审核状态码%s错误!,请联系管理员", code)));
    }
}

实体类

public class BusQualification{
	@ApiModelProperty("审核状态 10,未提交审核 20,待初审 30,待终审 40,初审退回 50,终审退回 60,已通过 ")
     private QualificationAuditStatus qualificationAuditStatus;
    }

增加配置类

选择其一即可

1.全局配置
@Configuration
public class QualificationEnumConfig implements WebMvcConfigurer {
    @Override
    public void addFormatters(FormatterRegistry registry) {
        registry.addConverter(new Converter<String, QualificationAuditStatus>() {
            @Override
            public QualificationAuditStatus convert(String source) {

                return QualificationAuditStatus.fromCode(source);
            }
        });
    }
}
2.部分配置

部分配置的时候注意 如果继承的有别的类 可能覆盖父类的这个方法

@InitBinder
	public void initBinderQualification(WebDataBinder binder) {
		// 仅为 QualificationAuditStatus 注册转换器
		binder.registerCustomEditor(QualificationAuditStatus.class, new PropertyEditorSupport() {
			@Override
			public void setAsText(String text) throws IllegalArgumentException {
				setValue(QualificationAuditStatus.fromCode(text));
			}
		});
	}
举报

相关推荐

0 条评论