excel_worker.go 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package excel
  2. import (
  3. "eta_gn/eta_api/global"
  4. "eta_gn/eta_api/utils"
  5. "time"
  6. )
  7. type ExcelWorker struct {
  8. ExcelWorkerId int `orm:"column(excel_worker_id);pk" gorm:"primaryKey" `
  9. ExcelInfoId int `description:"表格id"`
  10. SysUserId int `description:"创建人"`
  11. SysUserRealName string `description:"创建人姓名"`
  12. ModifyTime time.Time `description:"修改时间"`
  13. CreateTime time.Time `description:"创建时间"`
  14. }
  15. func (e *ExcelWorker) TableName() string {
  16. return "excel_worker"
  17. }
  18. func (e *ExcelWorker) AddWorker(excelInfoId int, addWorkers []*ExcelWorker, notDeleteWorkers []string) (err error) {
  19. to := global.DmSQL["data"].Begin()
  20. defer func() {
  21. if err != nil {
  22. _ = to.Rollback()
  23. } else {
  24. _ = to.Commit()
  25. }
  26. }()
  27. if len(notDeleteWorkers) > 0 {
  28. sql := `delete from excel_worker where excel_info_id = ? and sys_user_id not in (` + utils.GetOrmInReplace(len(notDeleteWorkers)) + `)`
  29. err = to.Exec(sql, excelInfoId, notDeleteWorkers).Error
  30. if err != nil {
  31. return
  32. }
  33. } else if len(notDeleteWorkers) == 0 { // 清空协作人
  34. sql := `delete from excel_worker where excel_info_id = ? `
  35. err = to.Exec(sql, excelInfoId).Error
  36. if err != nil {
  37. return
  38. }
  39. }
  40. if len(addWorkers) > 0 {
  41. err = to.CreateInBatches(addWorkers, utils.MultiAddNum).Error
  42. }
  43. return
  44. }
  45. func (e *ExcelWorker) Update(cols []string) (err error) {
  46. err = global.DmSQL["data"].Select(cols).Updates(e).Error
  47. return
  48. }
  49. func (e *ExcelWorker) Delete() (err error) {
  50. sql := ` DELETE FROM excel_worker WHERE excel_worker_id=? `
  51. err = global.DmSQL["data"].Exec(sql, e.ExcelWorkerId).Error
  52. return
  53. }
  54. func (e *ExcelWorker) GetByExcelInfoId(excelInfoId int) (items []*ExcelWorker, err error) {
  55. sql := `select * from excel_worker where excel_info_id = ? `
  56. err = global.DmSQL["data"].Raw(sql, excelInfoId).Find(&items).Error
  57. return
  58. }
  59. func (e *ExcelWorker) GetBySysUserId(sysUserId int) (items []*ExcelWorker, err error) {
  60. sql := `select * from excel_worker where sys_user_id = ? `
  61. err = global.DmSQL["data"].Raw(sql, sysUserId).Find(&items).Error
  62. return
  63. }