32 lines
805 B
Go
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
|
|
}
|