public ActionResult Add(decimal Money = 0, int Num = 0, int RedPacketType = 0, int WalletType = 0) { Result result = new Result(); if (Money == 0 || Num == 0 || RedPacketType == 0) { result.Msg = "请输入完整信息"; return(Json(result)); } RedPacket redpacket = new RedPacket(); redpacket.Id = Guid.NewGuid().ToString(); redpacket.uuid = this.CurrentSession.UserId; redpacket.CreateTime = DateTime.Now; redpacket.EndTime = DateTime.Now.AddDays(1); redpacket.totalMoney = Money; redpacket.LessMoney = Money; redpacket.num = Num; redpacket.LessNum = Num; redpacket.builderStrategy = RedPacketType; redpacket.walletType = WalletType; redpacket.getuuids = ""; redpacket.appointUuid = ""; redpacket.remark = ""; redpacket.token = ""; _redPacketService.Add(redpacket); result.Status = Data.Enum.ResultStatus.OK; result.Msg = "添加成功"; RedisHelper.Set(PrefixKeyHelper.GetRedPacketPK() + redpacket.Id, redpacket.Serialize()); return(Json(result)); }
//写入更新记录 public RedPacketResult update() { fx(); if (this.isCreate) { object o = new object(); lock (o) { //获取当前领取的数量 string Num = RedisHelper.Get(PrefixKeyHelper.GetRedPacketIncrement() + redpacket.Id); if (Num == null || Num.ToInt() < redpacket.num) { //自增红包数 RedisHelper.Increment(PrefixKeyHelper.GetRedPacketIncrement() + redpacket.Id); //更新红包缓存数据 RedisHelper.Set(PrefixKeyHelper.GetRedPacketPK() + redpacket.Id, redpacket.Serialize()); //创建已领取红包记录Model Create(); //写入待更新红包表数据库队列 RedisHelper.LPush(PrefixKeyHelper.GetWaitWriteRedPacket() + redpacket.Id, redpacket.Serialize()); //写入红包领取记录缓存队列 RedisHelper.LPush(PrefixKeyHelper.GetWaitWriteHadGetRedPacket() + redpacket.Id, hadGetRedPacket.Serialize()); result.Status = (int)MRC.Data.Enum.EnumGetRedPacketStatus.GetOK; } else { result.Status = (int)MRC.Data.Enum.EnumGetRedPacketStatus.Over; } } result.Money = oneMoney; result.Message = "OK"; } return(result); }