fwhTestTouTemplateDTO.go 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. package dto
  2. /************ updateOrSaveIotTouTemplate(新增/更新模板) ************/
  3. // FwhTestTouTemplateDetailVo 时段明细
  4. // 说明:字段统一用 string,未设置传空串 "";有值时按下方各字段说明的数值格式填写(与前端 HAR 行为一致)。
  5. type FwhTestTouTemplateDetailVo struct {
  6. StartHourTime string `json:"startHourTime"` // 开始时间 格式 HH:mm,如 06:30
  7. EndHourTime string `json:"endHourTime"` // 结束时间 格式 HH:mm,需与下一个 startHourTime 重叠,所有时段需覆盖一整天
  8. WaveType string `json:"waveType"` // 峰平谷定义(flag) 数值:0-谷 1-平 2-峰 3-尖峰 4-低谷
  9. Name string `json:"name"` // 时段名 一般为 supper-off-peak、off-peak、mid-peak、on-peak、supper-on-peak 等
  10. BriefDescribe string `json:"briefDescribe"` // 时段描述
  11. SolarPriority string `json:"solarPriority"` // 光伏供电优先级 格式 "市电,负载,FHP",如 "1,3,2";优先级 0/1/2/3,可相同(表示按比例/功率分配),0-不涉及,数字越大优先级越高
  12. GridDischargeMax string `json:"gridDischargeMax"` // 电池最大允许馈网功率 数值(单位kW,精度0.1);可选,默认0不能馈网;0-不可馈网,-1-不限制
  13. GridChargeMax string `json:"gridChargeMax"` // 电网允许最大充电功率 数值(单位kW,精度0.1);可选,默认0不允许;0-不允许,-1-不限制
  14. ChargePower string `json:"chargePower"` // 固定电池充电功率 数值(单位kW,精度0.1),按单台功率计算;可选,默认-1未设置
  15. DischargePower string `json:"dischargePower"` // 固定电池放电功率 数值(单位kW,精度0.1),按单台功率计算;可选,默认-1未设置
  16. ChargeMax string `json:"chargeMax"` // 电池最大允许充电功率 数值(单位kW,精度0.1),按单台功率计算;-1-无限制,默认-1
  17. DischargeMax string `json:"dischargeMax"` // 电池最大允许放电功率 数值(单位kW,精度0.1),按单台功率计算;-1-无限制,默认-1
  18. GcaoMax string `json:"gcaoMax"` // GCAO(grid charge after an outage) 停电后补电至预留SOC的单台市电取电功率 可选;0-不允许,-1-不限制;默认未设置(-3);使能后未设值则为 5kw*N(用-2标识)
  19. LoadPriority string `json:"loadPriority"` // 负载取电优先级 格式 "市电,光伏,FHP",如 "1,3,2";优先级 0/1/2/3,可相同(表示按比例/功率分配),0-不使用此源,数字越大优先级越高
  20. GridFeedMax string `json:"gridFeedMax"` // 电网允许最大馈网功率 数值(单位kW,精度0.1);可选,默认-2;0-不允许,-1-不限制,-2-未设置
  21. GridMax string `json:"gridMax"` // 电网允许最大取电功率 数值(单位kW,精度0.1);可选,默认-1不限制;0-不允许,-1-不限制
  22. MinDischargeSoc string `json:"minDischargeSoc"` // 放电截止SOC 数值(单位%,整数);达到此SOC后电池不放电,可选,默认0%;若 reserved_soc 大于此值则以 reserved_soc 为准
  23. MaxChargeSoc string `json:"maxChargeSoc"` // 充电截止SOC 数值(单位%,整数);可选,默认100%
  24. HeatEnable string `json:"heatEnable"` // 充电加热使能 数值:0-未设置(默认) 1-不使能 2-使能
  25. PowerOffApower string `json:"powerOffApower"` // 主动关闭APower 可选,0-不控制(默认) 1-关机 2-开机(预留)
  26. RampTime string `json:"rampTime"` // 爬坡时间 数值(单位秒,0~300);默认0,BB套餐默认300
  27. OffGrid string `json:"offGrid"` // 主动断开市电继电器 数值:0-不控制(默认) 1-断开 2-闭合(预留)
  28. SolarCutoff string `json:"solarCutoff"` // 主动断开光伏继电器 数值:0-不控制(默认) 1-断开 2-闭合(预留)
  29. }
  30. // FwhTestTouTemplateStrategy 策略(季节/日类型 + 时段明细列表)
  31. type FwhTestTouTemplateStrategy struct {
  32. CcociateType string `json:"ccociateType"` // 关联类型 数值编码,如 1
  33. CcociateSn string `json:"ccociateSn"` // 关联设备SN
  34. DetailVoList []FwhTestTouTemplateDetailVo `json:"detailVoList"` // 时段策略表,所有配置的时间需覆盖一整天
  35. SeasonName string `json:"seasonName"` // 季节名 用于标识策略范围,可自定义,如 summer、All months
  36. Month string `json:"month"` // 逗号分隔的月份,如 1,2,3...
  37. DayName string `json:"dayName"` // 日期类型的可读名称,如 Every day、Weekdays(与 dayType 对应)
  38. DayType string `json:"dayType"` // 日期类型 数值编码(非自定义字符串),如 3-Every day;可读名见 dayName
  39. // 购电电价(各时段单价;未设置传 null)
  40. EleticRatePeak *float64 `json:"eleticRatePeak"` // 峰时购电电价
  41. EleticRateShoulder *float64 `json:"eleticRateShoulder"` // 平时购电电价
  42. EleticRateValley *float64 `json:"eleticRateValley"` // 谷时购电电价
  43. EleticRateSharp *float64 `json:"eleticRateSharp"` // 尖峰购电电价
  44. EleticRateSuperOffPeak *float64 `json:"eleticRateSuperOffPeak"` // 超低谷购电电价
  45. EleticRateGridFee *float64 `json:"eleticRateGridFee"` // 电网附加费
  46. // 卖电(上网)电价(各时段单价;未设置传 null)
  47. EleticSellPeak *float64 `json:"eleticSellPeak"` // 峰时卖电电价
  48. EleticSellShoulder *float64 `json:"eleticSellShoulder"` // 平时卖电电价
  49. EleticSellValley *float64 `json:"eleticSellValley"` // 谷时卖电电价
  50. EleticSellSharp *float64 `json:"eleticSellSharp"` // 尖峰卖电电价
  51. EleticSellSuperOffPeak *float64 `json:"eleticSellSuperOffPeak"` // 超低谷卖电电价
  52. }
  53. // FwhTestTouTemplateInfo 模板主体
  54. // templateId:创建模板时省略此字段(nil);更新模板时必须带此字段并填入模板ID。读取(detail/list)返回时该字段必定存在。
  55. type FwhTestTouTemplateInfo struct {
  56. CountryId string `json:"countryId"` // 国家ID 数值
  57. ProvinceId string `json:"provinceId"` // 州/省ID 数值
  58. DerSchdule string `json:"derSchdule"` // DER 调度配置
  59. EleCompanyFullName string `json:"eleCompanyFullName"` // 电力公司全称
  60. ElectricCompany string `json:"electricCompany"` // 电力公司
  61. GridType string `json:"gridType"` // 电网类型
  62. ElectricityType string `json:"electricityType"` // 电价类型 数值:1-分时电价 2-阶梯电价 3-固定电价 4-分时&阶梯电价 5-BB套餐 6-Peak Demand
  63. Name string `json:"name"` // 模板/策略表名称
  64. MookRunCount string `json:"mookRunCount"` // 模式执行次数(loop) 数值:0-不限次数 1-执行一次
  65. Priority string `json:"priority"` // 模式优先级 数值,默认0,0最低,数字越大优先级越高
  66. Env string `json:"env"` // 模式使用条件 数值(位域),默认0;bit0~1 光伏;bit2~3 馈网;bit4~5 电网充电
  67. TemplateId *string `json:"templateId,omitempty"` // 模板ID 数值;创建时省略(nil),更新时必填。读取返回时必定存在
  68. SourceType string `json:"sourceType"` // 模板类型 数值,必填;当前仅允许 0-系统模板(1-API模板 2-用户推荐 暂不支持写入)
  69. }
  70. // FwhTestUpdateOrSaveTouTemplatePayload 新增/更新模板请求体(JSON)
  71. type FwhTestUpdateOrSaveTouTemplatePayload struct {
  72. Template FwhTestTouTemplateInfo `json:"template"`
  73. StrategyList []FwhTestTouTemplateStrategy `json:"strategyList"`
  74. Lang string `json:"lang"`
  75. }
  76. /************ selectCitesList(查询国家下的省/市列表) ************/
  77. // FwhTestCityInfo 城市
  78. type FwhTestCityInfo struct {
  79. Id int `json:"id"`
  80. NameEn string `json:"nameEn"`
  81. NameZh string `json:"nameZh"`
  82. Latitude string `json:"latitude"`
  83. Longitude string `json:"longitude"`
  84. }
  85. // FwhTestProvinceInfo 省/州(可能包含 cityList)
  86. type FwhTestProvinceInfo struct {
  87. Id int `json:"id"`
  88. NameEn string `json:"nameEn"`
  89. NameZh string `json:"nameZh"`
  90. Latitude string `json:"latitude"`
  91. Longitude string `json:"longitude"`
  92. CityList []FwhTestCityInfo `json:"cityList"`
  93. }
  94. // FwhTestCountryInfo 国家
  95. type FwhTestCountryInfo struct {
  96. Id int `json:"id"`
  97. NameEn string `json:"nameEn"`
  98. NameZh string `json:"nameZh"`
  99. Latitude string `json:"latitude"`
  100. Longitude string `json:"longitude"`
  101. }
  102. // FwhTestCitesListData selectCitesList 返回结构
  103. type FwhTestCitesListData struct {
  104. CountryList []FwhTestCountryInfo `json:"countryList"`
  105. ProvinceList []FwhTestProvinceInfo `json:"provinceList"`
  106. CityList []FwhTestCityInfo `json:"cityList"`
  107. }