From a8dae49f454c3c84a5da44b7fbc92b57becb6025 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=AD=90=E9=93=AD?= Date: Thu, 20 Mar 2025 19:32:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gorm.sh | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/gorm.sh b/gorm.sh index 1775528..52d91e3 100755 --- a/gorm.sh +++ b/gorm.sh @@ -132,11 +132,14 @@ import ( "voucher/internal/data/model" "voucher/internal/biz/repo" "voucher/internal/biz/bo" + "voucher/internal/data" + err2 "voucher/api/err" ) // ${table_capitalized}RepoImpl . type ${table_capitalized}RepoImpl struct { Base[model.${table_capitalized}, bo.${table_capitalized}Bo] + db *data.Db } // New${table_capitalized}RepoImpl . @@ -144,6 +147,10 @@ func New${table_capitalized}RepoImpl() repo.${table_capitalized}Repo { return &${table_capitalized}RepoImpl{} } +func (r *${table_capitalized}RepoImpl) DB(ctx context.Context) *gorm.DB { + return p.db.DB(ctx).WithContext(ctx).Model(model.${table_capitalized}{}) +} + func (r *${table_capitalized}RepoImpl) Create(ctx context.Context, req *bo.${table_capitalized}Bo) (*bo.${table_capitalized}Bo, error) { // todo 待实现 return nil, nil @@ -152,7 +159,17 @@ func (r *${table_capitalized}RepoImpl) Create(ctx context.Context, req *bo.${tab // GetByID 根据 ID 获取 ${table_capitalized} func (r *${table_capitalized}RepoImpl) GetByID(ctx context.Context,id int32) (*bo.${table_capitalized}Bo, error) { var item model.${table_capitalized} - // todo 待实现 + + tx := p.DB(ctx).Where(model.${table_capitalized}{ID: id}).First(&item) + + if tx.Error != nil { + return nil, fmt.Errorf("b fail %w", tx.Error) + } + + if tx.RowsAffected == 0 { + return nil, err2.ErrorDbNotFound("数据不存在") + } + return r.ToBo(&item), nil } EOL