示例#1
0
    public void InitRedGrid(RedPacket packet)
    {
        InitControl();
        m_curRedPacket = packet;
        string str = m_dataManager.GetShortMessage(packet.title);

        if (packet.status == (uint)RedPacketStatus.eRedPacketNormal)
        {//可以领取m_transOpenAble
            ShowOpenAble(true);

            m_openableDes.text  = str;
            m_openableName.text = packet.name;
        }
        else if (packet.status == (uint)RedPacketStatus.eRedPacketRecv)
        {//已经领取
            ShowOpenAble(false);
            m_openTitleName.text = packet.name;
            m_openBlessmsg.text  = packet.title;
            m_openHasOpen.gameObject.SetActive(true);
            m_openNoOpen.gameObject.SetActive(false);
        }
        else
        {//领空了
            ShowOpenAble(false);
            m_openTitleName.text = packet.name;
            m_openBlessmsg.text  = packet.title;
            m_openHasOpen.gameObject.SetActive(false);
            m_openNoOpen.gameObject.SetActive(true);
        }
    }
示例#2
0
 /// <summary>
 /// 改变红包状态并且刷新界面
 /// </summary>
 /// <param name="redid"></param>
 /// <param name="status"></param>
 void ChangeRedStatus(uint redid, RedPacketStatus status)
 {
     for (int i = 0; i < m_clanRedPacketList.Count; i++)
     {
         RedPacket rp = m_clanRedPacketList[i];
         if (rp.id == redid)
         {
             if (rp.status != (uint)RedPacketStatus.eRedpacketEmpty)
             {
                 rp.status = (uint)status;
                 m_clanRedPacketList[i] = rp;
                 break;
             }
         }
     }
     for (int i = 0; i < m_worldRedPacketList.Count; i++)
     {
         RedPacket rp = m_worldRedPacketList[i];
         if (rp.id == redid)
         {
             if (rp.status != (uint)RedPacketStatus.eRedpacketEmpty)
             {
                 rp.status = (uint)status;
                 m_worldRedPacketList[i] = rp;
                 break;
             }
         }
     }
 }
