fix: 质押占领矿洞占比
This commit is contained in:
@@ -75,7 +75,7 @@ CREATE TABLE `nh_task_nft_stake_reward`
|
|||||||
`award_seq` int NOT NULL COMMENT '派奖序列号',
|
`award_seq` int NOT NULL COMMENT '派奖序列号',
|
||||||
`pledge_output` decimal(18, 6) NOT NULL DEFAULT 0 COMMENT '质押产出代币',
|
`pledge_output` decimal(18, 6) NOT NULL DEFAULT 0 COMMENT '质押产出代币',
|
||||||
`random_coefficient` float NOT NULL COMMENT '随机系数',
|
`random_coefficient` float NOT NULL COMMENT '随机系数',
|
||||||
`occupy_percent` int NOT NULL DEFAULT 100 COMMENT '占领百分比',
|
`occupy_percent` int NOT NULL DEFAULT 0 COMMENT '占领百分比',
|
||||||
`reward` decimal(18, 6) NOT NULL DEFAULT 0 COMMENT '奖励金额',
|
`reward` decimal(18, 6) NOT NULL DEFAULT 0 COMMENT '奖励金额',
|
||||||
`sent` bool NOT NULL DEFAULT false COMMENT '是否已发放',
|
`sent` bool NOT NULL DEFAULT false COMMENT '是否已发放',
|
||||||
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
|||||||
@@ -101,7 +101,12 @@ func (l *StakeSettleLogic) StakeSettle() {
|
|||||||
}
|
}
|
||||||
tokensDecimal := decimal.NewFromFloat(tokens)
|
tokensDecimal := decimal.NewFromFloat(tokens)
|
||||||
reward := tokensDecimal.Mul(decimal.NewFromFloat(coefficient))
|
reward := tokensDecimal.Mul(decimal.NewFromFloat(coefficient))
|
||||||
err = l.svcCtx.StakeRewardModel.SetReward(l.ctx, uid, awardSeq, taskConf.OccupyPercent, tokensDecimal, reward)
|
var gameBonus int
|
||||||
|
if l.svcCtx.GamePitModel.UserExist(l.ctx, uid) {
|
||||||
|
gameBonus = taskConf.OccupyPercent
|
||||||
|
reward = reward.Mul(decimal.NewFromFloat(float64(100+gameBonus) / 100))
|
||||||
|
}
|
||||||
|
err = l.svcCtx.StakeRewardModel.SetReward(l.ctx, uid, awardSeq, gameBonus, tokensDecimal, reward)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logx.Errorw("set reward failed", logx.Field("err", err), logx.Field("uid", uid), logx.Field("awardSeq", awardSeq), logx.Field("coefficient", coefficient), logx.Field("tokens", tokens), logx.Field("reward", reward))
|
logx.Errorw("set reward failed", logx.Field("err", err), logx.Field("uid", uid), logx.Field("awardSeq", awardSeq), logx.Field("coefficient", coefficient), logx.Field("tokens", tokens), logx.Field("reward", reward))
|
||||||
continue
|
continue
|
||||||
|
|||||||
Reference in New Issue
Block a user