admin.go 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. package admin
  2. import (
  3. //_ "github.com/go-sql-driver/mysql"
  4. "github.com/beego/beego/v2/client/orm"
  5. "hongze/hongze_mobile_admin/models/custom"
  6. "time"
  7. )
  8. type Admin struct {
  9. AdminId int `orm:"column(admin_id);pk" json:"admin_id"`
  10. AdminName string `orm:"column(admin_name);" json:"admin_name"`
  11. AdminAvatar string `description:"用户头像"`
  12. RealName string `orm:"column(real_name);" json:"real_name"`
  13. Password string `orm:"column(password);" json:"password"`
  14. LastUpdatedPasswordTime string `orm:"column(last_updated_password_time);" json:"last_updated_password_time"`
  15. Enabled int `orm:"column(enabled);" json:"enabled"` // 1:有效,0:禁用
  16. Email string `orm:"column(email);" json:"email"`
  17. LastLoginTime string `orm:"column(last_login_time);" json:"last_login_time"` // 最近登陆时间
  18. CreatedTime string `orm:"column(created_time);" json:"created_time"` // 创建时间
  19. LastUpdatedTime string `orm:"column(last_updated_time);" json:"last_updated_time"`
  20. Role string `orm:"column(role);" json:"role"` // 用户角色
  21. Mobile string `orm:"column(mobile);" json:"mobile"` // 手机号
  22. RoleType int `orm:"column(role_type);" json:"role_type"` // 角色类型:1需要录入指标,0:不需要
  23. RoleId int `orm:"column(role_id);" json:"role_id"` // 角色id
  24. RoleName string `orm:"column(role_name);" json:"role_name"` // 角色名称
  25. RoleTypeCode string `orm:"column(role_type_code);" json:"role_type_code"` // 角色编码
  26. DepartmentId int `orm:"column(department_id);" json:"department_id"` // 部门id
  27. DepartmentName string `orm:"column(department_name);" json:"department_name"` // 部门名称
  28. GroupId int `orm:"column(group_id);" json:"group_id"` // 分组id
  29. GroupName string `orm:"column(group_name);" json:"group_name"` // 分组名称
  30. Authority int `orm:"column(authority);" json:"authority"` // 管理权限,0:无,1:部门负责人,2:小组负责人,3:超级管理员
  31. Position string `orm:"column(position);" json:"position"` // 职位
  32. }
  33. // 账号密码校验
  34. func CheckAdmin(userName, password string) (item *Admin, err error) {
  35. sql := ` SELECT a.*,b.role_type_code FROM admin AS a
  36. INNER JOIN sys_role AS b ON a.role_id=b.role_id WHERE a.admin_name=? AND a.password=? LIMIT 1`
  37. o := orm.NewOrm()
  38. err = o.Raw(sql, userName, password).QueryRow(&item)
  39. return
  40. }
  41. //根据管理员id获取管理员信息
  42. func GetAdminById(adminId int) (item *Admin, err error) {
  43. sql := `SELECT * FROM admin WHERE admin_id=? LIMIT 1`
  44. o := orm.NewOrm()
  45. err = o.Raw(sql, adminId).QueryRow(&item)
  46. return
  47. }
  48. //根据权限code获取系统用户列表
  49. func GetAdminListByRoleCode(roleTypeCode string) (items []*Admin, err error) {
  50. sql := `SELECT * FROM admin WHERE role_type_code=? and enabled=1 `
  51. o := orm.NewOrm()
  52. _, err = o.Raw(sql, roleTypeCode).QueryRows(&items)
  53. return
  54. }
  55. //根据权限id获取系统用户列表
  56. func GetAdminListByRoleId(roleId string) (items []*Admin, err error) {
  57. sql := `SELECT * FROM admin WHERE role_id=? and enabled=1 `
  58. o := orm.NewOrm()
  59. _, err = o.Raw(sql, roleId).QueryRows(&items)
  60. return
  61. }
  62. //根据用户id字符串获取系统用户列表
  63. func GetAdminListByIds(ids string) (items []*Admin, err error) {
  64. sql := `SELECT * FROM admin WHERE admin_id in (` + ids + `) and enabled=1 `
  65. o := orm.NewOrm()
  66. _, err = o.Raw(sql).QueryRows(&items)
  67. return
  68. }
  69. //根据管理员id获取管理员信息(包含微信、第三方信息)
  70. func GetAdminWxById(adminId int) (item *custom.AdminWx, err error) {
  71. sql := `SELECT * FROM admin WHERE admin_id=? LIMIT 1`
  72. o := orm.NewOrm()
  73. err = o.Raw(sql, adminId).QueryRow(&item)
  74. return
  75. }
  76. func GetSysuserList(condition string, pars []interface{}, startSize, pageSize int) (items []*AdminItem, err error) {
  77. o := orm.NewOrm()
  78. sql := `SELECT * FROM admin WHERE 1=1 `
  79. if condition != "" {
  80. sql += condition
  81. }
  82. sql += `ORDER BY created_time DESC LIMIT ?,?`
  83. _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
  84. return
  85. }
  86. // AdminItem 管理后台的adminInfo,没有使用json格式化,路演这边需要用到,没办法
  87. type AdminItem struct {
  88. AdminId int `description:"系统用户id"`
  89. AdminName string `description:"系统用户名称"`
  90. RealName string `description:"系统用户姓名"`
  91. Password string
  92. LastUpdatedPasswordTime string `json:"-"`
  93. Enabled int `description:"1:有效,0:禁用"`
  94. Email string `description:"系统用户邮箱"`
  95. LastLoginTime string
  96. CreatedTime time.Time
  97. LastUpdatedTime string
  98. Role string `description:"系统用户角色"`
  99. Mobile string `description:"手机号"`
  100. RoleType int `description:"角色类型:1需要录入指标,0:不需要"`
  101. RoleId int `description:"角色id"`
  102. RoleName string `description:"角色名称"`
  103. RoleTypeCode string `description:"角色编码"`
  104. DepartmentId int `description:"部门id"`
  105. DepartmentName string `json:"-" description:"部门名称"`
  106. TeamId int `description:"三级id"`
  107. GroupId int `description:"分组id"`
  108. GroupName string `json:"-" description:"分组名称"`
  109. Authority int `description:"管理权限,0:无,1:部门负责人,2:小组负责人,或者ficc销售主管,4:ficc销售组长"`
  110. Position string `description:"职位"`
  111. DepartmentGroup string `description:"部门分组"`
  112. LabelVal int `description:"标签:1:超级管理员,2:管理员,3:部门经理,4:组长,5:ficc销售主管"`
  113. }