public GetSourceOfCityResponse GetSourceOfCity(GetSourceOfCityRequest request, IEnumerable <KeyValuePair <string, string> > pairs) { GetSourceOfCityResponse response = new GetSourceOfCityResponse() { Result = new List <CityChannelItem>() }; var cacheValue = _cacheService.Get <GetSourceOfCityResponse>(string.Format("{0}_channels_sets", request.CityCode)); if (cacheValue != null) { response = cacheValue; } else { var cacheExpireTimeSeconds = string.IsNullOrWhiteSpace(System.Configuration.ConfigurationManager.AppSettings["cacheExpireTimeSeconds"]) ? 1800 : int.Parse(System.Configuration.ConfigurationManager.AppSettings["cacheExpireTimeSeconds"]); response = _channelService.GetSourceOfCity(request, pairs); _cacheService.Set(string.Format("{0}_channels_sets", request.CityCode), response.ToJson(), cacheExpireTimeSeconds); } 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); }