public ReturnResult SimulationMTGetDeal(string url, PriceRequestBody body) { ReturnResult result = new ReturnResult { IsSuccess = false, }; try { PriceRequest requestData = new PriceRequest { partnerId = agentinfo.mt_partnerId, body = body }; var responseStr = new MeiTuanInter(agentinfo.mt_partnerId, agentinfo.mt_secret, agentinfo.mt_client).DoRequest(url, JsonConvert.SerializeObject(requestData)); if (string.IsNullOrEmpty(responseStr)) { result.Message = "返回数据为空"; } else { PriceResponse responseBody = (PriceResponse)JsonConvert.DeserializeObject(responseStr, typeof(PriceResponse)); if (responseBody.code == 200) { result.IsSuccess = true; result.Message = JsonConvert.SerializeObject(responseBody); } else { result.Message = responseBody.describe; } } } catch (Exception ex) { result.Message = "异常" + ex.Message; } return(result); }
/// 拉取库存价格日历 public string GetPriceList(Meituan_reqlog mlog) { var response = new PriceResponse(); response.partnerId = int.Parse(agentinfo.mt_partnerId); try { var data = JsonConvert.DeserializeObject <PriceRequest>(_requestParam); if (data.body == null) { response.code = 300; response.describe = "Body数据解析失败"; } else { PriceRequestBody body = data.body; //todo 根据请求参数查询产品返回结果 string partnerDealId = body.partnerDealId; string startTime = body.startTime; string endTime = body.endTime; B2b_com_pro pro = new B2bComProData().GetProById(partnerDealId); if (pro != null) { List <PriceResponseBody> list = new List <PriceResponseBody>(); int days = (DateTime.Parse(endTime) - DateTime.Parse(startTime)).Days; //当天不可用 if (pro.Iscanuseonsameday == 0) { //当天出票不可用,并且拉取日期是当天,则不返回当天 if (startTime == DateTime.Now.ToString("yyyy-MM-dd")) { for (int i = 1; i <= days; i++) { list.Add(new PriceResponseBody { partnerDealId = partnerDealId, date = DateTime.Parse(startTime).AddDays(i).ToString("yyyy-MM-dd"), //暂时美团接口只买票务,其他类型产品先不考虑 marketPrice = pro.Face_price, mtPrice = pro.Advise_price, settlementPrice = GetSettlementPrice(agentinfo.Id, partnerDealId), stock = pro.Ispanicbuy == 0 ? 100000000 : pro.Limitbuytotalnum//库存 无限制 stock = 100000000 }); } } else { for (int i = 0; i <= days; i++) { list.Add(new PriceResponseBody { partnerDealId = partnerDealId, date = DateTime.Parse(startTime).AddDays(i).ToString("yyyy-MM-dd"), //暂时美团接口只买票务,其他类型产品先不考虑 marketPrice = pro.Face_price, mtPrice = pro.Advise_price, settlementPrice = GetSettlementPrice(agentinfo.Id, partnerDealId), stock = pro.Ispanicbuy == 0 ? 100000000 : pro.Limitbuytotalnum//库存 无限制 stock = 100000000 }); } } } else { for (int i = 0; i <= days; i++) { list.Add(new PriceResponseBody { partnerDealId = partnerDealId, date = DateTime.Parse(startTime).AddDays(i).ToString("yyyy-MM-dd"), //暂时美团接口只买票务,其他类型产品先不考虑 marketPrice = pro.Face_price, mtPrice = pro.Advise_price, settlementPrice = GetSettlementPrice(agentinfo.Id, partnerDealId), stock = pro.Ispanicbuy == 0 ? 100000000 : pro.Limitbuytotalnum//库存 无限制 stock = 100000000 }); } } response.code = 200; response.describe = "success"; response.partnerId = int.Parse(agentinfo.mt_partnerId); //response.body=new List<PriceResponseBody> response.body = list; } else { response.code = 300; response.describe = "查询库存价格日历异常."; } } } catch (Exception ex) { response.code = 300; response.describe = "异常错误"; } string json = JsonConvert.SerializeObject(response); #region 把处理结果录入数据库 mlog.respstr = json; mlog.resptime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); mlog.code = response.code.ToString(); mlog.describe = response.describe; new Meituan_reqlogData().EditReqlog(mlog); #endregion return(json); }