示例#3
0
        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 ActionResult DeleteConfirmed(long id)
        {
            RedPacket redPacket = db.RedPackets.Find(id);

            db.RedPackets.Remove(redPacket);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 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;
 }
 public ActionResult Edit([Bind(Include = "RedPacketId,Deadline,Money,UserId")] RedPacket redPacket)
 {
     if (ModelState.IsValid)
     {
         db.Entry(redPacket).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.UserId = new SelectList(db.Users, "Id", "Username", redPacket.UserId);
     return(View(redPacket));
 }
示例#7
0
 void AddPacket(bool bWrold, RedPacket rp)
 {
     if (bWrold)
     {
         AddPacketToList(m_worldRedPacketList, rp);
     }
     else
     {
         AddPacketToList(m_clanRedPacketList, rp);
     }
 }
示例#8
0
 public ActionResult AddUserRedPacket(string userid)
 {
     try
     {
         var usermodel = db.tb_userinfos.FirstOrDefault(s => s.UserID == userid);
         if (usermodel != null)
         {
             if (!string.IsNullOrWhiteSpace(usermodel.createtime))
             {
                 DateTime dt1 = DateTime.Parse(usermodel.createtime);
                 DateTime dt2 = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd"));
                 TimeSpan ts  = dt2 - dt1; //计算时间差
                                           //如果注册时间小于等于7天则为新人,可领取红包
                 if (ts.TotalDays <= 7)
                 {
                     var redpacket = db.RedPpacket.FirstOrDefault(s => s.userid == usermodel.ID && s.packtype == RedPacketType.NewUser);
                     if (redpacket != null)
                     {
                         return(Json(Comm.ToJsonResult("IsGet", "已领取新人红包"), JsonRequestBehavior.AllowGet));
                     }
                     else
                     {
                         RedPacket model = new RedPacket();
                         model.userid     = usermodel.ID;
                         model.CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                         model.packtype   = RedPacketType.NewUser;
                         model.quota      = (decimal)9.9;
                         model.Title      = "新人福利红包";
                         db.RedPpacket.Add(model);
                         db.SaveChanges();
                         return(Json(Comm.ToJsonResult("Success", "成功"), JsonRequestBehavior.AllowGet));
                     }
                 }
                 else
                 {
                     return(Json(Comm.ToJsonResult("usertimeout", "新人时间过期"), JsonRequestBehavior.AllowGet));
                 }
             }
             else
             {
                 return(Json(Comm.ToJsonResult("usertimeout", "新人时间过期"), JsonRequestBehavior.AllowGet));
             }
         }
         else
         {
             return(Json(Comm.ToJsonResult("NotFind", "用户不存在"), JsonRequestBehavior.AllowGet));
         }
     }
     catch (Exception ex)
     {
         return(Json(Comm.ToJsonResult("Error", "操作失败", ex.Message), JsonRequestBehavior.AllowGet));
     }
 }
        public ActionResult Create([Bind(Include = "RedPacketId,Deadline,Money,UserId")] RedPacket redPacket)
        {
            if (ModelState.IsValid)
            {
                db.RedPackets.Add(redPacket);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.UserId = new SelectList(db.Users, "Id", "Username", redPacket.UserId);
            return(View(redPacket));
        }
示例#10
0
    void OnThanksBoss(GameObject go)
    {
        RedPacket rp = m_dataManager.GetRedPacketByID(m_uRedID);

        if (rp != null)
        {
            string   str = DataManager.Manager <TextManager>().GetLocalFormatText(LocalTextType.Red_Tips_xiexielaoban, rp.name);
            CHATTYPE ct  = m_dataManager.GetRedEnvelopeChannelByID(m_uRedID);
            DataManager.Manager <ChatDataManager>().SetChatInputType(ct);
            DataManager.Manager <ChatDataManager>().SendChatText(str);
        }
        HideSelf();
    }
示例#11
0
    /// <summary>
    /// 通知红包领取
    /// </summary>
    /// <param name="cmd"></param>
    public void OnNoticeRedEnveLopeInfo(stNoticeRedPacketChatUserCmd_S cmd)
    {
        RedPacket rp = new RedPacket();

        rp.status = (uint)RedPacketStatus.eRedPacketNormal;
        rp.title  = cmd.title;
        rp.id     = cmd.id;
        rp.name   = cmd.name;
        AddPacket(cmd.world, rp);
        ChangeRedStatus(cmd.id, RedPacketStatus.eRedPacketNormal);
        SortAllRedPacket();
        if (!DataManager.Manager <UIPanelManager>().IsShowPanel(PanelID.RedEnvelopePanel))
        {
            DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.RedEnvelopeTakePanel, jumpData: new UIPanelBase.PanelJumpData()
            {
                Param = cmd
            });
        }
        uint        langTextID = 140001;
        ChatChannel channel    = DataManager.Manager <ChatDataManager>().GetChannelByType(CHATTYPE.CHAT_WORLD);

        if (!cmd.world)
        {
            langTextID = 140002;
            channel    = DataManager.Manager <ChatDataManager>().GetChannelByType(CHATTYPE.CHAT_CLAN);
        }
        stSendInfoReminderChatUserCmd_S chatCmd = new stSendInfoReminderChatUserCmd_S();

        chatCmd.id     = langTextID;
        chatCmd.szInfo = new List <string> {
            cmd.name
        };
        Protocol.Instance.OnReceiveRemindText(chatCmd);
        uint moneyType = GameTableManager.Instance.GetGlobalConfig <uint>("UserRedEnvelopeCurrencyType");
        uint maxNum    = GameTableManager.Instance.GetGlobalConfig <uint>("UserRedEnvelopeCurrencyNum");

        if (cmd.money_type == moneyType)
        {
            if (cmd.gold >= maxNum)
            {
                DispatchValueUpdateEvent(RedEnveLopeEvent.ShowRedEffect.ToString(), null, null);
            }
        }


        if (channel != null)
        {
            channel.Add(channel.ToChatInfoWithRedPackgetMsg(cmd));
        }
    }
        // GET: Admin/RedPackets/Details/5
        public ActionResult Details(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            RedPacket redPacket = db.RedPackets.Find(id);

            if (redPacket == null)
            {
                return(HttpNotFound());
            }
            return(View(redPacket));
        }
示例#13
0
        public void TestMethod1()
        {
            double money = 156.23;
            int    count = 39;
            var    m     = RedPacket.GetMoneys(money, count);
            var    n     = m;
            double t     = 0;

            for (int i = 0; i < n.Count; i++)
            {
                t += n[i];
            }
            var r = t;
        }
示例#14
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));
        }
        // GET: Admin/RedPackets/Edit/5
        public ActionResult Edit(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            RedPacket redPacket = db.RedPackets.Find(id);

            if (redPacket == null)
            {
                return(HttpNotFound());
            }
            ViewBag.UserId = new SelectList(db.Users, "Id", "Username", redPacket.UserId);
            return(View(redPacket));
        }
