154 lines
3.6 KiB
Go
154 lines
3.6 KiB
Go
// 匹配类型和参数,返回任务条件ID
|
||
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 = lenParam(cfg, vals...); err != nil {
|
||
return
|
||
}
|
||
|
||
switch paramLen {
|
||
case 1:
|
||
if !soEqual(vals[0], cfg.Data1) {
|
||
return
|
||
}
|
||
case 2:
|
||
if !(soEqual(vals[0], cfg.Data1) && soGreatEqual(vals[1], cfg.Data2)) {
|
||
return
|
||
}
|
||
case 3:
|
||
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) && soGreatEqual(vals[1], cfg.Data2) &&
|
||
soGreatEqual(vals[2], cfg.Data3) && soGreatEqual(vals[3], cfg.Data4)) {
|
||
return
|
||
}
|
||
case 5:
|
||
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:
|
||
return
|
||
}
|
||
|
||
condiId = cfg.Id
|
||
|
||
return
|
||
}
|
||
|
||
func (this *ModelRtaskRecord) greatThanParams(cfg *cfg.GameRdtaskCondiData, vals ...int32) (condiId int32) {
|
||
var (
|
||
err error
|
||
paramLen int
|
||
)
|
||
if paramLen, err = lenParam(cfg, vals...); err != nil {
|
||
return
|
||
}
|
||
|
||
switch paramLen {
|
||
case 1:
|
||
if !soGreatEqual(vals[0], cfg.Data1) {
|
||
return
|
||
}
|
||
case 2:
|
||
if !(soGreatEqual(vals[0], cfg.Data1) && soEqual(vals[1], cfg.Data2)) {
|
||
return
|
||
}
|
||
case 3:
|
||
if !(soGreatEqual(vals[0], cfg.Data1) && soEqual(vals[1], cfg.Data2) && soEqual(vals[2], cfg.Data3)) {
|
||
return
|
||
}
|
||
case 4:
|
||
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 !(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
|
||
}
|
||
default:
|
||
return
|
||
}
|
||
|
||
condiId = cfg.Id
|
||
return
|
||
}
|
||
|
||
// 需要累加更新的查询
|
||
func (this *ModelRtaskRecord) lessThanParams(cfg *cfg.GameRdtaskCondiData, vals ...int32) (condiId int32) {
|
||
var (
|
||
err error
|
||
paramLen int
|
||
)
|
||
if paramLen, err = lenParam(cfg, vals...); err != nil {
|
||
return
|
||
}
|
||
|
||
switch paramLen {
|
||
case 1:
|
||
if !soLessEqual(vals[0], cfg.Data1) {
|
||
return
|
||
}
|
||
case 2:
|
||
if !(soLessEqual(vals[0], cfg.Data1) && soGreatEqual(vals[1], cfg.Data2)) {
|
||
return
|
||
}
|
||
case 3:
|
||
if !(soLessEqual(vals[0], cfg.Data1) && soGreatEqual(vals[1], cfg.Data2) && soGreatEqual(vals[2], cfg.Data3)) {
|
||
return
|
||
}
|
||
case 4:
|
||
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 !(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:
|
||
return
|
||
}
|
||
|
||
condiId = cfg.Id
|
||
return
|
||
}
|