public async Task <ResponseMessage> PutCustomerInfo(UserInfo user, [FromBody] CustomerReportRequest customerReportRequest) { Logger.Trace($"用户{user?.UserName ?? ""}({user?.Id ?? ""})修改客源信息(PutCustomerInfo):\r\n请求参数为:\r\n" + (customerReportRequest != null ? JsonHelper.ToJson(customerReportRequest) : "")); var response = new ResponseMessage(); if (!ModelState.IsValid) { var error = ""; var errors = ModelState.Values.ToList(); foreach (var item in errors) { foreach (var e in item.Errors) { error += e.ErrorMessage + " "; } } response.Code = ResponseCodeDefines.ModelStateInvalid; response.Message = error; Logger.Warn($"用户{user?.UserName ?? ""}({user?.Id ?? ""})修改客源信息(PutCustomerInfo)模型验证失败:\r\n{response.Message ?? ""},\r\n请求参数为:\r\n" + (customerReportRequest != null ? JsonHelper.ToJson(customerReportRequest) : "")); return(response); } try { var dictionaryGroup = await _customerReportManager.FindByIdAsync(customerReportRequest.Id, HttpContext.RequestAborted); if (dictionaryGroup == null) { await _customerReportManager.CreateAsync(user, customerReportRequest, HttpContext.RequestAborted); } await _customerReportManager.UpdateAsync(user.Id, customerReportRequest, HttpContext.RequestAborted); response.Code = ResponseCodeDefines.SuccessCode; response.Message = "修改成功"; } catch (Exception e) { response.Code = ResponseCodeDefines.ServiceError; response.Message = e.ToString(); Logger.Error($"用户{user?.UserName ?? ""}({user?.Id ?? ""})修改客源信息(PutCustomerInfo)请求失败:\r\n{response.Message ?? ""},\r\n请求参数为:\r\n" + (customerReportRequest != null ? JsonHelper.ToJson(customerReportRequest) : "")); } return(response); }
/// <summary> /// 修改单个报备信息 /// </summary> /// <param name="userId">请求者Id</param> /// <param name="customerReportRequest">请求数据</param> /// <param name="cancellationToken">验证</param> /// <returns></returns> public virtual async Task UpdateAsync(string userId, CustomerReportRequest customerReportRequest, CancellationToken cancellationToken = default(CancellationToken)) { if (customerReportRequest == null) { throw new ArgumentNullException(nameof(customerReportRequest)); } var customerInfo = await _customerReportStore.GetAsync(a => a.Where(b => b.Id == customerReportRequest.Id && !b.IsDeleted)); if (customerInfo == null) { return; } var newcustomerInfo = _mapper.Map <CustomerReport>(customerReportRequest); //报备基本信息 newcustomerInfo.IsDeleted = customerInfo.IsDeleted; newcustomerInfo.CreateTime = customerInfo.CreateTime; newcustomerInfo.CreateUser = customerInfo.CreateUser; newcustomerInfo.UpdateTime = DateTime.Now; newcustomerInfo.UpdateUser = userId; await _customerReportStore.UpdateAsync(newcustomerInfo, cancellationToken); }
public async Task <ResponseMessage <CustomerReportResponse> > PostCustomerInfo(UserInfo user, [FromBody] CustomerReportRequest customerReportRequest) { Logger.Trace($"用户{user?.UserName ?? ""}({user?.Id ?? ""})新增报备信息(PostCustomerInfo):\r\n请求参数为:\r\n" + (customerReportRequest != null ? JsonHelper.ToJson(customerReportRequest) : "")); var response = new ResponseMessage <CustomerReportResponse>(); if (!ModelState.IsValid) { var error = ""; var errors = ModelState.Values.ToList(); foreach (var item in errors) { foreach (var e in item.Errors) { error += e.ErrorMessage + " "; } } response.Code = ResponseCodeDefines.ModelStateInvalid; response.Message = error; Logger.Warn($"用户{user?.UserName ?? ""}({user?.Id ?? ""})新增报备信息(PostCustomerInfo)模型验证失败:\r\n{response.Message ?? ""},\r\n请求参数为:\r\n" + (customerReportRequest != null ? JsonHelper.ToJson(customerReportRequest) : "")); return(response); } try { response.Extension = await _customerReportManager.CreateAsync(user, customerReportRequest, HttpContext.RequestAborted); } catch (Exception e) { response.Code = ResponseCodeDefines.ModelStateInvalid; response.Message = e.ToString(); Logger.Error($"用户{user?.UserName ?? ""}({user?.Id ?? ""})新增报备信息(PostCustomerInfo)请求失败:\r\n{response.Message ?? ""},\r\n请求参数为:\r\n" + (customerReportRequest != null ? JsonHelper.ToJson(customerReportRequest) : "")); } return(response); }
/// <summary> /// 新增报备信息 /// </summary> /// <param name="user">新增人基本信息</param> /// <param name="customerReportRequest">请求实体</param> /// <param name="cancellationToken">验证</param> /// <returns></returns> public virtual async Task <CustomerReportResponse> CreateAsync(UserInfo user, CustomerReportRequest customerReportRequest, CancellationToken cancellationToken = default(CancellationToken)) { if (customerReportRequest == null) { throw new ArgumentNullException(nameof(customerReportRequest)); } customerReportRequest.CustomerInfoCreateRequest.MainPhone = new Help.EncDncHelper().Encrypt(customerReportRequest.CustomerInfoCreateRequest.MainPhone); if (string.IsNullOrEmpty(customerReportRequest.CustomerId)) { //信息是否完善 if (string.IsNullOrEmpty(customerReportRequest.CustomerInfoCreateRequest.MainPhone) && string.IsNullOrEmpty(customerReportRequest.CustomerInfoCreateRequest.CustomerName)) { throw new ArgumentNullException(nameof(customerReportRequest)); } else { var customerInfo = await _customerinfoStore.CustomerInfoAll().Where(b => b.UserId == user.Id && b.MainPhone == customerReportRequest.CustomerInfoCreateRequest.MainPhone && b.CustomerName == customerReportRequest.CustomerInfoCreateRequest.CustomerName && !b.IsDeleted).FirstOrDefaultAsync(cancellationToken); if (customerInfo != null) { //修改核心意向 var demand = await _icustomerDemandStore.GetAsync(a => a.Where(b => b.Id == customerInfo.CustomerDemand.Id), cancellationToken); if (customerReportRequest.CustomerInfoCreateRequest.CustomerDemandRequest.PriceEnd == null) { demand.PriceEnd = customerReportRequest.CustomerInfoCreateRequest.CustomerDemandRequest.PriceEnd; } if (customerReportRequest.CustomerInfoCreateRequest.CustomerDemandRequest.PriceStart == null) { demand.PriceStart = customerReportRequest.CustomerInfoCreateRequest.CustomerDemandRequest.PriceStart; } if (customerReportRequest.CustomerInfoCreateRequest.CustomerDemandRequest.AcreageEnd == null) { demand.AcreageEnd = customerReportRequest.CustomerInfoCreateRequest.CustomerDemandRequest.AcreageEnd; } if (customerReportRequest.CustomerInfoCreateRequest.CustomerDemandRequest.AcreageStart == null) { demand.AcreageStart = customerReportRequest.CustomerInfoCreateRequest.CustomerDemandRequest.AcreageStart; } await _icustomerDemandStore.UpdateAsync(demand, cancellationToken); } else { var customerinfo = _mapper.Map <CustomerInfo>(customerReportRequest.CustomerInfoCreateRequest); //客户基本信息 customerinfo.Id = Guid.NewGuid().ToString(); customerinfo.CreateUser = user.Id; customerinfo.CreateTime = DateTime.Now; customerinfo.UserId = user.Id; customerinfo.DepartmentId = user.OrganizationId; //最后跟进时间为创建时间 customerinfo.FollowupTime = customerinfo.CreateTime; if (customerinfo.Birthday != null) { customerinfo.Age = DateTime.Now.Year - customerinfo.Birthday.Value.Year; } customerinfo.CustomerStatus = CustomerStatus.ExistingCustomers; //客户需求信息 customerinfo.CustomerDemand.Id = Guid.NewGuid().ToString(); customerinfo.CustomerDemand.UserId = user.Id; customerinfo.CustomerDemand.DepartmentId = user.OrganizationId; customerinfo.CustomerDemand.CustomerId = customerinfo.Id; customerinfo.CustomerDemand.CreateUser = user.Id; customerinfo.CustomerDemand.CreateTime = DateTime.Now; //客户电话信息 customerinfo.CustomerPhones = customerinfo.CustomerPhones.Select(q => { q.Id = Guid.NewGuid().ToString(); q.CustomerId = customerinfo.Id; q.CreateUser = user.Id; q.CreateTime = DateTime.Now; return(q); }); await _customerinfoStore.CreateAsync(customerinfo, cancellationToken); customerReportRequest.CustomerId = customerinfo.Id; } } } else { //更新原来的用户数据跟进时间 var customerinfo = await _customerinfoStore.GetAsync(a => a.Where(b => b.Id == customerReportRequest.CustomerId && !b.IsDeleted)); //插入跟进信息 var followup = new CustomerFollowUp { Id = Guid.NewGuid().ToString(), CustomerId = customerReportRequest.CustomerId, TypeId = CustomerFollowUpType.CustomerReported, UserId = user.Id, DepartmentId = user.OrganizationId, FollowUpTime = DateTime.Now, TrueName = customerinfo.CustomerName, FollowUpContents = "客户报备", CustomerNo = customerinfo.CustomerNo, IsRealFollow = false, CreateTime = DateTime.Now, CreateUser = user.Id }; await _icustomerFollowUpStore.CreateAsync(followup, cancellationToken); } var customerreport = _mapper.Map <CustomerReport>(customerReportRequest); //报备基本信息 customerreport.Id = Guid.NewGuid().ToString(); customerreport.CreateUser = user.Id; customerreport.CreateTime = DateTime.Now; customerreport.UserId = user.Id; customerreport.DepartmentId = user.OrganizationId; customerreport.ReportTime = customerreport.CreateTime; await _customerReportStore.CreateAsync(customerreport, cancellationToken); return(_mapper.Map <CustomerReportResponse>(customerreport)); }