public MyListViewModel GetMyList(GetMyListRequest request,
                                         IEnumerable <KeyValuePair <string, string> > pairs)
        {
            var viewModel = new MyListViewModel();

            #region 参数校验
            //校验请求串
            var baseRequest = new AppBaseRequest()
            {
                Agent      = request.Agent,
                SecCode    = request.SecCode,
                CustKey    = request.CustKey,
                BhToken    = request.BhToken,
                ChildAgent = request.ChildAgent
            };
            //校验返回值
            var baseResponse = _appVerifyService.Verify(baseRequest, pairs);
            if (baseResponse.ErrCode != 1)
            {
                viewModel.BusinessStatus = baseResponse.ErrCode;
                viewModel.StatusMessage  = baseResponse.ErrMsg;
                return(viewModel);
            }
            #endregion

            #region 业务逻辑
            viewModel = _bjdService.GetMyList(request);
            #endregion
            return(viewModel);
        }
        public AppAgentSourceViewModel GetAgentSource(AppBaseRequest request,
                                                      IEnumerable <KeyValuePair <string, string> > pairs, Uri uri)
        {
            var viewModel = new AppAgentSourceViewModel();

            #region 参数校验
            //校验返回值
            var baseResponse = _appVerifyService.Verify(request, pairs);
            if (baseResponse.ErrCode != 1)
            {
                viewModel.BusinessStatus = baseResponse.ErrCode;
                viewModel.StatusMessage  = baseResponse.ErrMsg;
                return(viewModel);
            }
            #endregion

            #region 业务逻辑
            List <AgentCity> agentCity = _agentService.GetSourceList(string.Format("http://{0}:{1}/", uri.Host, uri.Port), request.Agent);
            if (agentCity.Any())
            {
                viewModel.BusinessStatus = 1;
                viewModel.AgentCity      = agentCity;
            }
            else
            {
                viewModel.BusinessStatus = -10002;
                viewModel.StatusMessage  = "获取信息失败";
            }

            #endregion
            return(viewModel);
        }
        public async Task <GetReInfoNewViewModel> GetReInfo(GetReInfoRequest request, IEnumerable <KeyValuePair <string, string> > pairs, Uri uri)
        {
            var viewModel = new GetReInfoNewViewModel();

            #region 参数校验
            //校验请求串
            var baseRequest = new AppBaseRequest()
            {
                Agent      = request.Agent,
                SecCode    = request.SecCode,
                CustKey    = request.CustKey,
                BhToken    = request.BhToken,
                ChildAgent = request.ChildAgent
            };
            //校验返回值
            var baseResponse = _appVerifyService.Verify(baseRequest, pairs);
            if (baseResponse.ErrCode != 1)
            {
                viewModel.BusinessStatus = baseResponse.ErrCode;
                viewModel.StatusMessage  = baseResponse.ErrMsg;
                return(viewModel);
            }
            #endregion
            #region 业务逻辑
            //拼接请求串
            string strUrl = string.Format("http://{0}:{1}/api/CarInsurance/GetReInfo", uri.Host, uri.Port);
            //3,续保请求
            BaseResponse rep = await SimulateGet(strUrl, pairs);

            if (rep.ErrCode == 1)
            {
                viewModel = rep.ErrMsg.FromJson <GetReInfoNewViewModel>();
            }
            else
            {
                viewModel.BusinessStatus = rep.ErrCode;
                viewModel.StatusMessage  = rep.ErrMsg;
            }
            bx_userinfo userinfo = _userInfoRepository.FindByOpenIdAndLicense(request.CustKey, request.LicenseNo, request.ChildAgent.ToString(), request.RenewalCarType);
            viewModel.Buid       = userinfo != null ? userinfo.Id : 0;
            viewModel.Agent      = baseResponse.Agent;
            viewModel.AgentName  = baseResponse.AgentName;
            viewModel.CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            viewModel.IsDistrib  = userinfo != null ? userinfo.IsDistributed : 0;
            //添加续保通知,向bx_notice_xb插记录,商业险或交强险在90天范围之内
            //20170111产品说再改吧,又不需要app的通知了
            //if (userinfo != null)
            //{
            //    long noticeBuid = userinfo.Id;
            //    _noticexbService.AddNoticexb(viewModel.UserInfo.LicenseNo, viewModel.UserInfo.BusinessExpireDate,
            //        viewModel.UserInfo.ForceExpireDate, viewModel.UserInfo.NextBusinessStartDate,
            //        viewModel.UserInfo.NextForceStartDate, viewModel.SaveQuote.Source, int.Parse(userinfo.Agent), noticeBuid, 1);
            //}
            #endregion
            return(viewModel);
        }
        public GetReInfoNewViewModel GetReInfoDetail(GetReInfoRequest request, IEnumerable <KeyValuePair <string, string> > pairs, Uri uri)
        {
            var viewModel = new GetReInfoNewViewModel();

            #region 参数校验
            //校验请求串
            var baseRequest = new AppBaseRequest()
            {
                Agent      = request.Agent,
                SecCode    = request.SecCode,
                CustKey    = request.CustKey,
                BhToken    = request.BhToken,
                ChildAgent = request.ChildAgent
            };
            //校验返回值
            var baseResponse = _appVerifyService.Verify(baseRequest, pairs);
            if (baseResponse.ErrCode != 1)
            {
                viewModel.BusinessStatus = baseResponse.ErrCode;
                viewModel.StatusMessage  = baseResponse.ErrMsg;
                return(viewModel);
            }
            #endregion
            #region 业务逻辑
            //拼接请求串
            string strUrl = string.Format("http://{0}:{1}/api/Bjd/GetReInfoDetail", uri.Host, uri.Port);
            //3,续保请求
            BaseResponse rep   = SimulateSyncGet(strUrl, pairs);
            var          model = new AppReInfoViewModel();
            if (rep.ErrCode == 1)
            {
                model = rep.ErrMsg.FromJson <AppReInfoViewModel>();
                viewModel.BusinessStatus = model.BusinessStatus;
                viewModel.StatusMessage  = model.StatusMessage;
                viewModel.UserInfo       = model.UserInfo;
                viewModel.SaveQuote      = model.SaveQuote;
                viewModel.Buid           = model.Buid;
                viewModel.Agent          = baseResponse.Agent;
                viewModel.AgentName      = baseResponse.AgentName;
            }
            else
            {
                viewModel.BusinessStatus = rep.ErrCode;
                viewModel.StatusMessage  = rep.ErrMsg;
                bx_userinfo userinfo = _userInfoRepository.FindByOpenIdAndLicense(request.CustKey, request.LicenseNo, request.ChildAgent.ToString(), request.RenewalCarType);
                viewModel.Buid      = userinfo != null ? userinfo.Id : 0;
                viewModel.Agent     = baseResponse.Agent;
                viewModel.AgentName = baseResponse.AgentName;
            }
            #endregion
            return(viewModel);
        }
