Merge branch 'v1-fixbug' into dev

# Conflicts:
#	models/dept.go
This commit is contained in:
zhangwenjian
2020-07-01 22:57:44 +08:00
2 changed files with 78 additions and 3 deletions
+7 -1
View File
@@ -205,6 +205,12 @@ func (e *Dept) Update(id int) (update Dept, err error) {
func (e *Dept) Delete(id int) (success bool, err error) { func (e *Dept) Delete(id int) (success bool, err error) {
user := SysUser{}
user.DeptId = id
userlist, err := user.GetList()
tools.HasError(err, "", 500)
tools.Assert(len(userlist) <= 0, "当前部门存在用户,不能删除!", 500)
tx := orm.Eloquent.Begin() tx := orm.Eloquent.Begin()
defer func() { defer func() {
if r := recover(); r != nil { if r := recover(); r != nil {
@@ -222,7 +228,7 @@ func (e *Dept) Delete(id int) (success bool, err error) {
tx.Rollback() tx.Rollback()
return return
} }
if err =tx.Commit().Error; err != nil { if err = tx.Commit().Error; err != nil {
success = false success = false
return return
} }
+71 -2
View File
@@ -121,10 +121,79 @@ func (e *SysUser) Get() (SysUserView SysUserView, err error) {
if err = table.First(&SysUserView).Error; err != nil { if err = table.First(&SysUserView).Error; err != nil {
return return
} }
SysUserView.Password = "" SysUserView.Password = ""
return return
} }
func (e *SysUser) GetUserInfo() (SysUserView SysUserView, err error) {
table := orm.Eloquent.Table(e.TableName()).Select([]string{"sys_user.*", "sys_role.role_name"})
table = table.Joins("left join sys_role on sys_user.role_id=sys_role.role_id")
if e.UserId != 0 {
table = table.Where("user_id = ?", e.UserId)
}
if e.Username != "" {
table = table.Where("username = ?", e.Username)
}
if e.Password != "" {
table = table.Where("password = ?", e.Password)
}
if e.RoleId != 0 {
table = table.Where("role_id = ?", e.RoleId)
}
if e.DeptId != 0 {
table = table.Where("dept_id = ?", e.DeptId)
}
if e.PostId != 0 {
table = table.Where("post_id = ?", e.PostId)
}
if err = table.First(&SysUserView).Error; err != nil {
return
}
return
}
func (e *SysUser) GetList() (SysUserView []SysUserView, err error) {
table := orm.Eloquent.Table(e.TableName()).Select([]string{"sys_user.*", "sys_role.role_name"})
table = table.Joins("left join sys_role on sys_user.role_id=sys_role.role_id")
if e.UserId != 0 {
table = table.Where("user_id = ?", e.UserId)
}
if e.Username != "" {
table = table.Where("username = ?", e.Username)
}
if e.Password != "" {
table = table.Where("password = ?", e.Password)
}
if e.RoleId != 0 {
table = table.Where("role_id = ?", e.RoleId)
}
if e.DeptId != 0 {
table = table.Where("dept_id = ?", e.DeptId)
}
if e.PostId != 0 {
table = table.Where("post_id = ?", e.PostId)
}
if err = table.Find(&SysUserView).Error; err != nil {
return
}
return
}
func (e *SysUser) GetPage(pageSize int, pageIndex int) ([]SysUserPage, int, error) { func (e *SysUser) GetPage(pageSize int, pageIndex int) ([]SysUserPage, int, error) {
var doc []SysUserPage var doc []SysUserPage
table := orm.Eloquent.Select("sys_user.*,sys_dept.dept_name").Table(e.TableName()) table := orm.Eloquent.Select("sys_user.*,sys_dept.dept_name").Table(e.TableName())
@@ -200,7 +269,7 @@ func (e SysUser) Insert() (id int, err error) {
//修改 //修改
func (e *SysUser) Update(id int) (update SysUser, err error) { func (e *SysUser) Update(id int) (update SysUser, err error) {
if e.Password!="" { if e.Password != "" {
if err = e.Encrypt(); err != nil { if err = e.Encrypt(); err != nil {
return return
} }
@@ -229,7 +298,7 @@ func (e *SysUser) BatchDelete(id []int) (Result bool, err error) {
} }
func (e *SysUser) SetPwd(pwd SysUserPwd) (Result bool, err error) { func (e *SysUser) SetPwd(pwd SysUserPwd) (Result bool, err error) {
user, err := e.Get() user, err := e.GetUserInfo()
if err != nil { if err != nil {
tools.HasError(err, "获取用户数据失败(代码202)", 500) tools.HasError(err, "获取用户数据失败(代码202)", 500)
} }