Beispiel #1
0
 private PrisonMessageVo ConvertPrisonMessageVo(tg_prison_messages message)
 {
     return(new PrisonMessageVo()
     {
         name = message.play_name,
         content = message.message,
         date = new DateTime(message.writetime).ToString("yyyy-MM-dd HH:mm:ss"),
     });
 }
Beispiel #2
0
        public ASObject Execute(long userid, ASObject data)
        {
            var session = Variable.OnlinePlayer[userid] as TGGSession;

            if (session == null)
            {
                return(CommonHelper.ErrorResult((int)ResultType.FAIL));
            }
#if DEBUG
            XTrace.WriteLine("{0}:{1}监狱留言", "MESSAGE", session.Player.User.player_name);
#endif
            var message = data.FirstOrDefault(q => q.Key == "msg").Value.ToString();
            var user    = session.Player.User.CloneEntity();
            if (string.IsNullOrEmpty(message))
            {
                return(BuildData((int)ResultType.PRISON_MESSAGE_EMPTY, 0));
            }
            var prison = tg_prison.GetPrisonByUserId(user.id);
            if (prison == null) //验证是否在狱中
            {
                return(BuildData((int)ResultType.PRISON_OUT_ERROR, 0));
            }
            var date       = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0);
            var doubledate = date.Ticks;
            var count      = tg_prison_messages.GetUserMessageCount(doubledate, user.id); //今日留言次数
            var baseinfo   = Variable.BASE_RULE.FirstOrDefault(q => q.id == "25001");
            if (baseinfo == null)
            {
                return(BuildData((int)ResultType.PRISON_BASERULE_ERROR, 0));
            }
            var maxcount = Convert.ToInt32(baseinfo.value);
            if (maxcount <= count)
            {
                return(BuildData((int)ResultType.PRISON_MESSAGE_FULL, 0));                   //今日留言达到上限
            }
            if (!CheckMoney(user, session))
            {
                return(BuildData((int)ResultType.BASE_PLAYER_COIN_ERROR, 0));                            //金钱验证
            }
            var msg = new tg_prison_messages()
            {
                play_name = session.Player.User.player_name,
                user_id   = user.id,
                message   = message,
                writetime = DateTime.Now.Ticks,
            };
            msg.Insert();
            count++;
            return(BuildData((int)ResultType.SUCCESS, count));
        }