枚举Enum使用

枚举使用

数据库存储字段为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@JsonValueprivate 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 {@Overridepublic void addFormatters(FormatterRegistry registry) {registry.addConverter(new Converter<String, QualificationAuditStatus>() {@Overridepublic QualificationAuditStatus convert(String source) {return QualificationAuditStatus.fromCode(source);}});}
}
2.部分配置

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/60714.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初学人工智不理解的名词3

TTS领域的名词 from gpt-4o 在 TTS&#xff08;文本到语音合成&#xff09; 领域&#xff0c;以下是 CFM、One-Step 蒸馏 和 ReFlow 的含义和作用的详细解释&#xff1a; 1. CFM&#xff08;Consistent Flow Matching&#xff09; Consistent Flow Matching&#xff08;一致流…

力扣每日一题

行变成回文&#xff1a; 对于每一行&#xff0c;遍历前半部分的元素&#xff0c;与后半部分的元素比较。如果不相等&#xff0c;计数器加 1&#xff0c;表示需要翻转一次。 列变成回文&#xff1a; 将矩阵转置&#xff0c;使用与行类似的方式对每一列进行统计。可以使用 Python…

linux c 语言回调函数学习

动机 最近在看 IO多路复用&#xff0c;包括 select() poll () epoll() 的原理以及libevent&#xff0c; 对里面提及的回调机制 比较头大&#xff0c;特写此文用例记录学习笔记。 什么是回调函数 网上看到的最多的一句话便是&#xff1a;回调函数 就是 函数指针的一种用法&am…

Ceph PG(归置组)的状态说明

Ceph PG&#xff08;Placement Group&#xff09;的状态反映了Ceph集群中数据的健康状况和分布情况。以下是Ceph PG的一些常见状态&#xff1a; Creating&#xff1a;创建状态。在创建存储池时&#xff0c;会创建指定数量的归置组&#xff08;PG&#xff09;。Ceph在创建一或多…

ElegantRL:高效、稳定的深度强化学习开源框架

ElegantRL是一个专为大规模并行深度强化学习&#xff08;DRL&#xff09;设计的开源框架&#xff0c;由Yonv1943&#xff08;或AI4Finance-Foundation&#xff09;开发。以下是关于ElegantRL的详细介绍&#xff1a; 一、项目背景与特点 项目名称&#xff1a;ElegantRL&#xf…

游戏引擎学习第九天

视频参考:https://www.bilibili.com/video/BV1ouUPYAErK/ 修改之前的方波数据&#xff0c;改播放正弦波 下面主要讲关于浮点数 1. char&#xff08;字符类型&#xff09; 大小&#xff1a;1 字节&#xff08;8 位&#xff09;表示方式&#xff1a;char 存储的是一个字符的 A…

SRIO RapidIO 笔记

RapidIO 基础与底层包类型 1.RapidIO 是基于数据包交换的互联体系结构 类似 Mac 层使用以太网的计算机网络&#xff08;IEEE802.3&#xff09;&#xff1f; 首先 RapidIO 是一个互联协议&#xff08;类似计算机网络 IEEE802.3&#xff09;&#xff0c;包含硬件与软件的定义&…

python makedirs() 详解

在 Python 中&#xff0c;os.makedirs() 函数用于递归地创建目录。也就是说&#xff0c;它不仅会创建指定的目录&#xff0c;还会创建任何必要的父目录。这个函数在处理需要创建多级目录结构时非常有用。 1、语法 os.makedirs(name, mode0o777, exist_okFalse) 1.1、参数 n…

# Python IDE的介绍和选择 --- 《跟着小王学Python》

Python IDE的介绍和选择 — 《跟着小王学Python》 《跟着小王学Python》 是一套精心设计的Python学习教程&#xff0c;适合各个层次的学习者。本教程从基础语法入手&#xff0c;逐步深入到高级应用&#xff0c;以实例驱动的方式&#xff0c;帮助学习者逐步掌握Python的核心概念…

摄影:机位

机位 初步拆分机位高度平视机位优势特写、近景分不清。劣势 高机位低机位 初步拆分机位 我们可以将机位分为&#xff1a;高度、角度、距离三个方面。 高度-平视机位、高机位、低机位。 角度-正面、侧面、背面。 距离-取景范围-远、全、中、近、特 高度 平视机位 相机与相机…

