feat: 升级 samber/do v1 → v2

This commit is contained in:
2026-05-15 09:04:12 +08:00
parent 7741f7584d
commit 9ad5d25836
47 changed files with 1456 additions and 684 deletions
+5 -4
View File
@@ -8,8 +8,9 @@ import (
"git.fsdpf.net/go/condition"
"git.fsdpf.net/go/contracts"
"git.fsdpf.net/go/db"
"git.fsdpf.net/go/db/exp"
"git.fsdpf.net/go/utils"
"github.com/samber/do"
"github.com/samber/do/v2"
"github.com/samber/lo"
"github.com/spf13/cast"
)
@@ -37,7 +38,7 @@ type OperationAccess struct {
data map[string][]any
}
func (o Operation) ToDBColumn(model contracts.Model, container *do.Injector) (column db.Expression, field reflect.StructField) {
func (o Operation) ToDBColumn(model contracts.Model, container do.Injector) (column db.Expression, field reflect.StructField) {
GetOrmConditions := do.MustInvoke[contracts.GetOrmConditions](container)
uuid := strings.ReplaceAll(o.Uuid, "-", "_")
@@ -52,9 +53,9 @@ func (o Operation) ToDBColumn(model contracts.Model, container *do.Injector) (co
}
if cond.IsEmpty() {
column = db.Raw(pk + " as `u_" + uuid + "`")
column = db.I(pk).As("u_" + uuid)
} else {
column = db.Raw("if(" + string(cond.ToSql(model)) + ", " + pk + ", 0) as `u_" + uuid + "`")
column = exp.NewSQLFunctionExpression("IF", cond.ToSql(model), db.I(pk), 0).As("u_" + uuid)
}
// 主键类型