开放接口

This commit is contained in:
Break
2026-06-02 16:56:01 +08:00
parent 1b47fb8f32
commit c6e65fde9b
7 changed files with 321 additions and 10 deletions

View File

@@ -160,6 +160,75 @@ func (h *Handler) ListWalletTransactions(c *fiber.Ctx) error {
return response.SuccessWithPagination(c, result.Items, result.Total, result.Page, result.Size)
}
// GetDeviceTraffic 查询设备套餐内流量
// GET /api/open/v1/devices/traffic
func (h *Handler) GetDeviceTraffic(c *fiber.Ctx) error {
var req dto.AgentOpenAPIDeviceQueryRequest
if err := c.QueryParser(&req); err != nil {
return errors.New(errors.CodeInvalidParam)
}
if err := h.validate(&req); err != nil {
return err
}
resp, err := h.service.GetDeviceTraffic(c.UserContext(), &req)
if err != nil {
return err
}
return response.Success(c, resp)
}
// SwitchDeviceCard 切网(多卡设备切换到指定 ICCID
// POST /api/open/v1/devices/switch-card
func (h *Handler) SwitchDeviceCard(c *fiber.Ctx) error {
var req dto.AgentOpenAPIDeviceSwitchCardRequest
if err := c.BodyParser(&req); err != nil {
return errors.New(errors.CodeInvalidParam)
}
if err := h.validate(&req); err != nil {
return err
}
if err := h.service.SwitchDeviceCard(c.UserContext(), &req); err != nil {
return err
}
return response.Success(c, nil)
}
// RebootDevice 重启设备
// POST /api/open/v1/devices/reboot
func (h *Handler) RebootDevice(c *fiber.Ctx) error {
var req dto.AgentOpenAPIDeviceOperationRequest
if err := c.BodyParser(&req); err != nil {
return errors.New(errors.CodeInvalidParam)
}
if err := h.validate(&req); err != nil {
return err
}
if err := h.service.RebootDevice(c.UserContext(), &req); err != nil {
return err
}
return response.Success(c, nil)
}
// ResetDevice 恢复出厂设置
// POST /api/open/v1/devices/reset
func (h *Handler) ResetDevice(c *fiber.Ctx) error {
var req dto.AgentOpenAPIDeviceOperationRequest
if err := c.BodyParser(&req); err != nil {
return errors.New(errors.CodeInvalidParam)
}
if err := h.validate(&req); err != nil {
return err
}
if err := h.service.ResetDevice(c.UserContext(), &req); err != nil {
return err
}
return response.Success(c, nil)
}
func (h *Handler) validate(req any) error {
if h.validator == nil {
return nil