ServerMessageController.cs 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. using NTMiner.Core.MinerServer;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Web.Http;
  5. namespace NTMiner.Controllers {
  6. // 注意该控制器不能重命名
  7. public class ServerMessageController : ApiControllerBase, IServerMessageController {
  8. [HttpPost]
  9. public DataResponse<List<ServerMessageData>> ServerMessages([FromBody]ServerMessagesRequest request) {
  10. try {
  11. DateTime timestamp = Timestamp.FromTimestamp(request.Timestamp + 1);
  12. var data = WebApiRoot.ServerMessageSet.GetServerMessages(timestamp);
  13. return DataResponse<List<ServerMessageData>>.Ok(data);
  14. }
  15. catch (Exception e) {
  16. Logger.ErrorDebugLine(e);
  17. return ResponseBase.ServerError<DataResponse<List<ServerMessageData>>>(e.Message);
  18. }
  19. }
  20. [Role.Admin]
  21. [HttpPost]
  22. public ResponseBase AddOrUpdateServerMessage([FromBody]DataRequest<ServerMessageData> request) {
  23. if (request == null || request.Data == null) {
  24. return ResponseBase.InvalidInput("参数错误");
  25. }
  26. try {
  27. VirtualRoot.Execute(new AddOrUpdateServerMessageCommand(request.Data));
  28. WebApiRoot.UpdateServerMessageTimestamp();
  29. return ResponseBase.Ok();
  30. }
  31. catch (Exception e) {
  32. Logger.ErrorDebugLine(e);
  33. return ResponseBase.ServerError(e.Message);
  34. }
  35. }
  36. [Role.Admin]
  37. [HttpPost]
  38. public ResponseBase MarkDeleteServerMessage([FromBody]DataRequest<Guid> request) {
  39. if (request == null || request.Data == Guid.Empty) {
  40. return ResponseBase.InvalidInput("参数错误");
  41. }
  42. try {
  43. VirtualRoot.Execute(new MarkDeleteServerMessageCommand(request.Data));
  44. WebApiRoot.UpdateServerMessageTimestamp();
  45. return ResponseBase.Ok();
  46. }
  47. catch (Exception e) {
  48. Logger.ErrorDebugLine(e);
  49. return ResponseBase.ServerError(e.Message);
  50. }
  51. }
  52. }
  53. }