public static CouponItemInfo GetUserCouponInfo(decimal orderAmount, string claimCode) { if (string.IsNullOrEmpty(claimCode)) { return(null); } CouponItemInfo userCouponInfo = ShoppingProcessor.GetUserCouponInfo(claimCode); if (userCouponInfo != null) { decimal?orderUseLimit = userCouponInfo.OrderUseLimit; int num; if (!(orderUseLimit.GetValueOrDefault() > default(decimal)) || !orderUseLimit.HasValue || !(orderAmount >= userCouponInfo.OrderUseLimit.Value)) { orderUseLimit = userCouponInfo.OrderUseLimit; num = ((orderUseLimit.GetValueOrDefault() == default(decimal) && orderUseLimit.HasValue) ? 1 : 0); } else { num = 1; } if (num != 0) { return(userCouponInfo); } } return(null); }
public static bool PointChageCoupon(int couponId, int needPoint, int currentPoint) { Member user = HiContext.Current.User as Member; UserPointInfo point = new UserPointInfo { OrderId = string.Empty, UserId = user.UserId, TradeDate = DateTime.Now, TradeType = UserPointTradeType.ChangeCoupon, Increased = null, Reduced = new int?(needPoint), Points = currentPoint - needPoint }; if ((point.Points >= 0) && TradeProvider.Instance().AddMemberPoint(point)) { CouponItemInfo couponItem = new CouponItemInfo { CouponId = couponId, UserId = new int?(user.UserId), UserName = user.Username, EmailAddress = user.Email, ClaimCode = Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15), GenerateTime = DateTime.Now }; Users.ClearUserCache(user); if (TradeProvider.Instance().SendClaimCodes(couponItem)) { return(true); } } return(false); }
public void CopyRedEnvelope(string openId, MemberInfo memberInfo) { IList <RedEnvelopeGetRecordInfo> list = WeiXinRedEnvelopeProcessor.GettWaitToUserRedEnvelopeGetRecord(openId); foreach (RedEnvelopeGetRecordInfo item in list) { WeiXinRedEnvelopeInfo weiXinRedEnvelope = WeiXinRedEnvelopeProcessor.GetWeiXinRedEnvelope(item.RedEnvelopeId); if (weiXinRedEnvelope != null) { CouponItemInfo couponItemInfo = new CouponItemInfo(); couponItemInfo.UserId = memberInfo.UserId; couponItemInfo.UserName = memberInfo.UserName; couponItemInfo.CanUseProducts = ""; couponItemInfo.ClosingTime = weiXinRedEnvelope.EffectivePeriodEndTime; couponItemInfo.CouponId = 0; couponItemInfo.RedEnvelopeId = weiXinRedEnvelope.Id; couponItemInfo.CouponName = weiXinRedEnvelope.Name; couponItemInfo.OrderUseLimit = weiXinRedEnvelope.EnableUseMinAmount; couponItemInfo.Price = item.Amount; couponItemInfo.StartTime = weiXinRedEnvelope.EffectivePeriodStartTime; couponItemInfo.UseWithGroup = false; couponItemInfo.UseWithPanicBuying = false; couponItemInfo.GetDate = DateTime.Now; if (WeiXinRedEnvelopeProcessor.SetRedEnvelopeGetRecordToMember(item.Id, memberInfo.UserName)) { CouponActionStatus couponActionStatus = CouponHelper.AddRedEnvelopeItemInfo(couponItemInfo); } } } }
public static bool SendClaimCodesList(CouponItemInfo couponItemInfo, int count) { bool result = false; Database database = DatabaseFactory.CreateDatabase(); using (System.Data.Common.DbConnection dbConnection = database.CreateConnection()) { dbConnection.Open(); System.Data.Common.DbTransaction dbTransaction = dbConnection.BeginTransaction(); try { for (int i = 0; i < count; i++) { new CouponDao().SendClaimCodes(couponItemInfo, dbTransaction); } } catch { dbTransaction.Rollback(); result = false; } finally { dbConnection.Close(); } result = true; } return(result); }
protected override void AttachChildControls() { this.pointList = (Common_Point_PointList)this.FindControl("Common_Point_PointList"); this.pager = (Pager)this.FindControl("pager"); this.litUserPoint = (Literal)this.FindControl("litUserPoint"); this.litMyCoupons = (Literal)this.FindControl("litMyCoupons"); PageTitle.AddSiteNameTitle("我的积分"); this.pointList.ItemDataBound += this.pointList_ItemDataBound; if (!this.Page.IsPostBack) { this.BindPoint(); CouponItemInfo couponItemInfo = new CouponItemInfo(); couponItemInfo.CouponStatus = 0; MemberInfo user = HiContext.Current.User; if (user.UserId != 0) { Literal literal = this.litUserPoint; int num = user.Points; literal.Text = num.ToString(); Literal literal2 = this.litMyCoupons; num = CouponHelper.GetUserObtainCouponNum(HiContext.Current.UserId); literal2.Text = num.ToString(); } } }
public static int CheckUsePurview(CouponInfo couponInfo, CouponItemInfo itemInfo, decimal totalMoney, string cartId) { if (itemInfo.UseTimes >= couponInfo.LimitNum) { return(1); } if (DateTime.Today > couponInfo.UseEndDate) { return(2); } if (totalMoney < couponInfo.OrderTotalMoney) { return(3); } switch (couponInfo.ProductLimitType) { case ProductLimitType.NominateModel: if (CheckModelForUseCoupon(cartId, couponInfo.ProductLimitContent)) { break; } return(4); case ProductLimitType.NominateProduct: if (CheckProductForUseCoupon(cartId, couponInfo.ProductLimitContent)) { break; } return(5); } return(0x63); }
public bool SendClaimCodes(int couponId, CouponItemInfo couponItem) { System.Data.Common.DbCommand sqlStringCommand = this.database.GetSqlStringCommand("INSERT INTO Hishop_CouponItems(CouponId, ClaimCode,LotNumber, GenerateTime, UserId,UserName,EmailAddress,CouponStatus) VALUES(@CouponId, @ClaimCode,@LotNumber, @GenerateTime, @UserId, @UserName,@EmailAddress,@CouponStatus)"); this.database.AddInParameter(sqlStringCommand, "CouponId", System.Data.DbType.Int32, couponId); this.database.AddInParameter(sqlStringCommand, "ClaimCode", System.Data.DbType.String, couponItem.ClaimCode); this.database.AddInParameter(sqlStringCommand, "GenerateTime", System.Data.DbType.DateTime, couponItem.GenerateTime); this.database.AddInParameter(sqlStringCommand, "UserId", System.Data.DbType.Int32); this.database.AddInParameter(sqlStringCommand, "UserName", System.Data.DbType.String); this.database.AddInParameter(sqlStringCommand, "LotNumber", System.Data.DbType.Guid, Guid.NewGuid()); if (couponItem.UserId.HasValue) { this.database.SetParameterValue(sqlStringCommand, "UserId", couponItem.UserId.Value); } else { this.database.SetParameterValue(sqlStringCommand, "UserId", DBNull.Value); } if (!string.IsNullOrEmpty(couponItem.UserName)) { this.database.SetParameterValue(sqlStringCommand, "UserName", couponItem.UserName); } else { this.database.SetParameterValue(sqlStringCommand, "UserName", DBNull.Value); } this.database.AddInParameter(sqlStringCommand, "EmailAddress", System.Data.DbType.String, couponItem.EmailAddress); this.database.AddInParameter(sqlStringCommand, "CouponStatus", System.Data.DbType.String, 0); return(this.database.ExecuteNonQuery(sqlStringCommand) >= 1); }
private void btnSend_Click(object sender, EventArgs e) { CouponItemInfo item = new CouponItemInfo(); IList <CouponItemInfo> listCouponItem = new List <CouponItemInfo>(); IList <Member> memdersByNames = new List <Member>(); if (rdoName.Checked) { if (!string.IsNullOrEmpty(txtMemberNames.Text.Trim())) { IList <string> names = new List <string>(); string[] strArray = txtMemberNames.Text.Trim().Replace("\r\n", "\n").Replace("\n", "*").Split(new char[] { '*' }); for (int i = 0; i < strArray.Length; i++) { if (IsMembers(strArray[i])) { names.Add(strArray[i]); } } memdersByNames = PromoteHelper.GetMemdersByNames(names); } string claimCode = string.Empty; foreach (Member member in memdersByNames) { claimCode = Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15); item = new CouponItemInfo(couponId, claimCode, new int?(member.UserId), member.Email, DateTime.Now); listCouponItem.Add(item); } if (listCouponItem.Count <= 0) { ShowMsg("你输入的会员名中没有一个正确的,请输入正确的会员名", false); return; } CouponHelper.SendClaimCodes(couponId, listCouponItem); txtMemberNames.Text = string.Empty; ShowMsg(string.Format("此次发送操作已成功,优惠券发送数量:{0}", listCouponItem.Count), true); } if (rdoRank.Checked) { memdersByNames = PromoteHelper.GetMembersByRank(rankList.SelectedValue); string str2 = string.Empty; foreach (Member member2 in memdersByNames) { str2 = Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15); item = new CouponItemInfo(couponId, str2, new int?(member2.UserId), member2.Email, DateTime.Now); listCouponItem.Add(item); } if (listCouponItem.Count <= 0) { ShowMsg("您选择的会员等级下面没有会员", false); } else { CouponHelper.SendClaimCodes(couponId, listCouponItem); txtMemberNames.Text = string.Empty; ShowMsg(string.Format("此次发送操作已成功,优惠券发送数量:{0}", listCouponItem.Count), true); } } }
private void btnSend_Click(object sender, System.EventArgs e) { CouponItemInfo item = new CouponItemInfo(); System.Collections.Generic.IList <CouponItemInfo> list = new System.Collections.Generic.List <CouponItemInfo>(); System.Collections.Generic.IList <Hidistro.Membership.Context.Member> list2 = new System.Collections.Generic.List <Hidistro.Membership.Context.Member>(); if (this.rdoName.Checked) { if (!string.IsNullOrEmpty(this.txtMemberNames.Text.Trim())) { System.Collections.Generic.IList <string> list3 = new System.Collections.Generic.List <string>(); string text = this.txtMemberNames.Text.Trim().Replace("\r\n", "\n"); string[] array = text.Replace("\n", "*").Split(new char[] { '*' }); for (int i = 0; i < array.Length; i++) { list3.Add(array[i]); } list2 = PromoteHelper.GetMemdersByNames(list3); } string claimCode = string.Empty; foreach (Hidistro.Membership.Context.Member current in list2) { claimCode = System.Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15); item = new CouponItemInfo(this.couponId, claimCode, new int?(current.UserId), current.Username, current.Email, System.DateTime.Now); list.Add(item); } if (list.Count <= 0) { this.ShowMsg("你输入的会员名中没有一个正确的,请输入正确的会员名", false); return; } CouponHelper.SendClaimCodes(this.couponId, list); this.txtMemberNames.Text = string.Empty; this.ShowMsg(string.Format("此次发送操作已成功,优惠券发送数量:{0}", list.Count), true); } if (this.rdoRank.Checked) { list2 = PromoteHelper.GetMembersByRank(this.rankList.SelectedValue); string claimCode2 = string.Empty; foreach (Hidistro.Membership.Context.Member current2 in list2) { claimCode2 = System.Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15); item = new CouponItemInfo(this.couponId, claimCode2, new int?(current2.UserId), current2.Username, current2.Email, System.DateTime.Now); list.Add(item); } if (list.Count <= 0) { this.ShowMsg("您选择的会员等级下面没有会员", false); return; } CouponHelper.SendClaimCodes(this.couponId, list); this.txtMemberNames.Text = string.Empty; this.ShowMsg(string.Format("此次发送操作已成功,优惠券发送数量:{0}", list.Count), true); } }
private void setFromMember(System.Web.HttpContext context) { try { context.Response.ContentType = "application/json"; int num = 0; int frommemberid = 0; if (int.TryParse(context.Request["frommemberid"], out num)) { frommemberid = num; } MemberInfo currentMember = MemberProcessor.GetCurrentMember(); MemberInfo fromMember = MemberProcessor.GetMember(frommemberid); WriteLog("frommemberid:" + frommemberid.ToString()); bool flag = false; if (currentMember != null) { //设置推荐人id if (MemberProcessor.SetFromUserId(frommemberid, currentMember.UserId)) { WriteLog("currentmember:" + currentMember.UserId); WriteLog("frommember:" + fromMember.UserId); //context.Response.Write("{\"success\":true,\"errMsg\":\"匹配到了未绑定的门店,或者门店还未通过审核!\"}"); //成功设置后给推荐人发放优惠券 SiteSettings masterSettings = SettingsManager.GetMasterSettings(false); CouponInfo sendCoupon = CouponHelper.GetCoupon(masterSettings.friendCouponId); if (sendCoupon != null) { IList <CouponItemInfo> listCouponItem = new List <CouponItemInfo>(); CouponItemInfo item = new CouponItemInfo(); string claimCode = string.Empty; claimCode = System.Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15); item = new CouponItemInfo(sendCoupon.CouponId, claimCode, new int?(fromMember.UserId), fromMember.UserName, fromMember.Email, System.DateTime.Now); listCouponItem.Add(item); CouponHelper.SendClaimCodes(sendCoupon.CouponId, listCouponItem); flag = true; } WriteLog("flag:" + flag); } } if (flag) { context.Response.Write("{\"success\":1}"); } else { context.Response.Write("{\"success\":2}"); } } catch (Exception ex) { WriteLog(ex.Message); } }
public void CopyRedEnvelope(string openId, MemberInfo memberInfo) { IDictionary <string, string> dictionary = new Dictionary <string, string>(); dictionary.Add("OpenId", openId); dictionary.Add("UserName", memberInfo.UserName); try { IList <RedEnvelopeGetRecordInfo> list = WeiXinRedEnvelopeProcessor.GettWaitToUserRedEnvelopeGetRecord(openId); if (list == null || list.Count == 0) { dictionary.Add("RedEnvelopeErrMsg", "红包记录为空"); } int num = 1; foreach (RedEnvelopeGetRecordInfo item in list) { WeiXinRedEnvelopeInfo weiXinRedEnvelope = WeiXinRedEnvelopeProcessor.GetWeiXinRedEnvelope(item.RedEnvelopeId); if (weiXinRedEnvelope == null) { dictionary.Add("RedEnvelopeErrMsg" + num, "红包信息为空" + item.RedEnvelopeId.ToNullString()); } else { CouponItemInfo couponItemInfo = new CouponItemInfo(); couponItemInfo.UserId = memberInfo.UserId; couponItemInfo.UserName = memberInfo.UserName; couponItemInfo.CanUseProducts = ""; couponItemInfo.ClosingTime = weiXinRedEnvelope.EffectivePeriodEndTime; couponItemInfo.RedEnvelopeId = weiXinRedEnvelope.Id; couponItemInfo.CouponName = weiXinRedEnvelope.Name; couponItemInfo.OrderUseLimit = weiXinRedEnvelope.EnableUseMinAmount; couponItemInfo.Price = item.Amount; couponItemInfo.StartTime = weiXinRedEnvelope.EffectivePeriodStartTime; couponItemInfo.UseWithGroup = false; couponItemInfo.UseWithPanicBuying = false; couponItemInfo.GetDate = DateTime.Now; if (WeiXinRedEnvelopeProcessor.SetRedEnvelopeGetRecordToMember(item.Id, memberInfo.UserName)) { CouponActionStatus couponActionStatus = CouponHelper.AddRedEnvelopeItemInfo(couponItemInfo); if (couponActionStatus != 0) { dictionary.Add("SendDiffentTypeClaimCodesErrMsg" + num, "发送优惠券失败-" + couponActionStatus.ToString()); } num++; } else { dictionary.Add("SetRedEnvelopeGetRecordToMemberErrMsg" + num, "设置红包记录给会员失败"); } } } } catch (Exception ex) { Globals.WriteExceptionLog(ex, dictionary, "RedEnvelope"); } }
private static Parameters GetParameters(CouponItemInfo couponItemInfo) { Parameters parameters = new Parameters(); parameters.AddInParameter("@CouponID", DbType.Int32, couponItemInfo.CouponId); parameters.AddInParameter("@CouponNum", DbType.String, couponItemInfo.CouponNum); parameters.AddInParameter("@UserID", DbType.Int32, couponItemInfo.UserId); parameters.AddInParameter("@OrderID", DbType.Int32, couponItemInfo.OrderId); return(parameters); }
private void ReceiveCoupons(System.Web.HttpContext context) { string text = ""; if (context.Request["couponid"] != null) { text = context.Request["couponid"].ToString(); } Member member = HiContext.Current.User as Member; if (member == null) { this.message = "你还未登陆,请登陆"; return; } int couponid = 0; if (!int.TryParse(text, out couponid)) { this.message = "该链接无效"; return; } CouponInfo couponInfo = CouponHelper.GetCoupon(couponid); if (couponInfo == null || couponInfo.SendType != 3 || couponInfo.StartTime.Date > DateTime.Now.Date || couponInfo.ClosingTime < DateTime.Now.Date) { this.message = "该链接无效"; return; } int count = CouponHelper.GetCountCouponItem(couponid, member.UserId); if (count == 0) { string claimCode = System.Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15); CouponItemInfo couponItemInfo = new CouponItemInfo(couponid, claimCode, new int?(member.UserId), member.Username, member.Email, System.DateTime.Now, couponInfo.StartTime, couponInfo.ClosingTime, couponInfo.Amount, couponInfo.DiscountValue); IList <CouponItemInfo> couponItemList = new List <CouponItemInfo>(); couponItemList.Add(couponItemInfo); if (CouponHelper.SendClaimCodes(couponItemList)) { this.message = "你已成功领取该优惠券"; } else { this.message = "操作失败"; } } else { this.message = "您已经领过该优惠券"; } }
private void GetSupplierCoupons(System.Web.HttpContext context) { string text = ""; if (context.Request["CouponId"] != null) { text = context.Request["CouponId"].ToString(); } Member member = HiContext.Current.User as Member; if (member == null) { this.message = "{\"Success\":false,\"Message\":\"你还未登陆,请登陆\"}"; return; } int couponid = 0; if (!int.TryParse(text, out couponid)) { this.message = "{\"Success\":false,\"Message\":\"该优惠卷无效\"}"; return; } CouponInfo couponInfo = CouponHelper.GetCoupon(couponid); if (couponInfo == null || couponInfo.ClosingTime < DateTime.Now.Date) { this.message = "{\"Success\":false,\"Message\":\"该优惠卷无效\"}"; return; } int count = CouponHelper.GetCountCouponItem(couponid, member.UserId); if (count == 0) { string claimCode = System.Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15); CouponItemInfo couponItemInfo = new CouponItemInfo(couponid, claimCode, new int?(member.UserId), member.Username, member.Email, System.DateTime.Now, couponInfo.StartTime, couponInfo.ClosingTime, couponInfo.Amount, couponInfo.DiscountValue); IList <CouponItemInfo> couponItemList = new List <CouponItemInfo>(); couponItemList.Add(couponItemInfo); if (CouponHelper.SendClaimCodes(couponItemList)) { this.message = "{\"Success\":true,\"Message\":\"成功领取该优惠券\"}"; } else { this.message = "{\"Success\":false,\"Message\":\"该优惠卷无效\"}"; } } else { this.message = "{\"Success\":false,\"Message\":\"您已经领过该优惠券\"}"; } }
private static void CreateCoupon(CouponInfo couponInfo, int userId) { string randStringByPattern = RandomManage.GetRandStringByPattern(couponInfo.CouponNumPattern); CouponItemInfo couponItemInfo = new CouponItemInfo(); couponItemInfo.CouponId = couponInfo.CouponId; couponItemInfo.CouponNum = randStringByPattern; couponItemInfo.UserId = userId; couponItemInfo.OrderId = 0; CouponItem.Add(couponItemInfo); }
protected void BtnCoupon_Click(object sender, EventArgs e) { if (this.Page.IsValid) { CouponItemInfo couponItemInfo = CouponItem.GetCouponItemInfo(this.TxtCouponNum.Text, PEContext.Current.User.UserId); if (couponItemInfo.IsNull) { this.LblUseCouponMsg.Text = "对不起,不存在该优惠券,或者该优惠券您没有使用权限!"; } else { decimal totalMoney = DataConverter.CDecimal(this.HdnTotalMoney.Value); CouponInfo couponInfoById = Coupon.GetCouponInfoById(couponItemInfo.CouponId); string str = ""; switch (Coupon.CheckUsePurview(couponInfoById, couponItemInfo, totalMoney, this.FlowInfo.ShoppingCartId)) { case 1: str = "对不起,该优惠券使用次数已经超过限用次数,不能再使用!"; break; case 2: str = "对不起,该优惠券已经过期,不能再使用!"; break; case 3: str = "对不起,使用该优惠券需要订单总额达到" + couponInfoById.OrderTotalMoney.ToString("0.00") + "元!"; break; case 4: case 5: str = "对不起,需购买指定的商品才能使用该优惠券!"; break; } if (!string.IsNullOrEmpty(str)) { this.LblUseCouponMsg.Text = str; } else { this.LblUseCouponMsg.Text = "使用" + couponInfoById.CouponName + ",面值为" + couponInfoById.Money.ToString("0.00") + "元"; this.LblUseCouponMsg.ForeColor = Color.Blue; this.ShoppingCart1.CouponMoney = couponInfoById.Money; this.LbtnCancelCoupon.Visible = true; this.HdnCouponID.Value = couponInfoById.CouponId.ToString(); } } this.ShoppingCart1.UseCoupon = true; this.ShoppingCart1.CartId = this.FlowInfo.ShoppingCartId; this.ShoppingCart1.ZipCode = this.FlowInfo.ZipCode; this.ShoppingCart1.PaymentType = this.FlowInfo.PaymentType; this.ShoppingCart1.DeliverType = this.FlowInfo.DeliverType; this.ShoppingCart1.NeedInvoice = this.FlowInfo.NeedInvoice; } }
public static CouponItemInfo GetItemInfoFromrdataReader(NullableDataReader dataReader) { CouponItemInfo info = new CouponItemInfo(); info.Id = dataReader.GetInt32("ID"); info.CouponId = dataReader.GetInt32("CouponID"); info.CouponNum = dataReader.GetString("CouponNum"); info.OrderId = dataReader.GetInt32("OrderID"); info.UserId = dataReader.GetInt32("UserID"); info.UseTimes = dataReader.GetInt32("UseTimes"); return(info); }
public static CouponActionStatus UserGetCoupon(MemberInfo user, int couponId) { CouponInfo eFCoupon = CouponHelper.GetEFCoupon(couponId); if (eFCoupon == null) { return(CouponActionStatus.NotExists); } if (user == null) { return(CouponActionStatus.InconsistentInformationUser); } if (eFCoupon.ClosingTime < DateTime.Now) { return(CouponActionStatus.Overdue); } if (eFCoupon.ObtainWay != 0) { return(CouponActionStatus.CanNotGet); } int couponSurplus = CouponHelper.GetCouponSurplus(couponId); if (couponSurplus <= 0) { return(CouponActionStatus.InadequateInventory); } int couponObtainNum = CouponHelper.GetCouponObtainNum(couponId, user.UserId); if (couponObtainNum >= eFCoupon.UserLimitCount && eFCoupon.UserLimitCount > 0) { return(CouponActionStatus.CannotReceive); } CouponItemInfo couponItemInfo = new CouponItemInfo(); couponItemInfo.UserId = user.UserId; couponItemInfo.UserName = user.UserName; couponItemInfo.CanUseProducts = eFCoupon.CanUseProducts; couponItemInfo.CouponId = eFCoupon.CouponId; couponItemInfo.CouponName = eFCoupon.CouponName; couponItemInfo.OrderUseLimit = eFCoupon.OrderUseLimit; couponItemInfo.Price = eFCoupon.Price; couponItemInfo.StartTime = eFCoupon.StartTime; couponItemInfo.ClosingTime = eFCoupon.ClosingTime; couponItemInfo.UseWithGroup = eFCoupon.UseWithGroup; couponItemInfo.UseWithPanicBuying = eFCoupon.UseWithPanicBuying; couponItemInfo.UseWithFireGroup = eFCoupon.UseWithFireGroup; couponItemInfo.ClaimCode = Guid.NewGuid().ToString(); couponItemInfo.GetDate = DateTime.Now; return(CouponHelper.AddCouponItem(couponItemInfo)); }
private void btnSend_Click(object sender, EventArgs e) { CouponItemInfo item = new CouponItemInfo(); IList <CouponItemInfo> listCouponItem = new List <CouponItemInfo>(); IList <MemberInfo> memdersByOpenIds = new List <MemberInfo>(); if (this.rdoName.Checked) { if (!string.IsNullOrEmpty(this.txtMemberNames.Text.Trim())) { memdersByOpenIds = MemberHelper.GetMemdersByOpenIds("'" + this.txtMemberNames.Text.Trim().Replace("\r\n", "\n").Replace("\n", "','") + "'"); } string claimCode = string.Empty; foreach (MemberInfo info2 in memdersByOpenIds) { claimCode = Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15); item = new CouponItemInfo(this.couponId, claimCode, new int?(info2.UserId), info2.UserName, info2.Email, DateTime.Now); listCouponItem.Add(item); } if (listCouponItem.Count <= 0) { this.ShowMsg("你输入的OpenId中没有一个正确的,请输入正确的OpenId", false); return; } CouponHelper.SendClaimCodes(this.couponId, listCouponItem); this.txtMemberNames.Text = string.Empty; this.ShowMsg(string.Format("此次发送操作已成功,优惠券发送数量:{0}", listCouponItem.Count), true); } if (this.rdoRank.Checked) { memdersByOpenIds = MemberHelper.GetMembersByRank(this.rankList.SelectedValue); string str3 = string.Empty; foreach (MemberInfo info3 in memdersByOpenIds) { str3 = Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15); item = new CouponItemInfo(this.couponId, str3, new int?(info3.UserId), info3.UserName, info3.Email, DateTime.Now); listCouponItem.Add(item); } if (listCouponItem.Count <= 0) { this.ShowMsg("您选择的会员等级下面没有会员", false); } else { CouponHelper.SendClaimCodes(this.couponId, listCouponItem); this.txtMemberNames.Text = string.Empty; this.ShowMsg(string.Format("此次发送操作已成功,优惠券发送数量:{0}", listCouponItem.Count), true); } } }
public static CouponActionStatus AddRedEnvelopeItemInfo(CouponItemInfo couponItemInfo) { if (!couponItemInfo.RedEnvelopeId.HasValue || WeiXinRedEnvelopeProcessor.GetWeiXinRedEnvelope(couponItemInfo.RedEnvelopeId.Value) == null) { return(CouponActionStatus.NotExists); } if (couponItemInfo.UserId <= 0) { return(CouponActionStatus.InconsistentInformationUser); } if (string.IsNullOrEmpty(couponItemInfo.ClaimCode)) { couponItemInfo.ClaimCode = Guid.NewGuid().ToString(); } return(new WeiXinRedEnvelopeDao().AddWeiXinRedEnvelopeToUser(couponItemInfo)); }
/// <summary> /// 微信新用户注册用60元大礼包,在活动页面手动领取 /// </summary> /// <param name="context"></param> private void GetRegisterCoupons(System.Web.HttpContext context) { Member member = HiContext.Current.User as Member; if (member == null) { this.message = "{\"Success\":false,\"Message\":\"你还未登陆,请登陆\"}"; return; } int count = CouponHelper.GetCountCouponItemed(member.UserId, 3); if (count == 0) { IList <CouponInfo> couponList = CouponHelper.GetCouponsBySendType(3); IList <CouponItemInfo> couponItemList = new List <CouponItemInfo>(); string claimCode = string.Empty; if (couponList != null && couponList.Count > 0) { foreach (CouponInfo coupon in couponList) { CouponItemInfo item = new CouponItemInfo(); claimCode = System.Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15); item = new CouponItemInfo(coupon.CouponId, claimCode, new int?(member.UserId), member.Username, member.Email, System.DateTime.Now, coupon.StartTime, coupon.ClosingTime, coupon.Amount, coupon.DiscountValue); couponItemList.Add(item); } } else { this.message = "{\"Success\":false,\"Message\":\"没有可以领取的优惠券\"}"; return; } if (CouponHelper.SendClaimCodes(couponItemList)) { this.message = "{\"Success\":true,\"Message\":\"成功领取该优惠券\"}"; } else { this.message = "{\"Success\":false,\"Message\":\"该优惠卷无效\"}"; } } else { this.message = "{\"Success\":false,\"Message\":\"您已经领过该优惠券\"}"; } }
public void AddCouponItemInfo(OAuthUserInfo oAuthUserInfo, RedEnvelopeGetRecordInfo redEnvelopeGetRecord) { CouponItemInfo couponItemInfo = new CouponItemInfo(); MemberInfo memberInfo = null; memberInfo = ((HiContext.Current.UserId <= 0) ? MemberProcessor.GetMemberByOpenId("hishop.plugins.openid.weixin", oAuthUserInfo.OpenId) : HiContext.Current.User); if (memberInfo == null) { IDictionary <string, string> dictionary = new Dictionary <string, string>(); dictionary.Add("OpenId", oAuthUserInfo.OpenId); dictionary.Add("IsAttention", oAuthUserInfo.IsAttention.ToNullString()); dictionary.Add("unionId", oAuthUserInfo.unionId); dictionary.Add("NickName", oAuthUserInfo.NickName); dictionary.Add("ErrMsg", oAuthUserInfo.ErrMsg); dictionary.Add("RedEnvelopeId", redEnvelopeGetRecord.RedEnvelopeId.ToNullString()); dictionary.Add("UserName", redEnvelopeGetRecord.UserName.ToNullString()); dictionary.Add("OrderId", redEnvelopeGetRecord.OrderId.ToNullString()); dictionary.Add("RedOpenId", redEnvelopeGetRecord.OpenId.ToNullString()); dictionary.Add("SendCode", redEnvelopeGetRecord.SendCode.ToNullString()); Globals.AppendLog(dictionary, "", "", "", "AddCouponItemInfo"); this.toLogin.Visible = true; this.toBuy.Visible = false; this.divGetList.Visible = false; } else { couponItemInfo.UserId = memberInfo.UserId; couponItemInfo.UserName = redEnvelopeGetRecord.UserName; couponItemInfo.CanUseProducts = ""; couponItemInfo.ClosingTime = this.weiXinRedEnvelope.EffectivePeriodEndTime; couponItemInfo.CouponId = 0; couponItemInfo.RedEnvelopeId = this.weiXinRedEnvelope.Id; couponItemInfo.CouponName = this.weiXinRedEnvelope.Name; couponItemInfo.OrderUseLimit = this.weiXinRedEnvelope.EnableUseMinAmount; couponItemInfo.Price = redEnvelopeGetRecord.Amount; couponItemInfo.StartTime = this.weiXinRedEnvelope.EffectivePeriodStartTime; couponItemInfo.UseWithGroup = false; couponItemInfo.UseWithPanicBuying = false; couponItemInfo.UseWithFireGroup = false; couponItemInfo.GetDate = DateTime.Now; if (WeiXinRedEnvelopeProcessor.SetRedEnvelopeGetRecordToMember(redEnvelopeGetRecord.Id, memberInfo.UserName)) { CouponActionStatus couponActionStatus = CouponHelper.AddRedEnvelopeItemInfo(couponItemInfo); } } }
/// <summary> /// 新用户注册赠送优惠券 /// </summary> /// <param name="member"></param> /// <returns></returns> public static bool NewUserSendRegisterCoupon(Member member) { ErrorLog.Write("Begin优惠券"); bool Flag = true; int count = CouponHelper.GetCountCouponItemed(member.UserId, 5); if (count == 0) { // 获取有效时间内注册赠劵的数量 IList <CouponInfo> couponList = CouponHelper.GetCouponsBySendType(5); IList <CouponItemInfo> couponItemList = new List <CouponItemInfo>(); string claimCode = string.Empty; if (couponList != null && couponList.Count > 0) { foreach (CouponInfo coupon in couponList) { ErrorLog.Write("开始进入优惠券1:Validity:" + coupon.Validity + ";Createdate:" + member.CreateDate + ";StartTime:" + coupon.StartTime + ""); CouponItemInfo item = new CouponItemInfo(); claimCode = System.Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15); if (coupon.Validity > 0 && member.CreateDate >= coupon.StartTime) { ErrorLog.Write("开始进入优惠券2:Validity:" + coupon.Validity + ";Createdate:" + member.CreateDate + ";StartTime:" + coupon.StartTime + ""); coupon.StartTime = member.CreateDate; coupon.ClosingTime = member.CreateDate.AddDays(coupon.Validity); } else if (coupon.Validity > 0 && member.CreateDate < coupon.StartTime) { coupon.StartTime = DateTime.Now; coupon.ClosingTime = DateTime.Now.AddDays(coupon.Validity); } ErrorLog.Write("开始进入优惠券3:Validity:" + coupon.Validity + ";StartTime:" + coupon.StartTime + ";ClosingTime:" + coupon.ClosingTime + ""); item = new CouponItemInfo(coupon.CouponId, claimCode, new int?(member.UserId), member.Username, member.Email, System.DateTime.Now, coupon.StartTime.Date, coupon.ClosingTime.Date.AddDays(1).AddSeconds(-1), coupon.Amount, coupon.DiscountValue); couponItemList.Add(item); } } if (couponItemList.Count > 0) { Flag = CouponHelper.SendClaimCodes(couponItemList); } ErrorLog.Write("End优惠券"); } return(Flag); }
public override bool SendClaimCodes(CouponItemInfo couponItem) { DbCommand sqlStringCommand = database.GetSqlStringCommand("INSERT INTO Hishop_CouponItems(CouponId, ClaimCode,LotNumber, GenerateTime, UserId, EmailAddress) VALUES(@CouponId, @ClaimCode,@LotNumber, @GenerateTime, @UserId, @EmailAddress)"); database.AddInParameter(sqlStringCommand, "CouponId", DbType.Int32, couponItem.CouponId); database.AddInParameter(sqlStringCommand, "ClaimCode", DbType.String, couponItem.ClaimCode); database.AddInParameter(sqlStringCommand, "GenerateTime", DbType.DateTime, couponItem.GenerateTime); database.AddInParameter(sqlStringCommand, "UserId", DbType.Int32); database.AddInParameter(sqlStringCommand, "LotNumber", DbType.Guid, Guid.NewGuid()); if (couponItem.UserId.HasValue) { database.SetParameterValue(sqlStringCommand, "UserId", couponItem.UserId.Value); } else { database.SetParameterValue(sqlStringCommand, "UserId", DBNull.Value); } database.AddInParameter(sqlStringCommand, "EmailAddress", DbType.String, couponItem.EmailAddress); return(database.ExecuteNonQuery(sqlStringCommand) >= 1); }
private void btnlq_Click(object sender, EventArgs e) { int ID = Convert.ToInt32(this.txtID.Value); CouponsActShare cas = CouponHelper.GetCouponsActShare(ID); MemberInfo currentMember = MemberProcessor.GetCurrentMember(); if (!CouponHelper.CheckUserIsCoupon(currentMember.UserId, cas.CouponsID)) { CouponsAct ca = CouponHelper.GetCouponsAct(cas.CouponsActID); int NowDayCount = CouponHelper.GetNowDayCount(cas.ID); if (ca.ColValue1 == 0 || ca.ColValue1 > NowDayCount) { string claimCode = System.Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15); CouponItemInfo item = new CouponItemInfo(); item.CouponId = cas.CouponsID; item.ClaimCode = claimCode; item.UserId = currentMember.UserId; item.UserName = currentMember.UserName; item.EmailAddress = currentMember.Email; item.GenerateTime = DateTime.Now; item.FromInfo = cas.ID; //new CouponItemInfo(cas.CouponsID, claimCode, new int?(currentMember.UserId), currentMember.UserName, currentMember.Email, System.DateTime.Now,cas.ID); if (CouponHelper.SendClaimCodes(cas.CouponsID, item)) { this.Page.Response.Write("<script>alert('领取优惠卷成功!');</script>"); } else { this.Page.Response.Write("<script>alert('服务器繁忙,请重新尝试!');</script>"); } } else { this.Page.Response.Write("<script>alert('今天可被领取的优惠卷被领完啦,您可以转到用户中心里微信活动栏目里面分享并领取优惠卷');</script>"); } } else { this.Page.Response.Write("<script>alert('您领取过该优惠卷啦~');</script>"); } }
/// <summary> /// 注册赠送优惠券 /// </summary> /// <param name="members"></param> protected void RegistSendCoupon(IList <Member> members) { IList <CouponInfo> couponList = CouponHelper.GetCouponsBySendType(2); IList <CouponItemInfo> list = new System.Collections.Generic.List <CouponItemInfo>(); string claimCode = string.Empty; if (couponList.Count > 0) { foreach (Member member in members) { foreach (CouponInfo coupon in couponList) { CouponItemInfo item = new CouponItemInfo(); if (CouponHelper.GetCountCouponItem(coupon.CouponId, member.UserId) > 0) { continue; } else { claimCode = System.Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15); item = new CouponItemInfo(coupon.CouponId, claimCode, new int?(member.UserId), member.Username, member.Email, System.DateTime.Now, coupon.StartTime, coupon.ClosingTime, coupon.Amount, coupon.DiscountValue); list.Add(item); } } } } if (list.Count > 0) { try { CouponHelper.SendClaimCodes(list); } catch { } } }
protected override void AttachChildControls() { this.pointList = (Common_Point_PointList)this.FindControl("Common_Point_PointList"); this.pager = (Pager)this.FindControl("pager"); this.litUserPoint = (System.Web.UI.WebControls.Literal) this.FindControl("litUserPoint"); this.litMyCoupons = (System.Web.UI.WebControls.Literal) this.FindControl("litMyCoupons"); PageTitle.AddSiteNameTitle("我的积分"); this.pointList.ItemDataBound += new System.Web.UI.WebControls.RepeaterItemEventHandler(this.pointList_ItemDataBound); if (!this.Page.IsPostBack) { this.BindPoint(); CouponItemInfo couponItemInfo = new CouponItemInfo(); couponItemInfo.CouponStatus = new int?(0); Member member = Users.GetUser(HiContext.Current.User.UserId, false) as Member; if (member != null) { this.litUserPoint.Text = member.Points.ToString(); this.litMyCoupons.Text = TradeHelper.GetUserCoupons(member.UserId).Rows.Count.ToString(); } } }
private void bindCouponInfo() { DataTable dataTable = null; if (HiContext.Current.User != null && HiContext.Current.UserId != 0 && this.cart.GetTotal(this.storeId > 0) > decimal.Zero) { dataTable = ShoppingProcessor.GetCoupon(this.cart.GetTotal(this.storeId > 0), this.cart.LineItems, this.isGroupBuy, this.isCountDown, this.isFightGroup); this.rptOrderCoupon.DataSource = dataTable; this.rptOrderCoupon.DataBind(); } if (dataTable != null && dataTable.Rows.Count > 0) { CouponItemInfo userCouponInfo = ShoppingProcessor.GetUserCouponInfo(this.cart.GetTotal(this.storeId > 0), dataTable.Rows[0]["ClaimCode"].ToString()); if (userCouponInfo != null) { this.litCouponAmout.InnerHtml = (userCouponInfo.Price.HasValue ? userCouponInfo.Price.Value.F2ToString("f2") : "0.00"); this.htmlCouponCode.Value = userCouponInfo.ClaimCode; this.couponName.InnerHtml = "-¥" + (userCouponInfo.Price.HasValue ? userCouponInfo.Price.Value.F2ToString("f2") : "0.00"); } } }
public static bool PointChageCoupon(int couponId, int needPoint, int currentPoint) { Member member = HiContext.Current.User as Member; UserPointInfo userPointInfo = new UserPointInfo(); userPointInfo.OrderId = string.Empty; userPointInfo.UserId = member.UserId; userPointInfo.TradeDate = DateTime.Now; userPointInfo.TradeType = UserPointTradeType.ChangeCoupon; userPointInfo.Increased = null; userPointInfo.Reduced = new int?(needPoint); userPointInfo.Points = currentPoint - needPoint; bool result; if (userPointInfo.Points < 0) { result = false; } else { if (TradeProvider.Instance().AddMemberPoint(userPointInfo)) { CouponItemInfo couponItemInfo = new CouponItemInfo(); couponItemInfo.CouponId = couponId; couponItemInfo.UserId = new int?(member.UserId); couponItemInfo.UserName = member.Username; couponItemInfo.EmailAddress = member.Email; couponItemInfo.ClaimCode = Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15); couponItemInfo.GenerateTime = DateTime.Now; Users.ClearUserCache(member); if (TradeProvider.Instance().SendClaimCodes(couponItemInfo)) { result = true; return(result); } } result = false; } return(result); }
/// <summary> /// 进入主页获赠优惠券 /// </summary> private void getMyCoupon() { DataTable allCoupons = CouponHelper.GetAllCoupons(); //优惠券列表 DataTable allCouponItemsClaimCode = CouponHelper.GetAllCouponItemsClaimCode(); //所有已发送优惠券的claimcode MemberInfo currentMember = MemberProcessor.GetCurrentMember(); if (currentMember == null) { return;//如果当前没有登录则不执行该方法 } for (int i = 0; i < allCoupons.Rows.Count; i++) { if (allCoupons.Rows[i]["sendAtHomepage"].ToString() == "1")//如果需要在主页赠送,就开始判断该用户是否已获取过 { for (int o = 0; o < allCouponItemsClaimCode.Rows.Count; o++) { string currentClaimCode = allCouponItemsClaimCode.Rows[o]["ClaimCode"].ToString(); bool isSend = currentMember.UserId.ToString() == currentClaimCode.TrimStart('0'); if (isSend) { return;//如果发送过,返回 } else { continue;//如果没有发送,继续循环查找 } } //发送优惠券 int couponId = Convert.ToInt32(allCoupons.Rows[i]["CouponId"]); string claimCode = currentMember.UserId.ToString("000000000000000"); CouponItemInfo item = new CouponItemInfo(); System.Collections.Generic.IList <CouponItemInfo> listCouponItem = new System.Collections.Generic.List <CouponItemInfo>(); item = new CouponItemInfo(couponId, claimCode, new int?(currentMember.UserId), currentMember.UserName, currentMember.Email, System.DateTime.Now); listCouponItem.Add(item); CouponHelper.SendClaimCodes(couponId, listCouponItem); break; } } }