/// <summary> /// 获取渠道及状态 /// </summary> /// <param name="request"></param> /// <param name="pairs"></param> /// <returns></returns> public GetChannelStatusResponse GetChannelStatus(GetChannelStatusRequest request, IEnumerable <KeyValuePair <string, string> > pairs) { GetChannelStatusResponse response = new GetChannelStatusResponse(); try { //参数校验 BaseResponse baseResponse = _validateService.Validate(request, pairs); if (baseResponse.Status == HttpStatusCode.Forbidden) { response.Status = HttpStatusCode.Forbidden; return(response); } if (request.CityCode == 0) { //request.CityCode = _agentConfigByCityService.GetAgentCityCodeByChannelId(request.Agent, //request.ChannelId); //当CityCode=0时候,需要根据ChannelId获得CityCode。而ChannelId对应bx_agent_ukey.Id request.CityCode = _agentUKeyService.GetAgentCityCodeByUKId((int)request.ChannelId); } //查询ukey信息 List <bx_agent_config> configModel = _agentConfigByCityService.GetAgentConfigByCity(request.Agent, request.CityCode); //如果configModel为空,返回错误 if (configModel == null) { response.ErrCode = -1; response.ErrMsg = "未查到代理人配置信息"; return(response); } //取缓存渠道模型 var list = _channelModelMapRedisService.GetAgentCacheChannelList(configModel); //判断是否有值 if (list.Any()) { //如果修改成功,则保存用户名 response.Status = HttpStatusCode.OK; response.CacheChannelList = list; } else { //修改失败 response.ErrCode = 0; response.ErrMsg = "获取信息失败"; } } catch (Exception ex) { response.Status = HttpStatusCode.ExpectationFailed; logError.Info("获取渠道及状态请求发生异常:" + ex.Source + "\n" + ex.StackTrace + "\n" + ex.Message + "\n" + ex.InnerException + ",返回对象信息:" + request.ToJson()); } return(response); }
public HttpResponseMessage GetChannelStatus([FromUri] GetChannelStatusRequest request) { _logInfo.Info(string.Format("获取渠道及状态接口请求串:{0}", Request.RequestUri)); var viewModel = new GetChannelStatusViewModel(); viewModel.ChannelList = new List <ChannelStatusModel>(); 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()); } if (request.CityCode == 0 && request.ChannelId == 0) { viewModel.BusinessStatus = -10001; viewModel.StatusMessage = "参数校验错误,请检查您的校验码"; return(viewModel.ResponseToJson()); } //请求获取渠道及状态接口 var response = _channelService.GetChannelStatus(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.ChannelList = response.CacheChannelList.ConverToChannelViewModel(request.ShowIsPaicApi, request.Agent); } else { viewModel.BusinessStatus = 0; viewModel.StatusMessage = response.ErrMsg; } return(viewModel.ResponseToJson()); }
public GetChannelStatusResponse GetChannelStatus(GetChannelStatusRequest request, IEnumerable <KeyValuePair <string, string> > pairs) { var model = _channelService.GetChannelStatus(request, pairs); return(model); }