下面详细介绍:
一、使用
1. 新建一个大转盘的活动:
2. 奖项设置
3. 保存后,在微信里给公众号发一个“大转盘”的消息, 就会收到大转盘的内容
4. 点击进入大转盘活动,然后点击中间的 “点击抽奖”:
二、实现
1. 页面
1.1 前台代码
<% if (ErrLevel < 100) { Response.Write(ErrorInfo); } else if (ErrLevel == 101) { //活动已结束,跳转到结束页面 %> <script type=text/javascript> window.location.href = end.aspx?wid=+<%=wid%>+&aid=+<%=aid%>+&openid=+<%=openid%>+;; </script> <% } else { %> <!DOCTYPE html> <html xmlns=http://www.w3.org/1999/xhtml> <head id=Head1 runat=server> <meta http-equiv=Content-Type content=text/html; charset=UTF-8> <meta name=viewport content=width=device-width,height=device-height,inital-scale=1.0,maximum-scale=1.0,user-scalable=no;> <meta name=apple-mobile-web-app-capable content=yes> <meta name=apple-mobile-web-app-status-bar-style content=black> <meta name=format-detection content=telephone=no> <meta name=description content=微信> <meta http-equiv=Pragma content=no-cache> <meta http-equiv=Cache-Control content=no-cache> <meta http-equiv=Expires content=0> <title>幸运大转盘抽奖</title> <script src=http://libs.baidu.com/jquery/2.0.0/jquery.min.js type=text/javascript></script> <script type=text/javascript src=../../scripts/jquery/jquery.query.js></script> <script src=../../scripts/jquery/alert.js type=text/javascript></script> <link href=css/activity-style2.css rel=stylesheet type=text/css> <style> .activity-lottery-winning { background: url(images/beijing.gif) repeat scroll 0 0 #7E65AB; background-size: 120px auto; overflow: hidden; } </style> </head> <body class=activity-lottery-winning> <form id=form1 runat=server> <p class=main> <asp:HiddenField ID=hidStatus runat=server Value= EnableViewState=false /> <asp:HiddenField ID=hidErrInfo runat=server EnableViewState=false /> <asp:HiddenField ID=hidAwardId runat=server EnableViewState=false Value=0 /> <p id=outercont> <p id=outer-cont> <p id=outer> <img src=images/zp<%=picIndex %>-.png> </p> </p> <p id=inner-cont> <p id=inner> <img src=images/activity-lottery-2.png> </p> </p> </p> <p class=content> <p class=boxcontent boxwhite id=zjl style=display: none> <p class=box> <p class=title-orange><span>恭喜你中奖了</span></p> <p class=Detail> <p>你中了:<span class=red id=prizetype><asp:Literal ID=litzjlJP runat=server EnableViewState=false Text=></asp:Literal></span></p> <p>兑奖SN码:<span class=red id=sncode><asp:Literal ID=litzjlSN runat=server EnableViewState=false Text=></asp:Literal></span></p> <p class=red> <asp:Literal ID=litContentInfo runat=server EnableViewState=false></asp:Literal> </p> <p> <input name= class=px id=tel value= type=text placeholder=用户请输入您的手机号> </p> <asp:Literal ID=litPwd runat=server EnableViewState=false Text=></asp:Literal> <p> <input class=pxbtn name=提 交 id=save-btn type=button value=用户提交> </p> </p> </p> </p> <p class=boxcontent boxwhite id=result style=display: none;> <p class=box> <p class=title-orange><span>恭喜你中奖了</span></p> <p class=Detail> <p>你中了:<span class=red id=jiangping><asp:Literal ID=litJp runat=server EnableViewState=false Text=></asp:Literal></span></p> <p>兑奖sn码为:<span class=red id=jpsn><asp:Literal ID=litSNM runat=server EnableViewState=false></asp:Literal></span></p> <p class=red>你已经兑奖成功,本SN码自定作废!</p> </p> </p> </p> <p class=boxcontent boxwhite> <p class=box> <p class=title-red><span>奖项设置:</span></p> <p class=Detail> <asp:Literal ID=litOtherTip runat=server EnableViewState=false></asp:Literal> <asp:Literal ID=litJiangXing runat=server EnableViewState=false></asp:Literal> </p> </p> </p> <p class=boxcontent boxwhite> <p class=box> <p class=title-red>活动说明:</p> <p class=Detail> <p class=red> 本次活动每天可以转 <asp:Literal ID=litdaysTimes runat=server EnableViewState=false></asp:Literal> 次,总共可以转 <asp:Literal ID=littotTimes runat=server EnableViewState=false></asp:Literal> 次 你已经转了 <span id=zhuantimes> <asp:Literal ID=litHasUsedTimes runat=server EnableViewState=false></asp:Literal></span> 次 </p> <p> <asp:Literal ID=litRemark runat=server EnableViewState=false></asp:Literal> </p> </p> </p> </p> </p> </p> <script type=text/javascript> var thisurl= document.URL; var wid = <%=wid%>; var aid =<%=aid%>; var status = $(#hidStatus).val(); var showInfo = $(#hidErrInfo).val(); var openid =<%=openid%>; var jxname=; var jpname=; var cjtip=; var zhuantimes=parseInt( $(#zhuantimes).text()); var zjl = false;//没中奖为false中奖为true <% if (isZhJing) { %> $(#outercont).hide(); $(#result).show(); <%} %> if (status == 2) { $(#outercont).hide(); } else if(status==100) { $(#outercont).hide(); $(#result).hide(); $(#zjl).show(); } $(function () { window.requestAnimFrame = (function () { return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) { window.setTimeout(callback, 1000 / 60) } })(); var totalDeg = 360 * 3 + 0; var steps = []; var lostDeg = [360]; var prizeDeg = <%=shuzu%>; var prize, sncode; var count = 0; var now = 0; var a = 0.01; var outter, inner, timer, running = false; function countSteps() { var t = Math.sqrt(2 * totalDeg / a); var v = a * t; for (var i = 0; i < t; i++) { steps.push((2 * v * i - a * i * i) / 2) } steps.push(totalDeg) } function step() { // alert('rotate(' + steps[now++] + 'deg)'); outter.style.webkitTransform = 'rotate(' + steps[now++] + 'deg)'; outter.style.MozTransform = 'rotate(' + steps[now++] + 'deg)'; if (now < steps.length) { running = true; requestAnimFrame(step) } else { running = false; setTimeout(function () { $(#zhuantimes).text(++zhuantimes); if (zjl) { $(#sncode).text(sncode); $(#jpsn).text(sncode); $(#jiangping).text(jxname+ +jpname); $(#prizetype).text(jxname+ +jpname); $(#zjl).slideToggle(500); $(#outercont).slideUp(500) } else { alert(cjtip); } }, 200) } } function start(deg) { deg = deg || lostDeg[parseInt(lostDeg.length * Math.random())]; running = true; clearInterval(timer); totalDeg = 360 * 5 + deg; steps = []; now = 0; countSteps(); requestAnimFrame(step) } window.start = start; outter = document.getElementById('outer'); inner = document.getElementById('inner'); i = 10; $(#inner).click(function () { if (status == 2) { alert(showInfo); } if (running) return; $.ajax({ url: dzpAct.ashx, dataType: json, data: { openid: openid, myact: choujiang, aid: aid, wid:wid, rad: Math.random() }, beforeSend: function () { running = true; timer = setInterval(function () { i += 5; outter.style.webkitTransform = 'rotate(' + i + 'deg)'; outter.style.MozTransform = 'rotate(' + i + 'deg)' }, 1) }, success: function (data) { if (data.error == sys ||data.error == nostart ) { cjtip=data.content; count = 100; clearInterval(timer); return } else if(data.error==notimes) { cjtip=data.content; start(); } else if (data.error==succ) { zjl=true; cjtip=data.content; prize = data.sortid; sncode = data.sn; jpname=data.jpname; jxname=data.jxname; $(#hidAwardId).val(data.uid); start(prizeDeg[data.sortid - 1]) } else { cjtip=data.content; start() } running = false; count++ }, error: function () { prize = null; start(); running = false; count++ }, timeout: 1000 }) }) }); $(#save-btn).bind(click, function () { var btn = $(this); var tel = $(#tel).val(); var pwd = ; var hidAwardId = $(#hidAwardId).val(); if ($(#parssword).length>0 && $.trim($(#parssword).val()) == ) { alert(请输入兑奖密码!); return } if ($.trim(tel) == ) { alert(请输入手机号!); return } if($(#parssword).length>0){ pwd= $(#parssword).val(); } var rad = Math.random(); var submitData = { id: hidAwardId, aid: aid, pwd: pwd, snumber:$(#sncode).text(), tel: tel, rad: rad, openid:openid }; $.post('dzpAct.ashx?myact=update', submitData, function (data) { if (data.success == 1) { alert(提交成功!); $(#result).slideToggle(500); $(#zjl).slideToggle(500); $(#outercont).slideUp(500); } else { alert(data.msg); } }, json) }); </script> <script type=text/javascript> document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() { window.shareData = { imgUrl: , timeLineLink: thisurl + &is_share=1, sendFriendLink: thisurl + &is_share=1, weiboLink: thisurl + &is_share=1, tTitle: <%=dzpAction.actName%>, tContent: 请关注后,再来抽奖。<%=dzpAction.brief%>, fTitle: 请关注后,再来抽奖。<%=dzpAction.actName%>, fContent: 请关注后,再来抽奖。<%=dzpAction.brief%>, wContent: 请关注后,再来抽奖。<%=dzpAction.brief%> }; // 发送给好友 WeixinJSBridge.on('menu:share:appmessage', function (argv) { WeixinJSBridge.invoke('sendAppMessage', { img_url: window.shareData.imgUrl, img_width: 640, img_height: 640, link: window.shareData.sendFriendLink, desc: window.shareData.fContent, title: window.shareData.fTitle }, function (res) { _report('send_msg', res.err_msg); }) }); // 分享到朋友圈 WeixinJSBridge.on('menu:share:timeline', function (argv) { WeixinJSBridge.invoke('shareTimeline', { img_url: window.shareData.imgUrl, img_width: 640, img_height: 640, link: window.shareData.timeLineLink, desc: window.shareData.tContent, title: window.shareData.tTitle }, function (res) { _report('timeline', res.err_msg); }); }); // 分享到微博 WeixinJSBridge.on('menu:share:weibo', function (argv) { WeixinJSBridge.invoke('shareWeibo', { content: window.shareData.wContent, url: window.shareData.weiboLink, }, function (res) { _report('weibo', res.err_msg); }); }); }, false) </script> </form> <p style=display: none>©微布斯科技提供 qq 121285904 www.webus.cn</p> </body> </html> <% }%>
2.1 后台代码
/// <summary> /// ErrLevel:100表示正确无误,1表示严重错误,2表示业务方面有问题;3直接跳转到结束页面 /// </summary> public int ErrLevel = 100; public string ErrorInfo = ; public Model.wx_dzpActionInfo dzpAction; public int picIndex = 0; public int aid = 0; public int wid = 0; public bool isZhJing = false; public string openid = ; public string shuzu = ; BLL.wx_dzpAwardUser ubll = new BLL.wx_dzpAwardUser(); BLL.wx_dzpUsersTemp utbll = new BLL.wx_dzpUsersTemp(); BLL.wx_dzpActionInfo actBll = new BLL.wx_dzpActionInfo(); BLL.wx_dzpAwardItem itemBll = new BLL.wx_dzpAwardItem(); protected void Page_Load(object sender, EventArgs e) { OnlyWeiXinLook(); aid = MyCommFun.RequestInt(aid, 0); wid = MyCommFun.RequestInt(wid, 0); openid = MyCommFun.RequestOpenid(); if (aid == 0 || wid == 0 || openid.Trim() == ) { ErrLevel = 1; ErrorInfo = 访问参数错误!; return; } BindData(); } private void BindData() { dzpAction = actBll.GetModel(aid); IList<Model.wx_dzpAwardItem> itemlist = itemBll.GetModelList(actId= + aid); if (dzpAction == null || itemlist == null || itemlist.Count <= 0) { ErrLevel = 1; ErrorInfo = 未获得到数据; return; } this.Title = dzpAction.actName; if (dzpAction.endDate <= DateTime.Now) { //说明活动已经结束 ErrLevel = 101; ErrorInfo = 活动已结束; return; } StringBuilder sb = new StringBuilder(); Model.wx_dzpAwardItem item = new Model.wx_dzpAwardItem(); int ttJpNum = 0; shuzu = [; for (int i = 0; i < itemlist.Count; i++) { item = itemlist[i]; sb.Append(<p> + item.jxName + : + item.jpName + 数量: + item.jpNum + </p>); ttJpNum += item.jpRealNum.Value; picIndex++; if (i < (itemlist.Count - 1)) { shuzu += item.jiaodu_min + ,; } else { shuzu += item.jiaodu_min; } } shuzu += ]; litJiangXing.Text = sb.ToString(); litRemark.Text = dzpAction.brief; litContentInfo.Text = dzpAction.contractInfo; littotTimes.Text = dzpAction.personMaxTimes == null ? 0 : dzpAction.personMaxTimes.Value.ToString(); litdaysTimes.Text = dzpAction.dayMaxTimes == null ? 0 : dzpAction.dayMaxTimes.Value.ToString(); if (dzpAction.djPwd.Trim().Length > 0) { litPwd.Text = <p> <input name=\\ class=\px\ id=\parssword\ type=\password\ value=\\ placeholder=\商家输入兑奖密码\></p>; } if (dzpAction.beginDate > DateTime.Now) { hidStatus.Value = -2; ErrorInfo = hidErrInfo.Value = 活动尚未开始; } int hasCjTimes = utbll.getCJCiShu(aid, openid);//返回该用户的抽奖次数 this.litHasUsedTimes.Text = hasCjTimes.ToString(); int dayMaxTimes = dzpAction.dayMaxTimes == null ? 0 : dzpAction.dayMaxTimes.Value; int perMaxTimes = dzpAction.personMaxTimes == null ? 0 : dzpAction.personMaxTimes.Value; //判断是否中奖了 Model.wx_dzpAwardUser award = ubll.getZJinfoByOpenid(aid, openid); if (award != null && award.id>0) { //您中奖了 if (award.uTel != null && award.uTel.ToString().Trim() != ) {//已经中奖,并且提交了 litJp.Text = [ + award.jxName + ] + award.jpName; litSNM.Text = award.sn; isZhJing = true; } else { //已经中奖,但是未提交 hidStatus.Value = 100; litzjlJP.Text = [ + award.jxName + ] + award.jpName; litzjlSN.Text = award.sn; hidAwardId.Value = award.id.ToString(); litJp.Text = [ + award.jxName + ] + award.jpName; litSNM.Text = award.sn; } } else { //判断每人最大抽奖次数,是否超过了 if (hasCjTimes >= dzpAction.personMaxTimes) { hidStatus.Value = 2; //litOtherTip.Text = <p class='red'>您已经抽了 + hasCjTimes + 次了。</p>; } if (isTodayOverSum(dayMaxTimes)) { hidStatus.Value = 2; // litOtherTip.Text = <p class='red'>每人每天只有 + dayMaxTimes.ToString() + 次抽奖机会,您已经使用完了。</p>; } } } #region 方法 /// <summary> /// 判断今天是否已经超出抽奖次数 /// todayTTTimes:能抽奖的总次数 /// </summary> /// <param name=openid></param> /// <param name=todayTTTimes>每天的抽奖总次数</param> /// <returns></returns> private bool isTodayOverSum( int todayTTTimes) { if (todayTTTimes <= 0) { return true; } DateTime todaybegin = DateTime.Parse(DateTime.Now.ToShortDateString()); DateTime mingtianBegin = todaybegin.AddDays(1); if (!utbll.ExistsOpenid( actId= + aid + and openid=' + openid + ' and createDate>=' + todaybegin + ' and createDate<' + mingtianBegin + ')) { return false; } Model.wx_dzpUsersTemp model = utbll.getModelByAidOpenid(aid, openid); if (model.times >= todayTTTimes) { return true; } else { return false; } } #endregion
2. 实现逻辑
public class dzpAct : IHttpHandler { BLL.wx_dzpActionInfo actbll = new BLL.wx_dzpActionInfo(); BLL.wx_dzpAwardUser ubll = new BLL.wx_dzpAwardUser(); BLL.wx_dzpUsersTemp utbll = new BLL.wx_dzpUsersTemp(); 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; } } } #region 方法 /// <summary> /// 取中奖的项目 /// </summary> /// <param name=itemlist>所有的奖品信息</param> /// <param name=haszjlist>已经中奖的列表</param> /// <returns></returns> private Model.wx_dzpAwardItem getZJItem(IList<Model.wx_dzpAwardItem> itemlist, IList<Model.wx_dzpAwardUser> haszjlist) { IList<Model.wx_dzpAwardItem> zjItemlist = new List<Model.wx_dzpAwardItem>();//剩余奖品列表 Model.wx_dzpAwardItem tmpItem = new Model.wx_dzpAwardItem(); Model.wx_dzpAwardItem stmpItem = new Model.wx_dzpAwardItem(); IList<Model.wx_dzpAwardUser> thiszjRs; for (int i = 0; i < itemlist.Count; i++) { tmpItem = itemlist[i]; thiszjRs = (from user in haszjlist where user.jpName == tmpItem.jpName && user.jxName == tmpItem.jxName select user).ToArray<Model.wx_dzpAwardUser>(); int tmpSYNum = 0; if (thiszjRs != null) { tmpSYNum = MyCommFun.Obj2Int(tmpItem.jpRealNum) - thiszjRs.Count; } if (tmpSYNum <= 0) { continue; } for (int j = 0; j < tmpSYNum; j++) { stmpItem = new Model.wx_dzpAwardItem(); stmpItem.jpName = tmpItem.jpName; stmpItem.jxName = tmpItem.jxName; stmpItem.sort_id = tmpItem.sort_id; zjItemlist.Add(stmpItem); } } Random rd = new Random((int)DateTime.Now.Ticks); int jpIndex = rd.Next(0, zjItemlist.Count);//从0到zjItemlist.Count里随机出一个值 return zjItemlist[jpIndex]; } /// <summary> /// 判断该用户的抽奖次数 /// </summary> /// <param name=openid></param> /// <returns></returns> private int personCJTimes(string openid, int aid) { int times = 0; times = utbll.GetRecordCount(actId= + aid + and openid=' + openid + '); return times; } /// <summary> /// 判断今天是否已经超出抽奖次数 /// todayTTTimes:能抽奖的总次数 /// </summary> /// <param name=openid></param> /// <param name=todayTTTimes>每天的抽奖总次数</param> /// <returns></returns> private bool isTodayOverSum(int aid, string openid, int todayTTTimes) { if (todayTTTimes <= 0) { return true; } Model.wx_dzpUsersTemp model = new Model.wx_dzpUsersTemp(); model.openid = openid; DateTime todaybegin = DateTime.Parse(DateTime.Now.ToShortDateString()); DateTime mingtianBegin = todaybegin.AddDays(1); if (!utbll.ExistsOpenid( actId= + aid + and openid=' + openid + ' and createDate>=' + todaybegin + ' and createDate<' + mingtianBegin + ')) { //第一次,插入 model.times = 1; model.createDate = DateTime.Now; model.openid = openid; model.actId = aid; utbll.Add(model); return false; } model = utbll.getModelByAidOpenid(aid, openid); if (model.times >= todayTTTimes) { return true; } else { model.times += 1; utbll.Update(model); return false; } } /// <summary> /// 返回中奖序列号 /// </summary> /// <param name=id></param> /// <returns></returns> public string Get_snumber(int aid) { Random rd = new Random((int)DateTime.Now.Ticks); int radNum = rd.Next(0, 9);//从0到9里随机出一个值 return SNdzp + aid + _ + MyCommFun.ConvertDateTimeInt(DateTime.Now) + radNum; } #endregion public bool IsReusable { get { return false; } } }
【相关推荐】
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。