assessment_researcher_variety_mapping.go 3.6 KB

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