From 10cdd32e955d6e7fba86aa68862fd70a191e6a35 Mon Sep 17 00:00:00 2001 From: Yavolte Date: Wed, 30 Jul 2025 13:48:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=BBDB=E7=9A=84Context?= =?UTF-8?q?=E5=AD=98=E5=82=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- model.go | 6 ++++++ types/types.go | 1 + 2 files changed, 7 insertions(+) diff --git a/model.go b/model.go index ed0be4e..af5b5c4 100644 --- a/model.go +++ b/model.go @@ -391,6 +391,7 @@ func (m *Model) Search(w http.ResponseWriter, r *http.Request) { ModuleName: m.naming.ModuleName, TableName: m.naming.TableName, Scenario: types.ScenarioList, + Context: m.db.Statement.Context, }) if searchSchemas, err = m.schemaLookup(childCtx, m.getDB(), domainName, m.naming.ModuleName, m.naming.TableName, types.ScenarioSearch); err != nil { m.response.Failure(w, types.RequestRecordNotFound, "record not found", nil) @@ -496,6 +497,7 @@ func (m *Model) Create(w http.ResponseWriter, r *http.Request) { TableName: m.naming.TableName, Scenario: types.ScenarioCreate, Schemas: schemas, + Context: m.db.Statement.Context, }) dbSess := m.getDB().WithContext(childCtx) if err = dbSess.Transaction(func(tx *gorm.DB) (errTx error) { @@ -594,6 +596,7 @@ func (m *Model) Update(w http.ResponseWriter, r *http.Request) { Scenario: types.ScenarioUpdate, Schemas: schemas, PrimaryKeyValue: idStr, + Context: m.db.Statement.Context, }) dbSess := m.getDB().WithContext(childCtx) if err = dbSess.Transaction(func(tx *gorm.DB) (errTx error) { @@ -677,6 +680,7 @@ func (m *Model) Delete(w http.ResponseWriter, r *http.Request) { TableName: m.naming.TableName, Scenario: types.ScenarioDelete, PrimaryKeyValue: idStr, + Context: m.db.Statement.Context, }) dbSess := m.getDB().WithContext(childCtx) if err = dbSess.Transaction(func(tx *gorm.DB) (errTx error) { @@ -794,6 +798,7 @@ func (m *Model) Export(w http.ResponseWriter, r *http.Request) { ModuleName: m.naming.ModuleName, TableName: m.naming.TableName, Scenario: types.ScenarioExport, + Context: m.db.Statement.Context, }) if searchSchemas, err = m.schemaLookup(childCtx, m.getDB(), domainName, m.naming.ModuleName, m.naming.TableName, types.ScenarioSearch); err != nil { m.response.Failure(w, types.RequestRecordNotFound, "record not found", nil) @@ -1027,6 +1032,7 @@ func (m *Model) Import(w http.ResponseWriter, r *http.Request) { TableName: m.naming.TableName, Scenario: types.ScenarioImport, Schemas: schemas, + Context: m.db.Statement.Context, }) if r.Method == http.MethodGet { //下载导入模板 diff --git a/types/types.go b/types/types.go index a2bf95e..a5e207b 100644 --- a/types/types.go +++ b/types/types.go @@ -206,6 +206,7 @@ type ( Schemas []*Schema //字段schema Request *http.Request //HTTP请求结构 PrimaryKeyValue any //主键 + Context context.Context } ImportResult struct {