package rtask import ( cfg "go_dreamfactory/sys/configure/structs" "github.com/pkg/errors" ) func (this *ModelRtaskRecord) equalFirstParam(cfg *cfg.GameRdtaskCondiData, vals ...int32) (condiId int32, err error) { //只查询参数于配置相等的情况下设置condiId,否则返回0 if ok, err1 := soEqual(vals[0], cfg.Data1); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } condiId = cfg.Id return } func (this *ModelRtaskRecord) greatEqualFirstParam(cfg *cfg.GameRdtaskCondiData, vals ...int32) (condiId int32, err error) { if ok, err1 := soGreatEqual(vals[0], cfg.Data1); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } condiId = cfg.Id return } func (this *ModelRtaskRecord) lessEqualFirstParam(cfg *cfg.GameRdtaskCondiData, vals ...int32) (condiId int32, err error) { if ok, err1 := soLessEqual(vals[0], cfg.Data1); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } condiId = cfg.Id return } // 与每个参数比较 func (this *ModelRtaskRecord) equalParams(cfg *cfg.GameRdtaskCondiData, vals ...int32) (condiId int32, err error) { var ( paramLen int ) if paramLen, err = lenParam(cfg, vals...); err != nil { return } switch paramLen { case 1: if ok, err1 := soEqual(vals[0], cfg.Data1); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } case 2: if ok, err1 := soEqual(vals[0], cfg.Data1); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[1], cfg.Data2); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } case 3: if ok, err1 := soEqual(vals[0], cfg.Data1); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[1], cfg.Data2); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[2], cfg.Data3); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } case 4: if ok, err1 := soEqual(vals[0], cfg.Data1); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[1], cfg.Data2); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[2], cfg.Data3); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[3], cfg.Data4); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } case 5: if ok, err1 := soEqual(vals[0], cfg.Data1); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[1], cfg.Data2); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[2], cfg.Data3); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[3], cfg.Data4); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[4], cfg.Data5); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } default: return } condiId = cfg.Id return } func (this *ModelRtaskRecord) greatThanParams(cfg *cfg.GameRdtaskCondiData, vals ...int32) (condiId int32, err error) { var ( paramLen int ) if paramLen, err = lenParam(cfg, vals...); err != nil { return } switch paramLen { case 1: if ok, err1 := soGreatEqual(vals[0], cfg.Data1); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } case 2: if ok, err1 := soGreatEqual(vals[0], cfg.Data1); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[1], cfg.Data2); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } case 3: if ok, err1 := soGreatEqual(vals[0], cfg.Data1); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[1], cfg.Data2); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[2], cfg.Data3); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } case 4: if ok, err1 := soGreatEqual(vals[0], cfg.Data1); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[1], cfg.Data2); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[2], cfg.Data3); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[3], cfg.Data4); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } case 5: if ok, err1 := soGreatEqual(vals[0], cfg.Data1); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[1], cfg.Data2); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[2], cfg.Data3); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[3], cfg.Data4); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[4], cfg.Data5); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } default: return } condiId = cfg.Id return } // 需要累加更新的查询 func (this *ModelRtaskRecord) lessThanParams(cfg *cfg.GameRdtaskCondiData, vals ...int32) (condiId int32, err error) { var ( paramLen int ) if paramLen, err = lenParam(cfg, vals...); err != nil { return } switch paramLen { case 1: if ok, err1 := soLessEqual(vals[0], cfg.Data1); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } case 2: if ok, err1 := soLessEqual(vals[0], cfg.Data1); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[1], cfg.Data2); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } case 3: if ok, err1 := soLessEqual(vals[0], cfg.Data1); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[1], cfg.Data2); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[2], cfg.Data3); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } case 4: if ok, err1 := soLessEqual(vals[0], cfg.Data1); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[1], cfg.Data2); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[2], cfg.Data3); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[3], cfg.Data4); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } case 5: if ok, err1 := soLessEqual(vals[0], cfg.Data1); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[1], cfg.Data2); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[2], cfg.Data3); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[3], cfg.Data4); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } if ok, err1 := soGreatEqual(vals[4], cfg.Data5); !ok { err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals) return } default: return } condiId = cfg.Id return }