常用的枚举定义方式

一、支付状态枚举

1、常规的枚举:可获取状态,可获取描述
paymentInfo.setPaymentStatus(PaymentStatusEnum.UNPAID.getStatus());//UNPAID:1-支付中 PAID:2-已支付

paymentInfo.setPaymentName(PaymentStatusEnum.UNPAID.getName());//UNPAID:1-支付中 PAID:2-已支付
public enum PaymentStatusEnum {
    UNPAID(1,"支付中"),
    PAID(2,"已支付");
    //REFUND(-1,"已退款");

    private Integer status ;

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    private String name ;

    PaymentStatusEnum(Integer status, String name) {
        this.status = status;
        this.name=name;
    }

}

二、权限认证枚举

1、创建通过status状态获取枚举名称
@Data
@ApiModel(description = "UserInfo")
@TableName("user_info")
public class UserInfo  {
	
	private static final long serialVersionUID = 1L;

	@ApiModelProperty(value = "认证状态(0:未认证 1:认证中 2:认证成功 -1:认证失败)")
	@TableField("auth_status")
	private Integer authStatus;

	@ApiModelProperty(value = "状态(0:锁定 1:正常)")
	@TableField("status")
	private Integer status;

}
 //封装param私有方法:用户状态和认证状态
    private UserInfo packUserInfo(UserInfo userInfo) {
        //认证状态
        userInfo.getParam().put("authStatusString", AuthStatusEnum.getStatusNameByStatus(userInfo.getAuthStatus()));
        //处理用户状态
        String statusString = userInfo.getStatus().intValue() == 0 ? "锁定" : "正常"; //intValue():转换为整数类型
        userInfo.getParam().put("statusString", statusString);
        return userInfo;
    }
package com.atguigu.yygh.enums;

public enum AuthStatusEnum {

    NO_AUTH(0, "未认证"),
    AUTH_RUN(1, "认证中"),
    AUTH_SUCCESS(2, "认证成功"),
    AUTH_FAIL(-1, "认证失败"),
    ;

    private Integer status;
    private String name;

    AuthStatusEnum(Integer status, String name) {
        this.status = status;
        this.name = name;
    }

    public static String getStatusNameByStatus(Integer status) {
        AuthStatusEnum arrObj[] = AuthStatusEnum.values();
        for (AuthStatusEnum obj : arrObj) {
            if (status.intValue() == obj.getStatus().intValue()) {
                return obj.getName();
            }
        }
        return "";
    }


    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

三、订单状态枚举

1、创建通过status状态获取枚举名称
    private void packOrderInfo(OrderInfo orderInfo) {
        String statusName = OrderStatusEnum.getStatusNameByStatus(orderInfo.getOrderStatus());
        orderInfo.getParam().put("orderStatusString", statusName);
    }
2、创建获取枚举status状态和comment描述集合
/**
     * 获取订单状态 文字描述 ==》从订单状态枚举类中获取
     * 前端用于下拉列表展示
     *
     * @return
     */
    @GetMapping("/getStatusList")
    public Result getStatusList() {
        List<Map<String, Object>> statusList = OrderStatusEnum.getStatusList();
        return Result.ok().data("statusList", statusList);
    }
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public enum OrderStatusEnum {
    UNPAID(0, "预约成功,待支付"),
    PAID(1, "已支付"),
    GET_NUMBER(2, "已取号"),
    CANCLE(-1, "取消预约"),
    ;

    private Integer status;
    private String comment;

    public static String getStatusNameByStatus(Integer status) {
        OrderStatusEnum arrObj[] = OrderStatusEnum.values();
        for (OrderStatusEnum obj : arrObj) {
            if (status.intValue() == obj.getStatus().intValue()) {
                return obj.getComment();
            }
        }
        return "";
    }

    public static List<Map<String, Object>> getStatusList() {
        List<Map<String, Object>> list = new ArrayList<>();
        OrderStatusEnum arrObj[] = OrderStatusEnum.values();
        for (OrderStatusEnum obj : arrObj) {
            Map<String, Object> map = new HashMap<>();
            map.put("status", obj.getStatus());
            map.put("comment", obj.getComment());
            list.add(map);
        }
        return list;
    }

    OrderStatusEnum(Integer status, String comment) {
        this.comment = comment;
        this.status = status;
    }

    public String getComment() {
        return comment;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值