防止重复抽奖
This commit is contained in:
parent
0333ef441e
commit
0a67496d50
|
@ -53,6 +53,7 @@ func init() {
|
|||
// LotteryData 抽奖数据
|
||||
type LotteryData struct {
|
||||
*model.LotteryData
|
||||
isDone bool // 抽奖中
|
||||
}
|
||||
|
||||
// Reset 重置抽奖数据
|
||||
|
@ -287,6 +288,11 @@ func (l *LotteryData) Done() {
|
|||
value, tp, index, l.RobotIndex, l.Code, l.PlayerIndex, l.CId)
|
||||
}
|
||||
|
||||
if l.isDone {
|
||||
return
|
||||
}
|
||||
l.isDone = true
|
||||
|
||||
task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
|
||||
// 查询参与人数
|
||||
joinNum, err = model.GetLotteryCodeJoinNum(l.Platform, l.CId, l.StartTs)
|
||||
|
@ -333,6 +339,9 @@ func (l *LotteryData) Done() {
|
|||
}
|
||||
return nil
|
||||
}), task.CompleteNotifyWrapper(func(i interface{}, t task.Task) {
|
||||
defer func() {
|
||||
l.isDone = false
|
||||
}()
|
||||
if code == nil && isMust {
|
||||
code = &model.LotteryCode{
|
||||
Platform: l.Platform,
|
||||
|
|
Loading…
Reference in New Issue