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, "设备号不能为空")
|
return errors.New(errors.CodeInvalidParam, "设备号不能为空")
|
||||||
}
|
}
|
||||||
|
|
||||||
var req gateway.SpeedLimitReq
|
var req dto.SetSpeedLimitRequest
|
||||||
if err := c.BodyParser(&req); err != nil {
|
if err := c.BodyParser(&req); err != nil {
|
||||||
return errors.New(errors.CodeInvalidParam, "请求参数解析失败")
|
return errors.New(errors.CodeInvalidParam, "请求参数解析失败")
|
||||||
}
|
}
|
||||||
@@ -291,8 +291,11 @@ func (h *DeviceHandler) SetSpeedLimit(c *fiber.Ctx) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 调用 Gateway
|
// 调用 Gateway
|
||||||
req.DeviceID = imei
|
err = h.gatewayClient.SetSpeedLimit(c.UserContext(), &gateway.SpeedLimitReq{
|
||||||
err = h.gatewayClient.SetSpeedLimit(c.UserContext(), &req)
|
DeviceID: imei,
|
||||||
|
UploadSpeed: req.UploadSpeed,
|
||||||
|
DownloadSpeed: req.DownloadSpeed,
|
||||||
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -335,7 +338,7 @@ func (h *DeviceHandler) SwitchCard(c *fiber.Ctx) error {
|
|||||||
return errors.New(errors.CodeInvalidParam, "设备号不能为空")
|
return errors.New(errors.CodeInvalidParam, "设备号不能为空")
|
||||||
}
|
}
|
||||||
|
|
||||||
var req gateway.SwitchCardReq
|
var req dto.SwitchCardRequest
|
||||||
if err := c.BodyParser(&req); err != nil {
|
if err := c.BodyParser(&req); err != nil {
|
||||||
return errors.New(errors.CodeInvalidParam, "请求参数解析失败")
|
return errors.New(errors.CodeInvalidParam, "请求参数解析失败")
|
||||||
}
|
}
|
||||||
@@ -347,8 +350,10 @@ func (h *DeviceHandler) SwitchCard(c *fiber.Ctx) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 调用 Gateway
|
// 调用 Gateway
|
||||||
req.DeviceID = imei
|
err = h.gatewayClient.SwitchCard(c.UserContext(), &gateway.SwitchCardReq{
|
||||||
err = h.gatewayClient.SwitchCard(c.UserContext(), &req)
|
DeviceID: imei,
|
||||||
|
TargetICCID: req.TargetICCID,
|
||||||
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user