nft质押道具发放

This commit is contained in:
lianghuanjie
2025-01-02 15:45:53 +08:00
parent ea86ab71e8
commit bc0aeec1da
9 changed files with 215 additions and 13 deletions

View File

@@ -3,6 +3,7 @@ package model
import (
"context"
"fmt"
"github.com/shopspring/decimal"
"github.com/zeromicro/go-zero/core/stores/sqlx"
"time"
)
@@ -15,7 +16,8 @@ type (
NhTaskAssetModel interface {
nhTaskAssetModel
WithSession(session sqlx.Session) NhTaskAssetModel
AddUserPoint(ctx context.Context, uid int, points int) error
AddPoint(ctx context.Context, uid int, points int) error
AddCastile(ctx context.Context, uid uint, castile decimal.Decimal) error
}
customNhTaskAssetModel struct {
@@ -23,6 +25,12 @@ type (
}
)
func (m *customNhTaskAssetModel) AddCastile(ctx context.Context, uid uint, castile decimal.Decimal) error {
insertOrUpdate := fmt.Sprintf("INSERT INTO %s (`uid`, `castile`, `create_time`) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE `castile` = `castile` + ?", m.table)
_, err := m.conn.ExecCtx(ctx, insertOrUpdate, uid, castile, time.Now().Unix(), castile)
return err
}
// NewNhTaskAssetModel returns a model for the database table.
func NewNhTaskAssetModel(conn sqlx.SqlConn) NhTaskAssetModel {
return &customNhTaskAssetModel{
@@ -34,7 +42,7 @@ func (m *customNhTaskAssetModel) WithSession(session sqlx.Session) NhTaskAssetMo
return NewNhTaskAssetModel(sqlx.NewSqlConnFromSession(session))
}
func (m *customNhTaskAssetModel) AddUserPoint(ctx context.Context, uid int, points int) error {
func (m *customNhTaskAssetModel) AddPoint(ctx context.Context, uid int, points int) error {
insertOrUpdate := fmt.Sprintf("INSERT INTO %s (`uid`, `points`, `create_time`) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE `points` = `points` + ?", m.table)
_, err := m.conn.ExecCtx(ctx, insertOrUpdate, uid, points, time.Now().Unix(), points)
return err