/// <summary>
    /// 获取用户最后下单地址
    /// </summary>
    /// <returns></returns>
    private string GetLastAddress()
    {
        MessageInfo messageInfo = new MessageInfo()
        {
            Status = 1
        };

        if (CurrentMemberWeiXinDTO == null)
        {
            messageInfo.Message = "未获取到微信用户信息";
            WCFClient.LoggerService.Error(string.Format("未获取到微信用户信息"));
            return(XMS.Core.Json.JsonSerializer.Serialize(messageInfo));
        }

        XMS.Core.ReturnValue <CMemberAddressDTO> addressResult = WCFClient.CoffeeService.GetLastMemberAddress(CurrentMemberWeiXinDTO.Id);
        if (addressResult.Code != 200)
        {
            messageInfo.Message = "网络异常稍后再试";
            WCFClient.LoggerService.Error(string.Format(addressResult.RawMessage));
            return(XMS.Core.Json.JsonSerializer.Serialize(messageInfo));
        }

        messageInfo.Status  = 0;
        messageInfo.Message = "success";
        messageInfo.Data    = addressResult.Value;
        return(XMS.Core.Json.JsonSerializer.Serialize(messageInfo));
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        MessageInfo messageInfo = new MessageInfo()
        {
            Status = 1
        };

        try
        {
            if (CurrentMemberWeiXinDTO == null)
            {
                messageInfo.Message = "未获取到微信用户信息";
                WCFClient.LoggerService.Error(string.Format("未获取到微信用户信息"));
                return;
            }

            int orderId = int.Parse(Request["id"]);

            XMS.Core.ReturnValue <COrderDTO> resultQueryResult = WCFClient.CoffeeService.GetOrderInfo(orderId, CurrentMemberWeiXinDTO.Id);
            if (resultQueryResult.Code != 200 || resultQueryResult.Value == null)
            {
                messageInfo.Message = "网络异常稍后再试";
                WCFClient.LoggerService.Error(string.Format(resultQueryResult.RawMessage));
                return;
            }

            orderInfo       = resultQueryResult.Value;
            distributionTel = orderInfo.distributionMobile;
            XMS.Core.ReturnValue <QueryResultCRestaurantDTO> restResult = WCFClient.CoffeeService.GetRestaurantDTOByCondition(new string[] { orderInfo.resUUID }, null, null,
                                                                                                                              null, null, null, null, 1, 1, true, null);
            if (restResult.Code != 200)
            {
                messageInfo.Message = "网络异常稍后再试";
                WCFClient.LoggerService.Error(string.Format(restResult.RawMessage));
            }

            if (restResult.Value != null && restResult.Value.Items != null && restResult.Value.Items.Length > 0)
            {
                restaurant = restResult.Value.Items[0];
                if (!string.IsNullOrWhiteSpace(restaurant.contactNumber))
                {
                    string[] tels = restaurant.contactNumber.Split(new char[] { ';' });
                    tel = tels[0];
                }
            }

            messageInfo.Status  = 0;
            messageInfo.Message = "success";
            messageInfo.Data    = resultQueryResult.Value;
        }
        catch (Exception ex)
        {
            messageInfo.Status  = 1;
            messageInfo.Message = "网络异常,稍后重试";
            WCFClient.LoggerService.Error(string.Format("获取订单列表错误,详细情况:{0}", ex.Message));
        }
    }
    private string GetShopListContainOutRange()
    {
        MessageInfo messageInfo = new MessageInfo()
        {
            Status = 1
        };

        if (CurrentMemberWeiXinDTO == null)
        {
            messageInfo.Message = "未获取到微信用户信息";
            WCFClient.LoggerService.Error(string.Format("未获取到微信用户信息"));
            return(XMS.Core.Json.JsonSerializer.Serialize(messageInfo));
        }

        decimal lan = decimal.Parse(Request["latitude"]);
        decimal lat = decimal.Parse(Request["longitude"]);

        //int startIndex = int.Parse(Request["startIndex"]);
        //int pageSize = int.Parse(Request["pageSize"]);

        XMS.Core.ReturnValue <QueryResultCRestaurantDTO> resultRestaurant = WCFClient.CoffeeService.GetRestaurantDTOByCondition(null, null, null, null, lan, lat, null, 1, 1000, true, new int[] { 1 });
        if (resultRestaurant.Code != 200 || resultRestaurant.Value == null)
        {
            messageInfo.Message = "网络异常,获取餐厅列表错误";
            WCFClient.LoggerService.Error(string.Format("获取餐厅列表错误,详细:{0}", resultRestaurant.RawMessage));
            return(XMS.Core.Json.JsonSerializer.Serialize(messageInfo));
        }

        if (resultRestaurant.Value != null && resultRestaurant.Value.Items != null && resultRestaurant.Value.Items.Length > 0)
        {
            messageInfo.Status  = 0;
            messageInfo.Message = "success";
            messageInfo.Data    = resultRestaurant.Value.Items;
            return(XMS.Core.Json.JsonSerializer.Serialize(messageInfo));;
        }

        messageInfo.Status  = 0;
        messageInfo.Message = "success";
        messageInfo.Data    = resultRestaurant.Value.Items;
        return(XMS.Core.Json.JsonSerializer.Serialize(messageInfo));
    }
