public BuilderRedPacketsForEqual(RedPacket redpacket, string uuid)
 {
     this.redpacket       = redpacket;
     this.uuid            = uuid;
     this.hadGetRedPacket = new HadGetRedPacket();
     this.result          = new RedPacketResult();
     result.Status        = (int)MRC.Data.Enum.EnumGetRedPacketStatus.Error;
 }
Exemplo n.º 2
0
        public ActionResult GetRedPacket(string ID)
        {
            Result result        = new Result();
            var    redpacketStr2 = RedisHelper.Get(PrefixKeyHelper.GetRedPacketPK() + ID);

            if (redpacketStr2.IsNullOrEmpty())
            {
                result.Msg = "红包已失效";
                return(Json(result));
            }
            RedPacket       redpacketTest = JsonHelper.Deserialize <RedPacket>(redpacketStr2);
            RedPacketResult builderResult = new RedPacketResult();

            for (int i = 0; i < redpacketTest.num; i++)
            {
                var       redpacketStr = RedisHelper.Get(PrefixKeyHelper.GetRedPacketPK() + ID);
                RedPacket redpacket    = JsonHelper.Deserialize <RedPacket>(redpacketStr);
                if (redpacket.builderStrategy == (int)Data.Enum.EnumRedPacketType.FixedAverage)
                {
                    BuilderRedPacketsForEqual builder = new BuilderRedPacketsForEqual(redpacket, this.CurrentSession.UserId);
                    builderResult = builder.update();
                }
                else if (redpacket.builderStrategy == (int)Data.Enum.EnumRedPacketType.Radom)
                {
                    BuilderRedPacketsForRadom builder = new BuilderRedPacketsForRadom(redpacket, this.CurrentSession.UserId);
                    builderResult = builder.update();
                }
                else
                {
                }
            }


            if (builderResult.Status == (int)(int)Data.Enum.EnumGetRedPacketStatus.GetOK)
            {
                result.Msg    = "领取成功";
                result.Status = Data.Enum.ResultStatus.OK;
            }
            else if (builderResult.Status == (int)(int)Data.Enum.EnumGetRedPacketStatus.Error)
            {
                result.Msg    = builderResult.Message;
                result.Status = Data.Enum.ResultStatus.Failed;
            }
            else if (builderResult.Status == (int)(int)Data.Enum.EnumGetRedPacketStatus.Over)
            {
                result.Msg    = "红包已领完";
                result.Status = Data.Enum.ResultStatus.Failed;
            }
            return(Json(result));
        }