package utils import ( "context" "insure/global" "math/rand" "strconv" "strings" "time" ) func GenerateNo(noType string) string { now := time.Now() key := "no_" + noType + ":" + now.Format("200601021504") cxt := context.Background() val := global.Redis.Incr(cxt, key).Val() global.Redis.ExpireAt(cxt, key, now.Add(time.Minute)) valStr := strconv.Itoa(int(val)) l := len(valStr) valStr = strings.Repeat("0", l) + valStr return now.Format("20060102150405") + valStr } func GenerateRandomString(length int) string { charSet := "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" result := make([]byte, length) for i := 0; i < length; i++ { result[i] = charSet[rand.Intn(len(charSet))] } return string(result) }