edb_inspection_config.go 5.7 KB

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