protected void Page_Load(object sender, EventArgs e) { WxAPI.AutoSync(Request.RawUrl); B_User.CheckIsLogged(Request.RawUrl); if (!IsPostBack) { MyBind(); } }
public ActionResult RedPacket() { //用户必须关注公众号之后才可访问 WxAPI.AutoSync(Request.RawUrl); M_UserAPP uaMod = uaBll.SelModelByUid(mu.UserID, "wechat"); ViewBag.state = uaMod == null ? "0" : "1"; return(View()); }
protected void Page_Init(object sender, EventArgs e) { WxAPI.AutoSync(Request.Url.AbsoluteUri); int sid = DataConvert.CLng(Request.QueryString["ID"]); if (sid > 1) { Response.Cookies["sid"].Value = sid.ToString(); } else if (Request.Cookies["sid"] != null)//看Cookie中是否有信息 { sid = DataConvert.CLng(Request.Cookies["sid"].Value); } if (sid < 1) { function.WriteErrMsg("未指定店铺ID"); return; } if (!DBCenter.IsExist("ZL_CommonModel", "GeneralID=" + sid + " AND ModelID=24")) { function.WriteErrMsg("指定店铺的信息不存在"); } }
public ActionResult GetRedPacket() { ViewBag.state = "2"; ViewBag.err = ""; string flow = Request["flow"]; string redcode = Request["redcode"]; string rurl = Request["rurl"];//成功后的返回页 //红包相关检测 M_WX_RedDetail detMod = new M_WX_RedDetail(); try { detMod = detBll.SelModelByCode(redcode); M_UserAPP uaMod = uaBll.SelModelByUid(mu.UserID, "wechat"); if (detMod == null) { ViewBag.err = "红包不存在"; } else if (detMod.ZStatus != 1) { ViewBag.err = "该红包已经被使用"; } else if (detMod.Amount < 1 || detMod.Amount > 200) { ViewBag.err = "红包金额不正确"; } if (!string.IsNullOrEmpty(ViewBag.err)) { return(View("RedPacket")); } M_WX_RedPacket redMod = redBll.SelReturnModel(detMod.MainID); if (!redMod.Flow.Equals(flow)) { ViewBag.err = "匹配码不正确"; } else if (redMod.SDate > DateTime.Now) { ViewBag.err = "活动尚未开始"; } else if (redMod.EDate < DateTime.Now) { ViewBag.err = "活动已经结束"; } if (!string.IsNullOrEmpty(ViewBag.err)) { return(View("RedPacket")); } WxAPI api = WxAPI.Code_Get(redMod.AppID); WxAPI.AutoSync(Request.RawUrl, api.AppId); if (mu.IsNull) { ViewBag.err = "用户不存在"; } if (uaMod == null) { ViewBag.err = "用户信息不存在"; } if (!string.IsNullOrEmpty(ViewBag.err)) { return(View("RedPacket")); } //------------------- string apiUrl = "https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack"; //生成提交参数 WxPayData wxdata = new WxPayData(); wxdata.SetValue("nonce_str", WxAPI.nonce); wxdata.SetValue("mch_billno", api.AppId.Pay_AccountID + DateTime.Now.ToString("yyyyMMdd") + function.GetRandomString(10, 2)); wxdata.SetValue("mch_id", api.AppId.Pay_AccountID); wxdata.SetValue("wxappid", api.AppId.APPID); wxdata.SetValue("send_name", SiteConfig.SiteInfo.SiteName); //接受红包的用户用户在wxappid下的openid wxdata.SetValue("re_openid", uaMod.OpenID);//oDTTbwLa7WuySP0WcJJzYJmErCQ4 wxdata.SetValue("total_amount", (int)(detMod.Amount * 100)); wxdata.SetValue("total_num", 1); wxdata.SetValue("wishing", redMod.Wishing); //红包祝福语 wxdata.SetValue("client_ip", "58.215.75.11"); //调用接口的机器IP地址 wxdata.SetValue("act_name", redMod.Name); //活动名称 wxdata.SetValue("remark", redMod.Remind); wxdata.SetValue("sign", wxdata.MakeSign()); //随机码,签名 string xml = wxdata.ToXml(); string response = HttpService.Post(xml, apiUrl, true, 60, api.AppId); //------------------------发放完成(不论成功失败均算已领取,记录好返回) detMod.UserID = mu.UserID; detMod.UserName = mu.UserName; detMod.UseTime = DateTime.Now.ToString(); //WxPayData result = new WxPayData(api.AppId.Pay_Key); //result.FromXml(response); //if (result.GetValue("return_code").ToString().Equals("SUCCESS"))//return_msg //{ // detMod.ZStatus = 99; //} //else //{ // detMod.ZStatus = -1; // detMod.Remind = response; //} detMod.ZStatus = 99; detMod.Remind = response; detBll.UpdateByID(detMod); ViewBag.state = "3"; ViewBag.amount = detMod.Amount.ToString("f2"); return(View("RedPacket")); } catch (Exception ex) { ZLLog.L(ZLEnum.Log.pay, "微信红包异常,领取码:" + redcode + ",原因:" + ex.Message); ViewBag.state = "3"; ViewBag.err = ex.Message; //如异常,该红包禁用,等待管理员审核 detMod.ZStatus = -1; detMod.Remind = ex.Message; detBll.UpdateByID(detMod); return(View("RedPacket")); } }
protected void Page_Load(object sender, EventArgs e) { WxAPI.AutoSync(Request.RawUrl); }