| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package fwh_pro
- import (
- "fmt"
- "fwh-toolbox-server/domain"
- "fwh-toolbox-server/dto"
- "net/url"
- "time"
- )
- // 查询站点功率流信息
- func querySitePowerFlow(sn string, day time.Time) (*domain.FwhResponseA[dto.SitePowerFlow], error) {
- // 构造 query 参数
- params := url.Values{}
- params.Add("gatewayId", sn)
- params.Add("dayTime", day.Format(time.DateOnly)) // 会自动 URL 编码
- response, err := FwhHttpGetUnmarshalA[dto.SitePowerFlow](getFullEnergyUrl("/api-energy/power/getFhpPowerByDayOld"), params)
- if err != nil {
- return nil, err
- }
- return response, nil
- }
- // 从fwh_pro获取站点功率流
- //
- // 限制条件:day 仅取其字面「年月日」(内部 day.Format(time.DateOnly)),时分秒与时区被丢弃。
- // 调用方需保证 day 的字面日期就是目标日期;若传入的时间因时区换算会跨天(如本地 00:00 换算到
- // UTC 落到前一天),会查错日期。DataDownload 传本地时区当天 00:00,字面日期正确。
- // 本函数不做按天分片,无 QueryMqttLogListOnTimeRange 那类 Truncate 死循环风险。
- func QuerySitePowerFlow(site string, day time.Time) (*domain.FwhResponseA[dto.SitePowerFlow], error) {
- sitePowerFlowRes, err := querySitePowerFlow(site, day)
- if err != nil {
- return nil, err
- }
- if sitePowerFlowRes.Code != 200 {
- return nil, fmt.Errorf("[queryMqttLogListOnePage] 查询失败 code: %d, message: %s", sitePowerFlowRes.Code, sitePowerFlowRes.Msg)
- }
- return sitePowerFlowRes, nil
- }
|