sitesInfoManageDTO.go 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. package dto
  2. import (
  3. "fwh-toolbox-server/domain"
  4. )
  5. type SiteInfoRequest struct {
  6. Search string `json:"search"`
  7. Filter *domain.SiteInfoFilter `json:"filter"`
  8. PageSize uint `json:"pageSize"`
  9. PageNum uint `json:"pageNum"`
  10. }
  11. type SiteInfoDTO struct {
  12. Sn string `bson:"_id" json:"sn"` // aGate SN
  13. Name *string `bson:"name,omitempty" json:"name,omitempty"`
  14. DistributorId *int `bson:"distributorId,omitempty" json:"distributorId,omitempty"` // 经销商ID
  15. DistributorName *string `bson:"distributorName,omitempty" json:"distributorName,omitempty"` // 经销商名称
  16. InstallerId *int `bson:"installerId,omitempty" json:"installerId,omitempty"` // 安装商ID
  17. InstallerAccountId *int `bson:"installerAccountId,omitempty" json:"installerAccountId,omitempty"` // 安装商账号ID
  18. InstallerAccount *string `bson:"installerAccount,omitempty" json:"installerAccount,omitempty"` // 安装商账号
  19. InstallerName *string `bson:"installerName,omitempty" json:"installerName,omitempty"` // 安装商名称
  20. MaintId *int `bson:"maintId,omitempty" json:"maintId,omitempty"` // 维护商ID
  21. MaintName *string `bson:"maintName,omitempty" json:"maintName,omitempty"` // 维护商名称
  22. Account *string `bson:"account,omitempty" json:"account,omitempty"` // 绑定的用户账号
  23. AccountName *string `bson:"accountName,omitempty" json:"accountName,omitempty"` // 绑定账号名
  24. Longitude string `bson:"longitude" json:"longitude"` // 经度
  25. Latitude string `bson:"latitude" json:"latitude"` // 纬度
  26. Address *string `bson:"address,omitempty" json:"address,omitempty"`
  27. InstallTime *string `bson:"installTime,omitempty" json:"installTime,omitempty"` // 安装时间
  28. ActiveStatus int `bson:"activeStatus" json:"activeStatus"` // 激活状态 0-未激活 1-激活
  29. ActiveTime string `bson:"activeTime" json:"activeTime"` // 激活时间(北京时间)
  30. LocalActiveTime string `bson:"localActiveTime" json:"localActiveTime"` // 激活时间(站点当地时间)
  31. Status int `bson:"status" json:"status"` // 网络状态 0-离线 1-在线
  32. OnLineTime *string `bson:"onLineTime,omitempty" json:"onLineTime,omitempty"` // 最后上线时间 YYYY-MM-DD HH:mm:SS
  33. OffLineTime *string `bson:"offLineTime,omitempty" json:"offLineTime,omitempty"` // 最后离线时间 YYYY-MM-DD HH:mm:SS
  34. // model * ??? 未知字段 (TODO:后续处理)
  35. DeviceIp *string `bson:"deviceIp,omitempty" json:"deviceIp,omitempty"` // 设备联网IP
  36. Subnet *string `bson:"subnet,omitempty" json:"subnet,omitempty"` // 子掩码
  37. Mac *string `bson:"mac,omitempty" json:"mac,omitempty"` // MAC地址
  38. GatewayIp *string `bson:"gatewayIp,omitempty" json:"gatewayIp,omitempty"` // 网关IP
  39. Signal *string `bson:"signal,omitempty" json:"signal,omitempty"` // 信号强度
  40. ICCID string `bson:"iccId" json:"iccId"`
  41. IMEI string `bson:"imei" json:"imei"`
  42. FirmUpgradeTime *string `bson:"firmUpgradeTime,omitempty" json:"firmUpgradeTime,omitempty"` // 固件最后更新时间 YYYY-MM-DD HH:mm:SS
  43. TurnoverTime *string `bson:"turnoverTime,omitempty" json:"turnoverTime,omitempty"` // 周转时间??? YYYY-MM-DD HH:mm:SS
  44. CreateTime *string `bson:"createTime,omitempty" json:"createTime,omitempty"` // 设备首次登录时间 YYYY-MM-DD HH:mm:SS
  45. // 忽略部分功率字段powerSun、powerGen、powerUti、powerFhp、powerLoad
  46. BatterySoc *float32 `bson:"batterySoc,omitempty" json:"batterySoc,omitempty"` // 系统电池SOC
  47. RunStatus int `bson:"runStatus" json:"runStatus"` // 设备运行状态 0-待机 1-充电 2-放电 3-故障
  48. EmsModel *int `bson:"emsModel,omitempty" json:"emsModel,omitempty"` // EMS调度运行模式(策略) 参考调度ID
  49. ElectricityType int `bson:"electricityType" json:"electricityType"` // 电网类型 0-离网运行 1-并网运行
  50. // workMode * ??? 未知字段 (TODO:后续处理)
  51. FhpSn string `bson:"fhpSn" json:"fhpSn"` // aPower SN 多设备用,分割
  52. TimeZone float32 `bson:"timeZone" json:"timeZone"` // 时区数值
  53. Version string `bson:"version" json:"version"` // 设备固件版本
  54. SlVersion string `bson:"slVersion" json:"slVersion"` // EMS-DSP版本
  55. SlVersionJson string `bson:"slVersionJson" json:"slVersionJson"` // EMS-DSP版本详细信息JSON
  56. MeterVersion *string `bson:"meterVersion,omitempty" json:"meterVersion,omitempty"` // 电表版本
  57. MbVersion *string `bson:"mbVersion,omitempty" json:"mbVersion,omitempty"` // MODBUS版本
  58. AwsVersion *string `bson:"awsVersion,omitempty" json:"awsVersion,omitempty"` // AWS版本
  59. AppVersion *string `bson:"appVersion,omitempty" json:"appVersion,omitempty"` // APP版本(与APP通讯的模块软件)
  60. ElecnetStatus int `bson:"elecnetStatus" json:"elecnetStatus"` // 电网状态 0-离网 1-并网
  61. SlaverStat int `bson:"slaverStat" json:"slaverStat"` // EMS-DSP状态
  62. Dst *int `bson:"dst,omitempty" json:"dst,omitempty"` // 夏令时 0-否 1-是
  63. ZoneInfo string `bson:"zoneInfo" json:"zoneInfo"` // 时区信息 America/Los_Angeles
  64. PostCode string `bson:"postCode" json:"postCode"` // 邮编
  65. DeviceTime *string `bson:"deviceTime,omitempty" json:"deviceTime,omitempty"` // 设备时间 YYYY-MM-DD HH:mm:SS
  66. ProtocolVer string `bson:"protocolVer" json:"protocolVer"` // 协议版本
  67. SysHdVersion int `bson:"sysHdVersion" json:"sysHdVersion"` // aGate硬件版本
  68. RealSysHdVersion *string `bson:"realSysHdVersion,omitempty" json:"realSysHdVersion,omitempty"` // aGate系统版本名称
  69. WifiSignal string `bson:"wifiSignal" json:"wifiSignal"` // WIFI信号
  70. ConnType int `bson:"connType" json:"connType"` // 网络连接类型 0-未连接 1-eth0 2-eth1 3-WIFI 4-4G
  71. UserName *string `bson:"userName,omitempty" json:"userName,omitempty"`
  72. ContactNumber *string `bson:"contactNumber,omitempty" json:"contactNumber,omitempty"` // 联系方式(手机号)
  73. // 忽略部分未知字段totalData、usedData、resourceList
  74. FinancierName *string `bson:"financierName,omitempty" json:"financierName,omitempty"` // 大客户名称
  75. FinancierContractNumber *string `bson:"financierContractNumber,omitempty" json:"financierContractNumber,omitempty"` // 大客户联系方式(手机号)
  76. CountryId *int `bson:"countryId,omitempty" json:"countryId,omitempty"` // 国家ID
  77. ProvinceId *int `bson:"provinceId,omitempty" json:"provinceId,omitempty"` // 州/省ID
  78. FinancierId *int `bson:"financierId,omitempty" json:"financierId,omitempty"` // 大客户ID
  79. FirstName *string `bson:"firstName,omitempty" json:"firstName,omitempty"` // 用户名
  80. LastName *string `bson:"lastName,omitempty" json:"lastName,omitempty"` // 用户姓
  81. // region * ??? 未知字段 (TODO:后续处理)
  82. Remark *string `bson:"remark,omitempty" json:"remark,omitempty"` // 备注信息
  83. GenEn int `bson:"genEn" json:"genEn"` // 发电机是否使能 0-不使能 1-使能
  84. UserId *int `bson:"userId,omitempty" json:"userId,omitempty"` // 用户ID
  85. Country string `bson:"country" json:"country"` // 国家
  86. Province string `bson:"province" json:"province"` // 州/省
  87. City string `bson:"city" json:"city"` // 城市
  88. AddressSecondLast *string `bson:"addressSecondLast,omitempty" json:"addressSecondLast,omitempty"`
  89. DeviceAddress *string `bson:"deviceAddress,omitempty" json:"deviceAddress,omitempty"` // 设备地址
  90. // whetherEncrypt * ??? 未知字段 (TODO:后续处理)
  91. EmsDeviceVer *int `bson:"emsDeviceVer,omitempty" json:"emsDeviceVer,omitempty"` // EMS版本
  92. Site *string `bson:"site,omitempty" json:"site,omitempty"` // 站点ID名
  93. // 忽略部分字段newHomeFlag、sleepStatus、isJoinJA12
  94. SiteId *uint `bson:"siteId,omitempty" json:"siteId,omitempty"` // 站点ID号
  95. JobCode *string `bson:"jobCode,omitempty" json:"jobCode,omitempty"` // Job Code (Sunrun相关)
  96. }
  97. // Code generated. SiteInfoDomain -> SiteInfoDTO
  98. func SiteInfoDomainToSiteInfoDTO(src *domain.SiteInfoDomain) *SiteInfoDTO {
  99. if src == nil {
  100. return nil
  101. }
  102. return &SiteInfoDTO{
  103. Sn: src.Sn,
  104. Name: src.Name,
  105. DistributorId: src.DistributorId,
  106. DistributorName: src.DistributorName,
  107. InstallerId: src.InstallerId,
  108. InstallerAccountId: src.InstallerAccountId,
  109. InstallerAccount: src.InstallerAccount,
  110. InstallerName: src.InstallerName,
  111. MaintId: src.MaintId,
  112. MaintName: src.MaintName,
  113. Account: src.Account,
  114. AccountName: src.AccountName,
  115. Longitude: src.Longitude,
  116. Latitude: src.Latitude,
  117. Address: src.Address,
  118. InstallTime: src.InstallTime,
  119. ActiveStatus: src.ActiveStatus,
  120. ActiveTime: src.ActiveTime,
  121. Status: src.Status,
  122. OnLineTime: src.OnLineTime,
  123. OffLineTime: src.OffLineTime,
  124. DeviceIp: src.DeviceIp,
  125. Subnet: src.Subnet,
  126. Mac: src.Mac,
  127. GatewayIp: src.GatewayIp,
  128. Signal: src.Signal,
  129. ICCID: src.ICCID,
  130. IMEI: src.IMEI,
  131. FirmUpgradeTime: src.FirmUpgradeTime,
  132. TurnoverTime: src.TurnoverTime,
  133. CreateTime: src.CreateTime,
  134. BatterySoc: src.BatterySoc,
  135. RunStatus: src.RunStatus,
  136. EmsModel: src.EmsModel,
  137. ElectricityType: src.ElectricityType,
  138. FhpSn: src.FhpSn,
  139. TimeZone: src.TimeZone,
  140. Version: src.Version,
  141. SlVersion: src.SlVersion,
  142. SlVersionJson: src.SlVersionJson,
  143. MeterVersion: src.MeterVersion,
  144. MbVersion: src.MbVersion,
  145. AwsVersion: src.AwsVersion,
  146. AppVersion: src.AppVersion,
  147. ElecnetStatus: src.ElecnetStatus,
  148. SlaverStat: src.SlaverStat,
  149. Dst: src.Dst,
  150. ZoneInfo: src.ZoneInfo,
  151. PostCode: src.PostCode,
  152. DeviceTime: src.DeviceTime,
  153. ProtocolVer: src.ProtocolVer,
  154. SysHdVersion: src.SysHdVersion,
  155. RealSysHdVersion: src.RealSysHdVersion,
  156. WifiSignal: src.WifiSignal,
  157. ConnType: src.ConnType,
  158. UserName: src.UserName,
  159. ContactNumber: src.ContactNumber,
  160. FinancierName: src.FinancierName,
  161. FinancierContractNumber: src.FinancierContractNumber,
  162. CountryId: src.CountryId,
  163. ProvinceId: src.ProvinceId,
  164. FinancierId: src.FinancierId,
  165. FirstName: src.FirstName,
  166. LastName: src.LastName,
  167. Remark: src.Remark,
  168. GenEn: src.GenEn,
  169. UserId: src.UserId,
  170. Country: src.Country,
  171. Province: src.Province,
  172. City: src.City,
  173. AddressSecondLast: src.AddressSecondLast,
  174. DeviceAddress: src.DeviceAddress,
  175. EmsDeviceVer: src.EmsDeviceVer,
  176. Site: src.Site,
  177. SiteId: src.SiteId,
  178. }
  179. }