sys_user.go 5.8 KB

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