/// <summary> /// 获取摇一摇基本信息,并保存用户 /// </summary> /// <param name="aid"></param> /// <param name="wxUser"></param> /// <returns></returns> public CouponBaseInfoDTO GetCouponBaseInfo(int aid, OAuthUserInfo wxUser) { CouponBaseInfoDTO result = null; var dzpAction = _actBll.GetModel(aid); if (dzpAction != null) { int hasCjTimes = 0; if (wxUser != null) { if (!string.IsNullOrEmpty(wxUser.openid)) { hasCjTimes = _utbll.getCJCiShu(aid, wxUser.openid); //返回该用户的抽奖次数 } } #region 保存用户信息 if (wxUser != null) { //保存微信用户信息 UserInfoEntity user = TransformToUser(wxUser); user.SaveUser(); } #endregion result = TransformToBaseInfo(dzpAction); result.hasCjTimes = hasCjTimes; } return(result); }
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>"; } } }