增加软质押手动结算测试接口
This commit is contained in:
@@ -37,13 +37,17 @@ type (
|
||||
}
|
||||
|
||||
NhTaskNftStakeLog struct {
|
||||
Id uint `db:"id"`
|
||||
Uid uint `db:"uid"` // 用户钱包
|
||||
RoleId uint64 `db:"role_id"` // 角色id
|
||||
TokenId string `db:"token_id"` // token id
|
||||
Operate int8 `db:"operate"` // 状态:1质押, 2取消质押, 3转出
|
||||
CreatedAt time.Time `db:"created_at"` // 创建时间
|
||||
UpdatedAt time.Time `db:"updated_at"` // 修改时间
|
||||
Id uint `db:"id"`
|
||||
Uid uint `db:"uid"` // 用户钱包
|
||||
RoleId uint64 `db:"role_id"` // 角色id
|
||||
TokenId string `db:"token_id"` // token id
|
||||
Operate int8 `db:"operate"` // 状态:1质押, 2取消质押, 3转出
|
||||
CallbackStatus int8 `db:"callback_status"` // 下发通知状态:0未通知,1已通知,2通知异常
|
||||
CallbackNum int `db:"callback_num"` // 发送通知次数
|
||||
CallbackAt sql.NullTime `db:"callback_at"` // 发送通知最新时间
|
||||
CallbackRemark string `db:"callback_remark"` // 通知回调备注
|
||||
CreatedAt time.Time `db:"created_at"` // 创建时间
|
||||
UpdatedAt time.Time `db:"updated_at"` // 修改时间
|
||||
}
|
||||
)
|
||||
|
||||
@@ -75,14 +79,14 @@ func (m *defaultNhTaskNftStakeLogModel) FindOne(ctx context.Context, id uint) (*
|
||||
}
|
||||
|
||||
func (m *defaultNhTaskNftStakeLogModel) Insert(ctx context.Context, data *NhTaskNftStakeLog) (sql.Result, error) {
|
||||
query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?)", m.table, nhTaskNftStakeLogRowsExpectAutoSet)
|
||||
ret, err := m.conn.ExecCtx(ctx, query, data.Uid, data.RoleId, data.TokenId, data.Operate)
|
||||
query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?)", m.table, nhTaskNftStakeLogRowsExpectAutoSet)
|
||||
ret, err := m.conn.ExecCtx(ctx, query, data.Uid, data.RoleId, data.TokenId, data.Operate, data.CallbackStatus, data.CallbackNum, data.CallbackAt, data.CallbackRemark)
|
||||
return ret, err
|
||||
}
|
||||
|
||||
func (m *defaultNhTaskNftStakeLogModel) Update(ctx context.Context, data *NhTaskNftStakeLog) error {
|
||||
query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, nhTaskNftStakeLogRowsWithPlaceHolder)
|
||||
_, err := m.conn.ExecCtx(ctx, query, data.Uid, data.RoleId, data.TokenId, data.Operate, data.Id)
|
||||
_, err := m.conn.ExecCtx(ctx, query, data.Uid, data.RoleId, data.TokenId, data.Operate, data.CallbackStatus, data.CallbackNum, data.CallbackAt, data.CallbackRemark, data.Id)
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ type (
|
||||
NhTaskNftStakeModel interface {
|
||||
nhTaskNftStakeModel
|
||||
withSession(session sqlx.Session) NhTaskNftStakeModel
|
||||
StakeNft(ctx context.Context, uid uint, roleId uint64, tokenId string) error
|
||||
StakeNft(ctx context.Context, uid uint, roleId uint64, tokenId string, tarotType int8) error
|
||||
UnStakeNft(ctx context.Context, uid uint, token string, isTransferOut bool) error
|
||||
FindByUid(ctx context.Context, uid uint) ([]NhTaskNftStake, error)
|
||||
AllStakeNft(ctx context.Context) ([]NhTaskNftStake, error)
|
||||
@@ -49,7 +49,7 @@ func (m *customNhTaskNftStakeModel) FindByUid(ctx context.Context, uid uint) ([]
|
||||
}
|
||||
|
||||
func (m *customNhTaskNftStakeModel) UnStakeNft(ctx context.Context, uid uint, token string, isTransferOut bool) error {
|
||||
update := fmt.Sprintf("UPDATE %s SET `state` = 0 WHERE `uid` = ? AND `token_id` = ?", m.table)
|
||||
update := fmt.Sprintf("UPDATE %s SET `state` = 0 WHERE `token_id` = ?", m.table)
|
||||
result, err := m.conn.ExecCtx(ctx, update, uid, token)
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -74,9 +74,9 @@ func (m *customNhTaskNftStakeModel) UnStakeNft(ctx context.Context, uid uint, to
|
||||
return err
|
||||
}
|
||||
|
||||
func (m *customNhTaskNftStakeModel) StakeNft(ctx context.Context, uid uint, roleId uint64, tokenId string) error {
|
||||
insertOrUpdate := fmt.Sprintf("INSERT INTO %s (`uid`, `token_id`, `role_id`, `state`) VALUES (?, ?, ?, 1) ON DUPLICATE KEY UPDATE `role_id` = ?, `state` = 1", m.table)
|
||||
_, err := m.conn.ExecCtx(ctx, insertOrUpdate, uid, tokenId, roleId, roleId)
|
||||
func (m *customNhTaskNftStakeModel) StakeNft(ctx context.Context, uid uint, roleId uint64, tokenId string, tarotType int8) error {
|
||||
insertOrUpdate := fmt.Sprintf("INSERT INTO %s (`uid`, `token_id`, `role_id`, `type`, `state`) VALUES (?, ?, ?, ?, 1) ON DUPLICATE KEY UPDATE `uid` = ?, `role_id` = ?, `state` = 1", m.table)
|
||||
_, err := m.conn.ExecCtx(ctx, insertOrUpdate, uid, tokenId, roleId, tarotType, uid, roleId)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ type (
|
||||
nhTaskNftStakeModel interface {
|
||||
Insert(ctx context.Context, data *NhTaskNftStake) (sql.Result, error)
|
||||
FindOne(ctx context.Context, id uint) (*NhTaskNftStake, error)
|
||||
FindOneByUidTokenId(ctx context.Context, uid uint, tokenId string) (*NhTaskNftStake, error)
|
||||
FindOneByTokenId(ctx context.Context, tokenId string) (*NhTaskNftStake, error)
|
||||
Update(ctx context.Context, data *NhTaskNftStake) error
|
||||
Delete(ctx context.Context, id uint) error
|
||||
}
|
||||
@@ -41,6 +41,7 @@ type (
|
||||
Id uint `db:"id"`
|
||||
Uid uint `db:"uid"` // 用户钱包
|
||||
RoleId uint64 `db:"role_id"` // 角色id
|
||||
Type int8 `db:"type"` // 类型:0=小塔罗,1=大塔罗
|
||||
TokenId string `db:"token_id"` // token id
|
||||
State int8 `db:"state"` // 状态:1质押中, 0已取消质押
|
||||
CreatedAt time.Time `db:"created_at"` // 创建时间
|
||||
@@ -75,10 +76,10 @@ func (m *defaultNhTaskNftStakeModel) FindOne(ctx context.Context, id uint) (*NhT
|
||||
}
|
||||
}
|
||||
|
||||
func (m *defaultNhTaskNftStakeModel) FindOneByUidTokenId(ctx context.Context, uid uint, tokenId string) (*NhTaskNftStake, error) {
|
||||
func (m *defaultNhTaskNftStakeModel) FindOneByTokenId(ctx context.Context, tokenId string) (*NhTaskNftStake, error) {
|
||||
var resp NhTaskNftStake
|
||||
query := fmt.Sprintf("select %s from %s where `uid` = ? and `token_id` = ? limit 1", nhTaskNftStakeRows, m.table)
|
||||
err := m.conn.QueryRowCtx(ctx, &resp, query, uid, tokenId)
|
||||
query := fmt.Sprintf("select %s from %s where `token_id` = ? limit 1", nhTaskNftStakeRows, m.table)
|
||||
err := m.conn.QueryRowCtx(ctx, &resp, query, tokenId)
|
||||
switch err {
|
||||
case nil:
|
||||
return &resp, nil
|
||||
@@ -90,14 +91,14 @@ func (m *defaultNhTaskNftStakeModel) FindOneByUidTokenId(ctx context.Context, ui
|
||||
}
|
||||
|
||||
func (m *defaultNhTaskNftStakeModel) Insert(ctx context.Context, data *NhTaskNftStake) (sql.Result, error) {
|
||||
query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?)", m.table, nhTaskNftStakeRowsExpectAutoSet)
|
||||
ret, err := m.conn.ExecCtx(ctx, query, data.Uid, data.RoleId, data.TokenId, data.State)
|
||||
query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?)", m.table, nhTaskNftStakeRowsExpectAutoSet)
|
||||
ret, err := m.conn.ExecCtx(ctx, query, data.Uid, data.RoleId, data.Type, data.TokenId, data.State)
|
||||
return ret, err
|
||||
}
|
||||
|
||||
func (m *defaultNhTaskNftStakeModel) Update(ctx context.Context, newData *NhTaskNftStake) error {
|
||||
query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, nhTaskNftStakeRowsWithPlaceHolder)
|
||||
_, err := m.conn.ExecCtx(ctx, query, newData.Uid, newData.RoleId, newData.TokenId, newData.State, newData.Id)
|
||||
_, err := m.conn.ExecCtx(ctx, query, newData.Uid, newData.RoleId, newData.Type, newData.TokenId, newData.State, newData.Id)
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ type (
|
||||
|
||||
// SetReward 对未发送奖励的用户发送奖励,支持并发,且不会重发
|
||||
func (m *customNhTaskNftStakeRewardModel) SetReward(ctx context.Context, uid uint, awardSeq, occupyPercent int, pledgeOutput, reward decimal.Decimal) error {
|
||||
update := fmt.Sprintf("UPDATE %s SET `occupy_percent` = ?, `pledge_output` = ?, `reward` = ?, `sent` = 1 WHERE `uid` = ? AND `award_seq` = ?, `sent` = 0", m.table)
|
||||
update := fmt.Sprintf("UPDATE %s SET `occupy_percent` = ?, `pledge_output` = ?, `reward` = ?, `sent` = 1 WHERE `uid` = ? AND `award_seq` = ? AND `sent` = 0", m.table)
|
||||
result, err := m.conn.ExecCtx(ctx, update, occupyPercent, pledgeOutput, reward, uid, awardSeq)
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
Reference in New Issue
Block a user