/// <summary> /// 按客户名统计 /// </summary> /// <returns></returns> public List <StatisticsView> GetDataByClient(StatisticsParam param) { var sqlParam = new List <DbParameter>(); string sqlWhere = " where oi.userId=@UserId "; sqlParam.Add(new MySqlParameter("@UserId", param.UserId)); if (param.BeginDate != null) { sqlWhere += " and oi.CreateTime > @BeginDate "; sqlParam.Add(new MySqlParameter("@BeginDate", param.BeginDate)); } if (param.EndDate != null) { sqlWhere += " and oi.CreateTime < @EndDate "; sqlParam.Add(new MySqlParameter("@EndDate", param.EndDate)); } string sql = $@"select ci.ClientName, gb.ChsBrandName,gb.EnBrandName,gi.GoodsName,gs.SpecificationName,CONVERT(sum(og.GoodsNum),SIGNED) as num from orderinfo oi LEFT JOIN clientinfo ci on oi.ClientId = ci.id LEFT JOIN ordergoods og on oi.id = og.orderId LEFT JOIN goodsinfo gi on og.goodsId = gi.id LEFT JOIN goodsspecification gs on og.gsId = gs.Id LEFT JOIN goodsbrand gb on gi.gbId = gb.id {sqlWhere} group BY ci.id,gb.id,gi.id,gs.id"; var list = _context.Database.SqlQuery <StatisticsView>(sql, sqlParam.ToArray()); return(list); }
public void Game_Event(CmdId eventId, ushort seqNr, object data) { broker.HandleMessage(eventId, seqNr, data); if (settlementOperations.ContainsKey(seqNr)) { var op = settlementOperations[seqNr]; HandleSettlementWokflowEvent(GameAPI, op, eventId, data); } GameAPI.Console_Write($"ID:EVENT! {eventId} - {seqNr}"); try { switch (eventId) { case CmdId.Event_Playfield_Stats: var playfieldData = (PlayfieldStats)data; var pstatstring = $"id: {Serializer.Serialize(playfieldData)}"; GameAPI.Console_Write(pstatstring); break; case CmdId.Event_Player_Connected: GameAPI.Game_Request(CmdId.Request_Player_Info, (ushort)CmdId.Request_Player_Info, (Id)data); break; case CmdId.Event_Statistics: StatisticsParam stats = (StatisticsParam)data; Handle_event_statistics(stats); break; case CmdId.Event_ChatMessage: ChatInfo ci = (ChatInfo)data; Handle_chat_message(ci); break; case CmdId.Event_GlobalStructure_List: GlobalStructureList info = (GlobalStructureList)data; writeGlobalStructureList(info); break; default: GameAPI.Console_Write($"event: {eventId}"); var outmessage = "NO DATA"; if (data != null) { outmessage = "data: " + data.ToString(); } GameAPI.Console_Write(outmessage); break; } } catch (Exception ex) { GameAPI.Console_Write(ex.Message); GameAPI.Console_Write(ex.ToString()); } }
public static StatisticsContainer FromStatisticsParam(StatisticsParam stats) { var type = StatTypeManifest[stats.type]; var constructor = type.GetConstructor(_tparam); var result = constructor.Invoke(new object[] { stats }); return((StatisticsContainer)result); }
private void Handle_event_statistics(StatisticsParam data) { if (data.type == StatisticsType.CoreRemoved) { var structureId = data.int1; var sequenceId = unusedSettlementSequenceNumbers.Dequeue(); SettlementOperation operation = new SettlementOperation(); operation.seqNr = sequenceId; operation.stage = 0; operation.originalStructureId = structureId; settlementOperations.Add(sequenceId, operation); GameAPI.Game_Request(CmdId.Request_GlobalStructure_List, sequenceId, null); } }
private void ProcessEvent_Statistics(StatisticsParam obj) { DebugLog("Event_Statistics - {0} {1} {2} {3} {4}", obj.type, obj.int1, obj.int2, obj.int3, obj.int4); //CoreRemoved, int1: Structure id, int2: destryoing entity id, int3: (optional) controlling entity id //CoreAdded, int1: Structure id, int2: destryoing entity id, int3: (optional) controlling entity id //PlayerDied, // int1: player entity id, int2: death type (Unknown = 0,Projectile = 1,Explosion = 2,Food = 3,Oxygen = 4,Disease = 5,Drowning = 6,Fall = 7,Suicide = 8), int3: (optional) other entity involved, int4: (optional) other entity CV/SV/HV id //StructOnOff, int1: structure id, int2: changing entity id, int3: 0 = off, 1 = on //StructDestroyed,// int1: structure id, int2: type (0=wipe, 1=decay) if (obj.type == StatisticsType.PlayerDied) { HandleDeadPlayer(obj); } }
private void SetupGrids() { var blankEvent = new GridLogEvent(); // таблица - лог роботов gridLog.Columns.Add(new FastColumn(blankEvent.Property(p => p.Time), Localizer.GetString("TitleTime")) { ColumnWidth = 90, SortOrder = FastColumnSort.Ascending }); gridLog.Columns.Add(new FastColumn(blankEvent.Property(p => p.RobotTitle), Localizer.GetString("TitleRobot")) { ColumnMinWidth = 50 }); gridLog.Columns.Add(new FastColumn(blankEvent.Property(p => p.Message), Localizer.GetString("TitleMessage")) { ColumnMinWidth = 40 }); gridLog.CheckSize(); gridLog.CalcSetTableMinWidth(); // статистика var blankStat = new StatisticsParam(); gridStat.MultiSelectEnabled = true; gridStat.Columns.Add(new FastColumn(blankStat.Property(p => p.Title), Localizer.GetString("TitleParameter")) { //SortOrder = FastColumnSort.Ascending, ColumnMinWidth = 55 }); gridStat.Columns.Add(new FastColumn(blankStat.Property(p => p.Value), Localizer.GetString("TitleValue")) { ColumnMinWidth = 45, rowFormatter = valueObject => ((StatisticsParam)valueObject).formatter == null ? ((StatisticsParam)valueObject).Value.ToString() : ((StatisticsParam)valueObject).formatter( ((StatisticsParam)valueObject).Value) }); gridStat.Columns.Add(new FastColumn(blankStat.Property(p => p.Description), Localizer.GetString("TitleDescription")) { ColumnMinWidth = 55 }); gridStat.CheckSize(); gridStat.CalcSetTableMinWidth(); }
private void PlayerDied_Event_Statistics(StatisticsParam obj) { Logger.log("***************event statistics!!!"); var container = StatisticsContainer.FromStatisticsParam(obj); switch (container) { case PlayerDiedStatistics deathStats: var msg = $"Player {deathStats.PlayerId.id} was killed by {deathStats.KillerId.id}"; Logger.log(msg, LogLevel.Message); MessageAllPlayers(msg); break; default: break; } }
private void PlayerDied_Event_Statistics(StatisticsParam obj) { log("***************event statistics!!!"); var container = StatisticsContainer.FromStatisticsParam(obj); switch (container) { case PlayerDiedStatistics deathStats: var msg = new IdMsgPrio { msg = $"Player {deathStats.PlayerId.id} was killed by {deathStats.KillerId.id}" }; log(msg.msg); this.Request_InGameMessage_AllPlayers(msg); break; default: break; } }
/// <summary> /// 按客户名统计 /// </summary> /// <returns></returns> public IActionResult GetDataByClient(StatisticsParam param) { if (param.BeginDate == null || param.EndDate == null) { return(JsonError("请输入查询时间段")); } param.UserId = CurrentUser.Id; if (param.BeginDate != null) { param.BeginDate = DateTime.Parse(string.Format("{0:yyyy-MM-dd}", param.BeginDate) + " 00:00:00"); } if (param.EndDate != null) { param.EndDate = DateTime.Parse(string.Format("{0:yyyy-MM-dd}", param.EndDate) + " 23:59:59"); } var list = _orderInfoRepository.GetDataByClient(param); return(Json(list)); }
private async void PlayerDied_Event_Statistics(StatisticsParam obj) { //Log("***************event statistics!!!"); var container = StatisticsContainer.FromStatisticsParam(obj); switch (container) { case PlayerDiedStatistics deathStats: var msg = new IdMsgPrio { msg = $"Player {deathStats.PlayerId.id} was killed by {deathStats.KillerId.id}" }; broker.Log(msg.msg); await broker.SendRequestAsync(CmdId.Request_InGameMessage_AllPlayers, msg); break; default: break; } }
public CoreAddedStatistics(StatisticsParam stats) : base(stats) { }
public CoreRemovedStatistics(StatisticsParam stats) : base(stats) { }
public StructureDestroyedStatistics(StatisticsParam stats) : base(stats) { }
public StatisticsContainer(StatisticsParam stats) { this.stats = stats; }
public StructurePowerStatistics(StatisticsParam stats) : base(stats) { }
public PlayerDiedStatistics(StatisticsParam stats) : base(stats) { }
private void SetupGrids() { var blankEvent = new GridLogEvent(); // таблица - лог роботов gridLog.Columns.Add(new FastColumn(blankEvent.Property(p => p.Time), Localizer.GetString("TitleTime")) { ColumnWidth = 90, SortOrder = FastColumnSort.Ascending }); gridLog.Columns.Add(new FastColumn(blankEvent.Property(p => p.RobotTitle), Localizer.GetString("TitleRobot")) { ColumnMinWidth = 50 }); gridLog.Columns.Add(new FastColumn(blankEvent.Property(p => p.Message), Localizer.GetString("TitleMessage")) { ColumnMinWidth = 40 }); gridLog.CheckSize(); gridLog.CalcSetTableMinWidth(); // статистика var blankStat = new StatisticsParam(); gridStat.Columns.Add(new FastColumn(blankStat.Property(p => p.Title), Localizer.GetString("TitleParameter")) { //SortOrder = FastColumnSort.Ascending, ColumnMinWidth = 55 }); gridStat.Columns.Add(new FastColumn(blankStat.Property(p => p.Value), Localizer.GetString("TitleValue")) { ColumnMinWidth = 45, rowFormatter = valueObject => ((StatisticsParam) valueObject).formatter == null ? ((StatisticsParam) valueObject).Value.ToString() : ((StatisticsParam) valueObject).formatter( ((StatisticsParam) valueObject).Value) }); gridStat.Columns.Add(new FastColumn(blankStat.Property(p => p.Description), Localizer.GetString("TitleDescription")) { ColumnMinWidth = 55 }); gridStat.CheckSize(); gridStat.CalcSetTableMinWidth(); }
public void Game_Event(CmdId eventId, ushort seqNr, object data) { try { switch (eventId) { case CmdId.Event_Player_Info: if (players.Where(e => e.entityId == ((PlayerInfo)data).entityId).Count() == 0) { players.Add((PlayerInfo)data); } break; case CmdId.Event_Player_Connected: GameAPI.Game_Request(CmdId.Request_Player_Info, (ushort)CmdId.Request_Player_Info, (Id)data); break; case CmdId.Event_Player_Disconnected: players.Remove(players.FirstOrDefault(e => e.entityId == ((Id)data).id)); break; case CmdId.Event_Statistics: StatisticsParam stats = (StatisticsParam)data; if (stats.type == StatisticsType.PlayerDied) { String msg = String.Empty; PlayerInfo result = players.FirstOrDefault(e => e.entityId == stats.int1); String user = "******"; if (result != null) { user = ((PlayerInfo)result).playerName; } else { GameAPI.Game_Request(CmdId.Request_Player_Info, (ushort)CmdId.Request_Player_Info, new Id(stats.int1)); } msg = String.Format(config.Messages.GetNextMessage(stats.int2), user); PlayerInfo killer = players.FirstOrDefault(e => e.entityId == stats.int3); if (killer != null) { msg += String.Format(config.Messages.GetNextMessage(-1), killer.playerName); } AlertMessage(msg); if (config.MessageInChat) { ChatMessage(msg); } } break; case CmdId.Event_ChatMessage: ChatInfo ci = (ChatInfo)data; if (ci == null) { break; } if (ci.type != 8 && ci.type != 7 && ci.msg == "!MODS") { ChatMessage("Death Messages by joemorin73."); } break; default: break; } } catch (Exception ex) { GameAPI.Console_Write(ex.Message); } }
public void Game_Event(CmdId eventId, ushort seqNr, object data) { switch (eventId) { case CmdId.Event_Player_Connected: _scriptManager.HandlePlayerConnected((Id)data); break; case CmdId.Event_Player_Disconnected: _scriptManager.HandlePlayerDisconnected((Id)data); break; case CmdId.Event_ChatMessage: ChatInfo chatInfo = (ChatInfo)data; switch (chatInfo.type) { case 3: // Global? _scriptManager.HandleGlobalChatMessage(chatInfo.playerId, chatInfo.msg); break; case 5: // Faction? _scriptManager.HandleFactionChatMessage(chatInfo.playerId, chatInfo.recipientFactionId, chatInfo.msg); break; default: LogMessage("Plugin", "Unknown Chat message Type: " + JsonUtility.ToJson(chatInfo)); break; } break; case CmdId.Event_Playfield_Loaded: _scriptManager.HandlePlayfieldLoaded((PlayfieldLoad)data); break; case CmdId.Event_Playfield_Unloaded: _scriptManager.HandlePlayfieldUnloaded((PlayfieldLoad)data); break; case CmdId.Event_Faction_Changed: _scriptManager.HandleFactionChanged((FactionChangeInfo)data); break; case CmdId.Event_Statistics: StatisticsParam statisticsParam = (StatisticsParam)data; switch (statisticsParam.type) { // TODO: Break these into Seperate functions case StatisticsType.CoreAdded: LogMessage("Plugin", "Core Added: " + JsonUtility.ToJson(statisticsParam)); break; case StatisticsType.CoreRemoved: LogMessage("Plugin", "Core Removed: " + JsonUtility.ToJson(statisticsParam)); break; case StatisticsType.PlayerDied: LogMessage("Plugin", "Player Died: " + JsonUtility.ToJson(statisticsParam)); break; case StatisticsType.StructOnOff: LogMessage("Plugin", "Struct On/Off: " + JsonUtility.ToJson(statisticsParam)); break; } break; case CmdId.Event_Player_Info: _scriptManager.ProcessResponseData(eventId, seqNr, data); break; case CmdId.Event_Error: _scriptManager.ProcessResponseData(eventId, seqNr, (ErrorInfo)data); break; default: LogMessage("Plugin", "Unhandled Event - CmdId '" + Enum.GetName(typeof(CmdId), eventId) + "' " + "seqNr: '" + seqNr + "' " + "data: (" + data.GetType() + ") '" + JsonUtility.ToJson(data) + "'"); break; } }