public CouponPrizeDTO GetCouponDetail(string openId, int id) { CouponPrizeDTO result = null; var model = _ubll.GetModel(id); if (model != null) { if (model.openid == openId) { var data = new CouponPrizeDTO() { id = id, status = model.hasLingQu, jpname = model.jpName, jxname = model.jxName, sn = model.sn }; if (model.actId != null) { var aModel = _actBll.GetModel(model.actId.Value); if (aModel.beginDate != null) { data.beginDate = aModel.beginDate.Value.ToString("yyyy-MM-dd"); } if (aModel.endDate != null) { data.endDate = aModel.endDate.Value.ToString("yyyy-MM-dd"); } } result = data; } } return(result); }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/json"; string _action = MyCommFun.QueryString("myact"); int aid = MyCommFun.RequestInt("aid"); string openid = MyCommFun.RequestOpenid(); //得到微信用户的openid if (_action == "choujiang") { Dictionary<string, string> jsonDict = new Dictionary<string, string>(); try { //抽奖 Model.wx_dzpActionInfo dzpAction = new Model.wx_dzpActionInfo(); BLL.wx_dzpAwardItem itemBll = new BLL.wx_dzpAwardItem(); #region 判断 int wid = MyCommFun.RequestInt("wid"); if (aid == 0 || wid == 0 || openid.Trim() == "") { jsonDict.Add("error", "sys"); jsonDict.Add("content", "参数错误!"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } dzpAction = actbll.GetModel(aid); if (dzpAction == null) { jsonDict.Add("error", "sys"); jsonDict.Add("content", "参数错误!"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } if (dzpAction.endDate <= DateTime.Now) { //说明活动已经结束 //非活动期间 jsonDict.Add("error", "end"); jsonDict.Add("content", "活动已结束"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } else if (dzpAction.beginDate > DateTime.Now) { //活动未开始 //非活动期间 jsonDict.Add("error", "nostart"); jsonDict.Add("content", "活动未开始"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } int dayMaxTimes = dzpAction.dayMaxTimes == null ? 0 : dzpAction.dayMaxTimes.Value; int perMaxTimes = dzpAction.personMaxTimes == null ? 0 : dzpAction.personMaxTimes.Value; //判断每人最大抽奖次数,是否超过了 if (personCJTimes(openid, aid) >= dzpAction.personMaxTimes) { jsonDict.Add("error", "notimes"); jsonDict.Add("content", "您已抽过奖了,欢迎下次再来!"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } if (isTodayOverSum(aid, openid, dayMaxTimes)) { jsonDict.Add("error", "notimes"); jsonDict.Add("content", "每人每天只有" + dayMaxTimes.ToString() + "次抽奖机会。"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } Model.wx_dzpAwardUser award = ubll.getZJinfoByOpenid(aid, openid); if (award != null) { //您中奖了 jsonDict.Add("error", "notimes"); jsonDict.Add("content", "您已奖了,欢迎下次再来!"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } #endregion #region 计算中奖信息 /// 处理是否中奖 /// hidStatus 状态为-1:不能抽奖,直接跳转到end.aspx页面; /// 0:抽奖次数超过设置的最高次数; /// 1:还可以继续抽奖; /// 2:中奖了; List<Model.wx_dzpAwardItem> itemlist = itemBll.GetModelList("actId=" + aid);//该活动的所有奖项信息 int ttJpNum = 0; for (int i = 0; i < itemlist.Count; i++) { ttJpNum += itemlist[i].jpRealNum.Value; } IList<Model.wx_dzpAwardUser> auserlist = ubll.getHasZJList(aid);//已经中奖的人列表 int ZhongJiangNum = 0; if (auserlist != null) { ZhongJiangNum = auserlist.Count; //已经中奖的人数 } int syZjNum = ttJpNum - ZhongJiangNum; //剩余的奖品数量 if (syZjNum <= 0) { //说明已经没有奖品了 jsonDict.Add("error", "-1"); jsonDict.Add("content", dzpAction.cfcjhf); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } dzpAction.personNum = MyCommFun.Obj2Int(dzpAction.personNum, 1); dzpAction.personMaxTimes = MyCommFun.Obj2Int(dzpAction.personMaxTimes, 1); int fenmo = dzpAction.personNum.Value * dzpAction.personMaxTimes.Value; Random rd = new Random((int)DateTime.Now.Ticks); int radNum = rd.Next(0, fenmo);//从0到fenmo里随机出一个值 if (radNum < syZjNum) { //中奖了,再从剩余奖品里抽取一个奖品 Model.wx_dzpAwardItem dajiang = getZJItem(itemlist, auserlist); if (dajiang != null) { //这是中的中奖了 string snumber = Get_snumber(aid); int uId = ubll.Add(aid, "", "", openid, dajiang.jxName, dajiang.jpName, snumber); jsonDict.Add("error", "succ"); jsonDict.Add("content", "恭喜你中奖了!"); jsonDict.Add("sortid", dajiang.sort_id.Value.ToString()); jsonDict.Add("jxname", dajiang.jxName); jsonDict.Add("jpname", dajiang.jpName); jsonDict.Add("uid", uId.ToString()); jsonDict.Add("sn", snumber); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } else { //奖品已经全部中完了 jsonDict.Add("error", "-1"); jsonDict.Add("content", dzpAction.cfcjhf); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } } else { //这个条件说明:未中奖 //抛出未中奖的数据 jsonDict.Add("error", "-1"); jsonDict.Add("content", dzpAction.cfcjhf); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } #endregion } catch (Exception ex) { jsonDict.Add("error", "sys"); jsonDict.Add("content", "计算抽奖出现未知错误,请联系管理员!"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } } else if (_action == "update") { try { #region 提交手机 /// 提交手机号码 string tel = MyCommFun.QueryString("tel"); string pwd = MyCommFun.QueryString("pwd"); string snumber = MyCommFun.QueryString("snumber"); int id = MyCommFun.RequestInt("id"); if (aid == 0 || id == 0 || snumber == "" || tel == "") { context.Response.Write("{\"msg\":\"提交出现异常!!\",\"success\":\"0\"}"); return; } if ((pwd.Length>0) &&( !actbll.ExistsPwd(aid, pwd))) { context.Response.Write("{\"msg\":\"商家兑换密码错误!!\",\"success\":\"0\"}"); return; } BLL.wx_dzpAwardUser ubll = new BLL.wx_dzpAwardUser(); Model.wx_dzpAwardUser model = ubll.GetModel(id); if (model == null) { context.Response.Write("{\"msg\":\"提交出现异常2!!\",\"success\":\"0\"}"); return; } model.uTel = tel; if (pwd.Length > 0) { model.hasLingQu = true; } else { model.hasLingQu = false; } ubll.Update(model); context.Response.Write("{\"msg\":\"提交成功!\",\"success\":\"1\"}"); return; #endregion } catch { context.Response.Write("{\"msg\":\"提交出现异常!!\",\"success\":\"0\"}"); return; } } }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/json"; string _action = MyCommFun.QueryString("myact"); int aid = MyCommFun.RequestInt("aid"); string openid = MyCommFun.RequestOpenid(); //得到微信用户的openid if (_action == "choujiang") { Dictionary <string, string> jsonDict = new Dictionary <string, string>(); try { //抽奖 Model.wx_dzpActionInfo dzpAction = new Model.wx_dzpActionInfo(); BLL.wx_dzpAwardItem itemBll = new BLL.wx_dzpAwardItem(); #region 判断 int wid = MyCommFun.RequestInt("wid"); if (aid == 0 || wid == 0 || openid.Trim() == "") { jsonDict.Add("error", "sys"); jsonDict.Add("content", "参数错误!"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } dzpAction = actbll.GetModel(aid); if (dzpAction == null) { jsonDict.Add("error", "sys"); jsonDict.Add("content", "参数错误!"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } if (dzpAction.endDate <= DateTime.Now) { //说明活动已经结束 //非活动期间 jsonDict.Add("error", "end"); jsonDict.Add("content", "活动已结束"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } else if (dzpAction.beginDate > DateTime.Now) { //活动未开始 //非活动期间 jsonDict.Add("error", "nostart"); jsonDict.Add("content", "活动未开始"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } int dayMaxTimes = dzpAction.dayMaxTimes == null ? 0 : dzpAction.dayMaxTimes.Value; int perMaxTimes = dzpAction.personMaxTimes == null ? 0 : dzpAction.personMaxTimes.Value; //判断每人最大抽奖次数,是否超过了 if (personCJTimes(openid, aid) >= dzpAction.personMaxTimes) { jsonDict.Add("error", "notimes"); jsonDict.Add("content", "您已抽过奖了,欢迎下次再来!"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } if (isTodayOverSum(aid, openid, dayMaxTimes)) { jsonDict.Add("error", "notimes"); jsonDict.Add("content", "每人每天只有" + dayMaxTimes.ToString() + "次抽奖机会。"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } Model.wx_dzpAwardUser award = ubll.getZJinfoByOpenid(aid, openid); if (award != null) { //您中奖了 jsonDict.Add("error", "notimes"); jsonDict.Add("content", "您已奖了,欢迎下次再来!"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } #endregion #region 计算中奖信息 /// 处理是否中奖 /// hidStatus 状态为-1:不能抽奖,直接跳转到end.aspx页面; /// 0:抽奖次数超过设置的最高次数; /// 1:还可以继续抽奖; /// 2:中奖了; List <Model.wx_dzpAwardItem> itemlist = itemBll.GetModelList("actId=" + aid);//该活动的所有奖项信息 int ttJpNum = 0; for (int i = 0; i < itemlist.Count; i++) { ttJpNum += itemlist[i].jpRealNum.Value; } IList <Model.wx_dzpAwardUser> auserlist = ubll.getHasZJList(aid);//已经中奖的人列表 int ZhongJiangNum = 0; if (auserlist != null) { ZhongJiangNum = auserlist.Count; //已经中奖的人数 } int syZjNum = ttJpNum - ZhongJiangNum; //剩余的奖品数量 if (syZjNum <= 0) { //说明已经没有奖品了 jsonDict.Add("error", "-1"); jsonDict.Add("content", dzpAction.cfcjhf); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } dzpAction.personNum = MyCommFun.Obj2Int(dzpAction.personNum, 1); dzpAction.personMaxTimes = MyCommFun.Obj2Int(dzpAction.personMaxTimes, 1); int fenmo = dzpAction.personNum.Value * dzpAction.personMaxTimes.Value; Random rd = new Random((int)DateTime.Now.Ticks); int radNum = rd.Next(0, fenmo);//从0到fenmo里随机出一个值 if (radNum < syZjNum) { //中奖了,再从剩余奖品里抽取一个奖品 Model.wx_dzpAwardItem dajiang = getZJItem(itemlist, auserlist); if (dajiang != null) { //这是中的中奖了 string snumber = Get_snumber(aid); int uId = ubll.Add(aid, "", "", openid, dajiang.jxName, dajiang.jpName, snumber); jsonDict.Add("error", "succ"); jsonDict.Add("content", "恭喜你中奖了!"); jsonDict.Add("sortid", dajiang.sort_id.Value.ToString()); jsonDict.Add("jxname", dajiang.jxName); jsonDict.Add("jpname", dajiang.jpName); jsonDict.Add("uid", uId.ToString()); jsonDict.Add("sn", snumber); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } else { //奖品已经全部中完了 jsonDict.Add("error", "-1"); jsonDict.Add("content", dzpAction.cfcjhf); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } } else { //这个条件说明:未中奖 //抛出未中奖的数据 jsonDict.Add("error", "-1"); jsonDict.Add("content", dzpAction.cfcjhf); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } #endregion } catch (Exception ex) { jsonDict.Add("error", "sys"); jsonDict.Add("content", "计算抽奖出现未知错误,请联系管理员!"); context.Response.Write(MyCommFun.getJsonStr(jsonDict)); return; } } else if (_action == "update") { try { #region 提交手机 /// 提交手机号码 string tel = MyCommFun.QueryString("tel"); string pwd = MyCommFun.QueryString("pwd"); string snumber = MyCommFun.QueryString("snumber"); int id = MyCommFun.RequestInt("id"); if (aid == 0 || id == 0 || snumber == "" || tel == "") { context.Response.Write("{\"msg\":\"提交出现异常!!\",\"success\":\"0\"}"); return; } if ((pwd.Length > 0) && (!actbll.ExistsPwd(aid, pwd))) { context.Response.Write("{\"msg\":\"商家兑换密码错误!!\",\"success\":\"0\"}"); return; } BLL.wx_dzpAwardUser ubll = new BLL.wx_dzpAwardUser(); Model.wx_dzpAwardUser model = ubll.GetModel(id); if (model == null) { context.Response.Write("{\"msg\":\"提交出现异常2!!\",\"success\":\"0\"}"); return; } model.uTel = tel; if (pwd.Length > 0) { model.hasLingQu = true; } else { model.hasLingQu = false; } ubll.Update(model); context.Response.Write("{\"msg\":\"提交成功!\",\"success\":\"1\"}"); return; #endregion } catch { context.Response.Write("{\"msg\":\"提交出现异常!!\",\"success\":\"0\"}"); return; } } }