sys_user.go 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. package system
  2. import (
  3. "eta/eta_hub/global"
  4. "eta/eta_hub/utils"
  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. OutId string `description:"外部ID"`
  45. }
  46. type AdminItem struct {
  47. AdminId int `orm:"column(admin_id);pk" description:"系统用户id"`
  48. AdminName string `description:"系统用户名称"`
  49. AdminAvatar string `json:"-" description:"用户头像"`
  50. RealName string `description:"系统用户姓名"`
  51. Password string `json:"-"`
  52. LastUpdatedPasswordTime string `json:"-"`
  53. Enabled int
  54. Email string `description:"系统用户邮箱"`
  55. LastLoginTime string `json:"-"`
  56. CreatedTime string `json:"-"`
  57. LastUpdatedTime string `json:"-"`
  58. Role string `description:"系统用户角色"`
  59. Mobile string `description:"手机号"`
  60. RoleType int `json:"-" description:"角色类型:1需要录入指标,0:不需要"`
  61. RoleId int `json:"-" description:"角色ID"`
  62. RoleName string `json:"-" description:"角色名称"`
  63. RoleTypeCode string `json:"-" description:"角色类型编码"`
  64. DepartmentId int `description:"部门id"`
  65. DepartmentName string `description:"部门名称"`
  66. GroupId int `description:"分组id"`
  67. GroupName string `description:"分组名称"`
  68. Authority int `json:"-" description:"管理权限,0:无,1:部门负责人,2:小组负责人,或者ficc销售主管,3:超级管理员,4:ficc销售组长"`
  69. Position string `description:"职位"`
  70. DisableTime string `json:"-" description:"禁用时间"`
  71. ChartPermission int8 `json:"-" description:"图表权限id"`
  72. OpenId string `json:"-" description:"弘则部门公众号的openid"`
  73. UnionId string `json:"-" description:"微信公众平台唯一标识"`
  74. EdbPermission int8 `json:"-" description:"指标库操作权限,0:只能操作 自己的,1:所有指标可操作"`
  75. MysteelChemicalPermission int8 `json:"-" description:"钢联化工指标操作权限,0:只能操作 自己的,1:所有指标可操作"`
  76. PredictEdbPermission int8 `json:"-" description:"预测指标库操作权限,0:只能操作 自己的,1:所有预测指标可操作"`
  77. Province string `json:"-" description:"省"`
  78. ProvinceCode string `json:"-" description:"省编码"`
  79. City string `json:"-" description:"市"`
  80. CityCode string `json:"-" description:"市编码"`
  81. EmployeeId string `json:"-" description:"员工工号(钉钉/每刻报销)"`
  82. TelAreaCode string `description:"手机区号"`
  83. OutId string `description:"外部ID"`
  84. }
  85. // GetSysUserByAdminName 账号获取用户
  86. func GetSysUserByAdminName(adminName string) (item *AdminItem, err error) {
  87. //o := orm.NewOrm()
  88. sql := `SELECT
  89. a.*, b.role_type_code
  90. FROM
  91. admin AS a
  92. INNER JOIN sys_role AS b ON a.role_id = b.role_id
  93. WHERE
  94. a.admin_name = ?
  95. LIMIT 1`
  96. err = global.DEFAULT_DB.Raw(sql, adminName).Scan(&item).Error
  97. return
  98. }
  99. // GetUserByAdminName 根据系统用户名获取用户信息
  100. func GetUserByAdminName(adminName string) (item *AdminItem, err error) {
  101. //o := orm.NewOrm()
  102. sql := `SELECT * FROM admin WHERE admin_name = ? LIMIT 1`
  103. err = global.DEFAULT_DB.Raw(sql, adminName).Scan(&item).Error
  104. if err != nil && err.Error() == utils.ErrNoRow() {
  105. return nil, nil
  106. }
  107. return item, err
  108. }
  109. // GetUserByOutId
  110. // @Description: 根据外部ID获取用户信息
  111. // @author: Roc
  112. // @datetime 2025-06-26 11:26:28
  113. // @param outId string
  114. // @return item *AdminItem
  115. // @return err error
  116. func GetUserByOutId(outId string) (item *AdminItem, err error) {
  117. sql := `SELECT * FROM admin WHERE out_id != '' AND out_id = ? LIMIT 1`
  118. err = global.DEFAULT_DB.Raw(sql, outId).First(&item).Error
  119. if err != nil && err.Error() == utils.ErrNoRow() {
  120. return nil, nil
  121. }
  122. return item, err
  123. }
  124. type UserCheckResp struct {
  125. IsUser bool
  126. AdminInfo *AdminItem
  127. }