枚举类示例

package net.cnki.editor.costcenter.pojo.enums;import lombok.Getter;import java.util.Arrays;/*** 费用枚举接口*/
public interface CosttypeEnumInterface {/*** 费用类型和费用信息-> 费用性质, 支付人 , 收取人, 费用信息状态*/@Getterenum CosttypePayerAndReceiveEnum implements CosttypeEnumInterface {//当前类 ; sql语句//1 审稿费;作者->编辑部 2 版面费;作者->编辑部 3 作者稿费;编辑部->作者 4 专家审稿费;编辑部->审稿专家 5 编辑稿费;编辑部->编辑REVIEWERS_FEE((short) 1, "审稿费", "作者", "编辑部", "待通知交费", "待作者交费", "待确认到款", "待开票完成", "己完成"),PAPER_FREE((short) 2, "版面费", "作者", "编辑部", "待通知交费", "待作者交费", "待确认到款", "待开票完成", "己完成"),AUTHOR_FREE((short) 3, "作者稿费", "编辑部", "作者", "待通知作者", "待作者确认信息", "信息已确认待支付", "作者稿费已支付", ""),EXPERT_FREE((short) 4, "专家审稿费", "编辑部", "审稿专家", "编辑部未登记", "编辑部已登记", "", "", ""),COPYREADER_FREE((short) 5, "编辑稿费", "编辑部", "编辑", "编辑部未登记", "编辑部已登记", "", "", ""),NULL(null, "", "", "", "", "", "", "", "");private final Short type;private final String name;//支付人private final String payerMan;//收取人private final String receiveMan;//费用信息状态private final String status0;private final String status1;private final String status2;private final String status3;private final String status4;CosttypePayerAndReceiveEnum(Short type, String name, String payerMan, String receiveMan, String status0, String status1, String status2, String status3, String status4) {this.type = type;this.name = name;this.payerMan = payerMan;this.receiveMan = receiveMan;this.status0 = status0;this.status1 = status1;this.status2 = status2;this.status3 = status3;this.status4 = status4;}/*** 获取 费用性质** @param type* @return*/public static CosttypePayerAndReceiveEnum getValue(short type) {CosttypePayerAndReceiveEnum costtypePayerAndReceiveEnum = Arrays.stream(CosttypePayerAndReceiveEnum.values()).filter(x -> x.getType() == type).findAny().orElse(CosttypePayerAndReceiveEnum.NULL);return costtypePayerAndReceiveEnum;}/*** 根据 费用性质 获取 当前费用信息 的 信息状态** @param typeCode   费用性质* @param statusCode 费用性质* @return*/public static String getStatusName(short typeCode, int statusCode) {CosttypePayerAndReceiveEnum costtypePayerAndReceiveEnum = Arrays.stream(CosttypePayerAndReceiveEnum.values()).filter(x -> x.getType() == typeCode).findAny().orElse(CosttypePayerAndReceiveEnum.NULL);switch (statusCode) {case 0:return costtypePayerAndReceiveEnum.getStatus0();case 1:return costtypePayerAndReceiveEnum.getStatus1();case 2:return costtypePayerAndReceiveEnum.getStatus2();case 3:return costtypePayerAndReceiveEnum.getStatus3();case 4:return costtypePayerAndReceiveEnum.getStatus4();default:return "";}}}/*** 结算方式: 结算方式 0 第三方转账 1 邮局汇款 2银行汇款 3现金支付 4内部转账 5其他*/@Getterenum PayMethod implements CosttypeEnumInterface {METHOD("第三方转账", "邮局汇款", "银行汇款", "现金支付", "内部转账", "其他");// 结算方式 0private final String payMethod0;// 结算方式 1private final String payMethod1;private final String payMethod2;private final String payMethod3;private final String payMethod4;private final String payMethod5;PayMethod(String payMethod0, String payMethod1, String payMethod2, String payMethod3, String payMethod4, String payMethod5) {this.payMethod0 = payMethod0;this.payMethod1 = payMethod1;this.payMethod2 = payMethod2;this.payMethod3 = payMethod3;this.payMethod4 = payMethod4;this.payMethod5 = payMethod5;}public static String getMethod(String payMethodCode) {switch (payMethodCode) {case "0":return PayMethod.METHOD.getPayMethod0();case "1":return PayMethod.METHOD.getPayMethod1();case "2":return PayMethod.METHOD.getPayMethod2();case "3":return PayMethod.METHOD.getPayMethod3();case "4":return PayMethod.METHOD.getPayMethod4();case "5":return PayMethod.METHOD.getPayMethod5();default:return "";}}}/*** 发票类型 0 普票 1 专票*/@Getterenum InvoiceType implements CosttypeEnumInterface {INVOICETYPE("普票", "专票");//分票类型0private final String invoiceType0;//分票类型1private final String invoiceType1;InvoiceType(String invoiceType0, String invoiceType1) {this.invoiceType0 = invoiceType0;this.invoiceType1 = invoiceType1;}public static String getInvoiceType(String invoiceTypeCode) {switch (invoiceTypeCode) {case "0":return InvoiceType.INVOICETYPE.getInvoiceType0();case "1":return InvoiceType.INVOICETYPE.getInvoiceType1();default:return "";}}}}

测试类

