@@ -1325,35 +1325,34 @@ func (r *usageLogRepository) bestEffortRecentKey(requestID string, apiKeyID int6
13251325 return usageLogBatchKey (requestID , apiKeyID ), true
13261326}
13271327
1328- func (r * usageLogRepository ) GetByID (ctx context.Context , id int64 ) (log * service.UsageLog , err error ) {
1328+ func (r * usageLogRepository ) GetByID (ctx context.Context , id int64 ) (* service.UsageLog , error ) {
13291329 query := "SELECT " + usageLogSelectColumns + " FROM usage_logs WHERE id = $1"
13301330 rows , err := r .sql .QueryContext (ctx , query , id )
13311331 if err != nil {
13321332 return nil , err
13331333 }
1334- defer func () {
1335- // 保持主错误优先;仅在无错误时回传 Close 失败。
1336- // 同时清空返回值,避免误用不完整结果。
1337- if closeErr := rows .Close (); closeErr != nil && err == nil {
1338- err = closeErr
1339- log = nil
1340- }
1341- }()
13421334 if ! rows .Next () {
1343- if err = rows .Err (); err != nil {
1335+ if err := rows .Err (); err != nil {
1336+ _ = rows .Close ()
13441337 return nil , err
13451338 }
1339+ _ = rows .Close ()
13461340 return nil , service .ErrUsageLogNotFound
13471341 }
1348- log , err = scanUsageLog (rows )
1342+ log , err : = scanUsageLog (rows )
13491343 if err != nil {
1344+ _ = rows .Close ()
13501345 return nil , err
13511346 }
1352- if err = rows .Err (); err != nil {
1347+ if err := rows .Err (); err != nil {
1348+ _ = rows .Close ()
1349+ return nil , err
1350+ }
1351+ if err := rows .Close (); err != nil {
13531352 return nil , err
13541353 }
13551354 logs := []service.UsageLog {* log }
1356- if err = r .hydrateUsageLogWalletDeductions (ctx , logs ); err != nil {
1355+ if err : = r .hydrateUsageLogWalletDeductions (ctx , logs ); err != nil {
13571356 return nil , err
13581357 }
13591358 * log = logs [0 ]
0 commit comments