示例#1
0
        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);
        }
示例#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);
        }