feat: 添加短信验证码发送功能及相关数据库模型

This commit is contained in:
2025-12-23 23:51:51 +08:00
parent 5709255e39
commit d9737d4ee3
9 changed files with 596 additions and 58 deletions

View File

@@ -16,12 +16,13 @@ import (
)
var (
Q = new(Query)
MediumQuery *mediumQuery
OrderQuery *orderQuery
PostQuery *postQuery
UserQuery *userQuery
UserPostQuery *userPostQuery
Q = new(Query)
MediumQuery *mediumQuery
OrderQuery *orderQuery
PostQuery *postQuery
SmsCodeSendQuery *smsCodeSendQuery
UserQuery *userQuery
UserPostQuery *userPostQuery
)
func SetDefault(db *gorm.DB, opts ...gen.DOOption) {
@@ -29,41 +30,45 @@ func SetDefault(db *gorm.DB, opts ...gen.DOOption) {
MediumQuery = &Q.Medium
OrderQuery = &Q.Order
PostQuery = &Q.Post
SmsCodeSendQuery = &Q.SmsCodeSend
UserQuery = &Q.User
UserPostQuery = &Q.UserPost
}
func Use(db *gorm.DB, opts ...gen.DOOption) *Query {
return &Query{
db: db,
Medium: newMedium(db, opts...),
Order: newOrder(db, opts...),
Post: newPost(db, opts...),
User: newUser(db, opts...),
UserPost: newUserPost(db, opts...),
db: db,
Medium: newMedium(db, opts...),
Order: newOrder(db, opts...),
Post: newPost(db, opts...),
SmsCodeSend: newSmsCodeSend(db, opts...),
User: newUser(db, opts...),
UserPost: newUserPost(db, opts...),
}
}
type Query struct {
db *gorm.DB
Medium mediumQuery
Order orderQuery
Post postQuery
User userQuery
UserPost userPostQuery
Medium mediumQuery
Order orderQuery
Post postQuery
SmsCodeSend smsCodeSendQuery
User userQuery
UserPost userPostQuery
}
func (q *Query) Available() bool { return q.db != nil }
func (q *Query) clone(db *gorm.DB) *Query {
return &Query{
db: db,
Medium: q.Medium.clone(db),
Order: q.Order.clone(db),
Post: q.Post.clone(db),
User: q.User.clone(db),
UserPost: q.UserPost.clone(db),
db: db,
Medium: q.Medium.clone(db),
Order: q.Order.clone(db),
Post: q.Post.clone(db),
SmsCodeSend: q.SmsCodeSend.clone(db),
User: q.User.clone(db),
UserPost: q.UserPost.clone(db),
}
}
@@ -77,30 +82,33 @@ func (q *Query) WriteDB() *Query {
func (q *Query) ReplaceDB(db *gorm.DB) *Query {
return &Query{
db: db,
Medium: q.Medium.replaceDB(db),
Order: q.Order.replaceDB(db),
Post: q.Post.replaceDB(db),
User: q.User.replaceDB(db),
UserPost: q.UserPost.replaceDB(db),
db: db,
Medium: q.Medium.replaceDB(db),
Order: q.Order.replaceDB(db),
Post: q.Post.replaceDB(db),
SmsCodeSend: q.SmsCodeSend.replaceDB(db),
User: q.User.replaceDB(db),
UserPost: q.UserPost.replaceDB(db),
}
}
type queryCtx struct {
Medium *mediumQueryDo
Order *orderQueryDo
Post *postQueryDo
User *userQueryDo
UserPost *userPostQueryDo
Medium *mediumQueryDo
Order *orderQueryDo
Post *postQueryDo
SmsCodeSend *smsCodeSendQueryDo
User *userQueryDo
UserPost *userPostQueryDo
}
func (q *Query) WithContext(ctx context.Context) *queryCtx {
return &queryCtx{
Medium: q.Medium.WithContext(ctx),
Order: q.Order.WithContext(ctx),
Post: q.Post.WithContext(ctx),
User: q.User.WithContext(ctx),
UserPost: q.UserPost.WithContext(ctx),
Medium: q.Medium.WithContext(ctx),
Order: q.Order.WithContext(ctx),
Post: q.Post.WithContext(ctx),
SmsCodeSend: q.SmsCodeSend.WithContext(ctx),
User: q.User.WithContext(ctx),
UserPost: q.UserPost.WithContext(ctx),
}
}