forked from sfms3.0/sfms3.0
4 changed files with 119 additions and 1 deletions
@ -0,0 +1,45 @@ |
|||||
|
package com.win.module.wms.enums.order; |
||||
|
|
||||
|
/** |
||||
|
* 订单状态枚举 |
||||
|
*/ |
||||
|
public enum OrderStatusEnum { |
||||
|
|
||||
|
CREATED(1, "待支付"), |
||||
|
PAID(2, "已支付"), |
||||
|
SHIPPED(3, "已发货"), |
||||
|
COMPLETED(4, "已完成"), |
||||
|
CANCELLING(5, "取消中"), |
||||
|
CANCELLED(6, "已取消"); |
||||
|
|
||||
|
private final int code; |
||||
|
private final String info; |
||||
|
|
||||
|
OrderStatusEnum(int code, String info) { |
||||
|
this.code = code; |
||||
|
this.info = info; |
||||
|
} |
||||
|
|
||||
|
public int getCode() { |
||||
|
return code; |
||||
|
} |
||||
|
|
||||
|
public String getInfo() { |
||||
|
return info; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 用状态值获取枚举 |
||||
|
* @param status |
||||
|
* @return |
||||
|
*/ |
||||
|
static OrderStatusEnum getOrderStatusEnum(int status) { |
||||
|
for (OrderStatusEnum orderStatusEnum : values()) { |
||||
|
if (orderStatusEnum.getCode() == status) { |
||||
|
return orderStatusEnum; |
||||
|
} |
||||
|
} |
||||
|
return CREATED; |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,70 @@ |
|||||
|
package com.win.module.wms.enums.order; |
||||
|
|
||||
|
/** |
||||
|
* 订单状态机 |
||||
|
*/ |
||||
|
public class OrderStatusState { |
||||
|
|
||||
|
/** |
||||
|
* 当前状态枚举 |
||||
|
*/ |
||||
|
private OrderStatusEnum orderStatusEnum; |
||||
|
|
||||
|
/** |
||||
|
* 构造函数,默认创建 |
||||
|
*/ |
||||
|
public OrderStatusState() { |
||||
|
this.orderStatusEnum = OrderStatusEnum.CREATED; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 构造函数,当前状态 |
||||
|
* @param status |
||||
|
*/ |
||||
|
public OrderStatusState(int status) { |
||||
|
this.orderStatusEnum = OrderStatusEnum.getOrderStatusEnum(status); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 构造函数,当前状态枚举 |
||||
|
* @param orderStatusEnum |
||||
|
*/ |
||||
|
public OrderStatusState(OrderStatusEnum orderStatusEnum) { |
||||
|
this.orderStatusEnum = orderStatusEnum; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 当前状态是否允许支付 |
||||
|
* @return |
||||
|
*/ |
||||
|
public boolean pay() { |
||||
|
if(this.orderStatusEnum.getCode() == OrderStatusEnum.CREATED.getCode()) { |
||||
|
this.orderStatusEnum = OrderStatusEnum.PAID; |
||||
|
return Boolean.TRUE; |
||||
|
} else { |
||||
|
return Boolean.FALSE; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 当前状态是否允许发货 |
||||
|
* @return |
||||
|
*/ |
||||
|
public boolean ship() { |
||||
|
if(this.orderStatusEnum.getCode() == OrderStatusEnum.PAID.getCode()) { |
||||
|
this.orderStatusEnum = OrderStatusEnum.SHIPPED; |
||||
|
return Boolean.TRUE; |
||||
|
} else { |
||||
|
return Boolean.FALSE; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 获取可执行的状态机 |
||||
|
* @return |
||||
|
*/ |
||||
|
public OrderStatusEnum getState() { |
||||
|
return orderStatusEnum; |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,4 @@ |
|||||
|
/** |
||||
|
* System API 包,定义暴露给其它模块的 API |
||||
|
*/ |
||||
|
package com.win.module.wms.enums; |
Loading…
Reference in new issue