init
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/snail007/go-activerecord/mysql"
|
||||
)
|
||||
|
||||
type UserRole struct {
|
||||
UserRoleID uint `orm:"pk"` // user_role_id
|
||||
UserID uint64 // user_id
|
||||
RoleID uint // role_id
|
||||
CreateTime uint // create_time
|
||||
UpdateTime uint // update_time
|
||||
}
|
||||
|
||||
func (this *UserRole) GetUserRolesByUserId(userId string) (userRoles []map[string]string, err error) {
|
||||
|
||||
db := DB
|
||||
var rs *mysql.ResultSet
|
||||
rs, err = db.Query(db.AR().From("user_role").Where(map[string]interface{}{
|
||||
"user_id": userId,
|
||||
}))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
userRoles = rs.Rows()
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// 插入 user_id 和 role_id 对应关系
|
||||
func (this *UserRole) Insert(userId string, roleIds []string) (res bool, err error) {
|
||||
|
||||
res = false
|
||||
db := DB
|
||||
//先删除
|
||||
_, err = db.Exec(db.AR().Delete("user_role", map[string]interface{}{
|
||||
"user_id": userId,
|
||||
}))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
//添加
|
||||
userRoles := []map[string]interface{}{}
|
||||
for _, roleId := range roleIds {
|
||||
userRole := map[string]interface{}{
|
||||
"role_id": roleId,
|
||||
"user_id": userId,
|
||||
"create_time": time.Now().Unix(),
|
||||
"update_time": time.Now().Unix(),
|
||||
}
|
||||
userRoles = append(userRoles, userRole)
|
||||
}
|
||||
|
||||
_, err = db.Exec(db.AR().InsertBatch("user_role", userRoles))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
res = true
|
||||
return
|
||||
}
|
||||
Reference in New Issue
Block a user