using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using OASystem.Domain.Dtos.CRM; using OASystem.Domain.Entities.Customer; using OASystem.Infrastructure.Repositories.CRM; namespace OASystem.API.Controllers { /// /// 签证客户资料相关 /// [Route("api/[controller]/[action]")] //[ApiController] public class CRMController : ControllerBase { private readonly VisaDeleClientCompanyRepository _clientCompanyRepository; private readonly VisaDeleClientRepository _clientRepository; /// /// 初始化 /// /// /// public CRMController(VisaDeleClientCompanyRepository clientCompanyRepository, VisaDeleClientRepository clientRepository) { this._clientCompanyRepository = clientCompanyRepository; this._clientRepository = clientRepository; } /// /// 获取签证客户公司列表 /// /// /// [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task GetClientCompanyList(DtoBase dto) { var clientCompanyData = await _clientCompanyRepository.GetCrm_ClientCompanyList(dto); if (clientCompanyData.Code != 0) { return Ok(JsonView(false, clientCompanyData.Msg == null ? "操作失败" : clientCompanyData.Msg)); } return Ok(JsonView(clientCompanyData.Data, clientCompanyData.Data.Count)); } /// /// 签证客户公司列表操作(Status:1.新增,2.修改) /// /// /// [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task OperationClientCompany(OperationClientCompanyDto dto) { try { if (dto.CompanyName == "") { return Ok(JsonView(false, "请检查客户单位名称是否填写!")); } if (dto.Address == "") { return Ok(JsonView(false, "请检查客户单位地址是否填写!")); } if (dto.PostCodes == "") { return Ok(JsonView(false, "请检查客户单位邮编是否填写!")); } Result clientCompanyData = await _clientCompanyRepository.OperationClientCompany(dto); if (clientCompanyData.Code != 0) { return Ok(JsonView(false, clientCompanyData.Msg)); } return Ok(JsonView(true, clientCompanyData.Msg)); } catch (Exception) { return Ok(JsonView(false, "程序错误!")); throw; } } /// /// 签证客户公司列表操作(删除) /// /// [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task DelClientCompany(ClientCompanyDto dto) { try { var res = await _clientCompanyRepository.SoftDeleteByIdAsync(dto.Id.ToString(), dto.DeleteUserId); if (!res) { return Ok(JsonView(false, "删除失败")); } return Ok(JsonView(true, "删除成功!")); } catch (Exception ex) { return Ok(JsonView(false, "程序错误!")); throw; } } /// /// 获取签证客户列表 /// /// /// [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task GetClientList(DtoBase dto) { var clientData = await _clientRepository.GetCrmList(dto); if (clientData.Code != 0) { return Ok(JsonView(false, clientData.Msg == null ? "操作失败" : clientData.Msg)); } return Ok(JsonView(clientData.Data, clientData.Data.Count)); } } }