All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 5m24s
- 新增套餐系列管理 (CRUD + 状态切换) - 新增套餐管理 (CRUD + 启用/禁用 + 上架/下架双状态) - 清理 8 个废弃分佣模型及对应数据库表 - Package 模型新增建议成本价、建议售价、上架状态字段 - 完整的 Store/Service/Handler 三层实现 - 包含单元测试和集成测试 - 归档 add-package-module change - 新增多个 OpenSpec changes (订单支付、店铺套餐分配、一次性分佣、卡设备系列绑定)
34 lines
736 B
Go
34 lines
736 B
Go
package testutils
|
|
|
|
import (
|
|
"fmt"
|
|
"time"
|
|
)
|
|
|
|
// GenerateUsername 生成测试用户名
|
|
func GenerateUsername(prefix string, index int) string {
|
|
return fmt.Sprintf("%s_%d", prefix, index)
|
|
}
|
|
|
|
// GeneratePhone 生成测试手机号
|
|
func GeneratePhone(prefix string, index int) string {
|
|
return fmt.Sprintf("%s%08d", prefix, index)
|
|
}
|
|
|
|
// GenerateUniquePhone 生成唯一手机号(基于时间戳)
|
|
func GenerateUniquePhone() string {
|
|
timestamp := time.Now().UnixNano()
|
|
suffix := timestamp % 100000000
|
|
return fmt.Sprintf("138%08d", suffix)
|
|
}
|
|
|
|
// Now 返回当前时间
|
|
func Now() time.Time {
|
|
return time.Now()
|
|
}
|
|
|
|
// Since 返回从指定时间到现在的持续时间
|
|
func Since(t time.Time) time.Duration {
|
|
return time.Since(t)
|
|
}
|