Пример #1
0
        public HttpResponseMessage AddOrUpdateWorkOrderDetail([FromBody] AddOrUpdateWorkOrderDetailRequest request)
        {
            _logAppInfo.Info(string.Format("添加受理记录接口请求串:{0},参数:{1}", Request.RequestUri, request.ToJson()));
            var viewModel = new AddOrUpdateWorkOrderDetailViewModel();

            if (!ModelState.IsValid)
            {
                viewModel.BusinessStatus = -10000;
                string msg = ModelState.Values.Where(a => a.Errors.Count == 1).Aggregate(string.Empty, (current, a) => current + (a.Errors[0].ErrorMessage + ";   "));
                viewModel.StatusMessage = "输入参数错误," + msg;
                return(viewModel.ResponseToJson());
            }
            var response = _workOrderService.AddOrUpdateWorkOrderDetail(request, Request.GetQueryNameValuePairs());

            _logAppInfo.Info(string.Format("添加受理记录接口返回值:{0}", response.ToJson()));
            if (response.Status == HttpStatusCode.BadRequest || response.Status == HttpStatusCode.Forbidden)
            {
                viewModel.BusinessStatus = -10001;
                viewModel.StatusMessage  = "参数校验错误,请检查您的校验码";
                return(viewModel.ResponseToJson());
            }
            if (response.ErrCode == -1)
            {
                viewModel.BusinessStatus = -10000;
                viewModel.StatusMessage  = response.ErrMsg;
                return(viewModel.ResponseToJson());
            }
            else if (response.ErrCode == 1)
            {
                viewModel.BusinessStatus    = 1;
                viewModel.WorkOrderDetailId = response.WorkOrderDetailId;
                viewModel.StatusMessage     = "创建成功";
            }
            else
            {
                viewModel.BusinessStatus = -10002;
                viewModel.StatusMessage  = "创建失败";
            }
            return(viewModel.ResponseToJson());
        }
        /// <summary>
        /// 业务:续保顾问用。创建WorkOrderDetail对象和更新WorkOrder对象
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public AddOrUpdateWorkOrderDetailResponse AddOrUpdateWorkOrderDetail(AddOrUpdateWorkOrderDetailRequest request, IEnumerable <KeyValuePair <string, string> > pairs)
        {
            var response = new AddOrUpdateWorkOrderDetailResponse();

            //bhToken校验
            if (!AppTokenValidateReqest(request.BhToken, request.ChildAgent))
            {
                response.ErrCode = -300;
                response.ErrMsg  = "登录信息已过期,请重新登录";
                return(response);
            }
            //传参校验
            IBxAgent agentModel = GetAgentModelFactory(request.Agent);

            //参数校验
            if (!agentModel.AgentCanUse())
            {
                response.Status = HttpStatusCode.BadRequest;
                return(response);
            }
            if (!AppValidateReqest(pairs, request.SecCode))
            {
                response.Status = HttpStatusCode.Forbidden;
                return(response);
            }

            if (request.Status == 0)
            {
                response.ErrCode = -1;
                response.ErrMsg  = "受理状态不能为空";
                return(response);
            }
            try
            {
                DateTime dateTime = DateTime.Now;
                bx_userinfo_renewal_info workOrder;

                bx_userinfo bxUserInfo;
                if (request.Buid.HasValue && request.Buid.Value != 0)
                {
                    //如果传buid过来,重新赋值request
                    bxUserInfo = _userInfoRepository.FindByBuid(request.Buid.Value);
                    if (bxUserInfo != null)
                    {
                        request.LicenseNo  = bxUserInfo.LicenseNo;
                        request.OwnerAgent = int.Parse(bxUserInfo.Agent);
                    }
                }
                else
                {
                    //根据OpenId、车牌号、代理人Id找userinfo对象
                    bxUserInfo = _userInfoRepository.FindByAgentLicense(request.LicenseNo, request.OwnerAgent.ToString());
                }

                if (bxUserInfo == null)
                {
                    response.ErrCode = 0;
                    response.ErrMsg  = "查不到此续保信息";
                    return(response);
                }
                int workOrderId = request.WorkOrderId;
                if (workOrderId == 0)
                {
                    workOrder                  = new bx_userinfo_renewal_info();
                    workOrder.sa_id            = request.SaAgent;
                    workOrder.sa_name          = request.SaAgentName;
                    workOrder.client_name      = request.CustomerName;
                    workOrder.client_mobile    = request.Phone;
                    workOrder.b_uid            = (int)bxUserInfo.Id;
                    workOrder.client_intention = 3;//默认添加,其他情况
                    //workOrder.remark = request.Remark;
                    workOrder.create_time = dateTime;
                    workOrder.xubao_id    = request.ChildAgent;
                    workOrder.xubao_name  = request.ChildName;
                    workOrderId           = _userinfoRenewalInfoRepository.Add(workOrder);
                }
                if (workOrderId > 0)
                {
                    var workOrderDetail = new bx_consumer_review
                    {
                        b_uid        = (int)bxUserInfo.Id,
                        content      = request.Remark,
                        operatorId   = request.ChildAgent,
                        operatorName = request.ChildName
                    };
                    if (!string.IsNullOrWhiteSpace(request.NextReviewDate))
                    {
                        workOrderDetail.next_review_date = DateTime.Parse(request.NextReviewDate);
                    }
                    workOrderDetail.read_status      = 0;
                    workOrderDetail.status           = 0;//跟进类型,0回访,1投诉,2跟进..
                    workOrderDetail.result_status    = request.Status;
                    workOrderDetail.intentioncompany = request.IntentionCompany;
                    workOrderDetail.create_time      = dateTime;
                    int workOrderDetailId = _consumerReviewRepository.AddDetail(workOrderDetail);
                    if (workOrderDetailId > 0)
                    {
                        if (workOrderId != 0)
                        {
                            if (request.Status == 1)
                            {
                                //5,添加出单通知
                                var msgRequest = new AddMessageRequest
                                {
                                    Body       = request.LicenseNo,
                                    MsgType    = 7,
                                    ToAgentId  = request.Agent,
                                    MsgLevel   = 1,
                                    SendTime   = DateTime.Now.ToString(),
                                    ChildAgent = request.ChildAgent,
                                    LicenseNo  = request.LicenseNo,
                                    Buid       = bxUserInfo.Id,
                                    Source     = request.IntentionCompany
                                };
                                _messageService.AddMessage(msgRequest);
                            }
                            //修改意向里的主记录
                            workOrder = new bx_userinfo_renewal_info();
                            workOrder = _userinfoRenewalInfoRepository.FindById(workOrderId);
                            if (workOrder != null)
                            {
                                workOrder.intentioncompany = request.IntentionCompany;
                                workOrder.result_status    = request.Status;
                                workOrder.xubao_id         = request.ChildAgent;
                                workOrder.xubao_name       = request.ChildName;
                                _userinfoRenewalInfoRepository.Update(workOrder);
                                //if (_userinfoRenewalInfoRepository.Update(workOrder) > 0)
                                //{
                                response.ErrCode           = 1;
                                response.WorkOrderDetailId = workOrderDetailId;
                                //}
                                //else
                                //{
                                //    response.ErrCode = 0;
                                //}
                            }
                        }
                        else
                        {
                            response.ErrCode = 0;
                            //response.ErrCode = 1;
                            //response.WorkOrderDetailId = workOrderDetailId;
                        }
                    }
                    else
                    {
                        response.ErrCode = 0;
                    }
                }
            }
            catch (Exception ex)
            {
                response.ErrCode = 0;
                logError.Info("添加受理记录异常,受理记录信息:" + request.ToJson() + "\n 异常信息:" + ex.StackTrace + " \n " + ex.Message);
            }
            return(response);
        }