edb_data_wind.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package data_manage
  2. import (
  3. "eta/eta_hub/global"
  4. "eta/eta_hub/utils"
  5. )
  6. func EdbInfoUpdateStatusByEdbInfoId(edbInfoIds []int, isStop int, calculateEdbInfoIds []int) (err error) {
  7. //o, err := orm.NewOrmUsingDB("data").Begin()
  8. //if err != nil {
  9. // return
  10. //}
  11. //defer func() {
  12. // if err != nil {
  13. // _ = o.Rollback()
  14. // return
  15. // }
  16. // _ = o.Commit()
  17. //}()
  18. tx := global.DbMap[utils.DbNameIndex].Begin()
  19. defer func() {
  20. if err != nil {
  21. tx.Rollback()
  22. } else {
  23. tx.Commit()
  24. }
  25. }()
  26. // 更改指标的更新状态
  27. if len(edbInfoIds) == 1 {
  28. sql := ` UPDATE edb_info SET no_update = ? WHERE edb_info_id=? `
  29. err = tx.Exec(sql, isStop, edbInfoIds[0]).Error
  30. if err != nil {
  31. return
  32. }
  33. } else {
  34. sql := ` UPDATE edb_info SET no_update = ? WHERE edb_info_id IN (` + utils.GetOrmInReplace(len(edbInfoIds)) + `) `
  35. err = tx.Exec(sql, isStop, edbInfoIds).Error
  36. if err != nil {
  37. return
  38. }
  39. }
  40. if len(calculateEdbInfoIds) > 0 {
  41. // 批量更新相关联的指标ID
  42. sql := ` UPDATE edb_info SET no_update = ? WHERE edb_info_id IN (` + utils.GetOrmInReplace(len(calculateEdbInfoIds)) + `) `
  43. err = tx.Exec(sql, isStop, calculateEdbInfoIds).Error
  44. if err != nil {
  45. return
  46. }
  47. }
  48. return
  49. }