Beispiel #1
0
        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);
        }
Beispiel #2
0
        ///    拉取库存价格日历
        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);
        }