fix: 修复设备限速和切卡接口请求字段解析错误
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 9m15s
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 9m15s
SetSpeedLimit 和 SwitchCard 的 Handler 直接解析 gateway 结构体(驼峰命名), 导致与 OpenAPI 文档(DTO 蛇形命名)不一致,前端按文档调用时参数被静默丢弃。 改为先解析 DTO,再手动映射到 gateway 结构体,使文档与实际行为一致。 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -279,7 +279,7 @@ func (h *DeviceHandler) SetSpeedLimit(c *fiber.Ctx) error {
|
||||
return errors.New(errors.CodeInvalidParam, "设备号不能为空")
|
||||
}
|
||||
|
||||
var req gateway.SpeedLimitReq
|
||||
var req dto.SetSpeedLimitRequest
|
||||
if err := c.BodyParser(&req); err != nil {
|
||||
return errors.New(errors.CodeInvalidParam, "请求参数解析失败")
|
||||
}
|
||||
@@ -291,8 +291,11 @@ func (h *DeviceHandler) SetSpeedLimit(c *fiber.Ctx) error {
|
||||
}
|
||||
|
||||
// 调用 Gateway
|
||||
req.DeviceID = imei
|
||||
err = h.gatewayClient.SetSpeedLimit(c.UserContext(), &req)
|
||||
err = h.gatewayClient.SetSpeedLimit(c.UserContext(), &gateway.SpeedLimitReq{
|
||||
DeviceID: imei,
|
||||
UploadSpeed: req.UploadSpeed,
|
||||
DownloadSpeed: req.DownloadSpeed,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -335,7 +338,7 @@ func (h *DeviceHandler) SwitchCard(c *fiber.Ctx) error {
|
||||
return errors.New(errors.CodeInvalidParam, "设备号不能为空")
|
||||
}
|
||||
|
||||
var req gateway.SwitchCardReq
|
||||
var req dto.SwitchCardRequest
|
||||
if err := c.BodyParser(&req); err != nil {
|
||||
return errors.New(errors.CodeInvalidParam, "请求参数解析失败")
|
||||
}
|
||||
@@ -347,8 +350,10 @@ func (h *DeviceHandler) SwitchCard(c *fiber.Ctx) error {
|
||||
}
|
||||
|
||||
// 调用 Gateway
|
||||
req.DeviceID = imei
|
||||
err = h.gatewayClient.SwitchCard(c.UserContext(), &req)
|
||||
err = h.gatewayClient.SwitchCard(c.UserContext(), &gateway.SwitchCardReq{
|
||||
DeviceID: imei,
|
||||
TargetICCID: req.TargetICCID,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user