assessment_researcher_admin_mapping.go 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. package models
  2. import (
  3. "eta/eta_api/global"
  4. "eta/eta_api/utils"
  5. "fmt"
  6. "strings"
  7. )
  8. const (
  9. AssessmentResearcherAdminAuthTypeView = 1
  10. AssessmentResearcherAdminAuthTypeStatistics = 2
  11. )
  12. // AssessmentResearcherAdminMapping 研究员考核-用户权限关系表
  13. type AssessmentResearcherAdminMapping struct {
  14. Id int `gorm:"column:id;primaryKey;autoIncrement"`
  15. AssessmentResearcherId int `description:"研究员ID"`
  16. AdminId int `description:"系统用户ID"`
  17. AuthAdminId int `description:"被授权的用户ID"`
  18. AuthType int `description:"权限类型:1-查看;2-统计"`
  19. }
  20. func (m *AssessmentResearcherAdminMapping) TableName() string {
  21. return "assessment_researcher_admin_mapping"
  22. }
  23. type AssessmentResearcherAdminMappingCols struct {
  24. PrimaryId string
  25. AssessmentResearcherId string
  26. AdminId string
  27. AuthAdminId string
  28. AuthType string
  29. }
  30. func (m *AssessmentResearcherAdminMapping) Cols() AssessmentResearcherAdminMappingCols {
  31. return AssessmentResearcherAdminMappingCols{
  32. PrimaryId: "id",
  33. AssessmentResearcherId: "assessment_researcher_id",
  34. AdminId: "admin_id",
  35. AuthAdminId: "auth_admin_id",
  36. AuthType: "auth_type",
  37. }
  38. }
  39. func (m *AssessmentResearcherAdminMapping) Create() (err error) {
  40. err = global.DEFAULT_DB.Create(m).Error
  41. return
  42. }
  43. func (m *AssessmentResearcherAdminMapping) CreateMulti(items []*AssessmentResearcherAdminMapping) (err error) {
  44. if len(items) == 0 {
  45. return
  46. }
  47. err = global.DEFAULT_DB.CreateInBatches(items, utils.MultiAddNum).Error
  48. return
  49. }
  50. func (m *AssessmentResearcherAdminMapping) Update(cols []string) (err error) {
  51. err = global.DEFAULT_DB.Select(cols).Updates(m).Error
  52. return
  53. }
  54. func (m *AssessmentResearcherAdminMapping) Remove() (err error) {
  55. sql := fmt.Sprintf(`DELETE FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
  56. err = global.DEFAULT_DB.Exec(sql, m.Id).Error
  57. return
  58. }
  59. func (m *AssessmentResearcherAdminMapping) MultiRemove(ids []int) (err error) {
  60. if len(ids) == 0 {
  61. return
  62. }
  63. sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.Cols().PrimaryId, utils.GetOrmInReplace(len(ids)))
  64. err = global.DEFAULT_DB.Exec(sql, ids).Error
  65. return
  66. }
  67. func (m *AssessmentResearcherAdminMapping) RemoveByCondition(condition string, pars []interface{}) (err error) {
  68. if condition == "" {
  69. return
  70. }
  71. sql := fmt.Sprintf(`DELETE FROM %s WHERE %s`, m.TableName(), condition)
  72. err = global.DEFAULT_DB.Exec(sql, pars...).Error
  73. return
  74. }
  75. func (m *AssessmentResearcherAdminMapping) GetItemById(primaryId int) (item *AssessmentResearcherAdminMapping, err error) {
  76. sql := fmt.Sprintf(`SELECT * FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
  77. err = global.DEFAULT_DB.Raw(sql, primaryId).First(&item).Error
  78. return
  79. }
  80. func (m *AssessmentResearcherAdminMapping) GetItemByCondition(condition string, pars []interface{}, orderRule string) (err error) {
  81. order := ``
  82. if orderRule != "" {
  83. order = ` ORDER BY ` + orderRule
  84. }
  85. sql := fmt.Sprintf(`SELECT * FROM %s WHERE 1=1 %s %s LIMIT 1`, m.TableName(), condition, order)
  86. err = global.DEFAULT_DB.Raw(sql, pars...).First(&m).Error
  87. return
  88. }
  89. func (m *AssessmentResearcherAdminMapping) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*AssessmentResearcherAdminMapping, err error) {
  90. fields := strings.Join(fieldArr, ",")
  91. if len(fieldArr) == 0 {
  92. fields = `*`
  93. }
  94. order := ``
  95. if orderRule != "" {
  96. order = ` ORDER BY ` + orderRule
  97. }
  98. sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
  99. err = global.DEFAULT_DB.Raw(sql, pars...).Find(&items).Error
  100. return
  101. }