示例#16
0
    void AddPacketToList(List <RedPacket> redList, RedPacket rp)
    {
        bool bContain = false;

        foreach (var item in redList)
        {
            if (item.id == rp.id)
            {
                bContain = true;
                break;
            }
        }
        if (!bContain)
        {
            redList.Add(rp);
        }
    }
示例#17
0
        public async Task <IActionResult> CreateRedPacket([FromBody] RedPacketViewModel viewModel)
        {
            if (viewModel.Amount < viewModel.Count)
            {
                return(BadRequest("红包个数必须小于红包金额(分)"));
            }
            var redPacket = new RedPacket
            {
                Id              = await _client.StringIncrementAsync($"{nameof(RedPacket)}_ID"),
                Amount          = viewModel.Amount,
                Count           = viewModel.Count,
                RemainingAmount = viewModel.Amount,
                RemainingCount  = viewModel.Count,
                Title           = viewModel.Title
            };
            await _client.HashSetAsync(nameof(RedPacket), redPacket.Id.ToString(), redPacket);

            return(Ok(redPacket));
        }
示例#18
0
    public RedPacket GetRedPacketByID(uint id)
    {
        RedPacket rp = null;

        foreach (var item in m_worldRedPacketList)
        {
            if (item.id == id)
            {
                rp = item;
                return(rp);
            }
        }
        foreach (var item in m_clanRedPacketList)
        {
            if (item.id == id)
            {
                rp = item;
                return(rp);
            }
        }
        return(rp);
    }
示例#19
0
    void RemovePacketByID(uint redID)
    {
        for (int i = 0; i < m_worldRedPacketList.Count; i++)
        {
            RedPacket rp = m_worldRedPacketList[i];
            if (rp.id == redID)
            {
                m_worldRedPacketList.RemoveAt(i);
                break;
            }
        }

        for (int i = 0; i < m_clanRedPacketList.Count; i++)
        {
            RedPacket rp = m_clanRedPacketList[i];
            if (rp.id == redID)
            {
                m_clanRedPacketList.RemoveAt(i);
                break;
            }
        }
        RefreshMainRedPacketUI();
    }
示例#20
0
 void m_dataManager_ValueUpdateEvent(object sender, ValueUpdateEventArgs e)
 {
     if (e != null)
     {
         if (e.key == RedEnveLopeEvent.RefreshRedEnvelopeGrid.ToString())
         {
             uint redID = (uint)e.newValue;
             if (m_curRedPacket == null)
             {
                 return;
             }
             if (redID == m_curRedPacket.id)
             {
                 RedPacket rp = m_dataManager.GetRedPacketByID(redID);
                 if (rp != null)
                 {
                     m_curRedPacket = rp;
                     InitRedGrid(m_curRedPacket);
                 }
             }
         }
     }
 }
示例#21
0
    protected override void OnJump(UIPanelBase.PanelJumpData jumpData)
    {
        base.OnJump(jumpData);
        if (jumpData != null)
        {
            if (jumpData.Param != null)
            {
                stRedPacketInfoChatUserCmd_S cmd = jumpData.Param as stRedPacketInfoChatUserCmd_S;
                if (cmd != null)
                {
                    m_uRedID = cmd.id;
                    m_peopleInfoList.Clear();
                    m_moneyType = cmd.money_type;
                    RedPacket rp = m_dataManager.GetRedPacketByID(cmd.id);
                    if (rp != null)
                    {
                        m_label_text_label.text = rp.title;
                    }

                    int job = (int)cmd.job;
                    SelectRoleDataBase roledata = table.SelectRoleDataBase.Where((GameCmd.enumProfession)job, (GameCmd.enmCharSex) 1);
                    if (roledata != null && null != m__icon)
                    {
                        UIManager.GetTextureAsyn(roledata.strprofessionIcon, ref m_playerCASD, () =>
                        {
                            if (m__icon != null)
                            {
                                m__icon.mainTexture = null;
                            }
                        }, m__icon, false);
                    }
                    if (MainPlayerHelper.GetMainPlayer() != null)
                    {
                        string playerName = MainPlayerHelper.GetMainPlayer().GetName();

                        m_label_playername_label.text = rp.name;
                        if (rp.name == playerName)
                        {
                            m_sprite_btn_take.gameObject.SetActive(false);
                        }
                        else
                        {
                            m_sprite_btn_take.gameObject.SetActive(true);
                        }
                    }
                    m_sprite_goldicon.spriteName  = MainPlayerHelper.GetMoneyIconByType((int)cmd.money_type);
                    m_sprite_goldicon2.spriteName = MainPlayerHelper.GetMoneyIconByType((int)cmd.money_type);
                    m_label_procureNum_label.text = cmd.gold.ToString();
                    m_label_takeNum_label.text    = (cmd.num_max - cmd.num).ToString() + "/" + cmd.num_max.ToString();
                    m_label_totalNum_label.text   = cmd.gold_max.ToString();
                    for (int i = 0; i < cmd.name.Count; i++)
                    {
                        PepoleRedPacketInfo info = new PepoleRedPacketInfo();
                        info.palyerName = cmd.name[i];
                        info.goldNum    = cmd.recv[i];
                        m_peopleInfoList.Add(info);
                    }
                    m_peopleInfoList.Sort((x1, x2) =>
                    {
                        if (x1.goldNum > x2.goldNum)
                        {
                            return(-1);
                        }
                        else if (x1.goldNum < x2.goldNum)
                        {
                            return(1);
                        }
                        else
                        {
                            return(0);
                        }
                    });
                    m_ctor_redEnvelopeDetailScrowView.CreateGrids(cmd.name.Count);
                }
            }
        }
    }
