You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
594 lines
20 KiB
594 lines
20 KiB
package systemuser
|
|
|
|
import (
|
|
"strconv"
|
|
"time"
|
|
|
|
"gin_server_admin/commonus"
|
|
"gin_server_admin/global"
|
|
"gin_server_admin/model/common/response"
|
|
"gin_server_admin/model/systemuser"
|
|
"gin_server_admin/model/testpage"
|
|
"gin_server_admin/model/wechat"
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// 系统相关
|
|
func (s *SystemUserApi) Index(c *gin.Context) {
|
|
outPut := commonus.MapOut()
|
|
response.Result(0, outPut, "获取成功", c)
|
|
}
|
|
|
|
// 管理员列表
|
|
func (s *SystemUserApi) AdminList(c *gin.Context) {
|
|
var requestData adminRequest
|
|
c.ShouldBindJSON(&requestData)
|
|
if requestData.PageSize == 0 {
|
|
requestData.PageSize = 20
|
|
}
|
|
if requestData.Page <= 0 {
|
|
requestData.Page = 1
|
|
}
|
|
offSetPage := commonus.CalculatePages(requestData.Page, requestData.PageSize)
|
|
gormDb := global.GVA_DB_Master.Model(&systemuser.SystemUser{}).Select("system_user.*,system_user_attribute.*").Joins("left join system_user_attribute on system_user.u_key = system_user_attribute.ua_id")
|
|
|
|
if requestData.GroupId != 0 {
|
|
gormDb = gormDb.Where("`u_group` = ?", requestData.GroupId)
|
|
}
|
|
|
|
if requestData.BranchFactoryId != 0 {
|
|
gormDb = gormDb.Where("`u_attribute` = ?", requestData.BranchFactoryId)
|
|
}
|
|
|
|
if requestData.RoleId != 0 {
|
|
gormDb = gormDb.Where("`u_role` = ?", requestData.RoleId)
|
|
}
|
|
|
|
if requestData.State != 0 {
|
|
gormDb = gormDb.Where("`u_set` = ?", requestData.State)
|
|
} else {
|
|
gormDb = gormDb.Where("`u_set` IN ?", []int{1, 2})
|
|
}
|
|
|
|
if requestData.UserName != "" {
|
|
gormDb = gormDb.Where("(`u_name` LIKE ? OR `ua_name` LIKE ?)", "%"+requestData.UserName+"%", "%"+requestData.UserName+"%")
|
|
}
|
|
var total int64
|
|
totalErr := gormDb.Count(&total).Error
|
|
if totalErr != nil {
|
|
total = 0
|
|
}
|
|
var systemAdminList []systemuser.SystemAdminDetails
|
|
systemAdminListerr := gormDb.Limit(requestData.PageSize).Offset(offSetPage).Order("u_id desc").Find(&systemAdminList).Error
|
|
if systemAdminListerr != nil {
|
|
response.Result(101, systemAdminListerr, "数据获取失败!", c)
|
|
return
|
|
}
|
|
var sysAdminList []adminOutInfo
|
|
for _, val := range systemAdminList {
|
|
var sysAdminInfo adminOutInfo
|
|
sysAdminInfo.Id = val.Id
|
|
sysAdminInfo.Name = val.Name
|
|
sysAdminInfo.PassWord = val.PassWord
|
|
sysAdminInfo.Role = val.Role
|
|
sysAdminInfo.State = val.State
|
|
sysAdminInfo.Attribute = val.Attribute
|
|
sysAdminInfo.Time = val.Time
|
|
sysAdminInfo.EiteTime = val.EiteTime
|
|
sysAdminInfo.Key = val.Key
|
|
sysAdminInfo.Group = val.Group
|
|
sysAdminInfo.Wand = val.Wand
|
|
sysAdminInfo.IdAttr = val.IdAttr
|
|
sysAdminInfo.NameAttr = val.NameAttr
|
|
sysAdminInfo.Tel = val.Tel
|
|
sysAdminInfo.TimeAttr = val.TimeAttr
|
|
|
|
where := commonus.MapOut()
|
|
where["id"] = val.Group
|
|
orgCont, _ := commonus.GetNewOrgCont(where, "id", "name")
|
|
sysAdminInfo.GroupName = orgCont.Name
|
|
|
|
whereDepart := commonus.MapOut()
|
|
whereDepart["id"] = val.Attribute
|
|
orgContDepart, _ := commonus.GetNewOrgCont(whereDepart, "id", "name")
|
|
sysAdminInfo.BranchFactoryName = orgContDepart.Name
|
|
|
|
// isTrueGroup, groupCont := assessment.GetGroupCont(val.Group)
|
|
// if isTrueGroup == true {
|
|
// sysAdminInfo.GroupName = groupCont.Name
|
|
// }
|
|
// isTrueBranFact, branFactCont := assessment.GetBranchFactory(val.Attribute)
|
|
// if isTrueBranFact == true {
|
|
// sysAdminInfo.BranchFactoryName = branFactCont.Name
|
|
// }
|
|
|
|
isTrueRole, adminRoleCont := GetAdminRoleInfo(val.Role)
|
|
if isTrueRole == true {
|
|
sysAdminInfo.RoleName = adminRoleCont.Title
|
|
sysAdminInfo.Jurisdiction = adminRoleCont.Jurisdiction
|
|
sysAdminInfo.MenuOper = adminRoleCont.MenuOper
|
|
sysAdminInfo.Wand = adminRoleCont.Wand
|
|
}
|
|
sysAdminInfo.KeyStr = strconv.FormatInt(val.Key, 10)
|
|
|
|
sysAdminList = append(sysAdminList, sysAdminInfo)
|
|
}
|
|
countSum := len(sysAdminList)
|
|
printData := commonus.OutPutList(total, int64(countSum), requestData.Page, requestData.PageSize, sysAdminList)
|
|
response.Result(0, printData, "查询成功!", c)
|
|
}
|
|
|
|
// 获取管理员详细内容登录
|
|
func GetSysAdminLoginInfo(userName, userPwd string) (isTrue bool, sysAdminInfo adminOutInfo) {
|
|
isTrue = false
|
|
var md5JiaMi commonus.Md5Encryption
|
|
md5JiaMi.Md5EncryptionInit(userPwd)
|
|
md5Token := md5JiaMi.Md5EncryptionAlgorithm()
|
|
var userInfo systemuser.SystemAdminDetails
|
|
userErr := global.GVA_DB_Master.Model(&systemuser.SystemUser{}).Select("system_user.*,system_user_attribute.*").Joins("left join system_user_attribute on system_user.u_key = system_user_attribute.ua_id").Where("`u_name` = ? AND `u_password` = ?", userName, md5Token).First(&userInfo).Error
|
|
if userErr != nil {
|
|
return
|
|
}
|
|
sysAdminInfo.Id = userInfo.Id
|
|
sysAdminInfo.Name = userInfo.Name
|
|
sysAdminInfo.PassWord = userInfo.PassWord
|
|
sysAdminInfo.Role = userInfo.Role
|
|
sysAdminInfo.State = userInfo.State
|
|
sysAdminInfo.Attribute = userInfo.Attribute
|
|
sysAdminInfo.Time = userInfo.Time
|
|
sysAdminInfo.EiteTime = userInfo.EiteTime
|
|
sysAdminInfo.Key = userInfo.Key
|
|
sysAdminInfo.Group = userInfo.Group
|
|
sysAdminInfo.Wand = userInfo.Wand
|
|
sysAdminInfo.IdAttr = userInfo.IdAttr
|
|
sysAdminInfo.NameAttr = userInfo.NameAttr
|
|
sysAdminInfo.Tel = userInfo.Tel
|
|
sysAdminInfo.TimeAttr = userInfo.TimeAttr
|
|
|
|
where := commonus.MapOut()
|
|
where["id"] = userInfo.Group
|
|
orgCont, _ := commonus.GetNewOrgCont(where, "id", "name")
|
|
sysAdminInfo.GroupName = orgCont.Name
|
|
|
|
whereDepart := commonus.MapOut()
|
|
whereDepart["id"] = userInfo.Attribute
|
|
orgContDepart, _ := commonus.GetNewOrgCont(whereDepart, "id", "name")
|
|
sysAdminInfo.BranchFactoryName = orgContDepart.Name
|
|
|
|
// isTrueGroup, groupCont := assessment.GetGroupCont(userInfo.Group)
|
|
// if isTrueGroup == true {
|
|
// sysAdminInfo.GroupName = groupCont.Name
|
|
// }
|
|
// isTrueBranFact, branFactCont := assessment.GetBranchFactory(userInfo.Attribute)
|
|
// if isTrueBranFact == true {
|
|
// sysAdminInfo.BranchFactoryName = branFactCont.Name
|
|
// }
|
|
|
|
isTrueRole, adminRoleCont := GetAdminRoleInfo(userInfo.Role)
|
|
if isTrueRole == true {
|
|
sysAdminInfo.RoleName = adminRoleCont.Title
|
|
sysAdminInfo.Jurisdiction = adminRoleCont.Jurisdiction
|
|
sysAdminInfo.MenuOper = adminRoleCont.MenuOper
|
|
sysAdminInfo.Wand = adminRoleCont.Wand
|
|
}
|
|
sysAdminInfo.KeyStr = strconv.FormatInt(userInfo.Key, 10)
|
|
isTrue = true
|
|
return
|
|
}
|
|
|
|
// 获取管理员分组列表
|
|
func (s *SystemUserApi) SystemAdminGroupList(c *gin.Context) {
|
|
isTrue, SysAdminCont := commonus.AdminClientIdentity()
|
|
if isTrue != true {
|
|
response.Result(101, isTrue, "您的身份令牌已经失效!请重新登录获取身份令牌!", c)
|
|
return
|
|
}
|
|
var sysRoleList []systemuser.SystemRole
|
|
gormDb := global.GVA_DB_Master
|
|
if SysAdminCont.Group != "1" {
|
|
gormDb = gormDb.Where("`r_group` = ?", SysAdminCont.Group)
|
|
}
|
|
roleListErr := gormDb.Where("`r_set` = ? AND `r_gode` = ?", 1, 1).Find(&sysRoleList).Error
|
|
if roleListErr != nil {
|
|
response.Result(101, roleListErr, "数据获取失败!", c)
|
|
return
|
|
}
|
|
var systemAdminGroup []SystemAdminGroup
|
|
var systemAdminGroupSun []SystemAdminGroup
|
|
for _, r_val := range sysRoleList {
|
|
var systemAdminGroupSunCont SystemAdminGroup
|
|
systemAdminGroupSunCont.Id = r_val.Id
|
|
systemAdminGroupSunCont.OutId = strconv.FormatInt(r_val.Id, 10)
|
|
systemAdminGroupSunCont.Title = r_val.Title
|
|
systemAdminGroupSun = append(systemAdminGroupSun, systemAdminGroupSunCont)
|
|
}
|
|
var systemAdminGroupOen SystemAdminGroup
|
|
systemAdminGroupOen.Id = 1
|
|
systemAdminGroupOen.OutId = "1"
|
|
systemAdminGroupOen.Title = "主系统角色"
|
|
systemAdminGroupOen.Child = systemAdminGroupSun
|
|
systemAdminGroup = append(systemAdminGroup, systemAdminGroupOen)
|
|
|
|
//获取系统结构列表
|
|
var groupStruct []wechat.GroupForm //集团表结构
|
|
groupErr := global.GVA_DB_WatchDate.Where("`g_parentid` = 1 AND `g_sate` = 1").Find(&groupStruct).Error
|
|
if groupErr == nil {
|
|
//获取集团对应的分厂
|
|
// var groupBf []SystemAdminGroup
|
|
for _, g_val := range groupStruct {
|
|
var groupBfcon SystemAdminGroup
|
|
groupBfcon.Id = g_val.Id
|
|
groupBfcon.OutId = strconv.FormatInt(g_val.Id, 10)
|
|
groupBfcon.Title = g_val.Name
|
|
childGroupErr, childGroup := groupBfRole(g_val.Id)
|
|
if childGroupErr == true {
|
|
groupBfcon.Child = childGroup
|
|
}
|
|
systemAdminGroup = append(systemAdminGroup, groupBfcon)
|
|
}
|
|
}
|
|
// systemAdminGroup = append(systemAdminGroup, )
|
|
response.Result(0, systemAdminGroup, "查询成功!", c)
|
|
}
|
|
|
|
// 根据具体获取分厂结构及管理角色
|
|
func groupBfRole(groupId int64) (isTrue bool, bfRoleAry []SystemAdminGroup) {
|
|
isTrue = false
|
|
var branchFactory []testpage.BranchFactory
|
|
err := global.GVA_DB_Master.Where("bf_group = ?", groupId).Find(&branchFactory).Error
|
|
if err != nil {
|
|
return
|
|
}
|
|
for _, val := range branchFactory {
|
|
var bfRoleCont SystemAdminGroup
|
|
bfRoleCont.Id = val.Id
|
|
bfRoleCont.OutId = strconv.FormatInt(val.Id, 10)
|
|
bfRoleCont.Title = val.Name
|
|
childGroupErr, childGroup := GetBfRole(val.Id)
|
|
if childGroupErr == true {
|
|
bfRoleCont.Child = childGroup
|
|
}
|
|
bfRoleAry = append(bfRoleAry, bfRoleCont)
|
|
}
|
|
isTrue = true
|
|
return
|
|
}
|
|
|
|
// 获取分厂角色
|
|
func GetBfRole(bfId int64) (isTrue bool, bfRoleAry []SystemAdminGroup) {
|
|
isTrue = false
|
|
var branchFactory []systemuser.SystemRole
|
|
err := global.GVA_DB_Master.Where("r_attribute = ?", bfId).Find(&branchFactory).Error
|
|
if err != nil {
|
|
return
|
|
}
|
|
for _, val := range branchFactory {
|
|
var bfRoleCont SystemAdminGroup
|
|
bfRoleCont.Id = val.Id
|
|
bfRoleCont.OutId = strconv.FormatInt(val.Id, 10)
|
|
bfRoleCont.Title = val.Title
|
|
bfRoleAry = append(bfRoleAry, bfRoleCont)
|
|
}
|
|
isTrue = true
|
|
return
|
|
}
|
|
|
|
// 添加系统管理员
|
|
func (s *SystemUserApi) AddSystemAdmin(c *gin.Context) {
|
|
var requestData AddSysAdmin
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
response.Result(101, err, "参数错误!请重新提交!", c)
|
|
return
|
|
}
|
|
if requestData.UserName == "" {
|
|
response.Result(102, requestData, "请输入用户账号!", c)
|
|
return
|
|
}
|
|
if requestData.Password == "" {
|
|
response.Result(103, requestData, "请输入登录密码!", c)
|
|
return
|
|
}
|
|
if requestData.ConfirmPassword == "" {
|
|
response.Result(104, requestData, "请输入确认密码!", c)
|
|
return
|
|
}
|
|
if requestData.Password != requestData.ConfirmPassword {
|
|
response.Result(105, requestData, "您两次输入的密码不一致!请重新提交!", c)
|
|
return
|
|
}
|
|
if requestData.Role == 0 {
|
|
response.Result(106, requestData, "请选择账号所属角色!", c)
|
|
return
|
|
}
|
|
if requestData.Name == "" {
|
|
response.Result(107, requestData, "请输入使用者姓名!", c)
|
|
return
|
|
}
|
|
//查询该用户名是否已经使用
|
|
adminCont := commonus.MapOut()
|
|
juadeAdminErr := global.GVA_DB_Master.Model(&systemuser.SystemUser{}).Select("u_name").Where("`u_name` = ?", requestData.UserName).First(&adminCont).Error
|
|
if juadeAdminErr == nil {
|
|
response.Result(110, requestData, "该用户名已经存在!请不要重复添加!", c)
|
|
return
|
|
}
|
|
//密码加密
|
|
var md5JiaMi commonus.Md5Encryption
|
|
md5JiaMi.Md5EncryptionInit(requestData.ConfirmPassword)
|
|
md5Password := md5JiaMi.Md5EncryptionAlgorithm()
|
|
//编号
|
|
numKey := commonus.GetFileNumberEs()
|
|
//获取角色详情
|
|
roleIsTurn, roleCont := GetAdminRoleInfo(requestData.Role)
|
|
|
|
var sysAdminCont systemuser.SystemUser
|
|
var sysAdminAttrCont systemuser.SystemUserAttribute
|
|
sysAdminCont.Name = requestData.UserName
|
|
sysAdminCont.PassWord = md5Password
|
|
sysAdminCont.Role = requestData.Role
|
|
sysAdminCont.State = 1
|
|
sysAdminCont.Attribute = requestData.RoleGroup
|
|
sysAdminCont.Time = time.Now().Unix()
|
|
sysAdminCont.EiteTime = time.Now().Unix()
|
|
sysAdminCont.Key = numKey
|
|
if roleIsTurn == true {
|
|
sysAdminCont.Group = roleCont.Group
|
|
sysAdminCont.Wand = roleCont.Wand
|
|
}
|
|
sysAdminAttrCont.IdAttr = numKey
|
|
sysAdminAttrCont.NameAttr = requestData.Name
|
|
sysAdminAttrCont.Tel = requestData.Tel
|
|
sysAdminAttrCont.TimeAttr = time.Now().Unix()
|
|
|
|
affairDb := global.GVA_DB_Master.Begin()
|
|
addSysAdminContErr := affairDb.Create(&sysAdminCont).Error
|
|
addSysAdminAttrContErr := affairDb.Create(&sysAdminAttrCont).Error
|
|
if addSysAdminContErr == nil && addSysAdminAttrContErr == nil {
|
|
affairDbErr := affairDb.Commit().Error
|
|
if affairDbErr == nil {
|
|
response.Result(0, affairDbErr, "数据写入成功!", c)
|
|
} else {
|
|
response.Result(108, affairDbErr, "数据写入失败!", c)
|
|
}
|
|
} else {
|
|
affairDbErr := affairDb.Rollback().Error
|
|
response.Result(109, affairDbErr, "数据写入失败!", c)
|
|
}
|
|
}
|
|
|
|
// 获取管理员信息
|
|
func (s *SystemUserApi) GetSystemAdminCont(c *gin.Context) {
|
|
var requestData commonus.SetIds
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
response.Result(101, err, "参数错误!请重新提交!", c)
|
|
return
|
|
}
|
|
if requestData.Id == 0 && requestData.OutId == "" {
|
|
response.Result(102, err, "参数错误!请重新提交!", c)
|
|
return
|
|
}
|
|
if requestData.OutId != "" {
|
|
idInt, inIntErr := strconv.ParseInt(requestData.OutId, 10, 64)
|
|
if inIntErr == nil {
|
|
requestData.Id = idInt
|
|
}
|
|
}
|
|
var userInfo systemuser.SystemAdminDetails
|
|
userErr := global.GVA_DB_Master.Model(&systemuser.SystemUser{}).Select("system_user.*,system_user_attribute.*").Joins("left join system_user_attribute on system_user.u_key = system_user_attribute.ua_id").Where("`u_id` = ?", requestData.Id).First(&userInfo).Error
|
|
if userErr != nil {
|
|
response.Result(103, requestData, "该用户不存在!", c)
|
|
return
|
|
}
|
|
var sysAdminInfo adminOutInfo
|
|
sysAdminInfo.Id = userInfo.Id
|
|
sysAdminInfo.Name = userInfo.Name
|
|
sysAdminInfo.PassWord = userInfo.PassWord
|
|
sysAdminInfo.Role = userInfo.Role
|
|
sysAdminInfo.State = userInfo.State
|
|
sysAdminInfo.Attribute = userInfo.Attribute
|
|
sysAdminInfo.Time = userInfo.Time
|
|
sysAdminInfo.EiteTime = userInfo.EiteTime
|
|
sysAdminInfo.Key = userInfo.Key
|
|
sysAdminInfo.Group = userInfo.Group
|
|
sysAdminInfo.Wand = userInfo.Wand
|
|
sysAdminInfo.IdAttr = userInfo.IdAttr
|
|
sysAdminInfo.NameAttr = userInfo.NameAttr
|
|
sysAdminInfo.Tel = userInfo.Tel
|
|
sysAdminInfo.TimeAttr = userInfo.TimeAttr
|
|
|
|
where := commonus.MapOut()
|
|
where["id"] = userInfo.Group
|
|
orgCont, _ := commonus.GetNewOrgCont(where, "id", "name")
|
|
sysAdminInfo.GroupName = orgCont.Name
|
|
|
|
whereDepart := commonus.MapOut()
|
|
whereDepart["id"] = userInfo.Attribute
|
|
orgContDepart, _ := commonus.GetNewOrgCont(whereDepart, "id", "name")
|
|
sysAdminInfo.BranchFactoryName = orgContDepart.Name
|
|
|
|
// isTrueGroup, groupCont := assessment.GetGroupCont(userInfo.Group)
|
|
// if isTrueGroup == true {
|
|
// sysAdminInfo.GroupName = groupCont.Name
|
|
// }
|
|
// isTrueBranFact, branFactCont := assessment.GetBranchFactory(userInfo.Attribute)
|
|
// if isTrueBranFact == true {
|
|
// sysAdminInfo.BranchFactoryName = branFactCont.Name
|
|
// }
|
|
|
|
isTrueRole, adminRoleCont := GetAdminRoleInfo(userInfo.Role)
|
|
if isTrueRole == true {
|
|
sysAdminInfo.RoleName = adminRoleCont.Title
|
|
sysAdminInfo.Jurisdiction = adminRoleCont.Jurisdiction
|
|
sysAdminInfo.MenuOper = adminRoleCont.MenuOper
|
|
sysAdminInfo.Wand = adminRoleCont.Wand
|
|
}
|
|
sysAdminInfo.KeyStr = strconv.FormatInt(userInfo.Key, 10)
|
|
|
|
response.Result(0, sysAdminInfo, "该用户不存在!", c)
|
|
}
|
|
|
|
// 修改管理员
|
|
func (s *SystemUserApi) EiteSystemAdminCont(c *gin.Context) {
|
|
var requestData EiteSysAdmin
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
response.Result(101, err, "参数错误!请重新提交!", c)
|
|
return
|
|
}
|
|
if requestData.Id == 0 && requestData.OutId == "" {
|
|
response.Result(102, err, "参数错误!请重新提交!", c)
|
|
return
|
|
}
|
|
if requestData.OutId != "" {
|
|
idInt, inIntErr := strconv.ParseInt(requestData.OutId, 10, 64)
|
|
if inIntErr == nil {
|
|
requestData.Id = idInt
|
|
}
|
|
}
|
|
var userInfo systemuser.SystemUser
|
|
userErr := global.GVA_DB_Master.Where("`u_id` = ?", requestData.Id).First(&userInfo).Error
|
|
if userErr != nil {
|
|
response.Result(103, requestData, "该用户不存在!", c)
|
|
return
|
|
}
|
|
|
|
saveData := commonus.MapOut()
|
|
saveAttrData := commonus.MapOut()
|
|
//获取角色详情
|
|
roleIsTurn, roleCont := GetAdminRoleInfo(requestData.Role)
|
|
if requestData.Role != 0 {
|
|
saveData["u_role"] = requestData.Role
|
|
if roleIsTurn == true {
|
|
saveData["u_group"] = roleCont.Group
|
|
saveData["u_wand"] = roleCont.Wand
|
|
}
|
|
}
|
|
if requestData.RoleGroup != 0 {
|
|
saveData["u_attribute"] = requestData.RoleGroup
|
|
if roleIsTurn == true {
|
|
saveData["u_group"] = roleCont.Group
|
|
saveData["u_wand"] = roleCont.Wand
|
|
}
|
|
} else {
|
|
if userInfo.Attribute != 0 {
|
|
saveData["u_attribute"] = requestData.RoleGroup
|
|
if roleIsTurn == true {
|
|
saveData["u_group"] = roleCont.Group
|
|
saveData["u_wand"] = roleCont.Wand
|
|
}
|
|
}
|
|
}
|
|
if requestData.Password != "" && requestData.Password == requestData.ConfirmPassword {
|
|
//密码加密
|
|
var md5JiaMi commonus.Md5Encryption
|
|
md5JiaMi.Md5EncryptionInit(requestData.ConfirmPassword)
|
|
md5Password := md5JiaMi.Md5EncryptionAlgorithm()
|
|
saveData["u_password"] = md5Password
|
|
}
|
|
saveData["u_eite_time"] = time.Now().Unix()
|
|
|
|
if requestData.Name != "" {
|
|
saveAttrData["ua_name"] = requestData.Name
|
|
}
|
|
if requestData.Tel != "" {
|
|
saveAttrData["ua_tel"] = requestData.Tel
|
|
}
|
|
saveAttrData["ua_time"] = time.Now().Unix()
|
|
isTrue, isErr := eiteSystemAdminCont(userInfo.Key, saveData, saveAttrData)
|
|
if isTrue == true {
|
|
response.Result(0, isErr, "编辑成功!", c)
|
|
} else {
|
|
response.Result(103, isErr, "编辑失败!", c)
|
|
}
|
|
}
|
|
|
|
// 编辑系统管理员数据处理
|
|
func eiteSystemAdminCont(saveId int64, saveData, saveDataAttr map[string]interface{}) (isTrue bool, affairDbErr error) {
|
|
isTrue = false
|
|
affairDb := global.GVA_DB_Master.Begin()
|
|
infoErr := affairDb.Model(&systemuser.SystemUser{}).Where("`u_key` = ?", saveId).Updates(saveData).Error
|
|
infoAttrErr := affairDb.Model(&systemuser.SystemUserAttribute{}).Where("`ua_id` = ?", saveId).Updates(saveDataAttr).Error
|
|
if infoErr == nil && infoAttrErr == nil {
|
|
affairDbErr = affairDb.Commit().Error
|
|
if affairDbErr != nil {
|
|
affairDbErr = affairDb.Rollback().Error
|
|
return
|
|
}
|
|
} else {
|
|
affairDbErr = affairDb.Rollback().Error
|
|
return
|
|
}
|
|
isTrue = true
|
|
return
|
|
}
|
|
|
|
// 删除系统管理员
|
|
func (s *SystemUserApi) DelSystemAdmin(c *gin.Context) {
|
|
var requestData delSystemRoleType
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
response.Result(101, err, "参数错误!请重新提交!", c)
|
|
return
|
|
}
|
|
if requestData.Id == 0 && requestData.OutId == "" {
|
|
response.Result(102, err, "参数错误!请重新提交!", c)
|
|
return
|
|
}
|
|
if requestData.OutId != "" {
|
|
idInt, inIntErr := strconv.ParseInt(requestData.OutId, 10, 64)
|
|
if inIntErr == nil {
|
|
requestData.Id = idInt
|
|
}
|
|
}
|
|
if requestData.State == 0 {
|
|
requestData.State = 1
|
|
}
|
|
var userInfo systemuser.SystemUser
|
|
userErr := global.GVA_DB_Master.Where("`u_id` = ?", requestData.Id).First(&userInfo).Error
|
|
if userErr != nil {
|
|
response.Result(103, requestData, "该用户不存在!", c)
|
|
return
|
|
}
|
|
saveData := commonus.MapOut()
|
|
saveAttrData := commonus.MapOut()
|
|
saveData["u_set"] = requestData.State
|
|
saveData["u_eite_time"] = time.Now().Unix()
|
|
saveAttrData["ua_time"] = time.Now().Unix()
|
|
if requestData.IsDel != 1 {
|
|
roleIsTrue, roleErr := eiteSystemAdminCont(userInfo.Key, saveData, saveAttrData)
|
|
if roleIsTrue != true {
|
|
response.Result(104, roleErr, "修改失败!", c)
|
|
return
|
|
}
|
|
response.Result(0, requestData, "修改成功!", c)
|
|
} else {
|
|
if requestData.State == 3 {
|
|
affairDb := global.GVA_DB_Master.Begin()
|
|
infoErr := affairDb.Where("`u_key` = ?", userInfo.Key).Delete(&systemuser.SystemUser{}).Error
|
|
infoAttrErr := affairDb.Where("`ua_id` = ?", userInfo.Key).Delete(&systemuser.SystemUserAttribute{}).Error
|
|
if infoErr == nil && infoAttrErr == nil {
|
|
affairDbErr := affairDb.Commit().Error
|
|
if affairDbErr != nil {
|
|
affairDbErr = affairDb.Rollback().Error
|
|
response.Result(105, affairDbErr, "删除失败!", c)
|
|
} else {
|
|
response.Result(0, affairDbErr, "删除成功!", c)
|
|
}
|
|
} else {
|
|
affairDbErr := affairDb.Rollback().Error
|
|
ma := commonus.MapOut()
|
|
ma["affairDbErr"] = affairDbErr
|
|
ma["infoErr"] = infoErr
|
|
ma["infoAttrErr"] = infoAttrErr
|
|
response.Result(106, ma, "删除失败!", c)
|
|
}
|
|
} else {
|
|
roleIsTrue, roleErr := eiteSystemAdminCont(userInfo.Key, saveData, saveAttrData)
|
|
if roleIsTrue != true {
|
|
response.Result(107, roleErr, "修改失败!", c)
|
|
}
|
|
response.Result(0, roleErr, "修改成功!", c)
|
|
}
|
|
}
|
|
}
|
|
|