using Hg.Core.Domain.Dto.OutComplaint;
using Hg.Core.Domain.Impl;
using Microsoft.AspNetCore.Mvc;
namespace Hg.Core.WebApi.Controllers
{
[ApiSignatureFilterForbid]
public class OutComplaintController : BaseController
{
private readonly IOutComplaintDomain _outComplaintDomain;
private readonly ICacheDomain _cacheDomain;
public OutComplaintController(IOutComplaintDomain outComplaintDomain, ICacheDomain cacheDomain)
{
_outComplaintDomain = outComplaintDomain;
_cacheDomain = cacheDomain;
}
///
/// 获取外诉数据
///
///
///
[HttpGet]
public async Task GetOutComplanit(int id)
{
return await _outComplaintDomain.GetOutComplaint(id);
}
///
/// 外诉分页
///
///
///
[HttpGet("page")]
public async Task> GetOutComplaintPage([FromQuery] SearchOutComplaintDto dto)
{
return await _outComplaintDomain.GetOutComplaintPage(dto);
}
///
/// 创建外诉
///
///
///
[HttpPost]
public async Task CreateOutComplaint([FromBody] CreateOutComplaintDto dto)
{
Log.Information("CreateOutComplaint-卧槽");
return await _outComplaintDomain.CreateOutComplaint(dto);
}
///
/// 修改外诉
///
///
///
[HttpPost("update")]
public async Task UpdateOutComplaint([FromBody] UpdateOutComplaintDto dto)
{
return await _outComplaintDomain.UpdateOutComplaint(dto);
}
///
/// 创建外诉跟进
///
///
///
[HttpPost("followUp")]
public async Task CreateOutComlpaintFollowUp([FromBody] CreateOutComplaintFollowUpDto dto)
{
return await _outComplaintDomain.CreateOutComlpaintFollowUp(dto);
}
///
/// 更新外诉跟进
///
///
///
[HttpPost("UpdateFollowUp")]
public async Task UpdateOutComlpaintFollowUp([FromBody] CreateOutComplaintFollowUpDto dto)
{
return await _outComplaintDomain.UpdateOutComlpaintFollowUp(dto);
}
///
/// 获取用户信息
///
///
///
[HttpGet("customerInfo")]
public async Task GetComplaintCustomerInfo(string? resid)
{
return await _outComplaintDomain.GetComplaintCustomerInfo(resid);
}
///
/// 获取跟进记录
///
///
///
[HttpGet("FollowUp")]
public async Task GetOutComlpaintFollowUp(int? id)
{
return await _outComplaintDomain.GetOutComplaintFollowUp(id);
}
///
/// 创建回复记录
///
///
///
[HttpPost("Restore")]
public async Task CreateOutComplaintRestore([FromBody] CreateOutComplaintRestoreDto dto)
{
return await _outComplaintDomain.CreateOutComplaintRestore(dto);
}
///
/// 更新外诉状态
///
///
///
[HttpPost("Status")]
public async Task UpdateOutComplaintStatus([FromBody] UpdateOutComplaintStatusDto dto)
{
return await _outComplaintDomain.UpdateOutComplaintStatus(dto);
}
///
/// 获取回复记录信息
///
///
///
[HttpGet("Restore")]
public async Task GetOutComplaintRestoreInfo(int id)
{
return await _outComplaintDomain.GetOutComplaintRestoreInfo(id);
}
///
/// 获取客户内外诉标签
///
///
///
[HttpGet("ComplaintLabel")]
public async Task ComplaintLabel(string resId)
{
return await _outComplaintDomain.ComplaintLabel(resId);
}
///
/// 测试日期
///
///
///
[HttpGet("testday")]
public async Task TestDay(DateTime time)
{
var a = await _cacheDomain.GetWorkDays(DateTime.Now, time);
var b = await _cacheDomain.GetWorkHours(DateTime.Now, time);
var c = await _cacheDomain.AddWorkDays(time, 1);
return await _cacheDomain.AddWorkDays(time, 7);
}
///
/// 数据导入
///
///
///
[HttpPost("Import")]
public async Task Import([FromBody] List dtos)
{
return await _outComplaintDomain.Import(dtos);
}
///
/// 数据导入
///
///
///
[HttpPost("UpdateEid")]
public async Task UpdateEid()
{
return await _outComplaintDomain.UpdateEid();
}
///
/// 获取当前日期是否工作日
///
///
///
[HttpGet("WorkDay")]
public async Task IsWorkDay(DateTime dateTime)
{
return await _cacheDomain.IsWorkDay(dateTime);
}
}
}