ComplianceServer/code/Hg.Complaint.Domain/Impl/IComplaintDomain.cs

146 lines
4.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Hg.Complaint.Domain.Impl
{
public interface IComplaintDomain : IScopedDependency
{
/// <summary>
/// 分析消极消息
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
Task<bool> AnalyseNegativeMessage(NegativeMessageDto dto);
/// <summary>
/// 申请投诉
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
Task<bool> ApplyComplaint(ApplyComplaintDto dto);
/// <summary>
/// 分析投诉日志
/// </summary>
/// <param name="messageDto"></param>
/// <returns></returns>
Task AnalyseComplaintLog(ComplaintLogMessageDto messageDto);
/// <summary>
/// 获取队列数量
/// </summary>
/// <returns></returns>
Task<long> GetQueue();
/// <summary>
/// 消费单个队列对象
/// </summary>
/// <returns></returns>
Task<ComplaintLogMessageDto> DequeueQueue();
/// <summary>
/// 获取队列信息
/// </summary>
/// <returns></returns>
Task<List<ComplaintLogMessageDto>> GetQueues();
/// <summary>
/// 分页
/// </summary>
/// <param name="dto"></param>
/// <param name="appid"></param>
/// <returns></returns>
Task<PageResult<ComplaintDto>> GetPage(SearchComplaintDto dto, string? appid);
/// <summary>
/// 重新发起队列
/// </summary>
/// <returns></returns>
Task<List<ComplaintLogMessageDto>> SyncQueue();
/// <summary>
/// 获取投诉详情
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<ComplaintDetailDto> GetComplaintDetail(int id);
/// <summary>
/// 根据资源id和业务线获取投诉详情
/// </summary>
/// <param name="resid"></param>
/// <param name="deptid"></param>
/// <returns></returns>
Task<ComplaintDetailDto> GetComplaintDetail(string? resid, int? deptid);
/// <summary>
/// 根据appid和业务线获取投诉详情
/// </summary>
/// <param name="appid"></param>
/// <param name="appuserid"></param>
/// <param name="deptid"></param>
/// <returns></returns>
Task<ComplaintDetailDto> GetComplaintDetail(string? appid, string? appuserid, int? deptid);
/// <summary>
/// 更新投诉状态
/// </summary>
/// <param name="dto"></param>
/// <param name="appid"></param>
/// <returns></returns>
Task<bool> UpdateComplaintStatus(UpdateComplaintStatusDto dto, string? appid);
/// <summary>
/// 获取跟进状态
/// </summary>
/// <param name="udid"></param>
/// <returns></returns>
Task<ComplainStatusModel> GetComplaintStatus(int udid);
/// <summary>
/// 标记用户
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
Task<bool> MarkCustomer(MarkCustomerDto dto);
/// <summary>
/// 初始化处理过期未处理投诉
/// </summary>
/// <returns></returns>
Task InitOverdueComplaint();
/// <summary>
/// 处理过期未处理投诉
/// </summary>
/// <returns></returns>
Task OverdueComplaint();
/// <summary>
/// 刷新resid
/// </summary>
/// <returns></returns>
Task SyncResid();
/// <summary>
/// 批量分配客户给客服
/// </summary>
/// <param name="dto"></param>
/// <param name="appid"></param>
/// <returns></returns>
Task<bool> BatchAssignComplaint(BatchAssignComplaintDto dto, string? appid);
/// <summary>
///
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
Task<bool> MarkTrolls(MarkTrollsDto dto);
Task<int> ComplaintLabel(string resId);
}
}