一、支付状态枚举
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;
}
}