增加time的函数,crypto的函数

This commit is contained in:
2025-12-07 00:51:02 +08:00
parent 339920a940
commit f62e8ecebf
4 changed files with 771 additions and 5 deletions

View File

@@ -68,6 +68,12 @@ type PageData = commonhttp.PageData
// }
type PaginationRequest = commonhttp.PaginationRequest
// ========== Time工具结构体暴露给外部项目使用 ==========
// TimeInfo 详细时间信息结构(暴露给外部项目使用)
// 外部项目可以直接使用 factory.TimeInfo 创建时间信息对象
type TimeInfo = tools.TimeInfo
// Factory 工厂类 - 黑盒模式设计
//
// 核心理念:
@@ -1195,3 +1201,195 @@ func (f *Factory) DiffMinutes(t1, t2 time.Time) int64 {
func (f *Factory) DiffSeconds(t1, t2 time.Time) int64 {
return tools.DiffSeconds(t1, t2)
}
// ========== Time 时间工具(黑盒模式,推荐使用) ==========
//
// 这些方法提供基础时间操作、时间戳、时间判断等功能。
// 与 DateTime 工具的区别:
// - DateTime: 专注于时区相关、格式化、解析、UTC转换
// - Time: 专注于基础时间操作、时间戳、时间判断、时间信息生成
// ========== 时间戳方法 ==========
// GetTimestamp 获取当前时间戳(秒)(黑盒模式,推荐使用)
func (f *Factory) GetTimestamp() int64 {
return tools.GetTimestamp()
}
// GetMillisTimestamp 获取当前时间戳(毫秒)(黑盒模式,推荐使用)
func (f *Factory) GetMillisTimestamp() int64 {
return tools.GetMillisTimestamp()
}
// GetUTCTimestamp 获取UTC时间戳黑盒模式推荐使用
func (f *Factory) GetUTCTimestamp() int64 {
return tools.GetUTCTimestamp()
}
// GetUTCTimestampFromTime 从指定时间获取UTC时间戳黑盒模式推荐使用
func (f *Factory) GetUTCTimestampFromTime(t time.Time) int64 {
return tools.GetUTCTimestampFromTime(t)
}
// ========== 格式化方法(自定义格式) ==========
// FormatTimeWithLayout 格式化时间(自定义格式)(黑盒模式,推荐使用)
// layout: 时间格式,如 "2006-01-02 15:04:05",如果为空则使用默认格式
func (f *Factory) FormatTimeWithLayout(t time.Time, layout string) string {
return tools.FormatTimeWithLayout(t, layout)
}
// FormatTimeUTC 格式化时间为UTC字符串ISO 8601格式黑盒模式推荐使用
func (f *Factory) FormatTimeUTC(t time.Time) string {
return tools.FormatTimeUTC(t)
}
// GetCurrentTime 获取当前时间字符串(黑盒模式,推荐使用)
// 使用默认格式 "2006-01-02 15:04:05"
func (f *Factory) GetCurrentTime() string {
return tools.GetCurrentTime()
}
// ========== 解析方法(自定义格式) ==========
// ParseTime 解析时间字符串(自定义格式)(黑盒模式,推荐使用)
// timeStr: 时间字符串
// layout: 时间格式,如 "2006-01-02 15:04:05",如果为空则使用默认格式
func (f *Factory) ParseTime(timeStr, layout string) (time.Time, error) {
return tools.ParseTime(timeStr, layout)
}
// ========== 时间计算(补充 DateTime 的 Add 系列) ==========
// AddHours 增加小时数(黑盒模式,推荐使用)
func (f *Factory) AddHours(t time.Time, hours int) time.Time {
return tools.AddHours(t, hours)
}
// AddMinutes 增加分钟数(黑盒模式,推荐使用)
func (f *Factory) AddMinutes(t time.Time, minutes int) time.Time {
return tools.AddMinutes(t, minutes)
}
// ========== 时间范围(周相关) ==========
// GetBeginOfWeek 获取某周的开始时间(周一)(黑盒模式,推荐使用)
func (f *Factory) GetBeginOfWeek(t time.Time) time.Time {
return tools.GetBeginOfWeek(t)
}
// GetEndOfWeek 获取某周的结束时间(周日)(黑盒模式,推荐使用)
func (f *Factory) GetEndOfWeek(t time.Time) time.Time {
return tools.GetEndOfWeek(t)
}
// ========== 时间判断 ==========
// IsToday 判断是否为今天(黑盒模式,推荐使用)
func (f *Factory) IsToday(t time.Time) bool {
return tools.IsToday(t)
}
// IsYesterday 判断是否为昨天(黑盒模式,推荐使用)
func (f *Factory) IsYesterday(t time.Time) bool {
return tools.IsYesterday(t)
}
// IsTomorrow 判断是否为明天(黑盒模式,推荐使用)
func (f *Factory) IsTomorrow(t time.Time) bool {
return tools.IsTomorrow(t)
}
// ========== 时间信息生成 ==========
// GenerateTimeInfoWithTimezone 生成详细时间信息(指定时区)(黑盒模式,推荐使用)
// 返回包含UTC时间、本地时间、时间戳、时区信息等的完整时间信息结构
func (f *Factory) GenerateTimeInfoWithTimezone(t time.Time, timezone string) TimeInfo {
return tools.GenerateTimeInfoWithTimezone(t, timezone)
}
// ========== Crypto 加密工具(黑盒模式,推荐使用) ==========
//
// 这些方法提供密码加密、哈希计算、随机字符串生成等功能。
// ========== 密码加密 ==========
// HashPassword 使用bcrypt加密密码黑盒模式推荐使用
// password: 原始密码
// 返回: 加密后的密码哈希值
func (f *Factory) HashPassword(password string) (string, error) {
return tools.HashPassword(password)
}
// CheckPassword 验证密码(黑盒模式,推荐使用)
// password: 原始密码
// hash: 加密后的密码哈希值
// 返回: 密码是否正确
func (f *Factory) CheckPassword(password, hash string) bool {
return tools.CheckPassword(password, hash)
}
// ========== 哈希计算 ==========
// MD5 计算MD5哈希值黑盒模式推荐使用
// text: 要计算哈希的文本
// 返回: MD5哈希值十六进制字符串
func (f *Factory) MD5(text string) string {
return tools.MD5(text)
}
// SHA256 计算SHA256哈希值黑盒模式推荐使用
// text: 要计算哈希的文本
// 返回: SHA256哈希值十六进制字符串
func (f *Factory) SHA256(text string) string {
return tools.SHA256(text)
}
// ========== 随机字符串生成 ==========
// GenerateRandomString 生成指定长度的随机字符串(黑盒模式,推荐使用)
// length: 字符串长度
// 返回: 随机字符串(包含大小写字母和数字)
func (f *Factory) GenerateRandomString(length int) string {
return tools.GenerateRandomString(length)
}
// GenerateRandomNumber 生成指定长度的随机数字字符串(黑盒模式,推荐使用)
// length: 字符串长度
// 返回: 随机数字字符串
func (f *Factory) GenerateRandomNumber(length int) string {
return tools.GenerateRandomNumber(length)
}
// ========== 业务相关随机码生成 ==========
// GenerateSMSCode 生成短信验证码(黑盒模式,推荐使用)
// 返回: 6位数字验证码
func (f *Factory) GenerateSMSCode() string {
return tools.GenerateSMSCode()
}
// GenerateOrderNo 生成订单号(黑盒模式,推荐使用)
// prefix: 订单号前缀
// 返回: 订单号(格式:前缀+时间戳+6位随机数
func (f *Factory) GenerateOrderNo(prefix string) string {
return tools.GenerateOrderNo(prefix)
}
// GeneratePaymentNo 生成支付单号(黑盒模式,推荐使用)
// 返回: 支付单号格式PAY+时间戳+6位随机数
func (f *Factory) GeneratePaymentNo() string {
return tools.GeneratePaymentNo()
}
// GenerateRefundNo 生成退款单号(黑盒模式,推荐使用)
// 返回: 退款单号格式RF+时间戳+6位随机数
func (f *Factory) GenerateRefundNo() string {
return tools.GenerateRefundNo()
}
// GenerateTransferNo 生成调拨单号(黑盒模式,推荐使用)
// 返回: 调拨单号格式TF+时间戳+6位随机数
func (f *Factory) GenerateTransferNo() string {
return tools.GenerateTransferNo()
}