Ejemplo n.º 5
0
        public HttpResponseMessage GetAgentSource([FromUri] AppBaseRequest request)
        {
            _logAppInfo.Info(string.Format("获取代理渠道列表接口请求串:{0}", Request.RequestUri));
            var viewModel = new AppAgentSourceViewModel();

            if (!ModelState.IsValid)
            {
                viewModel.BusinessStatus = -10000;
                string msg = ModelState.Values.Where(item => item.Errors.Count == 1).Aggregate(string.Empty, (current, item) => current + (item.Errors[0].ErrorMessage + ";   "));
                viewModel.StatusMessage = "输入参数错误," + msg;
                return(viewModel.ResponseToJson());
            }
            viewModel = _appAchieveService.GetAgentSource(request, Request.GetQueryNameValuePairs(), Request.RequestUri);
            //_logAppInfo.Info(string.Format("获取代理渠道列表接口返回值:{0}", viewModel.ToJson()));
            return(viewModel.ResponseToJson());
        }
        public BaseViewModel SharePrecisePrice(CreateOrUpdateBjdInfoRequest request, IEnumerable <KeyValuePair <string, string> > pairs, Uri uri)
        {
            var viewModel = new BaseViewModel();

            #region 参数校验
            //校验请求串
            var baseRequest = new AppBaseRequest()
            {
                Agent      = request.Agent,
                SecCode    = request.SecCode,
                CustKey    = request.CustKey,
                BhToken    = request.BhToken,
                ChildAgent = request.ChildAgent
            };
            //校验返回值
            var baseResponse = _appVerifyService.Verify(baseRequest, pairs);
            if (baseResponse.ErrCode != 1)
            {
                viewModel.BusinessStatus = baseResponse.ErrCode;
                viewModel.StatusMessage  = baseResponse.ErrMsg;
                return(viewModel);
            }
            #endregion
            #region 业务逻辑
            //拼接请求串
            string strUrl = string.Format("http://{0}:{1}/api/Bjd/UpdateBjdInfo", uri.Host, uri.Port);
            //3,续保请求
            BaseResponse rep = SimulateSyncGet(strUrl, pairs);
            if (rep.ErrCode == 1)
            {
                viewModel = rep.ErrMsg.FromJson <BaseViewModel>();
            }
            else
            {
                viewModel.BusinessStatus = rep.ErrCode;
                viewModel.StatusMessage  = rep.ErrMsg;
            }
            //bx_userinfo userinfo = _userInfoRepository.FindByOpenIdAndLicense(request.CustKey, request.LicenseNo, request.ChildAgent.ToString());
            //viewModel.Buid = userinfo != null ? userinfo.Id : 0;
            //viewModel.Agent = baseResponse.Agent;
            //viewModel.AgentName = baseResponse.AgentName;
            #endregion
            return(viewModel);
        }
        public async Task <BaseViewModel> PostPrecisePrice(PostPrecisePriceRequest request, IEnumerable <KeyValuePair <string, string> > pairs, Uri uri)
        {
            //返回对象
            var viewModel = new BaseViewModel();

            #region 参数校验
            //校验请求串
            var baseRequest = new AppBaseRequest()
            {
                Agent      = request.Agent,
                SecCode    = request.SecCode,
                CustKey    = request.CustKey,
                BhToken    = request.BhToken,
                ChildAgent = request.ChildAgent
            };
            //校验返回值
            var baseResponse = _appVerifyService.Verify(baseRequest, pairs);
            if (baseResponse.ErrCode != 1)
            {
                viewModel.BusinessStatus = baseResponse.ErrCode;
                viewModel.StatusMessage  = baseResponse.ErrMsg;
                return(viewModel);
            }
            #endregion
            #region 业务逻辑
            //拼接请求串
            string strUrl = string.Format("http://{0}:{1}/api/CarInsurance/PostPrecisePrice", uri.Host, uri.Port);
            //3,请求报价/核保
            BaseResponse rep = await SimulateGet(strUrl, pairs);

            if (rep.ErrCode == 1)
            {
                viewModel = rep.ErrMsg.FromJson <BaseViewModel>();
            }
            else
            {
                viewModel.BusinessStatus = rep.ErrCode;
                viewModel.StatusMessage  = rep.ErrMsg;
            }
            #endregion
            return(viewModel);
        }
        public async Task <GetCreaditInfoViewModel> GetCreditInfo(GetEscapedInfoRequest request, IEnumerable <KeyValuePair <string, string> > pairs, Uri uri)
        {
            var viewModel = new GetCreaditInfoViewModel();

            #region 参数校验
            //校验请求串
            var baseRequest = new AppBaseRequest()
            {
                Agent      = request.Agent,
                SecCode    = request.SecCode,
                CustKey    = request.CustKey,
                BhToken    = request.BhToken,
                ChildAgent = request.ChildAgent
            };
            //校验返回值
            var baseResponse = _appVerifyService.Verify(baseRequest, pairs);
            if (baseResponse.ErrCode != 1)
            {
                viewModel.BusinessStatus = baseResponse.ErrCode;
                viewModel.StatusMessage  = baseResponse.ErrMsg;
                return(viewModel);
            }
            #endregion
            #region 业务逻辑
            //拼接请求串
            string strUrl = string.Format("http://{0}:{1}/api/Claim/GetCreditInfo", uri.Host, uri.Port);
            //3,续保请求
            BaseResponse rep = await SimulateGet(strUrl, pairs);

            if (rep.ErrCode == 1)
            {
                viewModel = rep.ErrMsg.FromJson <GetCreaditInfoViewModel>();
            }
            else
            {
                viewModel.BusinessStatus = rep.ErrCode;
                viewModel.StatusMessage  = rep.ErrMsg;
            }
            #endregion
            return(viewModel);
        }
        public ReVisitedListViewModel ReVisitedList(ReVisitedListRequest request,
                                                    IEnumerable <KeyValuePair <string, string> > pairs)
        {
            var viewModel = new ReVisitedListViewModel();

            #region 参数校验
            //校验请求串
            var baseRequest = new AppBaseRequest()
            {
                Agent      = request.Agent,
                SecCode    = request.SecCode,
                CustKey    = request.CustKey,
                BhToken    = request.BhToken,
                ChildAgent = request.ChildAgent
            };
            //校验返回值
            var baseResponse = _appVerifyService.Verify(baseRequest, pairs);
            if (baseResponse.ErrCode != 1)
            {
                viewModel.BusinessStatus = baseResponse.ErrCode;
                viewModel.StatusMessage  = baseResponse.ErrMsg;
                return(viewModel);
            }
            #endregion

            #region 业务逻辑
            if (request.Buid.HasValue)
            {
                viewModel = _workOrderService.WorkOrderList(request.Buid.Value);
            }
            else
            {
                viewModel.BusinessStatus = -10000;
                viewModel.StatusMessage  = "输入参数错误,Buid不能为空";
            }

            #endregion
            return(viewModel);
        }
