Ejemplo n.º 1
0
        public virtual async Task UpdateAsync(string userId, string id, CustomerDealRequest customerDealRequest, CancellationToken cancellationToken = default(CancellationToken))
        {
            if (customerDealRequest == null)
            {
                throw new ArgumentNullException(nameof(customerDealRequest));
            }
            var building = await _icustomerDealStore.GetAsync(a => a.Where(b => b.Id == id && !b.IsDeleted && b.UserId == userId));

            if (building == null)
            {
                return;
            }
            var newdeal = _mapper.Map <CustomerDeal>(customerDealRequest);

            newdeal.IsDeleted  = building.IsDeleted;
            newdeal.CreateTime = building.CreateTime;
            newdeal.CreateUser = building.CreateUser;
            newdeal.UpdateTime = DateTime.Now;
            newdeal.UpdateUser = userId;
            await _icustomerDealStore.UpdateAsync(newdeal, cancellationToken);
        }
        public async Task <ResponseMessage> PutListCustomerReportByStatusDea(UserInfo user, [FromRoute] string dealid, [FromBody] CustomerDealRequest customerDealRequest)
        {
            Logger.Trace($"用户{user?.UserName ?? ""}({user?.Id ?? ""})修改成交信息(PutListCustomerReportByStatusDea):\r\n请求参数为:\r\n(dealid){dealid ?? ""}\r\n" + (customerDealRequest != null ? JsonHelper.ToJson(customerDealRequest) : ""));

            var response = new ResponseMessage();

            response.Code    = ResponseCodeDefines.NotFound;
            response.Message = "修改失败";
            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 ?? ""})修改成交信息(PutListCustomerReportByStatusDea)模型验证失败:\r\n{response.Message ?? ""},\r\n请求参数为:\r\n(dealid){dealid ?? ""}\r\n" + (customerDealRequest != null ? JsonHelper.ToJson(customerDealRequest) : ""));
                return(response);
            }
            try
            {
                await _customerDealManager.UpdateAsync(user.Id, dealid, customerDealRequest, HttpContext.RequestAborted);
            }
            catch (Exception e)
            {
                response.Code    = ResponseCodeDefines.ServiceError;
                response.Message = "服务器错误:" + e.ToString();
                Logger.Error($"用户{user?.UserName ?? ""}({user?.Id ?? ""})修改成交信息(PutListCustomerReportByStatusDea)请求失败:\r\n{response.Message ?? ""},\r\n请求参数为:\r\n(dealid){dealid ?? ""}\r\n" + (customerDealRequest != null ? JsonHelper.ToJson(customerDealRequest) : ""));
            }
            return(response);
        }
        public async Task <ResponseMessage <CustomerDealResponse> > AddCustomerDealSubmit(UserInfo user, [FromQuery] string source, [FromBody] CustomerDealRequest customerDealRequest)
        {
            Logger.Trace($"用户{user?.UserName ?? ""}({user?.Id ?? ""})新增成交信息(CustomerRDealSubmit):\r\n请求参数为:\r\n(source){source ?? ""}\r\n" + (customerDealRequest != null ? JsonHelper.ToJson(customerDealRequest) : ""));

            var response = new ResponseMessage <CustomerDealResponse>();

            if (!ModelState.IsValid)
            {
                response.Code    = ResponseCodeDefines.ModelStateInvalid;
                response.Message = ModelState.GetAllErrors();
                Logger.Warn($"用户{user?.UserName ?? ""}({user?.Id ?? ""})新增成交信息(CustomerRDealSubmit)模型验证失败:\r\n{response.Message ?? ""},\r\n请求参数为:\r\n(source){source ?? ""}\r\n" + (customerDealRequest != null ? JsonHelper.ToJson(customerDealRequest) : ""));
                return(response);
            }
            try
            {
                string dealId = Guid.NewGuid().ToString();
                var    r      = await _customerDealManager.CustiomerDealSubmitAsync(user, dealId, customerDealRequest, HttpContext.RequestAborted);

                if (r == null)
                {
                    response         = new ResponseMessage <CustomerDealResponse>();
                    response.Code    = ResponseCodeDefines.PartialFailure;
                    response.Message = "保存信息失败,当前商铺已有成交信息";
                }
                else
                {
                    if (customerDealRequest.SellerType == SellerType.SinceSale)
                    {
                        GatewayInterface.Dto.ExamineSubmitRequest examineSubmitRequest = new GatewayInterface.Dto.ExamineSubmitRequest();
                        examineSubmitRequest.ContentId      = customerDealRequest.ShopId;
                        examineSubmitRequest.ContentType    = "CustomerDeal";
                        examineSubmitRequest.ContentName    = customerDealRequest.ShopName;
                        examineSubmitRequest.Content        = "";
                        examineSubmitRequest.SubmitDefineId = r.Extension.Id;
                        examineSubmitRequest.Source         = "";
                        examineSubmitRequest.CallbackUrl    = "通过http回调时再设置回调地址";
                        examineSubmitRequest.Action         = "CustomerDeal";
                        examineSubmitRequest.TaskName       = $"客户成交:{customerDealRequest.Customer}";
                        examineSubmitRequest.Desc           = $"客户成交";
                        examineSubmitRequest.Ext1           = customerDealRequest.BuildingName;
                        examineSubmitRequest.Ext7           = user.Id;
                        examineSubmitRequest.Ext8           = user.OrganizationId;

                        GatewayInterface.Dto.UserInfo userInfo = new GatewayInterface.Dto.UserInfo()
                        {
                            Id               = user.Id,
                            KeyWord          = user.KeyWord,
                            OrganizationId   = user.OrganizationId,
                            OrganizationName = user.OrganizationName,
                            UserName         = user.UserName
                        };

                        var _examineInterface = ApplicationContext.Current.Provider.GetRequiredService <IExamineInterface>();

                        if (await _customerDealManager.UpdateShopStatusAsync(user.Id, r.Extension.ProjectId, r.Extension.ShopId, "18"))
                        {
                            var response2 = await _examineInterface.Submit(userInfo, examineSubmitRequest);

                            if (response2.Code != ResponseCodeDefines.SuccessCode)
                            {
                                response.Code    = ResponseCodeDefines.ServiceError;
                                response.Message = "向审核中心发起审核请求失败:" + response2.Message;
                                return(response);
                            }
                        }
                        else
                        {
                            response.Code    = ResponseCodeDefines.NotAllow;
                            response.Message = "发生了意外的错误";
                            return(response);
                        }
                    }
                    else if (customerDealRequest.SellerType == SellerType.ThirdPartySale || customerDealRequest.SellerType == SellerType.Unknown)
                    {
                        await _customerDealManager.UpdateStatusDealAsync(user.Id, user.OrganizationId, r.Extension.Id);
                    }
                }
            }
            catch (Exception e)
            {
                response.Code    = ResponseCodeDefines.ServiceError;
                response.Message = "服务器错误:" + e.ToString();
                Logger.Error($"用户{user?.UserName ?? ""}({user?.Id ?? ""})新增成交信息(PostListCustomerReportByStatusDea)请求失败:\r\n{response.Message ?? ""},\r\n请求参数为:\r\n" + (customerDealRequest != null ? JsonHelper.ToJson(customerDealRequest) : ""));
            }
            return(response);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 将报备状态改为对应状态
        /// </summary>
        /// <param name="user">请求者Id</param>
        /// <param name="customerDealRequest">请求数据</param>
        /// <param name="dealid"></param>
        /// <param name="mark">修改的状态</param>
        /// <param name="cancellationToken">验证</param>
        /// <returns></returns>
        public virtual async Task <ResponseMessage <CustomerDeal> > CustiomerDealSubmitAsync(UserInfo user, string dealId, CustomerDealRequest customerDealRequest, CancellationToken cancellationToken = default(CancellationToken))
        {
            var response = new ResponseMessage <CustomerDeal>();

            try
            {
                //if (string.IsNullOrEmpty(customerDealRequest.ProjectId))
                //    return response;

                var oldcustomerdeal = await _icustomerDealStore.GetAsync(a => a.Where(b => b.ShopId == customerDealRequest.ShopId && b.Customer == customerDealRequest.Customer));

                if (oldcustomerdeal != null)
                {
                    if (oldcustomerdeal.ExamineStatus == (int)ExamineStatusEnum.Auditing)
                    {
                        response.Extension = oldcustomerdeal;
                        return(response);
                    }
                    else
                    {
                        oldcustomerdeal.ExamineStatus = 1;
                        await _icustomerDealStore.UpdateAsync(oldcustomerdeal);

                        response.Extension = oldcustomerdeal;
                        return(response);
                    }
                }
                var _shopsInterface = ApplicationContext.Current.Provider.GetRequiredService <IShopsInterface>();
                var val             = (await _shopsInterface.IsResidentUser(user.Id, customerDealRequest.ProjectId));
                if (!val.Extension)
                {
                    return(null);
                }
                if (!customerDealRequest.IsTwoHand)
                {
                    if ((await _icustomerDealStore.ListAsync(a => a.Where(b => b.ShopId == customerDealRequest.ShopId), cancellationToken)).FirstOrDefault() != null)
                    {
                        return(null);
                    }
                }
                var customerdeal = _mapper.Map <CustomerDeal>(customerDealRequest);
                customerdeal.Id            = dealId;
                customerdeal.UserId        = user.Id;
                customerdeal.CreateTime    = DateTime.Now;
                customerdeal.CreateUser    = user.Id;
                customerdeal.ExamineStatus = (int)ExamineStatusEnum.Auditing;
                response.Extension         = await _icustomerDealStore.SubmitCreateAsync(customerdeal, cancellationToken);
            }
            catch (Exception e)
            {
                response.Code    = ResponseCodeDefines.ServiceError;
                response.Message = "服务器发生错误:" + e.ToString();
                throw;
            }
            return(response);
        }