增加time的函数,crypto的函数
This commit is contained in:
@@ -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()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user