package utils import ( "math/rand" "micro-bundle/internal/model" "time" ) const source = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" // 生成订单号 模版 BD20250220104501+6位随机数 避免 订单号重复 func GetOrderNo(orderType int32) string { if orderType == model.OrderTypeBundle { return "BD" + GetRandomString(20) } else if orderType == model.OrderTypeValueAdd { return "BNPL" + GetRandomString(20) } return "" } // 生成随机字符串 func GetRandomString(length int) string { rand.Seed(time.Now().UnixNano()) bytes := make([]byte, length) for i := 0; i < length; i++ { bytes[i] = source[rand.Intn(62)] } return string(bytes) }