package service import ( "github.com/google/uuid" "github.com/jinzhu/copier" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/bean/entity" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/bean/vo/request" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/bean/vo/response" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/common/client" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/pkg/beagle/jsontime" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/pkg/beagle/resp" "gitlab.wodcloud.com/smart-operation/so-operation-api/src/util" ) type MetricConfigSvc struct { User *entity.SystemUser } func (m *MetricConfigSvc) Add(req request.AddMetricConfig) error { db, err := client.GetDbClient() if err != nil { err = resp.DbConnectError.WithError(err) return err } now := jsontime.Now() mc := entity.MetricConfig{ Id: uuid.New().String(), CreatedBy: "", CreatedAt: now, UpdatedBy: "", UpdatedAt: now, } _ = copier.Copy(&mc, &req) mc.AlertRange = util.ConvertToString(req.AlertRange) _, err = db.NewSession().Insert(&mc) if err != nil { return err } return nil } func (m *MetricConfigSvc) Update(req request.UpdateMetricConfig) error { db, err := client.GetDbClient() if err != nil { err = resp.DbConnectError.WithError(err) return err } now := jsontime.Now() mc := entity.MetricConfig{ UpdatedBy: "", UpdatedAt: now, } _ = copier.Copy(&mc, &req) mc.AlertRange = util.ConvertToString(req.AlertRange) _, err = db.NewSession().ID(req.Id).Update(&mc) if err != nil { return err } return nil } func (m *MetricConfigSvc) GetDataById(req request.GetMetricConfig) (resp response.MetricConfigItem, err error) { db, err := client.GetDbClient() if err != nil { return } _, err = db.NewSession().Table(resp.TableName()).Where("id = ?", req.Id).Get(&resp) return } func (m *MetricConfigSvc) DeleteDataById(req request.DeleteMetricConfig) (err error) { db, err := client.GetDbClient() if err != nil { return } _, err = db.NewSession().Where("id = ?", req.Id).Delete(&entity.MetricConfig{}) return }