package cn.superdesk.uniorder.pattern.state.accounting.supplier.accountingUnifiedSupplier.accountingStatus.state;

/**
 * @Description: 简易状态机 星型结构
 * @Author: linjinyu
 * @CreateDate: 2021/7/20 下午3:35
 * @UpdateUser: linjinyu
 * @UpdateDate: 2021/7/20 下午3:35
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
public interface AccountingUnifiedSupplierFieldAccountingStatusState {

	// 刚创建时初始化状态'待提交'或重置状态为'待提交' -> 状态 -> 待提交(3, "待提交"),
	void opInitOrReset();

	// 刚创建时初始化状态'未确认'或重置状态为'未确认',内部_后端(待提交->已提交|未确认),外部_商户端(未确认|待确认) -> 状态 -> 未确认(0, "未确认"),
	void opSubmit();

	// op确认对账:外部_商户端(未确认|待确认->已确认) -> 状态 -> 已确认(1, "已确认"),
	void opConfirm();

	// op申斥对账:外部_商户端(未确认|待确认->已拒绝) -> 状态 -> 已拒绝(2, "已拒绝"),
	void opReject();

	// op取消对账|op同意驳回 -> 状态 -> 已取消(-1, "已取消"),
	void opCancel();

}
