287 lines
8.9 KiB
Go
287 lines
8.9 KiB
Go
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 := soEqual(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 := soEqual(vals[1], cfg.Data2); !ok {
|
||
err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals)
|
||
return
|
||
}
|
||
if ok, err1 := soEqual(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 := soEqual(vals[1], cfg.Data2); !ok {
|
||
err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals)
|
||
return
|
||
}
|
||
if ok, err1 := soEqual(vals[2], cfg.Data3); !ok {
|
||
err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals)
|
||
return
|
||
}
|
||
if ok, err1 := soEqual(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 := soEqual(vals[1], cfg.Data2); !ok {
|
||
err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals)
|
||
return
|
||
}
|
||
if ok, err1 := soEqual(vals[2], cfg.Data3); !ok {
|
||
err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals)
|
||
return
|
||
}
|
||
if ok, err1 := soEqual(vals[3], cfg.Data4); !ok {
|
||
err = errors.WithMessagef(err1, "id: %v type:%v vals:%v", cfg.Id, cfg.Type, vals)
|
||
return
|
||
}
|
||
if ok, err1 := soEqual(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
|
||
}
|