Example #4
0
    protected void Page_Load(object sender, EventArgs e)
    {
        MessageInfo messageInfo = new MessageInfo()
        {
            Status = 1
        };

        try
        {
            if (CurrentMemberWeiXinDTO == null)
            {
                messageInfo.Message = "未获取到微信用户信息";
                WCFClient.LoggerService.Error(string.Format("未获取到微信用户信息"));
                return;
            }



            XMS.Core.ReturnValue <QueryResultCOrderPO> resultOrderPo = null;
            if (!string.IsNullOrWhiteSpace(Request["id"]))
            {
                resultOrderPo = WCFClient.CoffeeService.GetOrders(int.Parse(Request["id"]), null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1, 1);
            }
            else
            {
                resultOrderPo = WCFClient.CoffeeService.GetOrders(null, null, null, CurrentMemberWeiXinDTO.MemberUUID, null, null, null, null, null, null, null, null, null, null, null, 1, 1);
            }

            if (resultOrderPo.Code != 200 || resultOrderPo.Value == null || resultOrderPo.Value.Items == null || resultOrderPo.Value.Items.Length == 0)
            {
                return;
            }

            //urllink = "http://waimaitest.buzztimecoffee.com/AppWapCoffee/OrderResult?id=" + resultOrderPo.Value.Items[0].Id;
            urllink = Request.Url.AbsoluteUri;
            XMS.Core.Container.LogService.Error(urllink);
            XMS.Core.ReturnValue <SignatureObjectDTO> resultSignature = WCFClient.CoffeeService.GetSignatureObjectDTO(urllink);
            if (resultSignature.Code == 200)
            {
                appId     = resultSignature.Value.AppId;
                timestamp = resultSignature.Value.TimeStamp;
                nonceStr  = resultSignature.Value.NonceStr;
                signature = resultSignature.Value.Signature;
            }

            XMS.Core.ReturnValue <CommodityCategoryInfoDTO[]> resultCommodityCategory = WCFClient.CoffeeService.GetCommodityCategoryByResUUID(resultOrderPo.Value.Items[0].ResUUID);
            if (resultCommodityCategory.Code != 200 || resultCommodityCategory.Value == null || resultCommodityCategory.Value.Length == 0)
            {
                return;
            }

            XMS.Core.ReturnValue <CommodityInfoDTO[]> resultCommodityInfo = WCFClient.CoffeeService.GetGoodsByClassify(resultCommodityCategory.Value[0].id);
            if (resultCommodityInfo.Code == 1000)
            {
                messageInfo.Message = resultCommodityInfo.Message;
                WCFClient.LoggerService.Error(string.Format(resultCommodityInfo.RawMessage));
                return;
            }

            if (resultCommodityInfo.Code != 200)
            {
                messageInfo.Message = "网络异常稍后再试";
                WCFClient.LoggerService.Error(string.Format(resultCommodityInfo.RawMessage));
                return;
            }

            if (resultCommodityInfo.Value != null && resultCommodityInfo.Value.Length > 0)
            {
                if (resultCommodityInfo.Value.Length > 4)
                {
                    listCommodityInfo.Add(resultCommodityInfo.Value[0]);
                    listCommodityInfo.Add(resultCommodityInfo.Value[1]);
                    listCommodityInfo.Add(resultCommodityInfo.Value[2]);
                    listCommodityInfo.Add(resultCommodityInfo.Value[4]);
                }
                listCommodityInfo.AddRange(resultCommodityInfo.Value);
            }

            messageInfo.Status  = 0;
            messageInfo.Message = "success";
            messageInfo.Data    = resultCommodityInfo.Value;
        }
        catch (Exception ex)
        {
            messageInfo.Status  = 1;
            messageInfo.Message = "网络异常,稍后重试";
            WCFClient.LoggerService.Error(string.Format("根据商品类别获取商品,详细情况:{0}", ex.Message));
        }
    }
