using NTMiner.Core.MinerServer; using System; using System.Collections.Generic; using System.Web.Http; namespace NTMiner.Controllers { // 注意该控制器不能重命名 public class ServerMessageController : ApiControllerBase, IServerMessageController { [HttpPost] public DataResponse> ServerMessages([FromBody]ServerMessagesRequest request) { try { DateTime timestamp = Timestamp.FromTimestamp(request.Timestamp + 1); var data = WebApiRoot.ServerMessageSet.GetServerMessages(timestamp); return DataResponse>.Ok(data); } catch (Exception e) { Logger.ErrorDebugLine(e); return ResponseBase.ServerError>>(e.Message); } } [Role.Admin] [HttpPost] public ResponseBase AddOrUpdateServerMessage([FromBody]DataRequest request) { if (request == null || request.Data == null) { return ResponseBase.InvalidInput("参数错误"); } try { VirtualRoot.Execute(new AddOrUpdateServerMessageCommand(request.Data)); WebApiRoot.UpdateServerMessageTimestamp(); return ResponseBase.Ok(); } catch (Exception e) { Logger.ErrorDebugLine(e); return ResponseBase.ServerError(e.Message); } } [Role.Admin] [HttpPost] public ResponseBase MarkDeleteServerMessage([FromBody]DataRequest request) { if (request == null || request.Data == Guid.Empty) { return ResponseBase.InvalidInput("参数错误"); } try { VirtualRoot.Execute(new MarkDeleteServerMessageCommand(request.Data)); WebApiRoot.UpdateServerMessageTimestamp(); return ResponseBase.Ok(); } catch (Exception e) { Logger.ErrorDebugLine(e); return ResponseBase.ServerError(e.Message); } } } }