using System; using System.Collections.Generic; using System.Threading.Tasks; using AdminDomain.Customer.Param; using CustomerService.Domain.Entity; namespace AdminDomain.Customer { public interface ICustomerService { Task<(bool isOk, string msg, CustomerEntity? customer)> AddCustomer(AddCustomerParam param); Task<(bool isOk, string msg)> UpdateCustomer(UpdateCustomerParam param); Task<(bool isOk, string msg)> DeleteCustomer(string id); Task<(bool isOk, string msg, List? customers, int total)> GetCustomerList(GetCustomerListParam param); Task<(bool isOk, string msg, CustomerEntity? customer)> GetCustomerById(string id); Task<(bool isOk, string msg, ConversationEntity? conversation)> GetConversationById(string id); Task<(bool isOk, string msg, List? conversations, int total)> GetConversationList(GetConversationListParam param); Task<(bool isOk, string msg)> DeleteConversation(string conversationId); Task<(bool isOk, string msg, List? messages)> GetChatLog(string conversationId); Task<(bool isOk, string msg)> DeleteMessage(string id); Task<(bool isOk, string msg)> DeleteAllMessages(string conversationId); Task<(bool isOk, string msg)> DeleteMessagesBatch(List ids); } }