Files
novatask/internal/model/nh_nft_stake_model.go
lianghuanjie b098e50eb0 email reward
2025-01-03 20:44:03 +08:00

45 lines
1.2 KiB
Go
Executable File

package model
import (
"context"
"errors"
"github.com/zeromicro/go-zero/core/stores/sqlx"
)
var _ NhNftStakeModel = (*customNhNftStakeModel)(nil)
type (
// NhNftStakeModel is an interface to be customized, add more methods here,
// and implement the added methods in customNhNftStakeModel.
NhNftStakeModel interface {
nhNftStakeModel
withSession(session sqlx.Session) NhNftStakeModel
AllStakeNft(ctx context.Context) ([]NhNftStake, error)
}
customNhNftStakeModel struct {
*defaultNhNftStakeModel
}
)
func (m *customNhNftStakeModel) AllStakeNft(ctx context.Context) ([]NhNftStake, error) {
query := "SELECT * FROM `nh_nft_stake` WHERE `status` = 'staked'"
var result []NhNftStake
err := m.conn.QueryRowsCtx(ctx, &result, query)
if err != nil && !errors.Is(err, sqlx.ErrNotFound) {
return nil, err
}
return result, nil
}
// NewNhNftStakeModel returns a model for the database table.
func NewNhNftStakeModel(conn sqlx.SqlConn) NhNftStakeModel {
return &customNhNftStakeModel{
defaultNhNftStakeModel: newNhNftStakeModel(conn),
}
}
func (m *customNhNftStakeModel) withSession(session sqlx.Session) NhNftStakeModel {
return NewNhNftStakeModel(sqlx.NewSqlConnFromSession(session))
}