private void ReceiveVouchers(System.Web.HttpContext context) { string text = ""; if (context.Request["voucherid"] != null) { text = context.Request["voucherid"].ToString(); } Member member = HiContext.Current.User as Member; if (member == null) { this.message = "你还未登陆,请登陆"; return; } int voucherid = 0; if (!int.TryParse(text, out voucherid)) { this.message = "该链接无效"; return; } VoucherInfo voucherInfo = VoucherHelper.GetVoucher(voucherid); if (voucherInfo == null || voucherInfo.SendType != 3 || voucherInfo.StartTime.Date > DateTime.Now.Date || voucherInfo.ClosingTime < DateTime.Now.Date) { this.message = "该链接无效"; return; } int count = VoucherHelper.GetCountVoucherItem(voucherid, member.UserId); if (count == 0) { string claimCode = System.Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15); claimCode = Sign(claimCode, "UTF-8").Substring(8, 16); string password = System.Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15); DateTime deadline = DateTime.Now.AddDays(voucherInfo.Validity); VoucherItemInfo voucherItemInfo = new VoucherItemInfo(voucherid, claimCode, password, new int?(member.UserId), member.Username, member.Email, System.DateTime.Now, deadline); IList <VoucherItemInfo> voucherItemList = new List <VoucherItemInfo>(); voucherItemList.Add(voucherItemInfo); if (VoucherHelper.SendClaimCodes(voucherItemList)) { this.message = "你已成功领取该优惠券"; } else { this.message = "操作失败"; } } else { this.message = "您已经领过该优惠券"; } }
/// <summary> /// 注册赠送现金券 /// </summary> /// <param name="members"></param> protected void RegistSendVoucher(IList <Member> members) { IList <VoucherInfo> voucherList = VoucherHelper.GetVoucherBySendType(2); IList <VoucherItemInfo> list = new System.Collections.Generic.List <VoucherItemInfo>(); string claimCode = string.Empty; string password = string.Empty; if (voucherList.Count > 0) { foreach (Member member in members) { foreach (VoucherInfo voucher in voucherList) { VoucherItemInfo item = new VoucherItemInfo(); if (VoucherHelper.GetCountVoucherItem(voucher.VoucherId, member.UserId) > 0) { continue; } else { claimCode = System.Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15); claimCode = Sign(claimCode, "UTF-8").Substring(8, 16); password = System.Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15); item = new VoucherItemInfo(voucher.VoucherId, claimCode, password, new int?(member.UserId), member.Username, member.Email, System.DateTime.Now, DateTime.Now.AddDays(voucher.Validity)); list.Add(item); } } } } if (list.Count > 0) { try { VoucherHelper.SendClaimCodes(list); } catch { } } }
private void OrderSendVoucher(IList <OrderInfo> orderList) { IList <VoucherInfo> voucherList = VoucherHelper.GetVoucherBySendType(1); IList <VoucherItemInfo> list = new System.Collections.Generic.List <VoucherItemInfo>(); string claimCode = string.Empty; string password = string.Empty; if (voucherList.Count > 0) { foreach (OrderInfo orderInfo in orderList) { foreach (VoucherInfo voucher in voucherList) { VoucherItemInfo item = new VoucherItemInfo(); ///不存在拆单 if (String.IsNullOrEmpty(orderInfo.SourceOrderId)) { if (VoucherHelper.GetCountVoucherItem(voucher.VoucherId, orderInfo.OrderId) > 0) { continue; } else { if (orderInfo.Amount >= Convert.ToDecimal(voucher.SendTypeItem)) { claimCode = System.Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15); claimCode = Sign(claimCode, "UTF-8").Substring(8, 16); password = System.Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15); item = new VoucherItemInfo(orderInfo.OrderId, voucher.VoucherId, claimCode, password, new int?(orderInfo.UserId), orderInfo.Username, orderInfo.EmailAddress, System.DateTime.Now, DateTime.Now.AddDays(voucher.Validity)); list.Add(item); } } } //拆单 else { if (VoucherHelper.GetCountVoucherItem(voucher.VoucherId, orderInfo.SourceOrderId) > 0) { continue; } else { decimal sourceAmount = OrderHelper.GetOrderAmount(orderInfo.SourceOrderId); if (sourceAmount >= Convert.ToDecimal(voucher.SendTypeItem)) { claimCode = System.Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15); claimCode = Sign(claimCode, "UTF-8").Substring(8, 16); password = System.Guid.NewGuid().ToString().Replace("-", "").Substring(0, 15); item = new VoucherItemInfo(orderInfo.SourceOrderId, voucher.VoucherId, claimCode, password, new int?(orderInfo.UserId), orderInfo.Username, orderInfo.EmailAddress, System.DateTime.Now, DateTime.Now.AddDays(voucher.Validity)); list.Add(item); } } } } } } if (list.Count > 0) { try { VoucherHelper.SendClaimCodes(list); } catch { } } }