|
@@ -265,22 +265,27 @@ func SaveEdbMonitorInfo(req request.EdbMonitorInfoSaveReq, adminId int) (msg str
|
|
|
func ModifyEdbMonitorState(edbMonitorInfo *edbmonitor.EdbMonitorInfo, edbCode string, source, subSource int) (err error) {
|
|
|
cond := ` AND edb_code = ? `
|
|
|
pars := []interface{}{edbCode}
|
|
|
- latestTwoData, er := data_manage.GetEdbDataListByCondition(cond, pars, source, subSource, 0, 2)
|
|
|
+ latestTwoData, er := data_manage.GetEdbDataListByCondition(cond, pars, source, subSource, 2, 0)
|
|
|
if er != nil {
|
|
|
err = fmt.Errorf("GetEdbDataListByCondition err:%w", er)
|
|
|
return
|
|
|
}
|
|
|
- triggerState := cmpEdbMonitorState(latestTwoData, edbMonitorInfo.MonitorType, edbMonitorInfo.MonitorData)
|
|
|
var updateCols []string
|
|
|
- if edbMonitorInfo.State != EDB_MONITOR_STATE_TRIGGER_SUCCESS {
|
|
|
- edbMonitorInfo.State = triggerState
|
|
|
- updateCols = append(updateCols, "state")
|
|
|
- } else {
|
|
|
+ edbMonitorInfo.EdbLatestDate = latestTwoData[0].DataTime
|
|
|
+ edbMonitorInfo.EdbLatestValue = latestTwoData[0].Value
|
|
|
+ updateCols = append(updateCols, []string{"edb_latest_date", "edb_latest_value"}...)
|
|
|
+
|
|
|
+ triggerState := cmpEdbMonitorState(latestTwoData, edbMonitorInfo.MonitorType, edbMonitorInfo.MonitorData)
|
|
|
+ if triggerState == EDB_MONITOR_STATE_TRIGGER_SUCCESS {
|
|
|
tmpTime, _ := time.Parse(utils.FormatDate, latestTwoData[0].DataTime)
|
|
|
edbMonitorInfo.EdbTriggerDate = tmpTime
|
|
|
edbMonitorInfo.MonitorTriggerTime = time.Now()
|
|
|
updateCols = append(updateCols, []string{"edb_trigger_date", "monitor_trigger_time"}...)
|
|
|
}
|
|
|
+ if edbMonitorInfo.State == EDB_MONITOR_STATE_NO_TRIGGER {
|
|
|
+ edbMonitorInfo.State = triggerState
|
|
|
+ updateCols = append(updateCols, "state")
|
|
|
+ }
|
|
|
err = edbMonitorInfo.Update(updateCols)
|
|
|
if err != nil {
|
|
|
return
|