枚举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,一经查实,立即删除!

相关文章

力扣每日一题

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

linux c 语言回调函数学习

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

游戏引擎学习第九天

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

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

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

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

“面坨了”英语怎么表达&#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;标识…

labview实现功能性全局变量

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

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

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

pycharm快速更换虚拟环境

目录 1. 选择Conda 虚拟环境2. 创建环境3. 直接选择现有虚拟环境 1. 选择Conda 虚拟环境 2. 创建环境 3. 直接选择现有虚拟环境

联想“喜新厌旧”

科技新知 原创作者丨萧维 编辑丨蕨影 十月份&#xff0c;联想很忙。 先是2024联想科技创新大会15日在美国华盛顿州西雅图举行&#xff0c;联想大秀了一下自己在人工智能领域的创新产品、技术和解决方案&#xff0c;英特尔、AMD、英伟达三巨头更同时为其站台&#xff1b;后是与…

[白月黑羽]关于仿写类postman功能软件题目的解答

原题&#xff1a; 答&#xff1a; python文件如下 from PySide6.QtWidgets import QApplication, QMessageBox,QTableWidgetItem,QHeaderView,QWidget,QTableWidget from PySide6.QtCore import QEvent,QObject from PySide6.QtUiTools import QUiLoader import time import …

零基础Java第十八期:图书管理系统

目录 一、package book 1.1. Book 1.2. BookList 二、package user 2.1. User 2.2. NormalUser与AdminiUser 三、Main 四、NormalUser与AdminiUser的菜单界面 五、package operation 5.1. 设计管理员菜单 六、业务逻辑 七、完整代码 今天博主来带大家实现一个…

系统架构师考试极限18天备考复盘(2024年11月)

前言 写下这篇复盘笔记的时候还没有出成绩。目前泽崽还是在读研究生&#xff0c;在经过 大概2周多个全日 的极限备考之后&#xff0c;于11月10日参加了软考的系统架构师考试&#xff08;高级&#xff09;。目前对于“基础知识-案例分析-论文”的估分预期大概是&#xff1a;55-…

Unity肢体控制(关节控制)

前面的基础搭建网上自己搜&#xff0c;我这个任务模型网上也有&#xff0c;可以去官网看看更多模型&#xff0c;这里只讲述有模型如何驱动肢体的操作方式 第一步&#xff1a;创建脚本 第二步&#xff1a;创建Rig Builder 建空容器 加部件&#xff08;Rig&#xff09;,加了之后…

二叉树遍历的非递归实现和复杂度分析

一&#xff0c;用栈实现二叉树先序遍历 1&#xff0c;原理 我用自己的口水话解释一下&#xff1a;准备一个栈&#xff0c;从根节点开始&#xff0c;先判断栈是否为空&#xff0c;如果否&#xff0c;就弹出一个元素&#xff0c;对弹出元素进行自定义处理&#xff0c;再将它的左…

redis序列化数据查询

可以看到是HashMap&#xff0c;那么是序列化的数据 那么我们来获得反序列化数据 import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.ObjectInputStream; import redis.clients.jedis.Jedis;public class RedisDeserializeDemo {public static…

球差控制操作数【ZEMAX操作数】

在光学设计中&#xff0c;对于球差的控制是必要的&#xff0c;那么在zemax中如何控制球差的大小&#xff0c;理解球差&#xff0c;以及使用相应操作数控制球差&#xff1b; 在这篇中主要写如何使用zemax操作数去控制或者消除球差&#xff0c;对球差进行简单的描述&#xff0c;之…

学习threejs,使用TWEEN插件实现动画

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️THREE.PLYLoader PLY模型加…