订单状态在订单文档中保存时是一个整型字段,它对应订单的一个状态信息。一般来说,这种状态都较为固定,所以我们使用一个枚举定义StatusEnum来实现,这样在订单的查询设计中,就可以对各个订单状态进行转换,同时在订单的编辑中也可以列举出所有状态进行选择。代码如下所示:
public enum StatusEnum {
UNPAID(Integer.valueOf(0),“未付款”),
PAID(Integer.valueOf(1),“已付款”),
SHIPPED(Integer.valueOf(2),“已发货”),
RECEIVED(Integer.valueOf(3), “已收货”),
EVALUATED(Integer.valueof(4),“已评价”),
REVOKED(Integer.valueOf(-1),“已撤销”),
REFUNDED(Integer.valueOf(-2),“已退款”);
private Integer code;
private String name;
StatusEnum(Integer code, String name) {
this.code = code;
this.name = name;
public static boolean contains (Integer code) throws NullPointerException {
if(null -= code){
throw new NullPointerException (“constant code is null”);
]else {
StatusEnum[] varl = values();int var2=var1. length;
for(int var3 =0; var3 < var2; ++var3) {
StatusEnum eum = varl[var3];
if(code.equals(eum.getCode())) {
return true;
return false;
public static StatusEnum valueof(Integer code) throws NullPointerException,EnumConstantNotPresentException {