package cn.superdesk.uniorder.dubbo.facade.invoice.customer.invoiced;

import cn.superdesk.uniorder.common.security.dto.LoginSysUser;
import cn.superdesk.uniorder.dto.vo.invoice.customer.invoiced.InvoiceInvoicedExcelExportVo;

/**
 * @Description: 简易状态机 星型结构
 * @Author: linjinyu
 * @CreateDate: 10/12/20 4:28 PM
 * @UpdateUser: linjinyu
 * @UpdateDate: 10/12/20 4:28 PM
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
public interface DubboInvoiceInvoicedFieldIsOverdueService {

	/****************************************** 状态机 外部使用 类门面 start ******************************************/

	// 状态流转为 正常(0, "正常")
	void opInitOrReset(InvoiceInvoicedExcelExportVo form, LoginSysUser loginSysUser);

	// 状态流转为 逾期(1, "逾期")
	void opOverdued(InvoiceInvoicedExcelExportVo form, LoginSysUser loginSysUser);

	/****************************************** 状态机 外部使用 类门面   end ******************************************/
	void processInvoiceInvoicedsOverdueTask(InvoiceInvoicedExcelExportVo taskParams, LoginSysUser loginSysUser);

	void kafkaInvoiceInvoicedsOverdueTaskReceive(String message, LoginSysUser loginSysUser);


}
