示例#1
0
        public HttpResponseMessage GetUKeyList([FromUri] GetUKeyListRequest request)
        {
            _logInfo.Info(string.Format("获取代理人UKey列表接口请求串:{0}", Request.RequestUri));
            var viewModel = new UKeyListViewModel();

            viewModel.CityUKeyList = new List <CityUKeyModel>();
            if (!ModelState.IsValid)
            {
                viewModel.BusinessStatus = -10000;
                string msg = ModelState.Values.Where(a => a.Errors.Count == 1).Aggregate(string.Empty, (current, a) => current + (a.Errors[0].ErrorMessage + ";   "));
                viewModel.StatusMessage = "输入参数错误," + msg;
                return(viewModel.ResponseToJson());
            }
            var response = _agentUKeyService.GetUKeyList(request, Request.GetQueryNameValuePairs());

            if (response.Status == HttpStatusCode.Forbidden)
            {
                viewModel.BusinessStatus = -10001;
                viewModel.StatusMessage  = "参数校验错误,请检查您的校验码";
                return(viewModel.ResponseToJson());
            }
            if (response.Status == HttpStatusCode.ExpectationFailed)
            {
                viewModel.BusinessStatus = -10003;
                viewModel.StatusMessage  = "服务发生异常";
                return(viewModel.ResponseToJson());
            }
            if (response.Status == HttpStatusCode.OK)
            {
                viewModel.BusinessStatus = 1;
                viewModel.StatusMessage  = "获取信息成功";
                viewModel.CityUKeyList   = response.CityUKeyList;
            }
            else
            {
                viewModel.BusinessStatus = 0;
                viewModel.StatusMessage  = "未获取到数据";
            }
            return(viewModel.ResponseToJson());
        }
        public UKeyListResponse GetUKeyList(GetUKeyListRequest request, IEnumerable <KeyValuePair <string, string> > pairs)
        {
            UKeyListResponse response = new UKeyListResponse();

            try
            {
                IBxAgent agentModel = GetAgentModelFactory(request.Agent);
                if (!agentModel.AgentCanUse())
                {
                    response.Status = HttpStatusCode.Forbidden;
                    return(response);
                }
                if (!ValidateReqest(pairs, agentModel.SecretKey, request.SecCode))
                {
                    response.Status = HttpStatusCode.Forbidden;
                    return(response);
                }
                var list = _iagentAgentUKeyRepository.GetList(request.Agent);
                if (list.Any())
                {
                    //如果source传值的话,只取一条记录
                    if (request.Source > 0)
                    {
                        request.Source = SourceGroupAlgorithm.GetOldSource(request.Source);
                        list           = list.Where(i => i.Source == request.Source).ToList();
                        if (list.Count > 0)
                        {
                            list = list.GetRange(0, 1);
                        }
                        else
                        {
                            response.ErrCode = -1;
                            response.ErrMsg  = "无记录";
                            return(response);
                        }
                    }
                    //else
                    //{
                    //此处省略了list=list;
                    //}
                    //转换source值
                    var newList = new List <CityUKeyModel>();
                    var model   = new CityUKeyModel();
                    foreach (var item in list)
                    {
                        model        = new CityUKeyModel();
                        model        = item;
                        model.Source = SourceGroupAlgorithm.GetNewSource((int)item.Source);
                        newList.Add(model);
                    }
                    //获取信息成功
                    response.Status       = HttpStatusCode.OK;
                    response.CityUKeyList = newList;
                }
                else
                {
                    response.ErrCode = -1;
                    response.ErrMsg  = "无记录";
                    return(response);
                }
            }
            catch (Exception ex)
            {
                response        = new UKeyListResponse();
                response.Status = HttpStatusCode.ExpectationFailed;
                logError.Info("获取代理人ukey请求发生异常:" + ex.Source + "\n" + ex.StackTrace + "\n" + ex.Message + "\n" + ex.InnerException + ",返回对象信息:" + request.ToJson());
            }
            return(response);
        }