// 校验任务条件 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 }