/// <summary>
        ///     生成支付链接
        /// </summary>
        /// <param name="unifiedOrderInfo"></param>
        /// <returns></returns>
        public string GeneratePayUrl(UnifiedOrderInfo unifiedOrderInfo)
        {
            var ticket = EncryptionManager.CreateIV();
            var payData = EncryptionManager.AESEncrypt(JSONHelper.Serialize(unifiedOrderInfo, "yyyy-MM-dd"), ticket);

            return PayHelper.GetPayUrl(payData, ticket);
        }
Beispiel #2
0
        protected void btnClick_Click(object sender, EventArgs e)
        {
            var entity = new UnifiedOrderEntity
            {
                OrderId      = "1234455678",
                wid          = 1,
                total_fee    = 1,
                out_trade_no = "DD123456789",
                openid       = openid,
                body         = "测试不关注支付",
                PayModuleID  = (int)PayModuleEnum.Restaurant,
                PayComplete  = "../restaurant/index.aspx"
            };

            entity.Extra.Add("content", "");
            //entity.Extra.Add("shopname", new BLL.wx_diancai_shopinfo().GetModel(this.shopid).hotelName);
            //entity.Extra.Add("shopid", shopid.ToString());
            entity.Extra.Add("wid", "1");

            var ticket  = EncryptionManager.CreateIV();
            var payData = EncryptionManager.AESEncrypt(entity.ToJson(), ticket);

            Response.Redirect(PayHelper.GetPayUrl(payData, ticket));

            //Response.Redirect("http://weixin.zhiyoubao.com/ticket/scenicTicket.htm?scenicId=1021");
        }
Beispiel #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="dingdanbll"></param>
        /// <param name="jsonDict"></param>
        /// <param name="context"></param>
        private void GetPayUrl(wx_hotel_dingdan dingdanbll, HttpContext context)
        {
            int ddid = MyCommFun.RequestInt("dingdanidnum");

            if (ddid > 0)
            {
                var dingdan = dingdanbll.GetModel(ddid);
                if (dingdan != null)
                {
                    Model.wx_hotels_info hotelInfo = new wx_hotels_info();
                    int wid = 0;
                    if (dingdan.hotelid != null)
                    {
                        hotelInfo = new BLL.wx_hotels_info().GetModel(dingdan.hotelid.Value);
                        if (hotelInfo.wid != null)
                        {
                            wid = hotelInfo.wid.Value;
                        }
                    }
                    //总花费
                    var dateSpan   = dingdan.leaveTime.Value - dingdan.arriveTime.Value;
                    var totalPrice = dingdan.price.Value * dingdan.orderNum.Value * dateSpan.Days;

                    var port   = WebHelper.GetHostPort();
                    var url    = string.Format("{0}/weixin/KNSHotel/hotel_order_paycallback.aspx", port);
                    var entity = new UnifiedOrderEntity
                    {
                        wid          = wid,
                        total_fee    = totalPrice == null ? 0 : (int)totalPrice,
                        out_trade_no = dingdan.OrderNumber,
                        openid       = dingdan.openid,
                        OrderId      = dingdan.id.ToString(),
                        body         = string.Format("订单编号{2} {3}{1}{0}间", dingdan.orderNum, dingdan.roomType
                                                     , dingdan.OrderNumber, hotelInfo.hotelName),
                        PayModuleID = (int)PayModuleEnum.Hotel,
                        PayComplete = url
                    };

                    entity.Extra.Add("dingdanidnum", ddid.ToString());
                    entity.Extra.Add("openid", dingdan.openid);
                    entity.Extra.Add("hotelid", dingdan.hotelid.ToString());
                    entity.Extra.Add("roomid", dingdan.roomid.ToString());

                    var ticket  = EncryptionManager.CreateIV();
                    var payData = EncryptionManager.AESEncrypt(entity.ToJson(), ticket);

                    context.Response.Write(AjaxResult.Success(PayHelper.GetPayUrl(payData, ticket)));
                }
            }
            else
            {
                context.Response.Write(AjaxResult.Error("获取支付状态失败!"));
            }
        }
Beispiel #4
0
        public void AESEncryptTest()
        {
            var text     = Guid.NewGuid().ToString();
            var password = "******";
            var vi       = EncryptionManager.CreateIV();

            var en = EncryptionManager.AESEncrypt(text, password, vi);

            var cn = EncryptionManager.AESDecrypt(en, password, vi);

            Assert.IsTrue(string.Equals(text, cn));
        }