        vo.setPayMethod(CosttypeEnumInterface.PayMethod.getMethod(StringUtils.defaultString(vo.getPayMethod())));vo.setInvoiceType(CosttypeEnumInterface.InvoiceType.getInvoiceType(StringUtils.defaultString(vo.getInvoiceType())));vo.setStatus(CosttypeEnumInterface.CosttypePayerAndReceiveEnum.getStatusName(Short.parseShort(vo.getCosttype()), Integer.parseInt(vo.getStatus())));

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

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

相关文章

使用PHP实现Web爬虫

web爬虫是一种自动化工具,可以浏览互联网上的网页,收集信息并存储在一个数据库中。在今天的大数据时代,web爬虫越来越重要,因为它可以查找大量信息并进行数据分析。在本文中,我们将学习如何使用php编写web爬虫&#xf…

Radxa 学习摘录

文章目录 1、参考资料2、硬件知识CIF 和 ISP 3、shell4、交叉编译工具链5、问题6、DTS7、驱动 1、参考资料 技术论坛(推荐) 官方资料下载 wiki资料 u-boot 文档 u-boot 源码 内核文档 内核源码 原理图 radxa-repo radxa-build radxa-pkg radxa-doc…

寻找最适合你的交易风格

与Eagle Trader一起,您将拥有一位坚不可摧的合作伙伴,为您的交易之路增添坚实信心,并重塑交易体验的每一个细节。我们量身定制的交易环境,更能让您精准捕捉并驾驭符合您独特交易风格的卓越条件,让交易之旅更加自由畅快…

Python容器 之 字典--定义

1.字典的介绍 1, 字典 dict, 使用 {} 表示 2, 字典是由键(key)值(value)对组成的, key: value 3, 一个键值对是一组数据, 多个键值对之间使用 逗号隔开 4, 在一个字典中, 字典的键 是不能重复的,如果重复原数据会被覆盖 5, 字典中的键 主要使用 字符串类型, 可以是…

Mac可以卸载掉系统自带的软件吗 Mac第三方软件无法卸载是为什么

在使用Mac电脑时,有时候我们会发现系统预装的一些应用并不常用或者不符合个人需求,想要将它们卸载掉。然而,对于系统自带的软件,卸载并不简单,需要谨慎对待以免影响系统稳定性和功能正常运行。下面我们来看看Mac可以卸…

Firefox 编译指南2024 Windows10-使用Git 管理您的Firefox(五)

1. 引言 在现代软件开发中,版本控制系统(VCS)是不可或缺的工具,它不仅帮助开发者有效管理代码的变化,还支持团队协作与项目管理。Mercurial 是一个高效且易用的分布式版本控制系统,其设计目标是简洁、快速…

Linux CentOS Python 离线安装 pip 使用.whl文件离线安装

1、系统版本 cat /etc/redhat-release #查看系统版本命令 输出:CentOS Linux release 7.9.2009 (Core) 2、在pip 官方网站 下载.whl文件:pip-24.1.1-py3-none-any.whl 3、安装 python -m pip install pip-24.1.1-py3-none-any.whl 3、安装之后运行…

Windows使用-设置虚拟内存及注意事项

文章目录 前言一、设置虚拟内存打开“系统属性”对话框在“系统属性”对话框设置虚拟内存二、虚拟内存设置引发问题C盘空间不足桌面引用程序无法正常使用总结前言 虚拟内存是操作系统为应用程序提供的一种内存管理机制,最早是用于解决物理内存不足而影响操作系统运行效率问题…

【antd + vue】表格行合并,同时使用插槽

一、需求说明 表格中,如果一个学校有多个考试科目,则分行展示,其余列,则合并为一行展示,如图所示 二、需求分析 1、表格行合并 相当于有4行,其中1、2行是同一个学校包含不同考试科目及对应人次的数据&am…

判断磁盘是SSD或HDD盘

1. 判断磁盘是SSD或HDD盘 1、没有使用raid方案 lsblk -d -o name,rota命令,0表示SSD,1表示HDD # lsblk -d -o name,rota NAME ROTA sda 0 sdb 1 sdc 12、使用raid方案 下载工具 wget https://raw.githubusercontent.com/eLvErDe/hwraid…

Java_多线程:实现多线程

Java中实现多线程的常用方式: 继承Thread类实现Runnable接口实现Callable接口(JDK>1.5)线程池方式创建 实现Runnable接口与Callable接口的区别 Callable规定(重写)的方法是call(),Runnable规定(重写)的…

Java的全局异常处理代码

第一步:先写一个异常管理类: package com.example.firefighting.exceptions;import com.example.firefighting.utils.Result; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerA…

手机数据恢复篇:如何在恢复出厂设置后的 iPhone 恢复短信

您可能会认为,在恢复出厂设置iPhone后恢复短信时,一切都会丢失,但是仍然有一些方法可以检索您的重要对话。截至 2024 年,数据恢复技术的进步使得从备份甚至直接从设备内存中抢救消息变得更加容易。无论是通过 iCloud、iTunes 还是…

LeetCode Hard|124.二叉树中的最大路径和

力扣题目链接 题目解读: 二叉树路径的定义即从1.任意节点出发,到达任意节点;2.该路径至少包含一个节点,且不一定经过跟节点;3.求所有可能路径和的最大值。 也就是说路径途径一个节点只能选择来去两个方向 考虑一个二叉…

mongoose的个性化提取(字段筛选,数据据排序,数据截断)

1.字段筛选 let BookModel mongoose.model(books,BookSchema);BookModel.find().select({name:1,author:1}).then((err,data) > {//回调返回数据if(err){console.log(err);return;}console.log(data);})//值为1表示显示数据,为0表示不显示数据 数据排序 BookMod…

2025年U.S.News世界大学排名前200榜单

近日,U.S. News公布了2025全球最佳院校排名,作为公认的四大世界高校排行榜,该排名主要围绕着学术声誉、学术成果等,因此备受访问学者、联合培养博士生及博士后申请者们青睐,知识人网小编特作介绍并发布排名前200的榜单…

使用Go语言实现高效的数据挖掘

随着数据量的不断增加以及各种数据类型的不断涌现,数据挖掘技术变得越来越重要。在现代数据科学领域中,使用大量数据进行机器学习和其他挖掘任务已经成为常态。然而,在完成这些任务时,使用的编程语言对效率和结果都有着重要的影响…

我与C++的爱恋:list的使用

​ ​ 🔥个人主页:guoguoqiang. 🔥专栏:我与C的爱恋 一、list介绍 1.list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代 2.list的底层是双向链表结构,双向链表中…

华为OCR 腾讯OCR 百度OCR 三家各分秋色 第一当属华为

当提及华为OCR的应用场景时,这些是常见的使用案例: 金融行业:在银行和金融机构中,华为OCR技术广泛用于身份证件识别、银行卡识别和票据识别。这些功能可以用于客户身份验证、快速开户以及自动化的支付处理。 政府服务&#xff1a…

浅析Estimator、model_fn与EstimatorSpec

参考阅读:https://zhuanlan.zhihu.com/p/74857888 文章目录 综合对比Estimatormodel_fnEstimatorSpec关系总结 Estimator主要功能构造函数参数示例用法小结 model_fnEstimatorSpec字段解释解释代码用途 综合对比 Estimator、model_fn 和 EstimatorSpec 是 TensorF…