public async Task <ResponseMessage <CustomerLossResponse> > CreateAsync(UserInfo userInfo, CustomerLossRequest customerLossRequest, CancellationToken cancellationToken = default(CancellationToken)) { ResponseMessage <CustomerLossResponse> response = new ResponseMessage <CustomerLossResponse>(); if (customerLossRequest == null || userInfo == null) { throw new ArgumentNullException(nameof(customerLossRequest)); } //修改客户状态 var customerInfo = await _icustomerInfoStore.GetAsync(a => a.Where(b => b.Id == customerLossRequest.CustomerId && !b.IsDeleted)); if (customerInfo == null) { response.Code = ResponseCodeDefines.NotFound; response.Message = "拉无效的客户未找到"; return(response); } if (!await _permissionExpansionManager.HavePermission(userInfo.Id, "LossCustomer", customerInfo.DepartmentId)) { response.Code = ResponseCodeDefines.NotAllow; response.Message = "没有权限拉无效该客户"; return(response); } if (await Store.GetAsync(x => x.Where(y => !y.IsDeleted && y.CustomerId == customerLossRequest.CustomerId)) != null) { response.Message = "该客户已经无效"; return(response); } CustomerLoss customerLoss = new CustomerLoss(); customerLoss.Id = Guid.NewGuid().ToString(); customerLoss.CustomerId = customerLossRequest.CustomerId; customerLoss.HouseTypeId = NeedHouseType.BusinessToBuy; customerLoss.IsDeleted = false; customerLoss.LossDepartmentId = userInfo.OrganizationId; customerLoss.LossTime = DateTime.Now; customerLoss.LossUserId = userInfo.Id; customerLoss.LossTypeId = customerLossRequest.LossTypeId; customerLoss.LossRemark = customerLossRequest.LossRemark; customerLoss.CreateTime = DateTime.Now; //if ((await _permissionExpansionManager.GetLowerDepartments(userInfo.OrganizationId)).Contains(response.DepartmentId) && (await _permissionExpansionManager.HavePermission(userInfo.Id, "LossCustomer"))) //{ // response.CustomerStatus = CustomerStatus.Lapse; // customerLoss.CustomerInfo = response; response.Extension = _mapper.Map <CustomerLossResponse>(await Store.CreateAsync(customerLoss, cancellationToken)); return(response); //} }
public async Task <ResponseMessage <CustomerLossResponse> > CreateCustomerLoss(UserInfo user, [FromBody] CustomerLossRequest customerLossRequest) { Logger.Trace($"用户{user?.UserName ?? ""}({user?.Id ?? ""})新增客户失效(CreateCustomerLoss):\r\n请求参数为:\r\n" + (customerLossRequest != null ? JsonHelper.ToJson(customerLossRequest) : "")); ResponseMessage <CustomerLossResponse> response = new ResponseMessage <CustomerLossResponse>(); if (!ModelState.IsValid) { response.Code = ResponseCodeDefines.ModelStateInvalid; response.Message = ModelState.GetAllErrors(); Logger.Warn($"用户{user?.UserName ?? ""}({user?.Id ?? ""})新增客户失效(CreateCustomerLoss)模型验证失败:\r\n{response.Message ?? ""},\r\n请求参数为:\r\n" + (customerLossRequest != null ? JsonHelper.ToJson(customerLossRequest) : "")); return(response); } try { return(await _customerLossManager.CreateAsync(user, customerLossRequest, HttpContext.RequestAborted)); //if (response.Extension == null) //{ // response.Code = ResponseCodeDefines.NotAllow; // response.Message = "拉无效失败"; //} } catch (Exception e) { response.Code = ResponseCodeDefines.ServiceError; response.Message = e.ToString(); Logger.Error($"用户{user?.UserName ?? ""}({user?.Id ?? ""})新增客户失效(CreateCustomerLoss)请求失败:\r\n{response.Message ?? ""},\r\n请求参数为:\r\n" + (customerLossRequest != null ? JsonHelper.ToJson(customerLossRequest) : "")); } return(response); }