Beispiel #5
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/json";
            string _action   = MyCommFun.QueryString("myact");
            string username  = MyCommFun.QueryString("username");
            string parssword = MyCommFun.QueryString("parssword");
            string id        = MyCommFun.QueryString("id");

            openid = MyCommFun.QueryString("openid");
            string state = MyCommFun.QueryString("state");

            goodsData = QueryString("goodsData");
            shopid    = MyCommFun.RequestInt("shopid");


            BLL.wx_diancai_dianyuan         dianyuanbll = new BLL.wx_diancai_dianyuan();
            BLL.wx_diancai_dingdan_manage   manage      = new BLL.wx_diancai_dingdan_manage();
            Model.wx_diancai_dingdan_manage managemodel = new Model.wx_diancai_dingdan_manage();


            if (_action == "login")
            {
                if (dianyuanbll.Exists(username, parssword))
                {
                    jsonDict.Add("ret", "ok");
                    jsonDict.Add("content", "登录成功!");

                    context.Response.Write(MyCommFun.getJsonStr(jsonDict));
                }
                else
                {
                    jsonDict.Add("ret", "fail");
                    jsonDict.Add("content", "密码错误!");

                    context.Response.Write(MyCommFun.getJsonStr(jsonDict));
                }
            }

            else if (_action == "setstatus")
            {
                //id

                if (manage.Updatestatus(id, state))
                {
                    managemodel = manage.GetModel(MyCommFun.Str2Int(id));
                    BLL.wx_diancai_member menbll = new BLL.wx_diancai_member();
                    if (state == "1")
                    {
                        menbll.Update(managemodel.openid);
                    }
                    if (state == "2")
                    {
                        menbll.Updatefail(managemodel.openid);
                    }

                    jsonDict.Add("ret", "ok");
                    jsonDict.Add("content", "提交成功!");
                    context.Response.Write(MyCommFun.getJsonStr(jsonDict));
                }
            }
            else if (_action == "addcaidan")
            {
                var orderProcessResult = this.ProcessOrder();

                if (!orderProcessResult.IsSuccess)
                {
                    this.jsonDict.Add("ret", "err");
                    this.jsonDict.Add("content", orderProcessResult.Message);
                    context.Response.Write(MyCommFun.getJsonStr(jsonDict));
                    return;
                }

                var order = orderProcessResult.BusinessData as Model.wx_diancai_dingdan_manage;

                if (order != null)
                {
                    //this.jsonDict.Add("ret", "ok");
                    //this.jsonDict.Add("content", orderProcessResult.Message);
                    //this.jsonDict.Add("orderid", order.id.ToString());
                    //this.jsonDict.Add("ordercode", order.orderNumber);
                    //this.jsonDict.Add("openid", openid);
                    //this.jsonDict.Add("payamount", order.payAmount.ToString());
                    //this.jsonDict.Add("shopname", new BLL.wx_diancai_shopinfo().GetModel(this.shopid).hotelName);
                    //this.jsonDict.Add("wid", order.wid.ToString());
                    //this.jsonDict.Add("orderNumber", order.orderNumber);
                    //context.Response.Write(MyCommFun.getJsonStr(this.jsonDict));

                    var shopInfo = new BLL.wx_diancai_shopinfo().GetModel(this.shopid);
                    var entity   = new UnifiedOrderEntity
                    {
                        OrderId      = order.id.ToString(),
                        wid          = order.wid,
                        total_fee    = order.payAmount == null ? 0 : (int)order.payAmount,
                        out_trade_no = order.orderNumber,
                        openid       = openid,
                        body         = string.Format("订单编号{0} {1}", order.orderNumber, shopInfo.hotelName),
                        PayModuleID  = (int)PayModuleEnum.Restaurant,
                        PayComplete  = "../restaurant/AfterPay.aspx"
                    };

                    entity.Extra.Add("content", orderProcessResult.Message);
                    entity.Extra.Add("shopname", new BLL.wx_diancai_shopinfo().GetModel(this.shopid).hotelName);
                    entity.Extra.Add("shopid", shopid.ToString());
                    entity.Extra.Add("wid", shopInfo.wid.ToString());

                    var ticket  = EncryptionManager.CreateIV();
                    var payData = EncryptionManager.AESEncrypt(entity.ToJson(), ticket);

                    context.Response.Write(AjaxResult.Success(PayHelper.GetPayUrl(payData, ticket)));
                }

                context.Response.End();
            }
            else if (_action == "productDetail")
            {
                var productId = MyCommFun.QueryString("productId");


                if (!string.IsNullOrEmpty(productId))
                {
                    var    model    = new BLL.wx_diancai_caipin_manage().GetModel(int.Parse(productId));
                    String useRange = string.Empty;
                    if (model.beginDate.HasValue || model.endDate.HasValue)
                    {
                        useRange = string.Format("{0}至{1}",
                                                 model.beginDate.HasValue ? model.beginDate.Value.ToString("yyyy-MM-dd") : string.Empty,
                                                 model.endDate.HasValue ? model.endDate.Value.ToString("yyyy-MM-dd") : string.Empty);
                    }
                    var data = new
                    {
                        shopIntroduction = model.shopIntroduction,
                        detailContent    = model.detailContent,
                        instructions     = model.instructions,
                        chargeback       = model.chargeback,
                        useRange         = useRange
                    };
                    context.Response.Write(AjaxResult.Success(data).ToCamelString());
                }

                context.Response.End();
            }
            else if (_action == "caipinDetail")
            {
                var caipinId    = MyCommFun.RequestInt("caipinId");
                var caipinModel = new BLL.wx_diancai_caipin_manage().GetModel(caipinId);

                String useRange = string.Empty;
                if (caipinModel.beginDate.HasValue || caipinModel.endDate.HasValue)
                {
                    useRange = string.Format("{0}至{1}",
                                             caipinModel.beginDate.HasValue ? caipinModel.beginDate.Value.ToString("yyyy-MM-dd") : string.Empty,
                                             caipinModel.endDate.HasValue ? caipinModel.endDate.Value.ToString("yyyy-MM-dd") : string.Empty);
                }

                String jianjie    = caipinModel.shopIntroduction;
                String tuidanRule = caipinModel.chargeback;
                string pictureUrl = caipinModel.picUrl;

                var result = new
                {
                    Name             = caipinModel.cpName,
                    Url              = MapUrl(pictureUrl),
                    Range            = useRange,
                    Intruduce        = jianjie,
                    Rule             = tuidanRule,
                    suoming          = caipinModel.detailContent,
                    shopIntroduction = caipinModel.shopIntroduction
                };

                context.Response.Write(AjaxResult.Success(result));
                context.Response.End();
            }
        }