sys_user.go 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. package models
  2. import (
  3. "time"
  4. "github.com/beego/beego/v2/client/orm"
  5. )
  6. type SysUser struct {
  7. SysUserId int `orm:"pk" description:"系统用户id"`
  8. SysUserName string `description:"账号"`
  9. SysRealName string `description:"姓名"`
  10. Password string `description:"密码"`
  11. Email string `description:"邮箱"`
  12. Phone string `description:"手机号"`
  13. AreaCode string `description:"手机区号"`
  14. SysRoleId int `description:"角色id"`
  15. SysRoleName string `description:"角色名称"`
  16. SysDepartmentId int `description:"所属部门id"`
  17. SysDepartmentId1 int `description:"所属部门一级id"`
  18. SysDepartmentId2 int `description:"所属部门二级id"`
  19. SysDepartmentId3 int `description:"所属部门三级id"`
  20. Province string `description:"省"`
  21. City string `description:"市"`
  22. IsEnabled bool `description:"是否启用"`
  23. CreateTime time.Time `description:"创建时间"`
  24. ModifyTime time.Time `description:"更新时间"`
  25. }
  26. type SysUserView struct {
  27. SysUserId int `orm:"pk" description:"系统用户id"`
  28. SysUserName string `description:"账号"`
  29. SysRealName string `description:"姓名"`
  30. Password string `description:"密码"`
  31. Email string `description:"邮箱"`
  32. Phone string `description:"手机号"`
  33. AreaCode string `description:"手机区号"`
  34. SysRoleId int `description:"角色id"`
  35. SysRoleName string `description:"角色名称"`
  36. SysDepartmentId int `description:"所属部门id"`
  37. SysDepartmentName string `description:"所属部门全路径"`
  38. Province string `description:"省"`
  39. City string `description:"市"`
  40. IsEnabled bool `description:"是否启用"`
  41. CreateTime time.Time `description:"创建时间"`
  42. ModifyTime time.Time `description:"更新时间"`
  43. }
  44. type SysUserMapping struct {
  45. SysUserId int `orm:"pk" description:"系统用户id"`
  46. SysUserName string `description:"账号"`
  47. SysRealName string `description:"姓名"`
  48. Password string `description:"密码"`
  49. Email string `description:"邮箱"`
  50. Phone string `description:"手机号"`
  51. AreaCode string `description:"手机区号"`
  52. SysRoleId int `description:"角色id"`
  53. SysRoleName string `description:"角色名称"`
  54. SysDepartmentId int `description:"所属部门id"`
  55. SysDepartmentName1 string `description:"所属部门一级"`
  56. SysDepartmentName2 string `description:"所属部门二级路径"`
  57. SysDepartmentName3 string `description:"所属部门三级路径"`
  58. Province string `description:"省"`
  59. City string `description:"市"`
  60. IsEnabled bool `description:"是否启用"`
  61. CreateTime time.Time `description:"创建时间"`
  62. ModifyTime time.Time `description:"更新时间"`
  63. }
  64. func (s *SysUser) Save() (err error) {
  65. o := orm.NewOrmUsingDB("master")
  66. _, err = o.InsertOrUpdate(s, "sys_user_id")
  67. return
  68. }
  69. func (s *SysUser) Update(cols []string) (err error) {
  70. o := orm.NewOrmUsingDB("master")
  71. _, err = o.Update(s, cols...)
  72. return
  73. }
  74. func SaveSysUser(sysUser *SysUser, sysDepartmendPathIds []int) (err error) {
  75. o := orm.NewOrmUsingDB("master")
  76. sysUser.SysDepartmentId1 = sysDepartmendPathIds[0]
  77. sysUser.SysDepartmentId2 = sysDepartmendPathIds[1]
  78. sysUser.SysDepartmentId3 = sysDepartmendPathIds[2]
  79. _, err = o.InsertOrUpdate(sysUser)
  80. return
  81. }
  82. // func SaveSysUser(sysUser *SysUser, sysDepartmendPathIds []int) (err error) {
  83. // o := orm.NewOrmUsingDB("master")
  84. // err = o.DoTx(func(ctx context.Context, txOrm orm.TxOrmer) error {
  85. // insertId, e := txOrm.InsertOrUpdate(sysUser)
  86. // if e != nil {
  87. // return e
  88. // }
  89. // userDepMapping := &SysUserDepartmentMapping{}
  90. // userDepMapping.SysUserId = int(insertId)
  91. // userDepMapping.SysDepartmentId1 = sysDepartmendPathIds[0]
  92. // userDepMapping.SysDepartmentId2 = sysDepartmendPathIds[1]
  93. // userDepMapping.SysDepartmentId3 = sysDepartmendPathIds[2]
  94. // _, e = txOrm.InsertOrUpdate(userDepMapping)
  95. // if e != nil {
  96. // return e
  97. // }
  98. // return nil
  99. // })
  100. // return
  101. // }
  102. func GetSysUserBySysUserName(sysUserName string) (item *SysUser, err error) {
  103. sql := `SELECT * FROM sys_user WHERE sys_user_name=?`
  104. o := orm.NewOrmUsingDB("master")
  105. err = o.Raw(sql, sysUserName).QueryRow(&item)
  106. return
  107. }
  108. func GetSysUserById(sysUserId int) (item *SysUser, err error) {
  109. sql := `SELECT * FROM sys_user WHERE sys_user_id=?`
  110. o := orm.NewOrmUsingDB("master")
  111. err = o.Raw(sql, sysUserId).QueryRow(&item)
  112. return
  113. }
  114. func GetSysUserCountById(sysUserId int) (count int, err error) {
  115. sql := `SELECT COUNT(1) AS count FROM sys_user WHERE sys_user_id=?`
  116. o := orm.NewOrmUsingDB("master")
  117. err = o.Raw(sql, sysUserId).QueryRow(&count)
  118. return
  119. }
  120. func GetSysUserCountBySysUserName(sysUserName string) (count int, err error) {
  121. sql := `SELECT COUNT(1) AS count FROM sys_user WHERE sys_user_name=?`
  122. o := orm.NewOrmUsingDB("master")
  123. err = o.Raw(sql, sysUserName).QueryRow(&count)
  124. return
  125. }
  126. func GetSysUserCount(condition string, pars []interface{}) (count int, err error) {
  127. sql := `SELECT COUNT(1) AS count FROM sys_user WHERE 1=1`
  128. if condition != "" {
  129. sql += condition
  130. }
  131. o := orm.NewOrmUsingDB("master")
  132. err = o.Raw(sql, pars...).QueryRow(&count)
  133. return
  134. }
  135. func GetSysUserCountByRoleId(roleId int) (count int, err error) {
  136. sql := `SELECT COUNT(1) AS count FROM sys_user WHERE sys_role_id=?`
  137. o := orm.NewOrmUsingDB("master")
  138. err = o.Raw(sql, roleId).QueryRow(&count)
  139. return
  140. }
  141. func GetSysUserList(condition string, pars []interface{}, startSize, pageSize int) (items []*SysUserMapping, err error) {
  142. sql := `SELECT u.*,d1.sys_department_name sys_department_name1, d2.sys_department_name sys_department_name2, d3.sys_department_name sys_department_name3
  143. FROM sys_user u
  144. LEFT JOIN sys_department AS d1
  145. ON u.sys_department_id1 = d1.sys_department_id
  146. LEFT JOIN sys_department AS d2
  147. ON u.sys_department_id2 = d2.sys_department_id
  148. LEFT JOIN sys_department AS d3
  149. ON u.sys_department_id3 = d3.sys_department_id
  150. WHERE 1=1 `
  151. if condition != "" {
  152. sql += condition
  153. }
  154. sql += `ORDER BY u.is_enabled, u.modify_time DESC LIMIT ?,?`
  155. o := orm.NewOrmUsingDB("master")
  156. _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
  157. return
  158. }
  159. func GetSysUserIdList() (items []int, err error) {
  160. sql := ` SELECT sys_user_id FROM sys_user WHERE 1=1 `
  161. o := orm.NewOrmUsingDB("master")
  162. _, err = o.Raw(sql).QueryRows(&items)
  163. return
  164. }