更新任务条件
This commit is contained in:
parent
3ab87cbc56
commit
20db79f117
@ -654,7 +654,7 @@ var (
|
||||
Enabled: true,
|
||||
},
|
||||
ff(comm.ModuleRtask, "rtest"): {
|
||||
NavLabel: "测试",
|
||||
NavLabel: "测试条件",
|
||||
Desc: "测试任务触发",
|
||||
MainType: string(comm.ModuleRtask),
|
||||
SubType: "rtest",
|
||||
|
@ -73,7 +73,7 @@ func (this *apiComp) Choose(session comm.IUserSession, req *pb.RtaskChooseReq) (
|
||||
return
|
||||
}
|
||||
|
||||
if chooseCnf.GotoLevel == 0 {
|
||||
if chooseCnf.NextTid != 0 {
|
||||
// 更新完成的任务
|
||||
frtaskArr.RtaskIds = append(frtaskArr.RtaskIds, req.RtaskId)
|
||||
if rtask.FrtaskIds == nil {
|
||||
@ -87,13 +87,21 @@ func (this *apiComp) Choose(session comm.IUserSession, req *pb.RtaskChooseReq) (
|
||||
code = pb.ErrorCode_SystemError
|
||||
return
|
||||
}
|
||||
// 发奖励
|
||||
code = this.moduleRtask.DispenseRes(session, sideConf.Reward, true)
|
||||
|
||||
rsp := &pb.RtaskFinishPush{
|
||||
RtaskId: req.RtaskId,
|
||||
}
|
||||
if err := session.SendMsg(string(this.moduleRtask.GetType()), RtaskSubTypeChoose, rsp); err != nil {
|
||||
code = pb.ErrorCode_SystemError
|
||||
}
|
||||
}
|
||||
|
||||
rsp := &pb.RtaskChooseResp{
|
||||
RtaskId: req.RtaskId,
|
||||
ChooseId: req.ChooseId,
|
||||
}
|
||||
|
||||
if err := session.SendMsg(string(this.moduleRtask.GetType()), RtaskSubTypeChoose, rsp); err != nil {
|
||||
code = pb.ErrorCode_SystemError
|
||||
}
|
||||
|
@ -3,13 +3,39 @@ package rtask
|
||||
|
||||
import cfg "go_dreamfactory/sys/configure/structs"
|
||||
|
||||
func (this *ModelRtaskRecord) equalFirstParam(cfg *cfg.GameRdtaskCondiData, vals ...int32) (condiId int32) {
|
||||
//只查询参数于配置相等的情况下设置condiId,否则返回0
|
||||
if !soEqual(vals[0], cfg.Data1) {
|
||||
return
|
||||
}
|
||||
condiId = cfg.Id
|
||||
return
|
||||
}
|
||||
|
||||
func (this *ModelRtaskRecord) greatEqualFirstParam(cfg *cfg.GameRdtaskCondiData, vals ...int32) (condiId int32) {
|
||||
if !soGreatEqual(vals[0], cfg.Data1) {
|
||||
return
|
||||
}
|
||||
condiId = cfg.Id
|
||||
return
|
||||
}
|
||||
|
||||
func (this *ModelRtaskRecord) lessEqualFirstParam(cfg *cfg.GameRdtaskCondiData, vals ...int32) (condiId int32) {
|
||||
if !soLessEqual(vals[0], cfg.Data1) {
|
||||
return
|
||||
}
|
||||
condiId = cfg.Id
|
||||
return
|
||||
}
|
||||
|
||||
// 与每个参数比较
|
||||
// Deprecated
|
||||
func (this *ModelRtaskRecord) equalParams(cfg *cfg.GameRdtaskCondiData, vals ...int32) (condiId int32) {
|
||||
var (
|
||||
err error
|
||||
paramLen int
|
||||
)
|
||||
if paramLen, err = verifyParam(cfg, vals...); err != nil {
|
||||
if paramLen, err = lenParam(cfg, vals...); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
@ -19,21 +45,21 @@ func (this *ModelRtaskRecord) equalParams(cfg *cfg.GameRdtaskCondiData, vals ...
|
||||
return
|
||||
}
|
||||
case 2:
|
||||
if !(soEqual(vals[0], cfg.Data1) && soEqual(vals[1], cfg.Data2)) {
|
||||
if !(soEqual(vals[0], cfg.Data1) && soGreatEqual(vals[1], cfg.Data2)) {
|
||||
return
|
||||
}
|
||||
case 3:
|
||||
if !(soEqual(vals[0], cfg.Data1) && soEqual(vals[1], cfg.Data2) && soEqual(vals[2], cfg.Data3)) {
|
||||
if !(soEqual(vals[0], cfg.Data1) && soGreatEqual(vals[1], cfg.Data2) && soGreatEqual(vals[2], cfg.Data3)) {
|
||||
return
|
||||
}
|
||||
case 4:
|
||||
if !(soEqual(vals[0], cfg.Data1) && soEqual(vals[1], cfg.Data2) &&
|
||||
soEqual(vals[2], cfg.Data3) && soEqual(vals[3], cfg.Data4)) {
|
||||
if !(soEqual(vals[0], cfg.Data1) && soGreatEqual(vals[1], cfg.Data2) &&
|
||||
soGreatEqual(vals[2], cfg.Data3) && soGreatEqual(vals[3], cfg.Data4)) {
|
||||
return
|
||||
}
|
||||
case 5:
|
||||
if !(soEqual(vals[0], cfg.Data1) && soEqual(vals[1], cfg.Data2) &&
|
||||
soEqual(vals[2], cfg.Data3) && soEqual(vals[3], cfg.Data4) && soEqual(vals[4], cfg.Data5)) {
|
||||
if !(soEqual(vals[0], cfg.Data1) && soGreatEqual(vals[1], cfg.Data2) &&
|
||||
soGreatEqual(vals[2], cfg.Data3) && soGreatEqual(vals[3], cfg.Data4) && soGreatEqual(vals[4], cfg.Data5)) {
|
||||
return
|
||||
}
|
||||
default:
|
||||
@ -50,30 +76,30 @@ func (this *ModelRtaskRecord) greatThanParams(cfg *cfg.GameRdtaskCondiData, vals
|
||||
err error
|
||||
paramLen int
|
||||
)
|
||||
if paramLen, err = verifyParam(cfg, vals...); err != nil {
|
||||
if paramLen, err = lenParam(cfg, vals...); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
switch paramLen {
|
||||
case 1:
|
||||
if !soGreatThan(vals[0], cfg.Data1) {
|
||||
if !soGreatEqual(vals[0], cfg.Data1) {
|
||||
return
|
||||
}
|
||||
case 2:
|
||||
if !(soGreatThan(vals[0], cfg.Data1) && soEqual(vals[1], cfg.Data2)) {
|
||||
if !(soGreatEqual(vals[0], cfg.Data1) && soEqual(vals[1], cfg.Data2)) {
|
||||
return
|
||||
}
|
||||
case 3:
|
||||
if !(soGreatThan(vals[0], cfg.Data1) && soEqual(vals[1], cfg.Data2) && soEqual(vals[2], cfg.Data3)) {
|
||||
if !(soGreatEqual(vals[0], cfg.Data1) && soEqual(vals[1], cfg.Data2) && soEqual(vals[2], cfg.Data3)) {
|
||||
return
|
||||
}
|
||||
case 4:
|
||||
if !(soGreatThan(vals[0], cfg.Data1) && soEqual(vals[1], cfg.Data2) &&
|
||||
if !(soGreatEqual(vals[0], cfg.Data1) && soEqual(vals[1], cfg.Data2) &&
|
||||
soEqual(vals[2], cfg.Data3) && soEqual(vals[3], cfg.Data4)) {
|
||||
return
|
||||
}
|
||||
case 5:
|
||||
if !(soGreatThan(vals[0], cfg.Data1) && soEqual(vals[1], cfg.Data2) &&
|
||||
if !(soGreatEqual(vals[0], cfg.Data1) && soEqual(vals[1], cfg.Data2) &&
|
||||
soEqual(vals[2], cfg.Data3) && soEqual(vals[3], cfg.Data4) && soEqual(vals[4], cfg.Data5)) {
|
||||
return
|
||||
}
|
||||
@ -91,31 +117,31 @@ func (this *ModelRtaskRecord) lessThanParams(cfg *cfg.GameRdtaskCondiData, vals
|
||||
err error
|
||||
paramLen int
|
||||
)
|
||||
if paramLen, err = verifyParam(cfg, vals...); err != nil {
|
||||
if paramLen, err = lenParam(cfg, vals...); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
switch paramLen {
|
||||
case 1:
|
||||
if !soLessThan(vals[0], cfg.Data1) {
|
||||
if !soLessEqual(vals[0], cfg.Data1) {
|
||||
return
|
||||
}
|
||||
case 2:
|
||||
if !(soLessThan(vals[0], cfg.Data1) && soEqual(vals[1], cfg.Data2)) {
|
||||
if !(soLessEqual(vals[0], cfg.Data1) && soGreatEqual(vals[1], cfg.Data2)) {
|
||||
return
|
||||
}
|
||||
case 3:
|
||||
if !(soLessThan(vals[0], cfg.Data1) && soEqual(vals[1], cfg.Data2) && soEqual(vals[2], cfg.Data3)) {
|
||||
if !(soLessEqual(vals[0], cfg.Data1) && soGreatEqual(vals[1], cfg.Data2) && soGreatEqual(vals[2], cfg.Data3)) {
|
||||
return
|
||||
}
|
||||
case 4:
|
||||
if !(soLessThan(vals[0], cfg.Data1) && soEqual(vals[1], cfg.Data2) &&
|
||||
soEqual(vals[2], cfg.Data3) && soEqual(vals[3], cfg.Data4)) {
|
||||
if !(soLessEqual(vals[0], cfg.Data1) && soGreatEqual(vals[1], cfg.Data2) &&
|
||||
soGreatEqual(vals[2], cfg.Data3) && soGreatEqual(vals[3], cfg.Data4)) {
|
||||
return
|
||||
}
|
||||
case 5:
|
||||
if !(soLessThan(vals[0], cfg.Data1) && soEqual(vals[1], cfg.Data2) &&
|
||||
soEqual(vals[2], cfg.Data3) && soEqual(vals[3], cfg.Data4) && soEqual(vals[4], cfg.Data5)) {
|
||||
if !(soLessEqual(vals[0], cfg.Data1) && soGreatEqual(vals[1], cfg.Data2) &&
|
||||
soGreatEqual(vals[2], cfg.Data3) && soGreatEqual(vals[3], cfg.Data4) && soGreatEqual(vals[4], cfg.Data5)) {
|
||||
return
|
||||
}
|
||||
default:
|
||||
|
@ -9,10 +9,10 @@ import (
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
func verifyParam(cfg *cfg.GameRdtaskCondiData, vals ...int32) (n int, err error) {
|
||||
func lenParam(cfg *cfg.GameRdtaskCondiData, vals ...int32) (n int, err error) {
|
||||
if cfg.Data1 != 0 && cfg.Data2 != 0 && cfg.Data3 != 0 && cfg.Data4 != 0 && cfg.Data5 != 0 {
|
||||
if len(vals) != 5 {
|
||||
err = errors.New(fmt.Sprintf("参数个数不一致,期望5实际是%v", len(vals)))
|
||||
err = errors.New(fmt.Sprintf("%v 参数个数不一致,期望5实际是%v", cfg.Id, len(vals)))
|
||||
return
|
||||
} else {
|
||||
n = len(vals)
|
||||
@ -22,7 +22,7 @@ func verifyParam(cfg *cfg.GameRdtaskCondiData, vals ...int32) (n int, err error)
|
||||
|
||||
if cfg.Data1 != 0 && cfg.Data2 != 0 && cfg.Data3 != 0 && cfg.Data4 != 0 {
|
||||
if len(vals) != 4 {
|
||||
err = errors.New(fmt.Sprintf("参数个数不一致,期望4实际是%v", len(vals)))
|
||||
err = errors.New(fmt.Sprintf("%v 参数个数不一致,期望4实际是%v", cfg.Id, len(vals)))
|
||||
return
|
||||
} else {
|
||||
n = len(vals)
|
||||
@ -32,7 +32,7 @@ func verifyParam(cfg *cfg.GameRdtaskCondiData, vals ...int32) (n int, err error)
|
||||
|
||||
if cfg.Data1 != 0 && cfg.Data2 != 0 && cfg.Data3 != 0 {
|
||||
if len(vals) != 3 {
|
||||
err = errors.New(fmt.Sprintf("参数个数不一致,期望3实际是%v", len(vals)))
|
||||
err = errors.New(fmt.Sprintf("%v 参数个数不一致,期望3实际是%v", cfg.Id, len(vals)))
|
||||
return
|
||||
} else {
|
||||
n = len(vals)
|
||||
@ -42,7 +42,7 @@ func verifyParam(cfg *cfg.GameRdtaskCondiData, vals ...int32) (n int, err error)
|
||||
|
||||
if cfg.Data1 != 0 && cfg.Data2 != 0 {
|
||||
if len(vals) != 2 {
|
||||
err = errors.New(fmt.Sprintf("参数个数不一致,期望2实际是%v", len(vals)))
|
||||
err = errors.New(fmt.Sprintf("%v 参数个数不一致,期望2实际是%v", cfg.Id, len(vals)))
|
||||
return
|
||||
} else {
|
||||
n = len(vals)
|
||||
@ -52,7 +52,7 @@ func verifyParam(cfg *cfg.GameRdtaskCondiData, vals ...int32) (n int, err error)
|
||||
|
||||
if cfg.Data1 != 0 {
|
||||
if len(vals) != 1 {
|
||||
err = errors.New(fmt.Sprintf("参数个数不一致,期望1实际是%v", len(vals)))
|
||||
err = errors.New(fmt.Sprintf("%v 参数个数不一致,期望1实际是%v", cfg.Id, len(vals)))
|
||||
return
|
||||
} else {
|
||||
n = len(vals)
|
||||
@ -139,15 +139,18 @@ type Num interface {
|
||||
~int32 | ~string | ~bool
|
||||
}
|
||||
|
||||
// 等于
|
||||
func equal[T Num](actual, expected T) bool {
|
||||
return actual == expected
|
||||
}
|
||||
|
||||
func greatThan(actual, expected int32) bool {
|
||||
// 大于等于
|
||||
func greatEual(actual, expected int32) bool {
|
||||
return actual >= expected
|
||||
}
|
||||
|
||||
func lessThan(actual, expected int32) bool {
|
||||
//小于等于
|
||||
func lessEqual(actual, expected int32) bool {
|
||||
return actual <= expected
|
||||
}
|
||||
|
||||
@ -160,8 +163,8 @@ func soEqual[T Num](actual T, expected T) (ok bool) {
|
||||
return
|
||||
}
|
||||
|
||||
func soGreatThan(actual, expected int32) (ok bool) {
|
||||
if !greatThan(actual, expected) {
|
||||
func soGreatEqual(actual, expected int32) (ok bool) {
|
||||
if !greatEual(actual, expected) {
|
||||
log.Debugf("实际:%v 期望:%v", actual, expected)
|
||||
return
|
||||
}
|
||||
@ -169,8 +172,8 @@ func soGreatThan(actual, expected int32) (ok bool) {
|
||||
return
|
||||
}
|
||||
|
||||
func soLessThan(actual, expected int32) (ok bool) {
|
||||
if !lessThan(actual, expected) {
|
||||
func soLessEqual(actual, expected int32) (ok bool) {
|
||||
if !lessEqual(actual, expected) {
|
||||
log.Debugf("实际:%v 期望:%v", actual, expected)
|
||||
return
|
||||
}
|
||||
|
@ -125,11 +125,23 @@ func (this *ModuleRtask) initRtaskVerifyHandle() {
|
||||
cfg: typeCfg,
|
||||
verify: this.modelRtask.verfiyRtype10,
|
||||
})
|
||||
case comm.Rtype12, comm.Rtype13, comm.Rtype14, comm.Rtype15:
|
||||
case comm.Rtype11:
|
||||
this.registerVerifyHandle(v.Id, &rtaskCondi{
|
||||
cfg: typeCfg,
|
||||
find: this.modelRtaskRecord.lessThanParams,
|
||||
verify: this.modelRtaskRecord.verifyFromDb,
|
||||
find: this.modelRtaskRecord.lessEqualFirstParam,
|
||||
verify: this.modelRtaskRecord.verifyFirstGreatEqualParam,
|
||||
update: this.modelRtaskRecord.overrideUpdate,
|
||||
})
|
||||
case comm.Rtype12, comm.Rtype13, comm.Rtype14, comm.Rtype15,
|
||||
comm.Rtype18, comm.Rtype19, comm.Rtype21, comm.Rtype24,
|
||||
comm.Rtype26, comm.Rtype27, comm.Rtype28, comm.Rtype38,
|
||||
comm.Rtype39, comm.Rtype50, comm.Rtype51, comm.Rtype53,
|
||||
comm.Rtype54, comm.Rtype57, comm.Rtype58, comm.Rtype60,
|
||||
comm.Rtype62, comm.Rtype64, comm.Rtype69:
|
||||
this.registerVerifyHandle(v.Id, &rtaskCondi{
|
||||
cfg: typeCfg,
|
||||
find: this.modelRtaskRecord.lessEqualFirstParam,
|
||||
verify: this.modelRtaskRecord.verifyFirstGreatEqualParam,
|
||||
update: this.modelRtaskRecord.addUpdate,
|
||||
})
|
||||
case comm.Rtype20:
|
||||
@ -137,8 +149,20 @@ func (this *ModuleRtask) initRtaskVerifyHandle() {
|
||||
cfg: typeCfg,
|
||||
verify: this.modelRtask.verifyRtype20,
|
||||
})
|
||||
case comm.Rtype11, comm.Rtype16, comm.Rtype17, comm.Rtype21,
|
||||
comm.Rtype22, comm.Rtype35, comm.Rtype40, comm.Rtype44,
|
||||
case comm.Rtype22:
|
||||
this.registerVerifyHandle(v.Id, &rtaskCondi{
|
||||
cfg: typeCfg,
|
||||
find: this.modelRtaskRecord.equalFirstParam,
|
||||
verify: this.modelRtaskRecord.verifyFirstEqualParam,
|
||||
update: this.modelRtaskRecord.overrideUpdate,
|
||||
})
|
||||
case comm.Rtype63:
|
||||
this.registerVerifyHandle(v.Id, &rtaskCondi{
|
||||
cfg: typeCfg,
|
||||
verify: this.modelRtask.verifyRtype63,
|
||||
})
|
||||
case comm.Rtype16, comm.Rtype17,
|
||||
comm.Rtype35, comm.Rtype44,
|
||||
comm.Rtype59, comm.Rtype61, comm.Rtype70:
|
||||
this.registerVerifyHandle(v.Id, &rtaskCondi{
|
||||
cfg: typeCfg,
|
||||
@ -146,28 +170,20 @@ func (this *ModuleRtask) initRtaskVerifyHandle() {
|
||||
verify: this.modelRtaskRecord.verifyFromDb,
|
||||
update: this.modelRtaskRecord.overrideUpdate,
|
||||
})
|
||||
case comm.Rtype18, comm.Rtype19, comm.Rtype23, comm.Rtype24,
|
||||
comm.Rtype25, comm.Rtype26, comm.Rtype27,
|
||||
comm.Rtype28, comm.Rtype29, comm.Rtype30, comm.Rtype31,
|
||||
case comm.Rtype23, comm.Rtype25, comm.Rtype29, comm.Rtype30, comm.Rtype31,
|
||||
comm.Rtype32, comm.Rtype33, comm.Rtype34, comm.Rtype36,
|
||||
comm.Rtype37, comm.Rtype38, comm.Rtype39, comm.Rtype41,
|
||||
comm.Rtype37, comm.Rtype40, comm.Rtype41,
|
||||
comm.Rtype42, comm.Rtype43, comm.Rtype45,
|
||||
comm.Rtype46, comm.Rtype47, comm.Rtype48, comm.Rtype49,
|
||||
comm.Rtype50, comm.Rtype51, comm.Rtype52, comm.Rtype53,
|
||||
comm.Rtype54, comm.Rtype55, comm.Rtype56, comm.Rtype57,
|
||||
comm.Rtype58, comm.Rtype60, comm.Rtype62, comm.Rtype64,
|
||||
comm.Rtype65, comm.Rtype66, comm.Rtype67, comm.Rtype68, comm.Rtype69:
|
||||
comm.Rtype52, comm.Rtype55, comm.Rtype56,
|
||||
comm.Rtype65, comm.Rtype66, comm.Rtype67, comm.Rtype68:
|
||||
this.registerVerifyHandle(v.Id, &rtaskCondi{
|
||||
cfg: typeCfg,
|
||||
find: this.modelRtaskRecord.lessThanParams,
|
||||
verify: this.modelRtaskRecord.verifyFromDb,
|
||||
update: this.modelRtaskRecord.addUpdate,
|
||||
})
|
||||
case comm.Rtype63:
|
||||
this.registerVerifyHandle(v.Id, &rtaskCondi{
|
||||
cfg: typeCfg,
|
||||
verify: this.modelRtask.verifyRtype63,
|
||||
})
|
||||
|
||||
default:
|
||||
log.Warnf("rtaskType[%v] not register", typeCfg.Type)
|
||||
}
|
||||
|
@ -14,7 +14,7 @@ import (
|
||||
// 覆盖更新
|
||||
func (this *ModelRtaskRecord) overrideUpdate(uid string, cfg *cfg.GameRdtaskCondiData, vals ...int32) (err error) {
|
||||
var paramLen int
|
||||
if paramLen, err = verifyParam(cfg, vals...); err != nil {
|
||||
if paramLen, err = lenParam(cfg, vals...); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
@ -19,18 +19,19 @@ func (this *ModelRtaskRecord) verifyFromDb(uid string, cfg *cfg.GameRdtaskCondiD
|
||||
return
|
||||
}
|
||||
var paramLen int
|
||||
if paramLen, err = verifyParam(cfg, toArr(rd.Data)...); err == nil {
|
||||
if paramLen, err = lenParam(cfg, toArr(rd.Data)...); err == nil {
|
||||
//参数比较,默认第一个参数soGreateEqual,其它soEqual
|
||||
switch paramLen {
|
||||
case 1:
|
||||
return nil, soEqual(rd.Data[0], cfg.Data1)
|
||||
return nil, soGreatEqual(rd.Data[0], cfg.Data1)
|
||||
case 2:
|
||||
return nil, soEqual(rd.Data[0], cfg.Data1) && soEqual(rd.Data[1], cfg.Data2)
|
||||
return nil, soGreatEqual(rd.Data[0], cfg.Data1) && soEqual(rd.Data[1], cfg.Data2)
|
||||
case 3:
|
||||
return nil, soEqual(rd.Data[0], cfg.Data1) && soEqual(rd.Data[1], cfg.Data2) && soEqual(rd.Data[2], cfg.Data3)
|
||||
return nil, soGreatEqual(rd.Data[0], cfg.Data1) && soEqual(rd.Data[1], cfg.Data2) && soEqual(rd.Data[2], cfg.Data3)
|
||||
case 4:
|
||||
return nil, soEqual(rd.Data[0], cfg.Data1) && soEqual(rd.Data[1], cfg.Data2) && soEqual(rd.Data[2], cfg.Data3) && soEqual(rd.Data[3], cfg.Data4)
|
||||
return nil, soGreatEqual(rd.Data[0], cfg.Data1) && soEqual(rd.Data[1], cfg.Data2) && soEqual(rd.Data[2], cfg.Data3) && soEqual(rd.Data[3], cfg.Data4)
|
||||
case 5:
|
||||
return nil, soEqual(rd.Data[0], cfg.Data1) && soEqual(rd.Data[1], cfg.Data2) && soEqual(rd.Data[2], cfg.Data3) &&
|
||||
return nil, soGreatEqual(rd.Data[0], cfg.Data1) && soEqual(rd.Data[1], cfg.Data2) && soEqual(rd.Data[2], cfg.Data3) &&
|
||||
soEqual(rd.Data[3], cfg.Data4) && soEqual(rd.Data[4], cfg.Data5)
|
||||
}
|
||||
}
|
||||
@ -38,6 +39,32 @@ func (this *ModelRtaskRecord) verifyFromDb(uid string, cfg *cfg.GameRdtaskCondiD
|
||||
return
|
||||
}
|
||||
|
||||
func (this *ModelRtaskRecord) verifyFirstEqualParam(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
|
||||
}
|
||||
|
||||
return nil, soEqual(rd.Data[0], cfg.Data1)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (this *ModelRtaskRecord) verifyFirstGreatEqualParam(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
|
||||
}
|
||||
|
||||
return nil, soGreatEqual(rd.Data[0], cfg.Data1)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// 英雄指定
|
||||
func (this *ModelRtask) verfiyRtype1(uid string, cfg *cfg.GameRdtaskCondiData) (err error, ok bool) {
|
||||
heroModule, err := this.service.GetModule(comm.ModuleHero)
|
||||
@ -47,13 +74,12 @@ func (this *ModelRtask) verfiyRtype1(uid string, cfg *cfg.GameRdtaskCondiData) (
|
||||
|
||||
if h, y := heroModule.(comm.IHero); y {
|
||||
for _, v := range h.GetHeroList(uid) {
|
||||
if cast.ToString(cfg.Data1) == v.HeroID {
|
||||
if soEqual(cast.ToString(cfg.Data1), v.HeroID) {
|
||||
ok = true
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
@ -66,7 +92,7 @@ func (this *ModelRtask) verifyRtype2(uid string, cfg *cfg.GameRdtaskCondiData) (
|
||||
|
||||
if ml, y := m.(comm.IMainline); y {
|
||||
qjId := ml.GetUsermainLineData(uid)
|
||||
return nil, qjId == cfg.Data1
|
||||
return nil, soEqual(qjId, cfg.Data1)
|
||||
}
|
||||
return
|
||||
}
|
||||
@ -107,7 +133,7 @@ func (this *ModelRtask) verifyRtype4(uid string, cfg *cfg.GameRdtaskCondiData) (
|
||||
}
|
||||
if hero != nil {
|
||||
return nil, soEqual(hero.HeroID, cast.ToString(cfg.Data1)) &&
|
||||
soEqual(hero.Lv, cfg.Data2)
|
||||
soGreatEqual(hero.Lv, cfg.Data2)
|
||||
}
|
||||
}
|
||||
return
|
||||
@ -139,7 +165,7 @@ func (this *ModelRtask) verifyRtype5(uid string, cfg *cfg.GameRdtaskCondiData) (
|
||||
}
|
||||
}
|
||||
return nil, soEqual(hero.HeroID, cast.ToString(cfg.Data1)) &&
|
||||
soEqual(count, cfg.Data2)
|
||||
soGreatEqual(count, cfg.Data2)
|
||||
}
|
||||
return
|
||||
}
|
||||
@ -163,7 +189,7 @@ func (this *ModelRtask) verifyRtype6(uid string, cfg *cfg.GameRdtaskCondiData) (
|
||||
|
||||
if hero != nil {
|
||||
return nil, soEqual(hero.HeroID, cast.ToString(cfg.Data1)) &&
|
||||
soEqual(hero.Star, cfg.Data2)
|
||||
soGreatEqual(hero.Star, cfg.Data2)
|
||||
}
|
||||
}
|
||||
return
|
||||
@ -198,7 +224,7 @@ func (this *ModelRtask) verfiyRtype8(uid string, cfg *cfg.GameRdtaskCondiData) (
|
||||
if err != nil {
|
||||
return err, false
|
||||
}
|
||||
return nil, soEqual(ud.LoginAddCount, cfg.Data1)
|
||||
return nil, soGreatEqual(ud.LoginAddCount, cfg.Data1)
|
||||
}
|
||||
return
|
||||
}
|
||||
@ -216,7 +242,7 @@ func (this *ModelRtask) verfiyRtype9(uid string, cfg *cfg.GameRdtaskCondiData) (
|
||||
if err != nil {
|
||||
return err, false
|
||||
}
|
||||
return nil, soEqual(ud.LoginContinueCount, cfg.Data1)
|
||||
return nil, soGreatEqual(ud.LoginContinueCount, cfg.Data1)
|
||||
}
|
||||
return
|
||||
}
|
||||
@ -231,7 +257,7 @@ func (this *ModelRtask) verfiyRtype10(uid string, cfg *cfg.GameRdtaskCondiData)
|
||||
|
||||
if mi, y := m.(comm.IFriend); y {
|
||||
count := mi.GetFriendCount(uid)
|
||||
return nil, soGreatThan(count, cfg.Data1)
|
||||
return nil, soGreatEqual(count, cfg.Data1)
|
||||
}
|
||||
return
|
||||
}
|
||||
@ -246,7 +272,7 @@ func (this *ModelRtask) verifyRtype20(uid string, cfg *cfg.GameRdtaskCondiData)
|
||||
|
||||
if um, y := userModule.(comm.IUser); y {
|
||||
if user := um.GetUser(uid); user != nil {
|
||||
return nil, soEqual(user.Lv, cfg.Data1)
|
||||
return nil, soGreatEqual(user.Lv, cfg.Data1)
|
||||
}
|
||||
}
|
||||
return
|
||||
@ -266,9 +292,7 @@ func (this *ModelRtask) verifyRtype63(uid string, cfg *cfg.GameRdtaskCondiData)
|
||||
}
|
||||
|
||||
if de != nil {
|
||||
if de.Activeday == cfg.Data1 {
|
||||
ok = true
|
||||
}
|
||||
ok = soGreatEqual(de.Activeday, cfg.Data1)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -28,7 +28,7 @@ func TestVerify(t *testing.T) {
|
||||
patches2 := gomonkey.ApplyGlobalVar(&vals, []int32{25002})
|
||||
defer patches2.Reset()
|
||||
|
||||
n, err := verifyParam(conf, vals...)
|
||||
n, err := lenParam(conf, vals...)
|
||||
fmt.Println(n, err)
|
||||
})
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user