/// <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); } }
/// <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)); }
/// <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); }
/// <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); }
/// <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); }
/// <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)); }
/// <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, }); }