StationVo.java 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. package com.kym.entity.admin.vo;
  2. import com.alibaba.fastjson2.JSONArray;
  3. import com.alibaba.fastjson2.JSONObject;
  4. import com.alibaba.fastjson2.annotation.JSONCreator;
  5. import com.alibaba.fastjson2.annotation.JSONField;
  6. import com.baomidou.mybatisplus.annotation.TableField;
  7. import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
  8. import com.kym.entity.BaseEntity;
  9. import com.kym.entity.admin.Activity;
  10. import com.kym.entity.enplus.EnEquipmentInfo;
  11. import lombok.Data;
  12. import lombok.NoArgsConstructor;
  13. import lombok.experimental.Accessors;
  14. import java.io.Serializable;
  15. import java.util.List;
  16. /**
  17. * <p>
  18. * 充电站信息
  19. * </p>
  20. *
  21. * @author skyline
  22. * @since 2023-08-12
  23. */
  24. @Data
  25. @NoArgsConstructor
  26. @Accessors(chain = true)
  27. public class StationVo extends BaseEntity implements Serializable {
  28. private static final long serialVersionUID = 1L;
  29. /**
  30. * 电站组id
  31. */
  32. private Long groupId;
  33. /**
  34. * en+充电站id
  35. */
  36. @JSONField(name = "StationID")
  37. private String stationId;
  38. /**
  39. * en+运营商id
  40. */
  41. @JSONField(name = "OperatorID")
  42. private String operatorId;
  43. /**
  44. * 设备所属运营平台组织机构代码
  45. */
  46. @JSONField(name = "EquipmentOwnerID")
  47. private String equipmentOwnerId;
  48. /**
  49. * 站点名称
  50. */
  51. @JSONField(name = "StationName")
  52. private String stationName;
  53. /**
  54. * 充电中国家代码:CN
  55. */
  56. @JSONField(name = "CountryCode")
  57. private String countryCode;
  58. /**
  59. * 充电站省市辖区编码
  60. */
  61. @JSONField(name = "AreaCode")
  62. private String areaCode;
  63. /**
  64. * 地址
  65. */
  66. @JSONField(name = "Address")
  67. private String address;
  68. /**
  69. * 站点电话
  70. */
  71. @JSONField(name = "StationTel")
  72. private String stationTel;
  73. /**
  74. * 服务电话
  75. */
  76. @JSONField(name = "ServiceTel")
  77. private String serviceTel;
  78. /**
  79. * 站点类型:1:公共 50:个人 100:公交(专业)101:环卫(专用)102:物流(专用)103:出租车(专用)255:其他
  80. */
  81. @JSONField(name = "StationType")
  82. private Integer stationType;
  83. /**
  84. * 站点状态:0:未知 1:建设中 5:关闭下线 6:维护中 50:正常使用
  85. */
  86. @JSONField(name = "StationStatus")
  87. private Integer stationStatus;
  88. /**
  89. * 充电车位数量
  90. */
  91. @JSONField(name = "ParkNums")
  92. private Integer parkingNum;
  93. /**
  94. * 充电桩位置坐标
  95. * <p>
  96. * FastjsonTypeHandler
  97. * 支持 MVC JSON 解析
  98. * 不支持 MySQL JSON 解析
  99. * <p>
  100. * JacksonTypeHandler
  101. * 支持 MVC JSON 解析
  102. * 支持 MySQL JSON 解析
  103. */
  104. @TableField(typeHandler = JacksonTypeHandler.class)
  105. private JSONObject location;
  106. /**
  107. * 站点引导
  108. */
  109. @JSONField(name = "SiteGuide")
  110. private String siteGuide;
  111. /**
  112. * 建设场所:1:居民区 2:公共机构 3:企事业单位 4:写字楼 5:工业园区 6:交通枢纽 7:大型文体设施 8:城市绿地 9:大型建筑配建停车场 10:路边停车位 11:城际高速服务区 255:其他
  113. */
  114. @JSONField(name = "Construction")
  115. private Integer construction;
  116. /**
  117. * 站点照片
  118. */
  119. private String pictures;
  120. /**
  121. * 使用车型描述
  122. */
  123. @JSONField(name = "MatchCars")
  124. private String matchCars;
  125. /**
  126. * 车位楼层及数量描述
  127. */
  128. @JSONField(name = "ParkInfo")
  129. private String parkInfo;
  130. /**
  131. * 营业时间描述
  132. */
  133. @JSONField(name = "BusineHours")
  134. private String businessHours;
  135. /**
  136. * 充电费描述
  137. */
  138. @JSONField(name = "ElectricityFee")
  139. private String electricityFee;
  140. /**
  141. * 服务费率描述
  142. */
  143. @JSONField(name = "ServiceFee")
  144. private String serviceFee;
  145. /**
  146. * 停车费
  147. */
  148. @JSONField(name = "ParkFee")
  149. private String parkFee;
  150. /**
  151. * 支付方式:刷卡、线上、现金(电子钱包类卡为刷卡、身份鉴权卡、微信/支付宝、APP为线上)
  152. */
  153. @JSONField(name = "Payment")
  154. private String payment;
  155. /**
  156. * 是否支持预约:0:不支持 1:支持
  157. */
  158. @JSONField(name = "SupportOrder")
  159. private Integer supportOrder;
  160. /**
  161. * 备注
  162. */
  163. @JSONField(name = "Remark")
  164. private String remark;
  165. /**
  166. * 充电设备信息列表
  167. */
  168. @TableField(exist = false)
  169. private List<EnEquipmentInfo> equipmentInfos;
  170. /**
  171. * 站点活动
  172. */
  173. @TableField(exist = false)
  174. private List<Activity> activityList;
  175. @JSONCreator
  176. public StationVo(@JSONField(name = "StationLng") Double lng, @JSONField(name = "StationLat") Double lat, @JSONField(name = "EquipmentInfos") JSONArray array) {
  177. this.location = JSONObject.of("stationLng", lng, "stationLat", lat);
  178. this.equipmentInfos = array.toJavaList(EnEquipmentInfo.class);
  179. }
  180. }