Skip to content

Commit 98c2efd

Browse files
committed
初始任务重复提交,导致重复领取铜币 bugfix,感谢 https://studygolang.com/user/windy_ 反馈
1 parent e05bdf9 commit 98c2efd

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

src/logic/mission.go

+14
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,20 @@ func (MissionLogic) Complete(ctx context.Context, me *model.Me, id interface{})
161161
}
162162

163163
user := DefaultUser.FindOne(ctx, "uid", me.Uid)
164+
165+
// 初始任务,不允许重复提交
166+
if id == model.InitialMissionId {
167+
if user.Balance > 0 {
168+
objLog.Errorln("repeat claim init award", user.Username)
169+
return nil
170+
}
171+
172+
details := DefaultUserRich.FindBalanceDetail(ctx, me, mission.Type)
173+
if len(details) > 0 {
174+
return nil
175+
}
176+
}
177+
164178
desc := fmt.Sprintf("获得%s %d 铜币", model.BalanceTypeMap[mission.Type], mission.Fixed)
165179
DefaultUserRich.IncrUserRich(user, mission.Type, mission.Fixed, desc)
166180

0 commit comments

Comments
 (0)