go_dreamfactory/modules/rtask/verifyHandle.go
2022-09-01 14:58:40 +08:00

32 lines
805 B
Go

// 校验任务条件
package rtask
import (
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
"github.com/pkg/errors"
)
func (this *ModelRtaskRecord) verify(uid string, cfg *cfg.GameRdtaskCondiData) (err error, ok bool) {
var rd *pb.RtaskData
if rd, err = this.GetVerifyData(uid, cfg.Id); rd != nil {
if len(rd.Data) == 0 {
err = errors.WithMessagef(err, "玩家参数数据缺失 %v", rd.Data)
return
}
var paramLen int
if paramLen, err = verifyParam(cfg, toArr(rd.Data)...); err == nil {
switch paramLen {
case 1:
return nil, rd.Data[0] == cfg.Data1
case 2:
return nil, rd.Data[0] == cfg.Data1 && rd.Data[1] == cfg.Data2
case 3:
return nil, rd.Data[0] == cfg.Data1 && rd.Data[1] == cfg.Data2 && rd.Data[2] == cfg.Data3
}
}
}
return
}