首页 > 其他分享 >Enum枚举

Enum枚举

时间:2023-02-22 13:44:52浏览次数:25  
标签:请假 String Enum value 枚举 template APPROVAL leaveModel

几种常用的枚举

一、直接写成员

public enum EnumResultType {
    ex,notMatch,success,busy
}

成员取出是用这种,值为下标

EnumResultType.枚举成员名称.ordinal()

二、K-V的枚举

package com.kaize.admin.wx;

import lombok.Getter;
import lombok.Setter;

/**
 * @author jianhan
 * @date 2022/11/18 14:03
 * @description
 */
public enum MessageEnum {

    /**
     * 待审批提醒
     */
    APPROVAL_WAIT("10", "您有一条新的请假申请待审核"),

    /**
     * 催办提醒
     */
    APPROVAL_URGED("20", "{username}同学的请假申请还未处理,请及时对内容进行审核。"),

    /**
     * 审批成功结果通知提醒
     */
    APPROVAL_SUCCESS("30", "您有一条新的请假审核成功结果通知"),

    /**
     * 审批失败结果通知提醒
     */
    APPROVAL_FAIL("40", "您有一条新的请假审核失败结果通知"),

    /**
     * 抄送通知提醒
     */
    APPROVAL_SEND("50", "您有一条新的抄送通知"),

    /**
     * 进校门抄送通知提醒
     */
    PEOPLE_IN_ACCESS("60","家长你好,您的孩子已经进入校园"),

    /**
     * 出校门抄送通知提醒
     */
    PEOPLE_OUT_ACCESS("70","家长你好,您的孩子已经离开校园"),

    /**
     * 请假审核回推通知提醒-通过
     */
    APPROVAL_BACK_SEND("80", "您有一条新的请假审核通过通知,{username}通过"),

    /**
     * 请假审核回推通知提醒-驳回
     */
    APPROVAL_BACK_FAIL("90", "您有一条新的请假审核驳回通知,{username}驳回");


    @Getter
    @Setter
    private String code;

    @Getter
    @Setter
    private String value;

    MessageEnum(String code, String value) {
        this.code = code;
        this.value = value;
    }

    public static MessageEnum getValue(String code) {
        for (MessageEnum value : values()) {
            if (value.getCode().equals(code)) {
                return value;
            }
        }
        return null;
    }
}

用法

    /**
     * @Description: 组装消息
     * @Param: leaveModel approvalModel params
     * @return: json
     * @Author: jianhan
     * @Date: 2022-11-18 14:58:34
     **/
    public static Template getMessage(LeaveModel leaveModel, ApprovalModel approvalModel, String type, Map<String, Object> params) {
        Template template = new Template();
        String content = MessageEnum.getValue(type).getValue();
        if (params != null) {
            for (Map.Entry<String, Object> entry : params.entrySet()) {
                if (content.contains("{" + entry.getKey() + "}")) {
                    content = content.replace("{" + entry.getKey() + "}", entry.getValue().toString());
                }
            }
        }
        template.setFirst(content);
        if (leaveModel != null) {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String startTime = simpleDateFormat.format(leaveModel.getStartTime());
            String endTime = simpleDateFormat.format(leaveModel.getEndTime());
            template.setKeyword1(leaveModel.getName());
            template.setKeyword2("学生请假");
            template.setKeyword3(startTime + "至" + endTime);
            template.setKeyword4(leaveModel.getRemarks());
        }
        if (approvalModel != null) {
            template.setRemark(approvalModel.getRemarks());
        }
        return template;
    }

 

标签:请假,String,Enum,value,枚举,template,APPROVAL,leaveModel
From: https://www.cnblogs.com/SjhCode/p/17144047.html

相关文章

  • 枚举类型
    packageedu.wtbu;//枚举类型:定义的常量太多时,我们可以使用枚举enumen{n1("n11"),//0n2("n22"),//1n3("n33"),//2n4;//3Stringvalue;......
  • h2miner横向移动脚本分析——暴力枚举主机上的用户、历史连接host和port,以指定用户($us
    下载链接:https://s.threatbook.com/report/file/f4c319e43296ab323615ac4bd4b7601991218ecb6d6043b1c040a96f1a33f14f #!/bin/shlocalgo(){myhostip=$(curl-sLi......
  • 对象定义-解构-枚举属性遍历以及对象内函数
    属性名表达式定义对象的属性有两种方式1、直接使用标识符作为属性名obj.name2、以表达式作为属性名obj['a'+'b']=10letobj={}obj.name='孙悟空'//孙悟空......
  • [51Nod 1222] - 最小公倍数计数 (..怎么说 枚举题?)
    题面题目分析令则此处表示小于等于中,满足两个数互质且乘积为的无序数对的个数,显然其中表示d的质因子个数相当于把d的质因数分成两部分,所以就每个质因数选或不选,又因为......
  • 蓝桥杯备战日志(Python)16-玩具蛇&序列个数-(DFS&枚举、递归)
    玩具蛇原题小蓝有一条玩具蛇,一共有16节,上面标着数字1至16。每一节都是一个正方形的形状。相邻的两节可以成直线或者成90度角。小蓝还有一个4×4的方格盒子,用于存放......
  • 枚举(enum)
    枚举(enum)枚举是一个特殊的类,一般表示一组常量,如一年四季,一周七天枚举用关键字enum表示,各个常量使用','隔开示例:enumColor{RED,YELLOW,BLUE}publicstaicvoi......
  • 93. 递归实现组合型枚举
      题解:递归方法,在上一题的题解上面加一个限定就行了点击查看代码#include<iostream>#include<algorithm>#include<cstring>usingnamespacestd;typedefpair<......
  • 前端字典字段处理enum.js
    enum.js/***获取枚举值:STATUSMAP.TTT*获取枚举描述:STATUSMAP.getDesc('SH')*通过枚举值获取描述:STATUSMAP.getDescFromValue('TG')*/functioncreateEnum(def......
  • java 按照自定义顺序枚举实体类的属性值
    工具类/***按照字段顺序进行拼接**@paramobj对象,需要在字段上添加FieldOrder注解*@paramfix拼接符号*@param<T>*@ret......
  • Java 枚举类转json对象
     1.情景展示 如上图所示,我想要将枚举类转换成json对象,key对应属性名称,value对应属性值,效果如下:{"IvcVoucherCode":"200","IvcVoucherStatus":"票据模板下载成功"}......