goframe 生成不重复的 7 位数字,并和数据库 user 表中字段不重复
func generateUniqueID() int {
src := rand.NewSource(time.Now().UnixNano())
min := 1000000
max := 10000000
return rand.New(src).Intn(max-min) + min
}
func generateUniqueViewID(ctx context.Context) (int, error) {
for {
viewId := generateUniqueID()
id, err := dao.Users.Ctx(ctx).Where(do.Users{Viewid: viewId}).Fields("id").Value()
if err != nil {
return 0, err
}
if id == nil {
return viewId, nil
}
}
}