33 lines
810 B
Go
33 lines
810 B
Go
package dao
|
|
|
|
import (
|
|
"context"
|
|
|
|
"model-gateway/consts/public"
|
|
"model-gateway/model/entity"
|
|
|
|
"gitea.com/red-future/common/db/gfdb"
|
|
)
|
|
|
|
// GetByModelNameForTenant 后台任务使用:按 tenant_id + model_name 查询,不依赖 gfdb Hook/Trace/用户上下文
|
|
func (d *modelDao) GetByModelNameForTenant(ctx context.Context, tenantId uint64, modelName string) (m *entity.AsynchModel, err error) {
|
|
r, err := gfdb.DB(ctx).GetAll(ctx,
|
|
"SELECT * FROM "+public.TableNameModel+" WHERE tenant_id=? AND model_name=? AND deleted_at IS NULL LIMIT 1",
|
|
tenantId, modelName,
|
|
)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
if r.IsEmpty() {
|
|
return nil, nil
|
|
}
|
|
var list []*entity.AsynchModel
|
|
if err := r.Structs(&list); err != nil {
|
|
return nil, err
|
|
}
|
|
if len(list) == 0 {
|
|
return nil, nil
|
|
}
|
|
return list[0], nil
|
|
}
|