🎉初步完成用户
This commit is contained in:
69
script/script.go
Normal file
69
script/script.go
Normal file
@@ -0,0 +1,69 @@
|
||||
package script
|
||||
|
||||
import (
|
||||
"website-nav/global/client"
|
||||
"website-nav/model"
|
||||
"website-nav/service"
|
||||
"website-nav/utils"
|
||||
)
|
||||
|
||||
type script struct{}
|
||||
|
||||
func New() script {
|
||||
return script{}
|
||||
}
|
||||
|
||||
func (s script) Do() error {
|
||||
if err := s.migrate(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := s.createSuperAdmin(); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// migrate
|
||||
// @description: 生成数据库
|
||||
// @receiver s
|
||||
// @return error
|
||||
func (s script) migrate() error {
|
||||
var ent = []any{
|
||||
new(model.User),
|
||||
new(model.NavigationType),
|
||||
new(model.Navigation),
|
||||
}
|
||||
|
||||
return client.DB.AutoMigrate(ent...)
|
||||
}
|
||||
|
||||
// createSuperAdmin
|
||||
// @description: 创建超级管理员
|
||||
// @receiver s
|
||||
// @return error
|
||||
func (s script) createSuperAdmin() error {
|
||||
var count int64
|
||||
if err := client.DB.Model(&model.User{}).
|
||||
Where("account = ?", "admin").Count(&count).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 没有超管就创建一个
|
||||
if count > 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
avatar, err := utils.Avatar().GenerateAvatar(true)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return service.User().CreateUser(&model.User{
|
||||
Avatar: avatar,
|
||||
Nickname: "超级管理员",
|
||||
Account: "admin",
|
||||
Contact: "",
|
||||
Password: "admin123",
|
||||
})
|
||||
}
|
Reference in New Issue
Block a user