classify_visible.go 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package models
  2. import (
  3. "eta_gn/eta_api/global"
  4. "eta_gn/eta_api/utils"
  5. "time"
  6. )
  7. type ClassifyVisible struct {
  8. ClassifyVisibleId int `gorm:"column:classify_visible_id;primary_key"`
  9. ClassifyId int `gorm:"column:classify_id"`
  10. AdminId int `gorm:"column:admin_id"`
  11. CreateTime time.Time `gorm:"column:create_time"`
  12. }
  13. func (ClassifyVisible) TableName() string {
  14. return "classify_visible"
  15. }
  16. func GetClassifyVisibleAll() (items []*ClassifyVisible, err error) {
  17. sql := "SELECT * FROM classify_visible"
  18. err = global.DmSQL["rddp"].Raw(sql).Find(&items).Error
  19. return
  20. }
  21. func ExtendClassifyVisible(parentId, classifyId int, adminIds []int) (err error) {
  22. tx := global.DmSQL["rddp"].Begin()
  23. defer func() {
  24. if err != nil {
  25. tx.Rollback()
  26. return
  27. }
  28. tx.Commit()
  29. }()
  30. err = tx.Table(ClassifyVisible{}.TableName()).Where("classify_id =?", parentId).Delete(&ClassifyVisible{}).Error
  31. insertList := make([]ClassifyVisible, 0, len(adminIds))
  32. for _, adminId := range adminIds {
  33. classifyVisible := ClassifyVisible{
  34. ClassifyId: classifyId,
  35. AdminId: adminId,
  36. CreateTime: time.Now(),
  37. }
  38. insertList = append(insertList, classifyVisible)
  39. }
  40. err = tx.CreateInBatches(insertList, utils.MultiAddNum).Error
  41. return
  42. }
  43. func UpdateClassifyVisible(classifyId int, adminId []int) (err error) {
  44. tx := global.DmSQL["rddp"].Begin()
  45. defer func() {
  46. if err != nil {
  47. tx.Rollback()
  48. return
  49. }
  50. tx.Commit()
  51. }()
  52. err = tx.Table(ClassifyVisible{}.TableName()).Where("classify_id =?", classifyId).Delete(&ClassifyVisible{}).Error
  53. if err != nil {
  54. return
  55. }
  56. if len(adminId) > 0 {
  57. insertList := make([]ClassifyVisible, 0, len(adminId))
  58. for _, admin := range adminId {
  59. classifyVisible := ClassifyVisible{
  60. ClassifyId: classifyId,
  61. AdminId: admin,
  62. CreateTime: time.Now(),
  63. }
  64. insertList = append(insertList, classifyVisible)
  65. }
  66. err = tx.CreateInBatches(insertList, utils.MultiAddNum).Error
  67. }
  68. return
  69. }
  70. func GetClassifyVisibleUserIdByClassifyId(classifyId int) (classifyVisibles []int, err error) {
  71. db := global.DmSQL["rddp"]
  72. err = db.Table(ClassifyVisible{}.TableName()).Where("classify_id =?", classifyId).Pluck("admin_id", &classifyVisibles).Error
  73. return
  74. }