100 lines
3.1 KiB
Go
100 lines
3.1 KiB
Go
![]() |
package model
|
||
|
|
||
|
import (
|
||
|
"github.com/1340691923/xwl_bi/engine/db"
|
||
|
"github.com/1340691923/xwl_bi/engine/logs"
|
||
|
"github.com/1340691923/xwl_bi/platform-basic-libs/util"
|
||
|
"go.uber.org/zap"
|
||
|
)
|
||
|
|
||
|
// GmUserModel BI用户
|
||
|
type GmUserModel struct {
|
||
|
ID int32 `json:"id" db:"id"`
|
||
|
Username string `json:"username" db:"username"`
|
||
|
Password string `json:"password" db:"password"`
|
||
|
RoleId int32 `json:"role_id" db:"role_id"`
|
||
|
Realname string `json:"realname" db:"realname"`
|
||
|
CreateTime string `db:"create_time" json:"create_time"`
|
||
|
UpdateTime string `db:"update_time" json:"update_time"`
|
||
|
LastLoginTime string `db:"last_login_time" json:"last_login_time"`
|
||
|
|
||
|
IsDel int8 `db:"is_del" json:"is_del"` //是否禁止该账号
|
||
|
}
|
||
|
|
||
|
//密码进行md5混淆
|
||
|
func (this GmUserModel) GetPassword() string {
|
||
|
return util.MD5HexHash(util.Str2bytes(this.Password))
|
||
|
}
|
||
|
|
||
|
//是否存在该用户
|
||
|
func (this GmUserModel) Exsit() (b bool) {
|
||
|
var count int
|
||
|
err := db.Sqlx.Get(&count, "select count(*) from gm_user where username = ? and role_id = ? limit 1;", this.Username, this.RoleId)
|
||
|
if err != nil || count == 0 {
|
||
|
logs.Logger.Error("err", zap.Error(err))
|
||
|
return false
|
||
|
}
|
||
|
return true
|
||
|
}
|
||
|
|
||
|
//登录
|
||
|
func (this GmUserModel) GetUserByUP() (gmUser GmUserModel, err error) {
|
||
|
err = db.Sqlx.Get(&gmUser, "select id,username,password,role_id,realname,is_del from gm_user where username = ? and password = ? limit 1;", this.Username, this.GetPassword())
|
||
|
return
|
||
|
}
|
||
|
|
||
|
//通过id查询用户信息
|
||
|
func (this GmUserModel) GetUserById() (gmUser GmUserModel, err error) {
|
||
|
err = db.Sqlx.Get(&gmUser, "select id,username,password,role_id,realname from gm_user where id = ?;", this.ID)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
//新增用户
|
||
|
func (this GmUserModel) Insert() (id int64, err error) {
|
||
|
rlt, err := db.Sqlx.Exec("insert into gm_user(username,password,role_id,realname)values(?,?,?,?)", this.Username, this.GetPassword(), this.RoleId, this.Realname)
|
||
|
if err != nil {
|
||
|
return
|
||
|
}
|
||
|
id, _ = rlt.LastInsertId()
|
||
|
return
|
||
|
}
|
||
|
|
||
|
// Update
|
||
|
func (this GmUserModel) Update() (err error) {
|
||
|
_, err = db.Sqlx.Exec("update gm_user set username = ?,password=?,role_id=?,realname=? where id = ? ;", this.Username, this.GetPassword(), this.RoleId, this.Realname, this.ID)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
// Update
|
||
|
func (this GmUserModel) UpdatePassById() (err error) {
|
||
|
_, err = db.Sqlx.Exec("update gm_user set password=? where id = ? ;", this.GetPassword(), this.ID)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
// Select
|
||
|
func (this GmUserModel) Select(appid string) (gmUser []GmUserModel, err error) {
|
||
|
if appid == "" {
|
||
|
err = db.Sqlx.Select(&gmUser, "select * from gm_user;")
|
||
|
} else {
|
||
|
err = db.Sqlx.Select(&gmUser, "select * from gm_user where FIND_IN_SET(id,(select app_manager from app where id = "+appid+"));")
|
||
|
}
|
||
|
|
||
|
return
|
||
|
}
|
||
|
|
||
|
// Delete
|
||
|
func (this GmUserModel) Delete() (err error) {
|
||
|
_, err = db.Sqlx.Exec("delete from gm_user where id = ? ;", this.ID)
|
||
|
if err!=nil{
|
||
|
return
|
||
|
}
|
||
|
|
||
|
_, err = db.Sqlx.Exec(`UPDATE app SET app_manager = TRIM(BOTH ',' FROM REPLACE(CONCAT(',', app_manager, ','), concat(',',?,','), ','))
|
||
|
WHERE FIND_IN_SET(?, app_manager) `, this.ID, this.ID)
|
||
|
if err != nil {
|
||
|
return
|
||
|
}
|
||
|
|
||
|
return
|
||
|
}
|