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); }
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); }