Zxd.Core/code/Zxd.Core.WebApi/Controllers/CustomerController.cs

174 lines
5.6 KiB
C#

using Zxd.Core.Domain.Dto.Crm;
using Zxd.Core.Domain.Dto.Dg;
using Zxd.Core.Domain.Dto.Wework;
using Zxd.Core.Domain.Dto.Zxd.Order;
using static Zxd.Domain.Impl.ICustomerDomain;
namespace Zxd.Core.WebApi.Controllers
{
[ApiSignatureFilterForbid]
public class CustomerController : BaseController
{
private readonly ICustomerDomain _customerDomain;
private readonly IOrderDomain _orderDomain;
private readonly ISmsRecordDomain _smsRecordDomain;
public CustomerController(ICustomerDomain customerDomain, IOrderDomain orderDomain, ISmsRecordDomain smsRecordDomain)
{
_customerDomain = customerDomain;
_orderDomain = orderDomain;
_smsRecordDomain = smsRecordDomain;
}
/// <summary>
/// 获取用户名
/// </summary>
/// <param name="resId"></param>
/// <returns></returns>
[HttpGet("Usernames")]
public async Task<List<string>> GetUsernames(string? resId)
{
return await _customerDomain.GetUsernames(resId);
}
/// <summary>
/// 通过订单获取当时下单的用户名
/// </summary>
/// <param name="resId"></param>
/// <returns></returns>
[HttpGet("UsernamesByOrderid")]
public async Task<List<userRet>> GetUsernamesByOrderid(string? orderidList)
{
return await _customerDomain.GetUsernamesByOrderid(orderidList);
}
/// <summary>
/// 获取销售线索
/// </summary>
/// <param name="resId"></param>
/// <returns></returns>
[HttpGet("SalesLeads")]
public async Task<List<SalesLeadDto>> GetSalesLeadList(string? resId)
{
return await _customerDomain.GetSalesLeadList(resId);
}
/// <summary>
/// 创建客户
/// </summary>
/// <returns></returns>
[HttpGet("CreateCustomer")]
public async Task<CreateCustomerRes> CreateCustomer(string MOBILE, string ResId, string CustomerFrom)
{
return await _customerDomain.CreateCustomer(MOBILE, ResId, CustomerFrom);
}
/// <summary>
/// 获取关注状况
/// </summary>
/// <param name="resId"></param>
/// <returns></returns>
[HttpPost()]
public async Task<List<WwUserFollowOutDto>> GetFollow(List<Domain.Dto.Wework.WwUserFollowInDto> queryList)
{
return await _customerDomain.GetFollow(queryList);
}
/// <summary>
/// 获取企业微信用户下拉选择
/// </summary>
/// <param name="ResId"></param>
/// <returns></returns>
[HttpGet("GetWorkWXUserSelect")]
public async Task<List<ExUserModel>> GetWorkWXUserSelectAsync(string? ResId, string? DeptCode)
{
return await _customerDomain.GetWorkWXUserSelectAsync(ResId, DeptCode);
}
/// <summary>
/// 获取企业微信付费版本绑定的ID
/// </summary>
/// <param name="ResId"></param>
/// <returns></returns>
[HttpGet("ExtUserBandGet")]
public async Task<List<string>> ExtUserBandGetAsync(string? ResId)
{
return await _customerDomain.ExtUserBandGetAsync(ResId);
}
/// <summary>
/// 获取验证码列表
/// </summary>
/// <param name="umid"></param>
/// <returns></returns>
[HttpGet("GetSmsRecord")]
public async Task<List<Sms_RecordsDto>> GetSmsRecord(string umid)
{
return await _smsRecordDomain.GetSmsRecordsList(umid);
}
/// <summary>
/// 根据外部联系人Userid获取resid
/// </summary>
/// <returns></returns>
[HttpPost("GetResidByExtUser")]
public async Task<List<string>> GetResidByExtUser([FromBody] string extUser)
{
List<string> userids = extUser.Split(',').ToList();
return await _customerDomain.GetResidByExtuser(userids);
}
/// <summary>
/// 根据外部联系人Unionid获取Phone
/// </summary>
/// <returns></returns>
[HttpGet("GetPhoneByUnionid")]
public async Task<IList<string>> GetPhoneByUnionid(string unionid)
{
return await _customerDomain.GetPhoneByUnionid(unionid);
}
/// <summary>
/// 初始化客户
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
[HttpPost("initCustomerPasstime")]
public async Task<bool> initResPassTime([FromBody] ResPassTimeDto dto)
{
return await _orderDomain.initResPassTime(dto);
}
/// <summary>
/// 添加标签
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
[HttpPost("AddTag")]
public async Task<bool> AddTag([FromBody] ResTagAddDto dto)
{
return await _customerDomain.AddTag(dto.resid, dto.tag, dto.ceid);
}
/// <summary>
/// 获取标签
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
[HttpGet("GetTag")]
public async Task<List<Res_Tag>> GetTag(string resid)
{
return await _customerDomain.GetTag(resid);
}
/// <summary>
/// 删除标签
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpPost("DelTag")]
public async Task<bool> DelTag([FromBody] DelResTagDto dto)
{
return await _customerDomain.DelTag(dto.id, dto.deleteeid);
}
}
}