示例#22
0
        /// <summary>
        /// 发红包啊
        /// </summary>
        /// <returns></returns>
        public string FHB()
        {
            tenpay.RedPacket p = new RedPacket()
            {
                nonce_str    = TenpayUtil.getNoncestr(),
                mch_billno   = "201411111234567" + DateTime.Now.Hour.ToSafeString() + DateTime.Now.Minute.ToSafeString() + DateTime.Now.Second.ToSafeString(),
                mch_id       = tenpay.WeChartConfigItem.mch_id,
                wxappid      = tenpay.WeChartConfigItem.appid,
                nick_name    = "极客美家",
                send_name    = "极客美家",
                re_openid    = "o8r91jjmQWUqO8zrq4rxL0QVTEYs",
                total_amount = "100",
                min_value    = "100",
                max_value    = "100",
                total_num    = "1",
                wishing      = "1",
                client_ip    = "118.144.76.61",
                act_name     = "1",
                remark       = "1"
            };
            string s = tenpay.TenpayUtil.Fhb(p, tenpay.WeChartConfigItem.key);


            System.IO.File.AppendAllText(HttpContext.Server.MapPath("") + "红包.txt", s + DateTime.Now.ToSafeString() + "\r\n\r\n");


            return(s);


            #region MyRegion
            //            return TenpayUtil.PostXmlToUrl("https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack", @"<xml>
            ////            <sign></sign>
            ////            <mch_billno></mch_billno>
            ////            <mch_id></mch_id>
            ////            <wxappid></wxappid>
            ////            <nick_name></nick_name>
            ////            <send_name></send_name>
            ////            <re_openid></re_openid>
            ////            <total_amount></total_amount>
            ////            <min_value></min_value>
            ////            <max_value></max_value>
            ////            <total_num></total_num>
            ////            <wishing></wishing>
            ////            <client_ip></client_ip>
            ////            <act_name></act_name>
            ////            <act_id></act_id>
            ////            <remark></remark>
            ////            <logo_imgurl></logo_imgurl>
            ////            <share_content></share_content>
            ////            <share_url></share_url>
            ////            <share_imgurl></share_imgurl>
            ////            <nonce_str></nonce_str>
            ////        </xml>"); ;

            //            return ProcessRequest(@"<xml>
            //            <sign></sign>
            //            <mch_billno></mch_billno>
            //            <mch_id></mch_id>
            //            <wxappid></wxappid>
            //            <nick_name></nick_name>
            //            <send_name></send_name>
            //            <re_openid></re_openid>
            //            <total_amount></total_amount>
            //            <min_value></min_value>
            //            <max_value></max_value>
            //            <total_num></total_num>
            //            <wishing></wishing>
            //            <client_ip></client_ip>
            //            <act_name></act_name>
            //            <act_id></act_id>
            //            <remark></remark>
            //            <logo_imgurl></logo_imgurl>
            //            <share_content></share_content>
            //            <share_url></share_url>
            //            <share_imgurl></share_imgurl>
            //            <nonce_str></nonce_str>
            //        </xml>");
            #endregion
        }