private void ShowInfo(int id) { hidid.Value = id.ToString(); Model.wx_sTicket sstAction = sstBll.GetModel(id); IList <Model.wx_sttAwardItem> aItemlist = iBll.GetModelList("actId=" + id); Model.wx_requestRule rule = rBll.GetModelList("modelFunctionName='优惠券简单版' and modelFunctionId=" + id)[0]; txtKW.Text = rule.reqKeywords; if (sstAction.beginPic != null && sstAction.beginPic.Trim() != "/weixin/sticket/images/start.jpg") { txtImgUrl.Text = sstAction.beginPic; imgbeginPic.ImageUrl = sstAction.beginPic; } //banner if (sstAction.bannerPic != null && sstAction.bannerPic.Trim() != "/weixin/sticket/images/banner.jpg") { txtBanner.Text = sstAction.bannerPic; imgBanner.ImageUrl = sstAction.bannerPic; } txtactName.Text = sstAction.actionName; txtsuccTip.Text = sstAction.succTip; txtbrief.Value = sstAction.brief; txtbeginDate.Text = sstAction.beginDate.Value.ToString("yyyy-MM-dd HH:mm:ss"); txtendDate.Text = sstAction.endDate.Value.ToString("yyyy-MM-dd HH:mm:ss"); txtactContent.Value = sstAction.aContent; txtusedRemark.Value = sstAction.usedRemark; this.txtdjPwd.Text = sstAction.pwd; //结束 if (sstAction.endPic != null && sstAction.endPic.Trim() != "/weixin/sticket/images/end.jpg") { txtEndPic.Text = sstAction.endPic; imgEndPic.ImageUrl = sstAction.endPic; } txtendNotice.Text = sstAction.endNotice; txtendContent.Text = sstAction.endContent; //绑定奖项信息 IList <Model.wx_sttAwardItem> itemlist = iBll.GetModelList("actId=" + id + " order by sort_id asc"); if (itemlist != null && itemlist.Count > 0) { int count = itemlist.Count; TextBox txtJPName; TextBox txtRealNum; Model.wx_sttAwardItem itemEntity = new Model.wx_sttAwardItem(); for (int i = 1; i <= count; i++) { itemEntity = itemlist[(i - 1)]; txtJPName = this.FindControl("txt" + i + "JPName") as TextBox; txtRealNum = this.FindControl("txt" + i + "RealNum") as TextBox; txtJPName.Text = itemEntity.jpName; txtRealNum.Text = itemEntity.jpRealNum == null ? "0" : itemEntity.jpRealNum.Value.ToString(); } } }
protected void Page_Load(object sender, EventArgs e) { OnlyWeiXinLook(); if (!IsPostBack) { int aid = MyCommFun.RequestInt("aid", 0); if (aid == 0) { return; } BLL.wx_sTicket actbll = new BLL.wx_sTicket(); Model.wx_sTicket sstAction = actbll.GetModel(aid); if (sstAction != null) { imgEnd.ImageUrl = sstAction.endPic == null ? "images/end.jpg" : sstAction.endPic.ToString(); } } }
/// <summary> /// 优惠券简单版回复内容 /// </summary> /// <param name="id">模块主键Id</param> /// <param name="apiid">微帐号主键id</param> /// <param name="openid">openid</param> /// <param name="responseType">回复类型:1纯文字,2图文</param> /// <param name="responseVaule">回复的内容</param> private IList <Model.ResponseContentEntity> yhqjdReponse(int id, int apiid, string openid) { IList <Model.ResponseContentEntity> responselist = new List <Model.ResponseContentEntity>(); Model.ResponseContentEntity responseEntity = new Model.ResponseContentEntity(); responseEntity.id = id; responseEntity.wid = apiid; BLL.wx_sTicket sttActBll = new BLL.wx_sTicket(); Model.wx_sTicket actModel = sttActBll.GetModel(id); if (actModel.beginDate > DateTime.Now) { //活动尚未开始 responseEntity.rcType = Model.ReponseContentType.text; responseEntity.rContent = "活动【" + actModel.actionName + "】将于" + actModel.beginDate + "开始。"; } else if (actModel.endDate <= DateTime.Now) { //活动结束 responseEntity.rcType = Model.ReponseContentType.txtpic; responseEntity.rContent = actModel.endNotice; responseEntity.rContent2 = actModel.endContent; responseEntity.detailUrl = MyCommFun.getWebSite() + "/weixin/sticket/end.aspx?wid=" + apiid + "&aid=" + id; responseEntity.picUrl = actModel.endPic; } else { //活动正在进行中 responseEntity.rcType = Model.ReponseContentType.txtpic; responseEntity.rContent = actModel.actionName; responseEntity.rContent2 = actModel.brief; responseEntity.detailUrl = MyCommFun.getWebSite() + "/weixin/sticket/index.aspx?wid=" + apiid + "&aid=" + id; responseEntity.picUrl = actModel.beginPic; } responselist.Add(responseEntity); return(responselist); }
//保存 protected void btnSubmit_Click(object sender, EventArgs e) { Model.wx_userweixin weixin = GetWeiXinCode(); Model.wx_requestRuleContent rc = new Model.wx_requestRuleContent(); int id = MyCommFun.Str2Int(hidid.Value); #region //先判断 string strErr = ""; if (this.txtKW.Text.Trim().Length == 0) { strErr += "关键词不能为空!"; } if (this.txtactName.Text.Trim().Length == 0) { strErr += "活动名称不能为空!"; } if (this.txtbeginDate.Text.Trim().Length == 0 || !MyCommFun.isDateTime(txtbeginDate.Text)) { strErr += "开始时间不能为空!"; } if (this.txtendDate.Text.Trim().Length == 0 || !MyCommFun.isDateTime(txtendDate.Text)) { strErr += "结束时间不能为空!"; } if (txt1JPName.Text.Trim().Length == 0 || txt1RealNum.Text.Trim().Length == 0) { strErr += "第一个优惠券不能为空!"; } if (strErr != "") { JscriptMsg(strErr, "back", "Error"); return; } DateTime begin = DateTime.Parse(txtbeginDate.Text.Trim()); DateTime end = DateTime.Parse(txtendDate.Text.Trim()); if (begin >= end) { JscriptMsg("开始时间必须小于结束时间", "back", "Error"); return; } #endregion #region 赋值 Model.wx_sTicket sst = new Model.wx_sTicket(); Model.wx_requestRule rule = new Model.wx_requestRule(); string beginPic = imgbeginPic.ImageUrl; if (txtImgUrl.Text.Trim() != "") { beginPic = txtImgUrl.Text.Trim(); } string bannerPic = imgBanner.ImageUrl; if (txtBanner.Text.Trim() != "") { bannerPic = txtBanner.Text.Trim(); } string endPic = imgEndPic.ImageUrl; if (txtEndPic.Text.Trim() != "") { endPic = txtEndPic.Text.Trim(); } if (id > 0) { sst = sstBll.GetModel(id); } sst.actionName = txtactName.Text.Trim(); sst.succTip = txtsuccTip.Text.Trim(); sst.brief = txtbrief.Value.Trim(); sst.beginDate = begin; sst.endDate = end; sst.aContent = txtactContent.Value.Trim(); sst.usedRemark = txtusedRemark.Value; sst.endNotice = txtendNotice.Text.Trim(); sst.endContent = txtendContent.Text.Trim(); sst.pwd = txtdjPwd.Text.Trim(); sst.beginPic = beginPic; sst.endPic = endPic; sst.bannerPic = bannerPic; #endregion if (id <= 0) { //新增 sst.wid = weixin.id; sst.createDate = DateTime.Now; //1新增主表 id = sstBll.Add(sst); //2新增奖项表 EditAwardItem(id); //3 新增回复规则表 rBll.AddModeltxtPicRule(weixin.id, "优惠券简单版", id, txtKW.Text.Trim()); AddAdminLog(MXEnums.ActionEnum.Add.ToString(), "添加优惠券活动,主键为" + id); //记录日志 JscriptMsg("添加优惠券活动成功!", "simpleTList.aspx", "Success"); } else { //修改 //1修改主表 sstBll.Update(sst); //2删除,且新增奖项表 EditAwardItem(id); //3 修改回复规则表 IList <Model.wx_requestRule> rlist = rBll.GetModelList("modelFunctionName = '优惠券简单版' and modelFunctionId=" + id); if (rlist != null && rlist.Count > 0) { rule = rlist[0]; rule.reqKeywords = txtKW.Text.Trim(); rBll.Update(rule); } else { rBll.AddModeltxtPicRule(weixin.id, "优惠券简单版", id, txtKW.Text.Trim()); } AddAdminLog(MXEnums.ActionEnum.Edit.ToString(), "修改优惠券活动,主键为" + id); //记录日志 JscriptMsg("修改优惠券活动成功!", "simpleTList.aspx", "Success"); } }
/// <summary> /// 绑定页面上的基本信息 /// </summary> /// <param name="id">活动主键id</param> /// <param name="openid"></param> private void bindData(int id, string openid) { #region 活动详情 sstAction = actbll.GetModel(id); if (sstAction == null) { hidStatus.Value = "-2"; hidErrInfo.Value = "该活动不存在!"; return; } this.Title = sstAction.actionName; stitle = sstAction.actionName; sbrief = sstAction.brief; List <Model.wx_sttAwardItem> itemlist = itemBll.GetModelList("actId=" + id); StringBuilder sb = new StringBuilder(""); Model.wx_sttAwardItem item = new Model.wx_sttAwardItem(); int ttJpNum = 0;//最大的奖品数量 for (int i = 0; i < itemlist.Count; i++) { item = itemlist[i]; sb.Append("<p>优惠券名称:" + item.jpName + " 数量:" + item.jpRealNum + "</p>"); ttJpNum += item.jpRealNum.Value; } zjpic.ImageUrl = sstAction.bannerPic == null ? "images/banner.jpg" : sstAction.bannerPic; litJiangXing.Text = sb.ToString(); litusedRemark.Text = sstAction.usedRemark; litaContent.Text = sstAction.aContent; #endregion #region 判断 if (sstAction.endDate <= DateTime.Now) { //说明活动已经结束 //非活动期间 hidStatus.Value = "-1"; hidErrInfo.Value = "活动已结束!"; return; } else if (sstAction.beginDate > DateTime.Now) { //活动未开始 //非活动期间 hidStatus.Value = "-2"; hidErrInfo.Value = "活动尚未开始!"; return; } #endregion #region 计算中奖信息 Model.wx_sttAwardUser awardUser = ubll.getZJinfoByOpenid(id, openid); if (awardUser != null && awardUser.id > 0) { if (awardUser.uTel != null && awardUser.uTel.Trim() != "") { //说明已经提交成功了 hidStatus.Value = "3"; hidErrInfo.Value = "恭喜你中奖了!"; litJp.Text = awardUser.jpName; hidAwardId.Value = awardUser.id.ToString(); litSNM.Text = awardUser.sn; } else { //未提交 //中奖了 hidStatus.Value = "2"; hidErrInfo.Value = "恭喜你中奖了!"; litJiangPing.Text = awardUser.jpName; hidAwardId.Value = awardUser.id.ToString(); litSn.Text = awardUser.sn; } return; } IList <Model.wx_sttAwardUser> auserlist = ubll.getHasZJList(id); //已经中奖的人列表 int ZhongJiangNum = 0; //中奖人数 if (auserlist != null) { ZhongJiangNum = auserlist.Count; //已经中奖的人数 } int syZjNum = ttJpNum - ZhongJiangNum; //剩余的奖品数量 if (syZjNum <= 0) { //说明已经没有奖品了 hidStatus.Value = "-2"; hidErrInfo.Value = "优惠券已经被领取完了,请下次再来吧!"; return; } Random rd = new Random((int)DateTime.Now.Ticks); int radNum = rd.Next(0, syZjNum);//从0到剩余的奖品里随机出一个值 if (radNum < syZjNum) { //中奖了,再从剩余奖品里抽取一个奖品 Model.wx_sttAwardItem dajiang = getZJItem(itemlist, auserlist); if (dajiang != null) { //这是中的中奖了 string snumber = Get_snumber(id); int uId = ubll.Add(id, "", "", openid, dajiang.jpName, snumber); hidStatus.Value = "2"; hidErrInfo.Value = "恭喜你中奖了!"; litJiangPing.Text = dajiang.jpName; hidAwardId.Value = uId.ToString(); litSn.Text = snumber; return; } else { //奖品已经全部中完了 hidStatus.Value = "-2"; hidErrInfo.Value = "优惠券已经被领取完了,请下次再来吧!"; return; } } else { //这个条件说明:未中奖 //抛出未中奖的数据 hidStatus.Value = "-2"; hidErrInfo.Value = "优惠券已经被领取完了,请下次再来吧!"; return; } #endregion }
//保存 protected void btnSubmit_Click(object sender, EventArgs e) { Model.wx_userweixin weixin = GetWeiXinCode(); Model.wx_requestRuleContent rc = new Model.wx_requestRuleContent(); int id = MyCommFun.Str2Int(hidid.Value); #region //先判断 string strErr = ""; if (this.txtKW.Text.Trim().Length == 0) { strErr += "关键词不能为空!"; } if (this.txtactName.Text.Trim().Length == 0) { strErr += "活动名称不能为空!"; } if (this.txtbeginDate.Text.Trim().Length == 0 || !MyCommFun.isDateTime(txtbeginDate.Text)) { strErr += "开始时间不能为空!"; } if (this.txtendDate.Text.Trim().Length == 0 || !MyCommFun.isDateTime(txtendDate.Text)) { strErr += "结束时间不能为空!"; } if (txt1JPName.Text.Trim().Length == 0 || txt1RealNum.Text.Trim().Length == 0) { strErr += "第一个优惠券不能为空!"; } if (strErr != "") { JscriptMsg(strErr, "back", "Error"); return; } DateTime begin = DateTime.Parse(txtbeginDate.Text.Trim()); DateTime end = DateTime.Parse(txtendDate.Text.Trim()); if (begin >= end) { JscriptMsg("开始时间必须小于结束时间", "back", "Error"); return; } #endregion #region 赋值 Model.wx_sTicket sst = new Model.wx_sTicket(); Model.wx_requestRule rule = new Model.wx_requestRule(); string beginPic = imgbeginPic.ImageUrl; if (txtImgUrl.Text.Trim() != "") { beginPic = txtImgUrl.Text.Trim(); } string bannerPic = imgBanner.ImageUrl; if (txtBanner.Text.Trim() != "") { bannerPic = txtBanner.Text.Trim(); } string endPic = imgEndPic.ImageUrl; if (txtEndPic.Text.Trim() != "") { endPic = txtEndPic.Text.Trim(); } if (id > 0) { sst = sstBll.GetModel(id); } sst.actionName = txtactName.Text.Trim(); sst.succTip = txtsuccTip.Text.Trim(); sst.brief = txtbrief.Value.Trim(); sst.beginDate = begin; sst.endDate = end; sst.aContent = txtactContent.Value.Trim(); sst.usedRemark = txtusedRemark.Value; sst.endNotice = txtendNotice.Text.Trim(); sst.endContent = txtendContent.Text.Trim(); sst.pwd = txtdjPwd.Text.Trim(); sst.beginPic = beginPic; sst.endPic = endPic; sst.bannerPic = bannerPic; #endregion if (id <= 0) { //新增 sst.wid = weixin.id; sst.createDate = DateTime.Now; //1新增主表 id = sstBll.Add(sst); //2新增奖项表 EditAwardItem(id); //3 新增回复规则表 rBll.AddModeltxtPicRule(weixin.id, "优惠券简单版", id, txtKW.Text.Trim()); AddAdminLog(MXEnums.ActionEnum.Add.ToString(), "添加优惠券活动,主键为" + id); //记录日志 JscriptMsg("添加优惠券活动成功!", "simpleTList.aspx", "Success"); } else { //修改 //1修改主表 sstBll.Update(sst); //2删除,且新增奖项表 EditAwardItem(id); //3 修改回复规则表 IList<Model.wx_requestRule> rlist = rBll.GetModelList("modelFunctionName = '优惠券简单版' and modelFunctionId=" + id); if (rlist != null && rlist.Count > 0) { rule = rlist[0]; rule.reqKeywords = txtKW.Text.Trim(); rBll.Update(rule); } else { rBll.AddModeltxtPicRule(weixin.id, "优惠券简单版", id, txtKW.Text.Trim()); } AddAdminLog(MXEnums.ActionEnum.Edit.ToString(), "修改优惠券活动,主键为" + id); //记录日志 JscriptMsg("修改优惠券活动成功!", "simpleTList.aspx", "Success"); } }
/// <summary> /// 绑定页面上的基本信息 /// </summary> /// <param name="id">活动主键id</param> /// <param name="openid"></param> private void bindData(int id, string openid) { #region 活动详情 sstAction = actbll.GetModel(id); if (sstAction == null) { hidStatus.Value = "-2"; hidErrInfo.Value = "该活动不存在!"; return; } this.Title = sstAction.actionName; stitle = sstAction.actionName; sbrief = sstAction.brief; List<Model.wx_sttAwardItem> itemlist = itemBll.GetModelList("actId=" + id); StringBuilder sb = new StringBuilder(""); Model.wx_sttAwardItem item = new Model.wx_sttAwardItem(); int ttJpNum = 0;//最大的奖品数量 for (int i = 0; i < itemlist.Count; i++) { item = itemlist[i]; sb.Append("<p>优惠券名称:" + item.jpName + " 数量:" + item.jpRealNum + "</p>"); ttJpNum += item.jpRealNum.Value; } zjpic.ImageUrl = sstAction.bannerPic == null ? "images/banner.jpg" : sstAction.bannerPic; litJiangXing.Text = sb.ToString(); litusedRemark.Text = sstAction.usedRemark; litaContent.Text = sstAction.aContent ; #endregion #region 判断 if (sstAction.endDate <= DateTime.Now) { //说明活动已经结束 //非活动期间 hidStatus.Value = "-1"; hidErrInfo.Value = "活动已结束!"; return; } else if (sstAction.beginDate > DateTime.Now) { //活动未开始 //非活动期间 hidStatus.Value = "-2"; hidErrInfo.Value = "活动尚未开始!"; return; } #endregion #region 计算中奖信息 Model.wx_sttAwardUser awardUser = ubll.getZJinfoByOpenid(id, openid); if (awardUser != null && awardUser.id > 0 ) { if (awardUser.uTel != null && awardUser.uTel.Trim() != "") { //说明已经提交成功了 hidStatus.Value = "3"; hidErrInfo.Value = "恭喜你中奖了!"; litJp.Text = awardUser.jpName; hidAwardId.Value = awardUser.id.ToString(); litSNM.Text = awardUser.sn; } else { //未提交 //中奖了 hidStatus.Value = "2"; hidErrInfo.Value = "恭喜你中奖了!"; litJiangPing.Text = awardUser.jpName; hidAwardId.Value = awardUser.id.ToString(); litSn.Text = awardUser.sn; } return; } IList<Model.wx_sttAwardUser> auserlist = ubll.getHasZJList(id);//已经中奖的人列表 int ZhongJiangNum = 0; //中奖人数 if (auserlist != null) { ZhongJiangNum = auserlist.Count; //已经中奖的人数 } int syZjNum = ttJpNum - ZhongJiangNum; //剩余的奖品数量 if (syZjNum <= 0) { //说明已经没有奖品了 hidStatus.Value = "-2"; hidErrInfo.Value = "优惠券已经被领取完了,请下次再来吧!"; return; } Random rd = new Random((int)DateTime.Now.Ticks); int radNum = rd.Next(0, syZjNum);//从0到剩余的奖品里随机出一个值 if (radNum < syZjNum) { //中奖了,再从剩余奖品里抽取一个奖品 Model.wx_sttAwardItem dajiang = getZJItem(itemlist, auserlist); if (dajiang != null) { //这是中的中奖了 string snumber = Get_snumber(id); int uId = ubll.Add(id, "", "", openid, dajiang.jpName, snumber); hidStatus.Value = "2"; hidErrInfo.Value = "恭喜你中奖了!"; litJiangPing.Text = dajiang.jpName; hidAwardId.Value = uId.ToString(); litSn.Text = snumber; return; } else { //奖品已经全部中完了 hidStatus.Value = "-2"; hidErrInfo.Value = "优惠券已经被领取完了,请下次再来吧!"; return; } } else { //这个条件说明:未中奖 //抛出未中奖的数据 hidStatus.Value = "-2"; hidErrInfo.Value = "优惠券已经被领取完了,请下次再来吧!"; return; } #endregion }