コード例 #1
0
        public async Task <GetRepeatSubmitResponse> GetRepeatSubmitInfo(GetRepeatSubmitRequest request,
                                                                        IEnumerable <KeyValuePair <string, string> > pairs)
        {
            var response = new GetRepeatSubmitResponse();

            try
            {
                var privilegeResulst = _agentPrivilege.CanUse(request.Agent);
                if (!privilegeResulst.CheckResult)
                {
                    response.Status = HttpStatusCode.Forbidden;
                    return(response);
                }
                if (!_validService.ValidateReqest(pairs, privilegeResulst.Model.SecretKey, request.SecCode))
                {
                    response.Status = HttpStatusCode.Forbidden;
                    return(response);
                }

                //微信端逻辑 次级代理
                if (request.ChildAgent > 0)
                {
                    request.Agent = request.ChildAgent;
                }

                var queryAgent = request.Agent.ToString();
                var userinfo   =
                    _userInfoRepository.Search(
                        x =>
                        x.Agent == queryAgent && x.OpenId == request.CustKey &&
                        x.RenewalCarType == request.RenewalCarType && x.IsTest == 0 && x.LicenseNo == request.LicenseNo).FirstOrDefault();
                if (userinfo == null)
                {
                    response.Status = HttpStatusCode.NoContent;
                    return(response);
                }
                if (userinfo.IsSingleSubmit > 0 && userinfo.QuoteStatus == -1 && userinfo.UpdateTime.GetValueOrDefault().AddMinutes(5) > DateTime.Now)
                {
                    response.Status = HttpStatusCode.Conflict;
                    return(response);
                }

                string baojiaCacheKey =
                    CommonCacheKeyFactory.CreateKeyWithLicenseAndAgentAndCustKey(request.LicenseNo, request.Agent, request.CustKey + request.RenewalCarType);
                var lastinfo = await _getExpireDate.GetDate(baojiaCacheKey);

                var formatInfo = _repeatInfoFormat.FormatRepeatInfo(userinfo.IsSingleSubmit.GetValueOrDefault(), baojiaCacheKey);

                response = RepeatSubmitResponseFactory(lastinfo, formatInfo);
            }
            catch (Exception ex)
            {
                response.Status = HttpStatusCode.ExpectationFailed;
                _logError.Info("获取重复投保请求发生异常:" + ex.Source + "\n" + ex.StackTrace + "\n" + ex.Message + "\n" + ex.InnerException + ",请求对象信息:" + request.ToJson() + ";返回对象信息" + response.ToJson());
            }


            return(response);
        }
コード例 #2
0
        public GetSourceOfCityResponse GetSourceOfCity(GetSourceOfCityRequest request, IEnumerable <KeyValuePair <string, string> > pairs)
        {
            GetSourceOfCityResponse response = new GetSourceOfCityResponse();

            try
            {
                var privilegeResulst = _agentPrivilege.CanUse(request.Agent);
                if (!privilegeResulst.CheckResult)
                {
                    response.Status = HttpStatusCode.Unauthorized;
                    return(response);
                }
                if (!_validService.ValidateReqest(pairs, privilegeResulst.Model.SecretKey, request.SecCode))
                {
                    response.Status = HttpStatusCode.Forbidden;
                    return(response);
                }
                //var items =
                //    _repository.SqlQuery(@"SELECT city_id AS CityCode ,CASE WHEN source=1 THEN 1 WHEN source=0 THEN 2 ELSE POW(2,source) END AS Source FROM  bx_agent_ukey    WHERE  city_id=" + request.CityCode + " GROUP BY city_id,source;");

                var items =
                    DataContextFactory.GetDataContext()
                    .Database.SqlQuery <CityChannelItem>(
                        @"SELECT city_id AS CityCode ,CASE WHEN source is null THEN  -1 WHEN source=1 THEN 1 WHEN source=0 THEN 2 ELSE POW(2,source) END AS Source FROM  bx_agent_ukey    WHERE  city_id=" + request.CityCode + " GROUP BY city_id,source;").ToList();

                response.Result = items;
                response.Status = HttpStatusCode.OK;
            }
            catch (Exception ex)
            {
                response.Status = HttpStatusCode.ExpectationFailed;
                _logError.Info("获取重复投保请求发生异常:" + ex.Source + "\n" + ex.StackTrace + "\n" + ex.Message + "\n" + ex.InnerException + ",请求对象信息:" + request.ToJson() + ";返回对象信息" + response.ToJson());
            }

            return(response);
        }