fix: 修复分页字段/角色DTO/套餐详情/批量分配Bug,新增C端测试登录接口和Hurl价格验证测试
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Has been cancelled

- 修复B-2:27个分页DTO字段名统一(list→items, page_size→size,删除total_pages)
- 修复B-1:角色接口统一返回DTO(id小写,消除GORM大写字段名)
- 修复C-1:套餐详情接口(GET /packages/:id)补充代理佣金字段
- 修复C-2:批量分配已存在记录由500改为静默跳过
- 修复C-3:创建系列授权响应在事务提交后构建,packages数组不再为空
- 新增C端开发测试登录接口(POST /api/c/v1/auth/dev-login,仅logging.development=true时生效)
- 新增Hurl测试:card-price-verification-flow.hurl(导入卡→分配→C端价格验证)
- 新增测试Excel数据文件和dev.env测试变量
This commit is contained in:
2026-03-31 09:54:08 +08:00
parent 33e7f99fdc
commit 2ef8b8a705
54 changed files with 1697 additions and 260 deletions

View File

@@ -229,17 +229,11 @@ func (h *PollingAlertHandler) ListHistory(c *fiber.Ctx) error {
})
}
totalPages := int(total) / req.PageSize
if int(total)%req.PageSize > 0 {
totalPages++
}
return response.Success(c, &dto.PollingAlertHistoryListResp{
Items: items,
Total: total,
Page: req.Page,
PageSize: req.PageSize,
TotalPages: totalPages,
Items: items,
Total: total,
Page: req.Page,
PageSize: req.PageSize,
})
}

View File

@@ -214,17 +214,11 @@ func (h *PollingCleanupHandler) ListLogs(c *fiber.Ctx) error {
items = append(items, h.toLogResp(log))
}
totalPages := int(total) / req.PageSize
if int(total)%req.PageSize > 0 {
totalPages++
}
return response.Success(c, &dto.DataCleanupLogListResp{
Items: items,
Total: total,
Page: req.Page,
PageSize: req.PageSize,
TotalPages: totalPages,
Items: items,
Total: total,
Page: req.Page,
PageSize: req.PageSize,
})
}

View File

@@ -206,17 +206,11 @@ func (h *PollingManualTriggerHandler) ListHistory(c *fiber.Ctx) error {
items = append(items, h.toLogResp(log))
}
totalPages := int(total) / req.PageSize
if int(total)%req.PageSize > 0 {
totalPages++
}
return response.Success(c, &dto.ManualTriggerLogListResp{
Items: items,
Total: total,
Page: req.Page,
PageSize: req.PageSize,
TotalPages: totalPages,
Items: items,
Total: total,
Page: req.Page,
PageSize: req.PageSize,
})
}

View File

@@ -149,6 +149,29 @@ func (h *ClientAuthHandler) ChangePhone(c *fiber.Ctx) error {
return response.Success(c, resp)
}
// DevLogin 开发环境测试登录(仅开发模式可用)
// POST /api/c/v1/auth/dev-login
func (h *ClientAuthHandler) DevLogin(c *fiber.Ctx) error {
var req dto.DevLoginRequest
if err := c.BodyParser(&req); err != nil {
return errors.New(errors.CodeInvalidParam)
}
if err := clientAuthValidator.Struct(&req); err != nil {
h.logger.Warn("测试登录参数校验失败", zap.Error(err))
return errors.New(errors.CodeInvalidParam)
}
token, customerID, isNewUser, err := h.service.DevLogin(c.UserContext(), req.Identifier)
if err != nil {
return err
}
return response.Success(c, dto.DevLoginResponse{
Token: token,
CustomerID: customerID,
IsNewUser: isNewUser,
})
}
// Logout A7 退出登录
// POST /api/c/v1/auth/logout
func (h *ClientAuthHandler) Logout(c *fiber.Ctx) error {