admin.go 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. package models
  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销售主管,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. }
  42. type AdminMobileResp struct {
  43. Mobile string `description:"手机号"`
  44. }
  45. // 获取销售所能查看到的手机号
  46. func GetAdminByRole() (items []*AdminMobileResp, err error) {
  47. o := orm.NewOrmUsingDB("weekly_report")
  48. sql := ` SELECT mobile FROM admin WHERE role = 'admin' `
  49. _, err = o.Raw(sql).QueryRows(&items)
  50. return
  51. }
  52. // 获取权益内部人员手机号
  53. func GetRaiAdmin() (items []*AdminMobileResp, err error) {
  54. o := orm.NewOrmUsingDB("weekly_report")
  55. sql := ` SELECT
  56. mobile
  57. FROM
  58. admin
  59. WHERE
  60. role_type_code LIKE '%rai%'
  61. AND group_id NOT IN ( 19, 10 )
  62. AND enabled = 1
  63. OR (
  64. department_name = '产品技术部'
  65. AND enabled = 1) `
  66. _, err = o.Raw(sql).QueryRows(&items)
  67. return
  68. }
  69. // 获取IT人员手机号
  70. func GetRaiAdminIt() (items []*AdminMobileResp, err error) {
  71. o := orm.NewOrmUsingDB("weekly_report")
  72. sql := ` SELECT
  73. mobile
  74. FROM
  75. admin
  76. WHERE
  77. department_id = 3
  78. AND enabled = 1 `
  79. _, err = o.Raw(sql).QueryRows(&items)
  80. return
  81. }
  82. // 根据角色名称获取手机号
  83. func GetAdminByRoleName(roleName string) (items []*AdminMobileResp, err error) {
  84. o := orm.NewOrmUsingDB("weekly_report")
  85. sql := `SELECT mobile FROM admin WHERE role_name =? ' `
  86. _, err = o.Raw(sql, roleName).QueryRows(&items)
  87. return
  88. }
  89. func GetSysAdminById(adminId int) (item *Admin, err error) {
  90. sql := `SELECT * FROM admin WHERE admin_id=? `
  91. o := orm.NewOrmUsingDB("weekly_report")
  92. err = o.Raw(sql, adminId).QueryRow(&item)
  93. return
  94. }
  95. func GetSysAdminByMobile(mobile string) (item *Admin, err error) {
  96. o := orm.NewOrmUsingDB("weekly_report")
  97. sql := ` SELECT * FROM admin WHERE
  98. enabled = 1
  99. AND role_type_code IN ( 'admin', 'rai_seller', 'rai_group', 'rai_admin', 'rai_researcher' )
  100. AND mobile = ? LIMIT 1 `
  101. err = o.Raw(sql, mobile).QueryRow(&item)
  102. return
  103. }