package model import ( "context" "fmt" "github.com/zeromicro/go-zero/core/stores/sqlc" "github.com/zeromicro/go-zero/core/stores/sqlx" ) var _ DcWorkingChestModel = (*customDcWorkingChestModel)(nil) type ( // DcWorkingChestModel is an interface to be customized, add more methods here, // and implement the added methods in customDcWorkingChestModel. DcWorkingChestModel interface { dcWorkingChestModel FindOneByCode(ctx context.Context, projectId int64, deviceCode string) (*DcWorkingChest, error) } customDcWorkingChestModel struct { *defaultDcWorkingChestModel } ) // NewDcWorkingChestModel returns a model for the database table. func NewDcWorkingChestModel(conn sqlx.SqlConn) DcWorkingChestModel { return &customDcWorkingChestModel{ defaultDcWorkingChestModel: newDcWorkingChestModel(conn), } } func (m *defaultDcWorkingChestModel) FindOneByCode(ctx context.Context, projectId int64, deviceCode string) (*DcWorkingChest, error) { var resp DcWorkingChest query := fmt.Sprintf("select %s from %s where `project_id` = ? and `device_code` = ? order by c_time desc limit 1", dcWorkingChestRows, m.table) err := m.conn.QueryRowCtx(ctx, &resp, query, projectId, deviceCode) switch err { case nil: return &resp, nil case sqlc.ErrNotFound: return nil, ErrNotFound default: return nil, err } }