Ejemplo n.º 1
0
        public HttpResponseMessage ChangeReInfoAgent([FromUri] ChangeReInfoAgentRequest request)
        {
            _logAppInfo.Info(string.Format("分发续保记录接口请求串:{0}", Request.RequestUri));
            var viewModel = new BaseViewModel();

            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());
            }
            if (!request.LicenseNo.IsValidLicenseno())
            {
                viewModel.BusinessStatus = -10000;
                viewModel.StatusMessage  = "参数校验错误,请检查车牌号";
                return(viewModel.ResponseToJson());
            }
            var response = _workOrderService.ChangeReInfoAgent(request, Request.GetQueryNameValuePairs());

            _logAppInfo.Info(string.Format("分发续保记录接口返回值:{0}", response.ToJson()));
            viewModel.BusinessStatus = response.ErrCode;
            viewModel.StatusMessage  = response.ErrMsg;
            return(viewModel.ResponseToJson());
        }
        public ChangeReInfoAgentResponse ChangeReInfoAgent(ChangeReInfoAgentRequest request, IEnumerable <KeyValuePair <string, string> > pairs)
        {
            var response   = new ChangeReInfoAgentResponse();
            var agentModel = GetAgentModelFactory(request.Agent);

            //参数校验
            if (agentModel == null)// || childAgent == null)
            {
                response.Status = HttpStatusCode.BadRequest;
                return(response);
            }
            if (!AppValidateReqest(pairs, request.SecCode))
            {
                response.Status = HttpStatusCode.Forbidden;
                return(response);
            }
            try
            {
                //根据OpenId、车牌号、代理人Id找Buid
                bx_userinfo bxUserInfo = _userInfoRepository.FindByAgentLicense(request.LicenseNo, request.OwnerAgent.ToString());
                if (bxUserInfo == null)
                {
                    response.ErrCode = 0;
                    response.ErrMsg  = "查不到此续保信息";
                    return(response);
                }
                bx_agent bxAgent = _agentRepository.GetAgent(request.AssignId);
                if (bxAgent == null)
                {
                    response.ErrCode = 0;
                    response.ErrMsg  = "查不到分配人信息";
                    return(response);
                }
                bxUserInfo.Agent  = request.AssignId.ToString();
                bxUserInfo.OpenId = bxAgent.OpenId;
                if (_userInfoRepository.Update(bxUserInfo) > 0 || request.OwnerAgent == request.AssignId)
                {
                    AddChangeLog(bxUserInfo.Id, request.OwnerAgent, request.AssignId, 2); //第二步

                    //5,添加分配通知
                    //AddMessageRequest msgRequest = new AddMessageRequest();
                    //msgRequest.Body = request.LicenseNo;
                    //msgRequest.MsgType = 6;
                    //msgRequest.ToAgentId = request.AssignId;
                    //msgRequest.MsgLevel = 1;
                    //msgRequest.SendTime = DateTime.Now.ToString();
                    //msgRequest.ChildAgent = request.OwnerAgent;
                    //_messageService.AddMessage(msgRequest);

                    //bx_notice_xb xbmodel = _noticexbService.Find(bxUserInfo.Id);
                    bx_car_renewal bxCarRenewal = _carRenewalRepository.FindByLicenseno(bxUserInfo.LicenseNo);
                    if (bxCarRenewal != null)
                    {
                        _noticexbService.AddNoticexb(0, bxUserInfo.LicenseNo,
                                                     bxCarRenewal.LastBizEndDate.HasValue ? bxCarRenewal.LastBizEndDate.Value.ToString() : "",
                                                     bxCarRenewal.LastForceEndDate.HasValue ? bxCarRenewal.LastForceEndDate.Value.ToString() : "",
                                                     bxCarRenewal.NextBizStartDate.HasValue ? bxCarRenewal.NextBizStartDate.Value.ToString() : "",
                                                     bxCarRenewal.NextForceStartDate.HasValue ? bxCarRenewal.NextForceStartDate.Value.ToString() : "",
                                                     bxCarRenewal.LastYearSource.HasValue ? bxCarRenewal.LastYearSource.Value : -1, int.Parse(bxUserInfo.Agent), request.Agent, bxUserInfo.Id, 0);
                    }
                    response.ErrCode = 1;
                    response.ErrMsg  = "分配成功";
                    return(response);
                }
                else
                {
                    response.ErrCode = 0;
                    response.ErrMsg  = "分配失败";
                    return(response);
                }
            }
            catch (Exception ex)
            {
                response.ErrCode = -10003;
                logError.Info("分发接口异常,分发信息:" + request.ToJson() + "\n 异常信息:" + ex.StackTrace + " \n " + ex.Message);
            }
            return(response);
        }