// Code generated by goctl. DO NOT EDIT. package model import ( "context" "database/sql" "fmt" "strings" "time" "github.com/zeromicro/go-zero/core/stores/builder" "github.com/zeromicro/go-zero/core/stores/sqlc" "github.com/zeromicro/go-zero/core/stores/sqlx" "github.com/zeromicro/go-zero/core/stringx" ) var ( dcAlarmBindFieldNames = builder.RawFieldNames(&DcAlarmBind{}) dcAlarmBindRows = strings.Join(dcAlarmBindFieldNames, ",") dcAlarmBindRowsExpectAutoSet = strings.Join(stringx.Remove(dcAlarmBindFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), ",") dcAlarmBindRowsWithPlaceHolder = strings.Join(stringx.Remove(dcAlarmBindFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), "=?,") + "=?" ) type ( dcAlarmBindModel interface { Insert(ctx context.Context, data *DcAlarmBind) (sql.Result, error) FindOne(ctx context.Context, id int64) (*DcAlarmBind, error) Update(ctx context.Context, data *DcAlarmBind) error Delete(ctx context.Context, id int64) error } defaultDcAlarmBindModel struct { conn sqlx.SqlConn table string } DcAlarmBind struct { Id int64 `db:"id"` ProjectId int64 `db:"project_id"` DeviceCode int64 `db:"device_code"` Item int64 `db:"item"` Threshold sql.NullString `db:"threshold"` // 阈值配置 [min,max,连续采样次数], 为 null 表示不设置 Slope sql.NullString `db:"slope"` // 斜率变化配置 [数据量,阈值,连续采样次数], 为 null 表示不设置 Na sql.NullString `db:"na"` // na报警 [数据量, na数据量,连续采样次数], 为 null 表示不设置 Interval int64 `db:"interval"` // 检测周期 时间 s CTime time.Time `db:"c_time"` } ) func newDcAlarmBindModel(conn sqlx.SqlConn) *defaultDcAlarmBindModel { return &defaultDcAlarmBindModel{ conn: conn, table: "`dc_alarm_bind`", } } func (m *defaultDcAlarmBindModel) withSession(session sqlx.Session) *defaultDcAlarmBindModel { return &defaultDcAlarmBindModel{ conn: sqlx.NewSqlConnFromSession(session), table: "`dc_alarm_bind`", } } func (m *defaultDcAlarmBindModel) Delete(ctx context.Context, id int64) error { query := fmt.Sprintf("delete from %s where `id` = ?", m.table) _, err := m.conn.ExecCtx(ctx, query, id) return err } func (m *defaultDcAlarmBindModel) FindOne(ctx context.Context, id int64) (*DcAlarmBind, error) { query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", dcAlarmBindRows, m.table) var resp DcAlarmBind err := m.conn.QueryRowCtx(ctx, &resp, query, id) switch err { case nil: return &resp, nil case sqlc.ErrNotFound: return nil, ErrNotFound default: return nil, err } } func (m *defaultDcAlarmBindModel) Insert(ctx context.Context, data *DcAlarmBind) (sql.Result, error) { query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?)", m.table, dcAlarmBindRowsExpectAutoSet) ret, err := m.conn.ExecCtx(ctx, query, data.ProjectId, data.DeviceCode, data.Item, data.Threshold, data.Slope, data.Na, data.Interval, data.CTime) return ret, err } func (m *defaultDcAlarmBindModel) Update(ctx context.Context, data *DcAlarmBind) error { query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, dcAlarmBindRowsWithPlaceHolder) _, err := m.conn.ExecCtx(ctx, query, data.ProjectId, data.DeviceCode, data.Item, data.Threshold, data.Slope, data.Na, data.Interval, data.CTime, data.Id) return err } func (m *defaultDcAlarmBindModel) tableName() string { return m.table }