You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.4 KiB
C#

using DS.Module.Core;
using DS.WMS.Core.Invoice.Dtos;
namespace DS.WMS.Core.Invoice.Interface
{
/// <summary>
/// 发票开具
/// </summary>
public interface IInvoiceIssuanceService
{
/// <summary>
/// 发起开票请求
/// </summary>
/// <param name="ids">开票的发票ID</param>
/// <returns></returns>
Task<DataResult> InitiateAsync(params long[] ids);
/// <summary>
/// 更新发票号码
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<DataResult> UpdateInvoiceNumberAsync(long id);
/// <summary>
/// 发票冲红
/// </summary>
/// <param name="request">请求</param>
/// <returns></returns>
Task<DataResult> ReverseAsync(InvoiceReversalRequest request);
/// <summary>
/// 添加租户信息
/// </summary>
/// <param name="tenant">租户信息</param>
/// <returns></returns>
/// <exception cref="ArgumentNullException">当<paramref name="tenant"/>为null时引发。</exception>
Task<string> AddTenantAsync(Tenant tenant);
/// <summary>
/// 发送邮件
/// </summary>
/// <param name="id">发票ID</param>
/// <returns></returns>
Task<DataResult> SendMailAsync(long id);
}
}