Example #1
0
        /// <summary>向所有在线家族成员推送</summary>
        public void FamilyMemberAllPush(tg_family_member member, tg_family_log log)
        {
            var _member = view_user_role_family_member.GetEntityByUserId(member.userid);
            var list    = Variable.OnlinePlayer.Select(m => m.Value as TGGSession)
                          .Where(m => m.Player.Family.fid == member.fid).ToList();//同家族

            foreach (var item in list)
            {
                var token = new CancellationTokenSource();
                var obj   = new FamilyLogPushObject
                {
                    session     = item,
                    log         = log,
                    player_name = _member.player_name,
                };
                Task.Factory.StartNew(m =>
                {
                    var _obj = m as FamilyLogPushObject;
                    if (_obj == null)
                    {
                        return;
                    }
                    FAMILY_LOG_PUSH.GetInstance().CommandStart(_obj.session, _obj.log, _obj.player_name);
                }, obj, token.Token);
            }
        }
Example #2
0
        /// <summary>组装数据</summary>
        private ASObject BuildData(tg_family_log log, string name)
        {
            var dic = new Dictionary <string, object> {
                { "log", EntityToVo.ToFamilyLogVo(log, name) }
            };

            return(new ASObject(dic));
        }
Example #3
0
        /// <summary> 日志推送</summary>
        public void CommandStart(TGGSession session, tg_family_log log, string name)
        {
            if (session == null)
            {
                return;
            }
            var aso = BuildData(log, name);

            LogPush(session, aso);
        }
Example #4
0
        /// <summary>创建日志</summary>
        public tg_family_log CreateFamilyLog(BaseFamilyLog familylog, tg_family_member member)
        {
            var log = new tg_family_log();

            log.baseid = familylog.id;
            log.type   = familylog.type;
            log.userid = member.userid;
            log.time   = CurrentTime();
            log.fid    = member.fid;
            return(log);
        }
Example #5
0
        /// <summary>创建日志</summary>
        public tg_family_log CreateFamilyLog(BaseFamilyLog familylog, tg_family_member member)
        {
            var log = new tg_family_log();

            log.baseid = familylog.id;
            log.type   = familylog.type;
            log.userid = member.userid;
            log.time   = (DateTime.Now.Ticks - 621355968000000000) / 10000;
            log.fid    = member.fid;
            return(log);
        }
Example #6
0
        /// <summary> 日志推送</summary>
        public void Push(TGGSession session, tg_family_log log, string name)
        {
            if (session == null)
            {
                return;
            }
            var dic = new Dictionary <string, object> {
                { "log", EntityToVo.ToFamilyLogVo(log, name) }
            };

            LogPush(session, new ASObject(dic));
        }
Example #7
0
 /// <summary>组装FamilyLogVo </summary>
 /// <param name="model">家族日志实体</param>
 /// <param name="name">成员名字</param>
 /// <returns>前端FamilyLogVo</returns>
 public static FamilyLogVo ToFamilyLogVo(tg_family_log model, string name)
 {
     return(new FamilyLogVo()
     {
         id = model.id,
         userid = (int)model.userid,
         userName = name,
         logBaseId = model.baseid,
         logType = model.type,
         time = model.time,
         familyid = (int)model.fid,
     });
 }