sys_user.go 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. package system
  2. import (
  3. "eta/eta_hub/utils"
  4. "github.com/beego/beego/v2/client/orm"
  5. "time"
  6. )
  7. type Admin struct {
  8. AdminId int `orm:"column(admin_id);pk" description:"系统用户id"`
  9. AdminName string `description:"系统用户名称"`
  10. AdminAvatar string `description:"用户头像"`
  11. RealName string `description:"系统用户姓名"`
  12. Password string `json:"-"`
  13. LastUpdatedPasswordTime string `json:"-"`
  14. Enabled int
  15. Email string `description:"系统用户邮箱"`
  16. LastLoginTime string
  17. CreatedTime time.Time
  18. LastUpdatedTime string
  19. Role string `description:"系统用户角色"`
  20. Mobile string `description:"手机号"`
  21. RoleType int `description:"角色类型:1需要录入指标,0:不需要"`
  22. RoleId int `description:"角色ID"`
  23. RoleName string `description:"角色名称"`
  24. RoleTypeCode string `description:"角色类型编码"`
  25. DepartmentId int `description:"部门id"`
  26. DepartmentName string `description:"部门名称"`
  27. GroupId int `description:"分组id"`
  28. GroupName string `description:"分组名称"`
  29. Authority int `description:"管理权限,0:无,1:部门负责人,2:小组负责人,或者ficc销售主管,3:超级管理员,4:ficc销售组长"`
  30. Position string `description:"职位"`
  31. DisableTime time.Time `description:"禁用时间"`
  32. ChartPermission int8 `description:"图表权限id"`
  33. OpenId string `description:"弘则部门公众号的openid"`
  34. UnionId string `description:"微信公众平台唯一标识"`
  35. EdbPermission int8 `description:"指标库操作权限,0:只能操作 自己的,1:所有指标可操作"`
  36. MysteelChemicalPermission int8 `description:"钢联化工指标操作权限,0:只能操作 自己的,1:所有指标可操作"`
  37. PredictEdbPermission int8 `description:"预测指标库操作权限,0:只能操作 自己的,1:所有预测指标可操作"`
  38. Province string `description:"省"`
  39. ProvinceCode string `description:"省编码"`
  40. City string `description:"市"`
  41. CityCode string `description:"市编码"`
  42. EmployeeId string `description:"员工工号(钉钉/每刻报销)"`
  43. TelAreaCode string `description:"手机区号"`
  44. }
  45. type AdminItem struct {
  46. AdminId int `orm:"column(admin_id);pk" description:"系统用户id"`
  47. AdminName string `description:"系统用户名称"`
  48. AdminAvatar string `json:"-" description:"用户头像"`
  49. RealName string `description:"系统用户姓名"`
  50. Password string `json:"-"`
  51. LastUpdatedPasswordTime string `json:"-"`
  52. Enabled int
  53. Email string `description:"系统用户邮箱"`
  54. LastLoginTime string `json:"-"`
  55. CreatedTime string `json:"-"`
  56. LastUpdatedTime string `json:"-"`
  57. Role string `description:"系统用户角色"`
  58. Mobile string `description:"手机号"`
  59. RoleType int `json:"-" description:"角色类型:1需要录入指标,0:不需要"`
  60. RoleId int `json:"-" description:"角色ID"`
  61. RoleName string `json:"-" description:"角色名称"`
  62. RoleTypeCode string `json:"-" description:"角色类型编码"`
  63. DepartmentId int `description:"部门id"`
  64. DepartmentName string `description:"部门名称"`
  65. GroupId int `description:"分组id"`
  66. GroupName string `description:"分组名称"`
  67. Authority int `json:"-" description:"管理权限,0:无,1:部门负责人,2:小组负责人,或者ficc销售主管,3:超级管理员,4:ficc销售组长"`
  68. Position string `description:"职位"`
  69. DisableTime string `json:"-" description:"禁用时间"`
  70. ChartPermission int8 `json:"-" description:"图表权限id"`
  71. OpenId string `json:"-" description:"弘则部门公众号的openid"`
  72. UnionId string `json:"-" description:"微信公众平台唯一标识"`
  73. EdbPermission int8 `json:"-" description:"指标库操作权限,0:只能操作 自己的,1:所有指标可操作"`
  74. MysteelChemicalPermission int8 `json:"-" description:"钢联化工指标操作权限,0:只能操作 自己的,1:所有指标可操作"`
  75. PredictEdbPermission int8 `json:"-" description:"预测指标库操作权限,0:只能操作 自己的,1:所有预测指标可操作"`
  76. Province string `json:"-" description:"省"`
  77. ProvinceCode string `json:"-" description:"省编码"`
  78. City string `json:"-" description:"市"`
  79. CityCode string `json:"-" description:"市编码"`
  80. EmployeeId string `json:"-" description:"员工工号(钉钉/每刻报销)"`
  81. TelAreaCode string `description:"手机区号"`
  82. }
  83. // GetSysUserByAdminName 账号获取用户
  84. func GetSysUserByAdminName(adminName string) (item *AdminItem, err error) {
  85. o := orm.NewOrm()
  86. sql := `SELECT
  87. a.*, b.role_type_code
  88. FROM
  89. admin AS a
  90. INNER JOIN sys_role AS b ON a.role_id = b.role_id
  91. WHERE
  92. a.admin_name = ?
  93. LIMIT 1`
  94. err = o.Raw(sql, adminName).QueryRow(&item)
  95. return
  96. }
  97. // GetUserByAdminName 根据系统用户名获取用户信息
  98. func GetUserByAdminName(adminName string) (item *AdminItem, err error) {
  99. o := orm.NewOrm()
  100. sql := `SELECT * FROM admin WHERE admin_name = ? LIMIT 1`
  101. err = o.Raw(sql, adminName).QueryRow(&item)
  102. if err != nil && err.Error() == utils.ErrNoRow() {
  103. return nil, nil
  104. }
  105. return item, err
  106. }
  107. type UserCheckResp struct {
  108. IsUser bool
  109. AdminInfo *AdminItem
  110. }