Example #5
0
        public override void ProcessNotify()
        {
            string    orderUUID  = page.Request["OrderUUID"];
            string    payType    = page.Request["PayType"];
            WxPayData notifyData = GetNotifyData();
            WxPayData res        = new WxPayData();

            //检查支付结果中transaction_id是否存在
            if (!notifyData.IsSet("transaction_id"))
            {
                //若transaction_id不存在,则立即返回结果给微信支付后台
                res.SetValue("return_code", "FAIL");
                res.SetValue("return_msg", "支付结果中微信订单号不存在");
                WCFClient.LoggerService.Error(this.GetType().ToString(), "The Pay result is error : " + notifyData.ToXml());
                page.Response.Write(res.ToXml());
                page.Response.End();
            }

            string transaction_id = notifyData.GetValue("transaction_id").ToString();

            ////查询订单,判断订单真实性
            //if (!QueryOrder(transaction_id))
            //{
            //    //若订单查询失败,则立即返回结果给微信支付后台
            //    WxPayData res = new WxPayData();
            //    res.SetValue("return_code", "FAIL");
            //    res.SetValue("return_msg", "订单查询失败");
            //    WCFClient.LoggerService.Error(this.GetType().ToString(), "Order query failure : " + notifyData.ToXml());
            //    page.Response.Write(res.ToXml());
            //    page.Response.End();
            //}
            ////查询订单成功
            //else
            //{
            string outTradeNo = notifyData.GetValue("out_trade_no").ToString();

            Dictionary <string, string> dicData = new Dictionary <string, string>();

            dicData        = InitAndCheckXML(notifyData);
            dicData["xml"] = notifyData.ToXml();
            ProcessPayNotifyRequestDto processPayNotifyRequest = new ProcessPayNotifyRequestDto()
            {
                PayMode    = int.Parse(payType),
                PayOrderId = outTradeNo,
                ProductId  = AppSettingHelper.ProductId,
                SaleChannelApplicationId = AppSettingHelper.SaleChannelApplicationId,
                Parameters = dicData
            };

            XMS.Core.ReturnValue <PayNotifyResult> payNotifyResult = WCFClient.CoffeeService.ProcessPayNotify(processPayNotifyRequest);
            if (payNotifyResult.Code != 200 || payNotifyResult.Value.HasError == true)
            {
                WCFClient.LoggerService.Error(this.GetType().ToString(), string.Format("提交支付状态错误,详细信息:{0},微信返回数据:{1}", payNotifyResult.RawMessage, notifyData.ToXml()));
                res.SetValue("return_code", "FAIL");
                res.SetValue("return_msg", "提交支付状态错误");
                page.Response.Write(res.ToXml());
                page.Response.End();
                return;
            }

            //返回对象成功
            if ("SUCCESS".Equals(notifyData.GetValue("return_code").ToString()) && "SUCCESS".Equals(notifyData.GetValue("result_code").ToString()) && payNotifyResult.Value.HasError == false)
            {
                WCFClient.LoggerService.Error(this.GetType().ToString(), string.Format("此订单已支付。商户订单ID:{0}", outTradeNo));
                res.SetValue("return_code", "SUCCESS");
                res.SetValue("return_msg", "此订单已支付");
                page.Response.Write(res.ToXml());
                return;
            }
            else
            {
                res.SetValue("return_code", "FAIL");
                res.SetValue("return_msg", "支付结果中未交易成功");
                WCFClient.LoggerService.Info(this.GetType().ToString(), "支付结果中未交易成功 : " + notifyData.ToXml());
            }

            page.Response.Write(res.ToXml());
            page.Response.End();
        }