Ai
1 Star 0 Fork 0

万桩充电桩/wzopen-sdk-go

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
device_state.go 3.52 KB
一键复制 编辑 原始数据 按行查看 历史
卡森卡森 提交于 2025-02-11 15:09 +08:00 . feat: 修改mod
package sdk
import (
"bytes"
"encoding/json"
"errors"
"net/url"
"strings"
"gitee.com/wz-open-platform/wzopen-sdk-go/constants"
"gitee.com/wz-open-platform/wzopen-sdk-go/model"
"gitee.com/wz-open-platform/wzopen-sdk-go/tools"
"github.com/tidwall/gjson"
)
// 使设备重启
func (c *client) DeviceStateRestart(req *model.DeviceStateRestart) (resp *model.Response, err error) {
method := "POST"
postparams := tools.StructToMap(req)
postparams = c.buildPostParam(postparams)
postparamBytes, err := json.Marshal(postparams)
if err != nil {
return
}
bytes, err := tools.DoHttp(c.baseURL+"/open/device/state/restart", method, map[string]string{}, bytes.NewBuffer([]byte(postparamBytes)), nil)
if err != nil {
return
}
if gjson.GetBytes(bytes, "code").Int() != constants.SucceedCode {
err = errors.New(gjson.GetBytes(bytes, "message").String())
return
}
err = json.Unmarshal(bytes, &resp)
return
}
// 使设备离线
func (c *client) DeviceStateOffline(req *model.DeviceStateOffline) (resp *model.Response, err error) {
method := "POST"
postparams := tools.StructToMap(req)
postparams = c.buildPostParam(postparams)
postparamBytes, err := json.Marshal(postparams)
if err != nil {
return
}
bytes, err := tools.DoHttp(c.baseURL+"/open/device/state/offline", method, map[string]string{}, bytes.NewBuffer([]byte(postparamBytes)), nil)
if err != nil {
return
}
if gjson.GetBytes(bytes, "code").Int() != constants.SucceedCode {
err = errors.New(gjson.GetBytes(bytes, "message").String())
return
}
err = json.Unmarshal(bytes, &resp)
return
}
// 设置离线收益
func (c *client) DeviceStateOfflineProfit(req *model.DeviceStateOfflineProfit) (resp *model.Response, err error) {
method := "POST"
postparams := tools.StructToMap(req)
postparams = c.buildPostParam(postparams)
postparamBytes, err := json.Marshal(postparams)
if err != nil {
return
}
bytes, err := tools.DoHttp(c.baseURL+"/open/device/state/offline_profit", method, map[string]string{}, bytes.NewBuffer([]byte(postparamBytes)), nil)
if err != nil {
return
}
if gjson.GetBytes(bytes, "code").Int() != constants.SucceedCode {
err = errors.New(gjson.GetBytes(bytes, "message").String())
return
}
err = json.Unmarshal(bytes, &resp)
return
}
// 设置端口故障
func (c *client) DeviceStatePortError(req *model.DeviceStatePortError) (resp *model.Response, err error) {
method := "POST"
postparams := tools.StructToMap(req)
postparams = c.buildPostParam(postparams)
postparamBytes, err := json.Marshal(postparams)
if err != nil {
return
}
bytes, err := tools.DoHttp(c.baseURL+"/open/device/state/port/error", method, map[string]string{}, bytes.NewBuffer([]byte(postparamBytes)), nil)
if err != nil {
return
}
if gjson.GetBytes(bytes, "code").Int() != constants.SucceedCode {
err = errors.New(gjson.GetBytes(bytes, "message").String())
return
}
err = json.Unmarshal(bytes, &resp)
return
}
// 获取设备状态
func (c *client) DeviceState(req *model.DeviceStateReq) (resp *model.DeviceStateResp, err error) {
method := "GET"
getparams := url.Values{}
getparams.Add("device_num", req.DeviceNum)
if len(req.PortFields) > 0 {
getparams.Add("port_fields", strings.Join(req.PortFields, ","))
}
getparams = c.buildGetParam(getparams)
bytes, err := tools.DoHttp(c.baseURL+"/open/device/state", method, map[string]string{}, nil, getparams)
if err != nil {
return
}
if gjson.GetBytes(bytes, "code").Int() != constants.SucceedCode {
err = errors.New(gjson.GetBytes(bytes, "message").String())
return
}
err = json.Unmarshal(bytes, &resp)
return
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/wz-open-platform/wzopen-sdk-go.git
git@gitee.com:wz-open-platform/wzopen-sdk-go.git
wz-open-platform
wzopen-sdk-go
wzopen-sdk-go
v1.0.1

搜索帮助