classify_visible.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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 UpdateClassifyVisible(parentId, classifyId int, adminIds []int) (err error) {
  17. tx := global.DmSQL["rddp"].Begin()
  18. defer func() {
  19. if err != nil {
  20. tx.Rollback()
  21. return
  22. }
  23. tx.Commit()
  24. }()
  25. err = tx.Table(ClassifyVisible{}.TableName()).Where("classify_id =?", parentId).Delete(&ClassifyVisible{}).Error
  26. insertList := make([]ClassifyVisible, 0, len(adminIds))
  27. for _, adminId := range adminIds {
  28. classifyVisible := ClassifyVisible{
  29. ClassifyId: classifyId,
  30. AdminId: adminId,
  31. CreateTime: time.Now(),
  32. }
  33. insertList = append(insertList, classifyVisible)
  34. }
  35. err = tx.CreateInBatches(insertList, utils.MultiAddNum).Error
  36. return
  37. }
  38. func GetClassifyVisibleUserIdByClassifyId(classifyId int) (classifyVisibles []int, err error) {
  39. db := global.DmSQL["rddp"]
  40. err = db.Table(ClassifyVisible{}.TableName()).Where("classify_id =?", classifyId).Pluck("admin_id", &classifyVisibles).Error
  41. return
  42. }