edb_inspection_config.go 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. package edb_inspection
  2. import (
  3. "eta/eta_task/global"
  4. "eta/eta_task/utils"
  5. "time"
  6. )
  7. // EdbInspectionConfig
  8. // @Description: 数据源巡检配置表
  9. type EdbInspectionConfig struct {
  10. ConfigId int64 `gorm:"column:config_id;primaryKey;autoIncrement"`
  11. Source int `gorm:"column:source"`
  12. TerminalCode string `gorm:"column:terminal_code"`
  13. DateType int8 `gorm:"column:date_type"`
  14. StartTime string `gorm:"column:start_time"`
  15. IntervalTime int `gorm:"column:interval_time"`
  16. NotifyUsers string `gorm:"column:notify_users"`
  17. Status int8 `gorm:"column:status"`
  18. CreateTime time.Time `gorm:"column:create_time"`
  19. ModifyTime time.Time `gorm:"column:modify_time"`
  20. InspectionTime string `gorm:"-"` // 用于显示巡检时间,不存储到数据库
  21. }
  22. type EdbInspectionConfigList struct {
  23. EdbInspectionConfig
  24. TerminalName string
  25. }
  26. // Add
  27. // @Description: 添加巡检配置
  28. // @receiver m
  29. // @return err error
  30. func (m *EdbInspectionConfig) Add() (err error) {
  31. m.CreateTime = time.Now()
  32. m.ModifyTime = time.Now()
  33. err = global.DbMap[utils.DbNameIndex].Create(m).Error
  34. return
  35. }
  36. // Update
  37. // @Description: 更新巡检配置
  38. // @receiver m
  39. // @param cols []string
  40. // @return err error
  41. func (m *EdbInspectionConfig) Update(cols []string) (err error) {
  42. m.ModifyTime = time.Now()
  43. err = global.DbMap[utils.DbNameIndex].Select(cols).Updates(m).Error
  44. return
  45. }
  46. // Delete
  47. // @Description: 删除巡检配置
  48. // @receiver m
  49. // @return err error
  50. func (m *EdbInspectionConfig) Delete() (err error) {
  51. sql := `DELETE FROM edb_inspection_config WHERE config_id = ?`
  52. err = global.DbMap[utils.DbNameIndex].Exec(sql, m.ConfigId).Error
  53. return
  54. }
  55. // UpdateStatus
  56. // @Description: 更新巡检配置状态
  57. // @receiver m
  58. // @param status int8
  59. // @return err error
  60. func (m *EdbInspectionConfig) UpdateStatus(status int8) (err error) {
  61. sql := `UPDATE edb_inspection_config SET status = ?, modify_time = ? WHERE config_id = ?`
  62. err = global.DbMap[utils.DbNameIndex].Exec(sql, status, time.Now(), m.ConfigId).Error
  63. return
  64. }
  65. // GetListByTerminalCode
  66. // @Description: 根据终端编码获取巡检配置列表
  67. // @param terminalCode string
  68. // @return list []*EdbInspectionConfig
  69. // @return err error
  70. func GetListByTerminalCode(terminalCode string) (list []*EdbInspectionConfig, err error) {
  71. sql := `SELECT * FROM edb_inspection_config WHERE terminal_code = ? ORDER BY config_id ASC`
  72. err = global.DbMap[utils.DbNameIndex].Raw(sql, terminalCode).Find(&list).Error
  73. return
  74. }
  75. // GetById
  76. // @Description: 根据ID获取巡检配置
  77. // @param configId int64
  78. // @return item *EdbInspectionConfig
  79. // @return err error
  80. func GetById(configId int64) (item *EdbInspectionConfig, err error) {
  81. sql := `SELECT * FROM edb_inspection_config WHERE config_id = ?`
  82. err = global.DbMap[utils.DbNameIndex].Raw(sql, configId).First(&item).Error
  83. return
  84. }
  85. // GetListBySource
  86. // @Description: 根据来源获取巡检配置列表
  87. // @param source int
  88. // @return list []*EdbInspectionConfig
  89. // @return err error
  90. func GetListBySource(source int) (list []*EdbInspectionConfig, err error) {
  91. sql := `SELECT * FROM edb_inspection_config WHERE source = ? ORDER BY config_id ASC`
  92. err = global.DbMap[utils.DbNameIndex].Raw(sql, source).Find(&list).Error
  93. return
  94. }
  95. // 获取所有启用的配置项
  96. func GetAllEnabledConfigs() (list []*EdbInspectionConfigList, err error) {
  97. sql := `SELECT c.*, t.name AS terminal_name FROM edb_inspection_config c left join edb_terminal t on c.terminal_code = t.terminal_code WHERE c.status = 1 and t.status = 1 ORDER BY c.modify_time DESC`
  98. err = global.DbMap[utils.DbNameIndex].Raw(sql).Find(&list).Error
  99. return
  100. }
  101. func GetConfigListBySourceAndTerminalCode(source int, terminalCode string) (list []*EdbInspectionConfigItem, err error) {
  102. condition := " c.source = ? "
  103. var pars []interface{}
  104. pars = append(pars, source)
  105. if terminalCode != "" {
  106. condition += " AND c.terminal_code = ? "
  107. pars = append(pars, terminalCode)
  108. }
  109. sql := `SELECT c.*, t.name AS terminal_name, s.source_name FROM edb_inspection_config c left join edb_terminal t on c.terminal_code = t.terminal_code left join edb_source s on c.source = s.edb_source_id WHERE ` + condition + ` ORDER BY c.modify_time DESC`
  110. err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Find(&list).Error
  111. return
  112. }
  113. type EdbInspectionConfigAddReq struct {
  114. ConfigId int64
  115. Source int
  116. TerminalCode string
  117. NotifyUsers string `description:"通知用户"`
  118. //Status int8 `description:"状态"`
  119. DateType int8
  120. StartTime string
  121. IntervalTime int
  122. List []InspectionConfigReq `description:"刷新配置项"`
  123. }
  124. // @Description: 刷新时间配置项
  125. type InspectionConfigReq struct {
  126. InspectionFrequency string `description:"巡检频率"`
  127. InspectionFrequencyDay int `description:"具体刷新的日期"`
  128. InspectionDate string `description:"巡检日期"`
  129. InspectionTime string `description:"巡检时间"`
  130. }
  131. type EdbInspectionConfigDetailResp struct {
  132. *EdbInspectionConfig
  133. List []InspectionConfigReq `description:"刷新配置项"`
  134. }
  135. type EdbInspectionConfigItem struct {
  136. ConfigId int64
  137. Source int
  138. SourceName string
  139. TerminalCode string
  140. TerminalName string
  141. StartTime string `description:"开始时间"`
  142. IntervalTime int `description:"间隔时间"`
  143. NotifyUsers string `description:"通知用户"`
  144. NotifyUsersName string `description:"通知用户名称"`
  145. Status int8 `description:"状态"`
  146. DateType int8
  147. InspectionTime string `description:"巡检时间"`
  148. }
  149. type EdbInspectionConfigStatusReq struct {
  150. ConfigId int64 `description:"配置ID"`
  151. Status int8 `description:"状态"`
  152. }
  153. type EdbInspectionConfigDeleteReq struct {
  154. ConfigId int64 `description:"配置ID"`
  155. }