Modern Effective C++:item 1 理解模板类型推导

通用引用&#xff08;万能引用&#xff09; 通用引用通常表示为 T&&&#xff0c;其中 T 是一个模板参数类型&#xff08;模板中的&&表示通用引用&#xff09;。&& 虽然通常表示一个右值引用&#xff0c;但当T由模板参数推导而来时&#xff0c;其既可以…

机器学习——期末复习 重点题归纳

第一题 问题描述 现有如下数据样本&#xff1a; 编号色泽敲声甜度好瓜1乌黑浊响高是2浅白沉闷低否3青绿清脆中是4浅白浊响低否 &#xff08;1&#xff09;根据上表&#xff0c;给出属于对应假设空间的3个不同假设。若某种算法的归纳偏好为“适应情形尽可能少”&#xff0c;…

柯桥生活英语口语学习“面坨了”英语怎么表达?

“面坨了”英语怎么表达&#xff1f; 要想搞清楚这个表达&#xff0c;首先&#xff0c;我们要搞明白“坨”是啥意思&#xff1f; 所谓“坨”就是指&#xff0c;面条在汤里泡太久&#xff0c;从而变涨&#xff0c;黏糊凝固在一起的状态。 有一个词汇&#xff0c;很适合用来表达这…

ZeroSSL HTTPS SSL证书ACMESSL申请3个月证书

目录 一、引言 二、准备工作 三、申请 SSL 证书 四、证书选型 五、ssl重要性 一、引言 目前免费 Lets Encrypt、ZeroSSL、BuyPass、Google Public CA SSL 证书&#xff0c;一般免费3-6个月。从申请难易程度分析&#xff0c;zerossl申请相对快速和简单&#xff0c;亲测速度非…

Java连接MySQL(测试build path功能)

Java连接MySQL&#xff08;测试build path功能&#xff09; 实验说明下载MySQL的驱动jar包连接测试的Java代码 实验说明 要测试该情况&#xff0c;需要先安装好MySQL的环境&#xff0c;其实也可以通过测试最后提示的输出来判断build path是否成功&#xff0c;因为如果不成功会直…

第四节-OSI-网络层

数据链路层&#xff1a;二层--MAC地址精确定位 Ethernet 2&#xff1a; 报头长度&#xff1a;18B 携带的参数&#xff1a;D MAC /S MAC/TYPE(标识上层协议)/FCS 802.3 报头长度&#xff1a;26B 携带的参数&#xff1a;D MAC/S MAC/LLC(标识上层协议)/SNAP&#xff08;标识…

Spring Boot 中 Druid 连接池与多数据源切换的方法

Spring Boot 中 Druid 连接池与多数据源切换的方法 在Spring Boot项目中&#xff0c;使用Druid连接池和进行多数据源切换是常见的需求&#xff0c;尤其是在需要读写分离、数据库分片等复杂场景下。本文将详细介绍如何在Spring Boot中配置Druid连接池并实现多数据源切换。 一、…

labview实现功能性全局变量

在日常的项目中&#xff0c;笔者最长使用的就是全局变量&#xff0c;这样用起来不仅省心省力&#xff0c;而且传值也很方便&#xff0c;没有什么阻碍&#xff0c;想要传什么数据一根线拉过去就可以了。后面才知道如果一直使用全局变量会导致读写卡死的状态&#xff0c;而且还有…

网络安全之SQLMAP _DNS注入配置方法

网上针对sqlmap进行dns注入的相关文章太少&#xff0c;只是简单介绍了下–dns-domain参数&#xff0c;相关的实战文章要么就模糊或者一笔带过&#xff0c;。然后参考网上的方法重新整理了一遍&#xff0c;简单理解。 需要准备的东西&#xff0c;sqlmap、windows盲注一个、两个…

web浏览器环境下使用window.open()打开PDF文件不是预览,而是下载文件?

如果你使用 window.open() 方法打开 PDF 文件&#xff0c;但浏览器不是预览而是下载文件&#xff0c;这可能是由于以下几个原因&#xff1a; 服务器配置&#xff1a;服务器可能将 PDF 文件配置为下载而不是预览。例如&#xff0c;服务器可能设置了 Content-Disposition 响应头…