diff --git a/internal/service/asset/service.go b/internal/service/asset/service.go index d679945..aba2284 100644 --- a/internal/service/asset/service.go +++ b/internal/service/asset/service.go @@ -356,6 +356,10 @@ func (s *Service) fetchDeviceGatewayInfo(ctx context.Context, deviceID uint) *dt return &dto.DeviceGatewayInfo{GatewayMsg: &msg} } + // 实时状态成功后异步回写 DB,保持 Resolve 接口的缓存与 Gateway 同步 + // 使用 context.Background() 避免请求结束后 ctx 取消导致写入失败 + go s.updateDeviceFromSyncInfo(context.Background(), deviceID, syncResp) + return mapSyncRespToDeviceGatewayInfo(syncResp) }