EdgeAppFetchResponseDTO.java 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. package com.usky.ai.dto;
  2. import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
  3. import com.fasterxml.jackson.annotation.JsonProperty;
  4. import lombok.Data;
  5. import java.util.List;
  6. @Data
  7. @JsonIgnoreProperties(ignoreUnknown = true)
  8. public class EdgeAppFetchResponseDTO {
  9. @JsonProperty("BoardId")
  10. private String boardId;
  11. @JsonProperty("BoardIp")
  12. private String boardIp;
  13. @JsonProperty("Content")
  14. private List<MediaContent> content;
  15. @JsonProperty("Event")
  16. private String event = "/alg_media_fetch"; // 固定值
  17. @JsonProperty("Result")
  18. private Result result;
  19. private long time = System.currentTimeMillis();
  20. public boolean isSuccess() {
  21. return result != null && Integer.valueOf(0).equals(result.getCode());
  22. }
  23. @Data
  24. @JsonIgnoreProperties(ignoreUnknown = true)
  25. public static class Result {
  26. @JsonProperty("Code")
  27. private Integer code;
  28. @JsonProperty("Desc")
  29. private String desc;
  30. }
  31. @Data
  32. @JsonIgnoreProperties(ignoreUnknown = true)
  33. public static class MediaContent {
  34. @JsonProperty("MediaName")
  35. private String mediaName;
  36. @JsonProperty("MediaDesc")
  37. private String mediaDesc;
  38. @JsonProperty("MediaUrl")
  39. private String mediaUrl;
  40. @JsonProperty("RtspTransport")
  41. private Boolean rtspTransport;
  42. @JsonProperty("GBTransport")
  43. private Boolean gbTransport;
  44. @JsonProperty("SubId")
  45. private String subId;
  46. @JsonProperty("MediaStatus")
  47. private MediaStatus mediaStatus;
  48. @JsonProperty("Params")
  49. private List<Param> params;
  50. @JsonProperty("ProtocolType")
  51. private Integer protocolType;
  52. @JsonProperty("SipBChannelId")
  53. private String sipBChannelId;
  54. @Data
  55. @JsonIgnoreProperties(ignoreUnknown = true)
  56. public static class Param {
  57. @JsonProperty("Key")
  58. private String key;
  59. @JsonProperty("Name")
  60. private String name;
  61. @JsonProperty("Type")
  62. private String type;
  63. // 既能是 String 也能是 List<String>
  64. @JsonProperty("Value")
  65. private Object value;
  66. }
  67. @Data
  68. @JsonIgnoreProperties(ignoreUnknown = true)
  69. public static class MediaStatus {
  70. @JsonProperty("type")
  71. private Integer type;
  72. @JsonProperty("style")
  73. private String style;
  74. @JsonProperty("label")
  75. private String label;
  76. @JsonProperty("size")
  77. private Size size;
  78. @Data
  79. public static class Size {
  80. @JsonProperty("width")
  81. private Integer width;
  82. @JsonProperty("height")
  83. private Integer height;
  84. }
  85. }
  86. }
  87. }