From a3efb9c1db09fca9c69ec0bca3ed6e4ae32a8b74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=8C=AF=E5=8D=87?= <359059686@qq.com> Date: Wed, 5 Nov 2025 15:06:49 +0800 Subject: [PATCH] =?UTF-8?q?fix=20:=20ide=E8=AD=A6=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/datasources/enterprise_local_data_source.dart | 6 +++--- .../data/repositories_impl/enterprise_repository_impl.dart | 4 ++-- .../domain/usecases/upload_enterprises_usecase.dart | 2 -- .../problem/data/datasources/problem_local_data_source.dart | 4 ++-- .../data/datasources/problem_remote_data_source.dart | 2 +- lib/app/features/problem/data/model/problem_dto.dart | 1 - .../problem/data/repositories/problem_repository_impl.dart | 2 +- .../problem/presentation/bindings/problem_form_binding.dart | 4 +--- .../problem/presentation/bindings/problem_list_binding.dart | 4 +--- .../presentation/bindings/problem_upload_binding.dart | 4 +--- 10 files changed, 12 insertions(+), 21 deletions(-) diff --git a/lib/app/features/enterprise/data/datasources/enterprise_local_data_source.dart b/lib/app/features/enterprise/data/datasources/enterprise_local_data_source.dart index 1aa8306..f6981d0 100644 --- a/lib/app/features/enterprise/data/datasources/enterprise_local_data_source.dart +++ b/lib/app/features/enterprise/data/datasources/enterprise_local_data_source.dart @@ -232,8 +232,8 @@ class EnterpriseLocalDataSourceImpl implements EnterpriseLocalDataSource { } @override - Future deleteEnterprise(String id) { - //TODO 添加删除逻辑 - throw UnimplementedError(); + Future deleteEnterprise(String id) async { + final db = await _databaseService.database; + await db.delete(_tableName, where: 'id = ?', whereArgs: [id]); } } diff --git a/lib/app/features/enterprise/data/repositories_impl/enterprise_repository_impl.dart b/lib/app/features/enterprise/data/repositories_impl/enterprise_repository_impl.dart index a36456e..a90af06 100644 --- a/lib/app/features/enterprise/data/repositories_impl/enterprise_repository_impl.dart +++ b/lib/app/features/enterprise/data/repositories_impl/enterprise_repository_impl.dart @@ -135,9 +135,9 @@ class EnterpriseRepositoryImpl implements EnterpriseRepository { } // 1. 从远程和本地获取所有数据 - final remoteEnterpriseDtos = await remoteDataSource.getEnterprises(); + final remoteEnterprisesDto = await remoteDataSource.getEnterprises(); // [使用 toModel] 将 DTO 列表转换为 Model 列表 - final remoteEnterprises = remoteEnterpriseDtos + final remoteEnterprises = remoteEnterprisesDto .map((dto) => dto.toModel()) .toList(); final localEnterprises = await localDataSource.getAllEnterprises(); diff --git a/lib/app/features/enterprise/domain/usecases/upload_enterprises_usecase.dart b/lib/app/features/enterprise/domain/usecases/upload_enterprises_usecase.dart index 77b958c..2069228 100644 --- a/lib/app/features/enterprise/domain/usecases/upload_enterprises_usecase.dart +++ b/lib/app/features/enterprise/domain/usecases/upload_enterprises_usecase.dart @@ -3,7 +3,6 @@ import 'package:get/get.dart'; // 引入 GetX 用于创建可观察对象 import 'package:problem_check_system/app/core/domain/entities/upload_result.dart'; import 'package:problem_check_system/app/features/enterprise/domain/entities/enterprise_list_item.dart'; import 'package:problem_check_system/app/features/enterprise/domain/repositories/enterprise_repository.dart'; -import 'package:problem_check_system/app/core/domain/entities/sync_status.dart'; /// 用例:上传一个或多个企业实体,支持进度回调和取消 class UploadEnterprisesUseCase { @@ -20,7 +19,6 @@ class UploadEnterprisesUseCase { } /// 执行上传操作 - /// TODO 您应该将“同步到服务器后更新本地数据库”的逻辑放在 Repository 中。参考最近的问题同步用例 /// [onProgress] 是一个回调函数,用于将进度实时报告给调用者 (Controller) Future call({ required List enterprisesToUpload, diff --git a/lib/app/features/problem/data/datasources/problem_local_data_source.dart b/lib/app/features/problem/data/datasources/problem_local_data_source.dart index 63423a3..fb55f2b 100644 --- a/lib/app/features/problem/data/datasources/problem_local_data_source.dart +++ b/lib/app/features/problem/data/datasources/problem_local_data_source.dart @@ -10,7 +10,7 @@ abstract class ProblemLocalDataSource { /// 根据 ID 从数据库获取一个问题。 /// /// [id] - 要查询的问题的唯一标识符。 - /// 返回一个 Map,如果找不到则返回 null。 + /// 返回一个 Map< String, dynamic>,如果找不到则返回 null。 Future?> getProblemById(String id); /// 从数据库获取所有问题,并可选择性地进行过滤。 @@ -120,7 +120,7 @@ class ProblemLocalDataSourceImpl implements ProblemLocalDataSource { // 组合最终的查询语句 String finalQuery = baseQuery; if (whereClauses.isNotEmpty) { - finalQuery += ' WHERE ' + whereClauses.join(' AND '); + finalQuery += ' WHERE ${whereClauses.join(' AND ')}'; } // 执行查询,使用 `?` 参数化查询来防止 SQL 注入 diff --git a/lib/app/features/problem/data/datasources/problem_remote_data_source.dart b/lib/app/features/problem/data/datasources/problem_remote_data_source.dart index fb87b0b..d369028 100644 --- a/lib/app/features/problem/data/datasources/problem_remote_data_source.dart +++ b/lib/app/features/problem/data/datasources/problem_remote_data_source.dart @@ -43,7 +43,7 @@ abstract class ProblemRemoteDataSource { /// 根据 ID 删除一个问题 /// /// [problemId]: 要删除的问题的唯一标识符 - /// 删除操作通常成功后没有返回内容,所以使用 Future + /// 删除操作通常成功后没有返回内容,所以使用 Future< void> Future deleteProblem(String problemId); } diff --git a/lib/app/features/problem/data/model/problem_dto.dart b/lib/app/features/problem/data/model/problem_dto.dart index 7c1667b..258341f 100644 --- a/lib/app/features/problem/data/model/problem_dto.dart +++ b/lib/app/features/problem/data/model/problem_dto.dart @@ -1,4 +1,3 @@ -import 'dart:convert'; import 'package:problem_check_system/app/core/domain/entities/sync_status.dart'; import 'package:problem_check_system/app/core/extensions/map_extensions.dart'; import 'package:problem_check_system/app/features/problem/domain/entities/problem_entity.dart'; diff --git a/lib/app/features/problem/data/repositories/problem_repository_impl.dart b/lib/app/features/problem/data/repositories/problem_repository_impl.dart index 47ecc44..920e78e 100644 --- a/lib/app/features/problem/data/repositories/problem_repository_impl.dart +++ b/lib/app/features/problem/data/repositories/problem_repository_impl.dart @@ -55,7 +55,7 @@ class ProblemRepositoryImpl implements ProblemRepository { try { imageUrls = List.from(jsonDecode(imageUrlsRaw)); } catch (e) { - print( + throw Exception( 'Failed to parse imageUrls for problem ${map['problem_id']}: $e', ); } diff --git a/lib/app/features/problem/presentation/bindings/problem_form_binding.dart b/lib/app/features/problem/presentation/bindings/problem_form_binding.dart index f4666a7..3872c84 100644 --- a/lib/app/features/problem/presentation/bindings/problem_form_binding.dart +++ b/lib/app/features/problem/presentation/bindings/problem_form_binding.dart @@ -15,9 +15,7 @@ import 'package:problem_check_system/app/features/problem/presentation/controlle class ProblemFormBinding extends BaseBindings { @override - void register1Services() { - // TODO: implement register1Services - } + void register1Services() {} @override void register2DataSource() { diff --git a/lib/app/features/problem/presentation/bindings/problem_list_binding.dart b/lib/app/features/problem/presentation/bindings/problem_list_binding.dart index 8fe69e9..eabbdf1 100644 --- a/lib/app/features/problem/presentation/bindings/problem_list_binding.dart +++ b/lib/app/features/problem/presentation/bindings/problem_list_binding.dart @@ -10,9 +10,7 @@ import 'package:problem_check_system/app/features/problem/presentation/controlle class ProblemListBinding extends BaseBindings { @override - void register1Services() { - // TODO: implement register1Services - } + void register1Services() {} @override void register2DataSource() { diff --git a/lib/app/features/problem/presentation/bindings/problem_upload_binding.dart b/lib/app/features/problem/presentation/bindings/problem_upload_binding.dart index 3a412ff..7509eaa 100644 --- a/lib/app/features/problem/presentation/bindings/problem_upload_binding.dart +++ b/lib/app/features/problem/presentation/bindings/problem_upload_binding.dart @@ -14,9 +14,7 @@ import 'package:problem_check_system/app/features/problem/presentation/controlle class ProblemUploadBinding extends BaseBindings { @override - void register1Services() { - // TODO: implement register1Services - } + void register1Services() {} @override void register2DataSource() {