Ejemplo n.º 10
0
        /// <summary>
        /// 参数校验方法
        /// </summary>
        /// <param name="request"></param>
        /// <param name="pairs"></param>
        /// <returns></returns>
        public AppBaseResponse Verify(AppBaseRequest request, IEnumerable <KeyValuePair <string, string> > pairs)
        {
            var response = new AppBaseResponse();
            //读取api.config里的CheckApp节点,如果是0,则无需验证,如果是1,必须验证
            string checkApp = System.Configuration.ConfigurationManager.AppSettings["CheckApp"];

            if (!string.IsNullOrWhiteSpace(checkApp) && int.Parse(checkApp.Trim()) != 0)
            {
                //bhToken校验
                //if (!AppTokenValidateReqest(Encoding.ASCII.GetString(Convert.FromBase64String(request.BhToken)), request.ChildAgent))
                if (!AppTokenValidateReqest(request.BhToken, request.ChildAgent))
                {
                    response.ErrCode = -13000;
                    response.ErrMsg  = "登录信息已过期,请重新登录";
                    return(response);
                }
                //传参校验
                if (!AppValidateReqest(pairs, request.SecCode))
                {
                    response.ErrCode = -10001;
                    response.ErrMsg  = "参数校验失败";
                    return(response);
                }
            }
            //代理人信息校验
            IBxAgent childagentModel = GetAgentModelFactory(request.ChildAgent);

            //1,当前代理人是否可用;
            if (!childagentModel.AgentCanUse())
            {
                response.ErrCode = -13020;
                response.ErrMsg  = "代理人参数错误";
                return(response);
            }
            //如果当前代理和顶级一样
            if (request.Agent == request.ChildAgent)
            {
                //2,顶级代理人是否可用;
                if (childagentModel.ParentAgent != 0)//if (!_agentService.IsTopAgentId(request.Agent))
                {
                    response.ErrCode = -13020;
                    response.ErrMsg  = "代理人参数错误";
                    return(response);
                }
            }
            else
            {//如果不一样,则获取顶级代理信息
                IBxAgent agentModel = GetAgentModelFactory(request.Agent);
                if (!childagentModel.AgentCanUse())
                {
                    response.ErrCode = -13020;
                    response.ErrMsg  = "代理人参数错误";
                    return(response);
                }
                if (agentModel.ParentAgent != 0) //if (!_agentService.IsTopAgentId(request.Agent))
                {
                    response.ErrCode = -13020;
                    response.ErrMsg  = "代理人参数错误";
                    return(response);
                }
                //3,当前代理人是否在顶级代理人下
                if (!_agentRepository.GetTopAgentId(request.ChildAgent).Contains(request.Agent.ToString()))
                {
                    response.ErrCode = -13020;
                    response.ErrMsg  = "代理人参数错误";
                    return(response);
                }
            }
            //参数校验成功,返回errcode为1
            response.ErrCode   = 1;
            response.CustKey   = request.CustKey;
            response.Agent     = childagentModel.Id;
            response.AgentName = childagentModel.AgentName;
            return(response);
        }