From 377429995cd2c279af5032f6a3083bf989d877fc Mon Sep 17 00:00:00 2001 From: WorkBuddy Date: Sun, 25 Oct 2026 14:29:29 +0800 Subject: [PATCH] release: freeze V1.2 demo acceptance 2026-10-25 --- admin-web/src/layouts/MainLayout.vue | 1 + .../operator/MatchmakerTeamManagementView.vue | 110 ++++++ .../operator/OperatorManagementView.vue | 92 ++++- .../modules/organization/OrganizationView.vue | 23 +- admin-web/src/modules/user/UserCreateView.vue | 27 ++ admin-web/src/modules/user/UserImportView.vue | 22 ++ .../src/modules/user/UserManagementView.vue | 7 +- admin-web/src/router/index.ts | 7 + admin-web/vite.config.ts | 2 + .../controller/ServiceConsentController.java | 24 ++ .../account/entity/UserAccountLifecycle.java | 21 + .../account/entity/UserConsentState.java | 23 ++ .../account/entity/UserCredential.java | 22 ++ .../account/entity/UserServiceState.java | 18 + .../mapper/UserConsentStateMapper.java | 20 + .../mapper/UserServiceStateMapper.java | 13 + .../service/ServiceConsentService.java | 106 +++++ .../ActivityInterestController.java | 7 + .../auth/controller/AuthController.java | 50 ++- .../ConfiguredSmsVerificationProvider.java | 26 ++ .../provider/MockSmsVerificationProvider.java | 22 ++ .../provider/SmsVerificationProvider.java | 5 + .../platform/auth/service/AuthService.java | 7 +- .../auth/service/PasswordAuthService.java | 77 ++++ .../capability/service/CapabilityService.java | 14 +- .../controller/ConversationController.java | 7 + .../chat/controller/MessageController.java | 6 + .../controller/CounselingController.java | 8 + .../controller/DiscoverController.java | 4 + .../discover/service/DiscoverService.java | 9 +- .../match/controller/LikeController.java | 4 + .../match/controller/MatchController.java | 5 + .../match/controller/PassController.java | 3 + .../controller/RecommendationController.java | 5 + .../service/MatchEligibilityService.java | 3 + .../service/RecommendationEngineService.java | 2 + .../controller/MatchmakerController.java | 10 + .../MatchmakerDashboardDetailController.java | 27 ++ .../MatchmakerDashboardDetailService.java | 124 ++++++ .../dashboard/MatchmakerDashboardScope.java | 6 + .../MatchmakerWorkbenchController.java | 25 ++ .../dashboard/MatchmakerWorkbenchService.java | 14 +- .../controller/MatchmakerTeamController.java | 76 ++++ .../controller/OperatorController.java | 26 +- .../service/OperatorManagementService.java | 237 +++++++++++- .../service/OrganizationService.java | 2 +- .../permission/mapper/OperatorMapper.java | 6 +- .../permission/mapper/PermissionMapper.java | 4 +- .../permission/mapper/RoleMapper.java | 22 ++ .../platform/profile/entity/UserProfile.java | 9 + .../profile/service/UserProfileService.java | 25 +- .../review/service/ReviewService.java | 9 +- .../ServiceAppointmentController.java | 7 + .../controller/ServiceProgramController.java | 9 + .../user/controller/UserController.java | 41 ++ .../dto/InitialPasswordChangeRequest.java | 5 + .../user/dto/OperatorCreateUserRequest.java | 12 + .../user/dto/PasswordLoginRequest.java | 5 + .../user/dto/PhoneVerificationRequest.java | 10 + .../user/dto/UserImportPreviewResponse.java | 7 + .../user/dto/UserRegistrationRequest.java | 14 + .../match/platform/user/entity/User.java | 9 + .../platform/user/entity/UserImportBatch.java | 23 ++ .../platform/user/entity/UserImportRow.java | 19 + .../entity/UserRegistrationApplication.java | 18 + .../user/mapper/UserCredentialMapper.java | 14 + .../user/mapper/UserImportBatchMapper.java | 8 + .../user/mapper/UserImportRowMapper.java | 8 + .../UserRegistrationApplicationMapper.java | 9 + .../service/PhoneVerificationService.java | 79 ++++ .../user/service/UserCredentialService.java | 64 +++ .../user/service/UserImportService.java | 98 +++++ .../user/service/UserOnboardingService.java | 49 +++ .../user/service/UserRegistrationService.java | 53 +++ .../V062__add_v12_user_account_lifecycle.sql | 69 ++++ .../V063__add_v12_import_batches.sql | 37 ++ ...064__add_v12_consent_and_service_state.sql | 30 ++ ...065__add_v12_registration_applications.sql | 19 + ...V066__grant_user_onboarding_permission.sql | 10 + ...add_workbench_view_and_role_management.sql | 16 + ..._matchmaker_workbench_read_permissions.sql | 16 + ...hmaker_workbench_operation_permissions.sql | 20 + ...ve_matchmaker_cross_domain_permissions.sql | 17 + ...__remove_matchmaker_review_permissions.sql | 12 + ..._matchmaker_role_management_permission.sql | 11 + ...ization_types_and_matchmaker_usernames.sql | 37 ++ .../account/ServiceConsentGateTest.java | 65 ++++ .../auth/PasswordAuthServiceTest.java | 63 +++ .../auth/PhoneVerificationGuardTest.java | 38 ++ .../deployment/MigrationValidationTest.java | 5 +- ...coverBlockInvisibilityIntegrationTest.java | 2 + .../MatchmakerDashboardDetailScopeTest.java | 62 +++ .../MatchmakerTeamManagementContractTest.java | 37 ++ .../operator/OperatorRoleManagementTest.java | 22 ++ ...zationAndMatchmakerNamingContractTest.java | 42 ++ .../ProfileSaveUpsertBehaviorTest.java | 21 + .../user/UserCredentialIssuanceTest.java | 43 +++ .../platform/user/UserImportServiceTest.java | 44 +++ .../user/UserRegistrationServiceTest.java | 54 +++ backend/src/test/resources/schema-h2.sql | 63 +++ ...-V12-Permission-Scope-Completion-Report.md | 30 +- docs/Phase-V12-Task1-Completion-Report.md | 38 ++ docs/Phase-V12-Task2-Completion-Report.md | 36 ++ docs/Phase-V12-Task3-Completion-Report.md | 37 ++ ...12-Task3-Detail-Scope-Completion-Report.md | 35 +- ...maker-Team-Management-Completion-Report.md | 37 ++ docs/codex/V1.2-修复任务提示词.md | 164 ++++++++ docs/governance/config-register.md | 11 + docs/governance/decision-register.md | 145 +++---- docs/governance/open-questions.md | 15 +- docs/releases/demo-v1.2-20261025.md | 28 ++ ...-account-lifecycle-matchmaker-dashboard.md | 363 ++++++++++++++++++ ...6-10-24-workbench-role-scope-management.md | 105 +++++ ...-permission-scope-dashboard-remediation.md | 160 ++++++++ docs/v12/V1.2-字段与统计口径表.md | 26 ++ docs/v12/V1.2-状态机与接口契约.md | 42 ++ miniapp/app.json | 2 + miniapp/pages/login/login.ts | 4 + miniapp/pages/login/login.wxml | 1 + miniapp/pages/mine/mine.ts | 1 + miniapp/pages/mine/mine.wxml | 1 + miniapp/pages/register/register.json | 3 + miniapp/pages/register/register.ts | 45 +++ miniapp/pages/register/register.wxml | 13 + miniapp/pages/register/register.wxss | 8 + .../pages/service-consent/service-consent.js | 31 ++ .../service-consent/service-consent.json | 1 + .../service-consent/service-consent.wxml | 11 + .../service-consent/service-consent.wxss | 1 + miniapp/project.config.json | 13 +- miniapp/services/authService.js | 15 + miniapp/services/index.js | 2 + miniapp/services/serviceConsentService.js | 11 + project.config.json | 4 +- tests/e2e/conftest.py | 4 + .../v12_permission_scope_dashboard_test.py | 24 +- ui-tests/ui-contracts.mjs | 4 +- 137 files changed, 4136 insertions(+), 175 deletions(-) create mode 100644 admin-web/src/modules/operator/MatchmakerTeamManagementView.vue create mode 100644 admin-web/src/modules/user/UserCreateView.vue create mode 100644 admin-web/src/modules/user/UserImportView.vue create mode 100644 backend/src/main/java/com/danyang/match/platform/account/controller/ServiceConsentController.java create mode 100644 backend/src/main/java/com/danyang/match/platform/account/entity/UserAccountLifecycle.java create mode 100644 backend/src/main/java/com/danyang/match/platform/account/entity/UserConsentState.java create mode 100644 backend/src/main/java/com/danyang/match/platform/account/entity/UserCredential.java create mode 100644 backend/src/main/java/com/danyang/match/platform/account/entity/UserServiceState.java create mode 100644 backend/src/main/java/com/danyang/match/platform/account/mapper/UserConsentStateMapper.java create mode 100644 backend/src/main/java/com/danyang/match/platform/account/mapper/UserServiceStateMapper.java create mode 100644 backend/src/main/java/com/danyang/match/platform/account/service/ServiceConsentService.java create mode 100644 backend/src/main/java/com/danyang/match/platform/auth/provider/ConfiguredSmsVerificationProvider.java create mode 100644 backend/src/main/java/com/danyang/match/platform/auth/provider/MockSmsVerificationProvider.java create mode 100644 backend/src/main/java/com/danyang/match/platform/auth/provider/SmsVerificationProvider.java create mode 100644 backend/src/main/java/com/danyang/match/platform/auth/service/PasswordAuthService.java create mode 100644 backend/src/main/java/com/danyang/match/platform/matchmaker/dashboard/MatchmakerDashboardDetailController.java create mode 100644 backend/src/main/java/com/danyang/match/platform/matchmaker/dashboard/MatchmakerDashboardDetailService.java create mode 100644 backend/src/main/java/com/danyang/match/platform/matchmaker/dashboard/MatchmakerDashboardScope.java create mode 100644 backend/src/main/java/com/danyang/match/platform/matchmaker/dashboard/MatchmakerWorkbenchController.java create mode 100644 backend/src/main/java/com/danyang/match/platform/operator/controller/MatchmakerTeamController.java create mode 100644 backend/src/main/java/com/danyang/match/platform/user/dto/InitialPasswordChangeRequest.java create mode 100644 backend/src/main/java/com/danyang/match/platform/user/dto/OperatorCreateUserRequest.java create mode 100644 backend/src/main/java/com/danyang/match/platform/user/dto/PasswordLoginRequest.java create mode 100644 backend/src/main/java/com/danyang/match/platform/user/dto/PhoneVerificationRequest.java create mode 100644 backend/src/main/java/com/danyang/match/platform/user/dto/UserImportPreviewResponse.java create mode 100644 backend/src/main/java/com/danyang/match/platform/user/dto/UserRegistrationRequest.java create mode 100644 backend/src/main/java/com/danyang/match/platform/user/entity/UserImportBatch.java create mode 100644 backend/src/main/java/com/danyang/match/platform/user/entity/UserImportRow.java create mode 100644 backend/src/main/java/com/danyang/match/platform/user/entity/UserRegistrationApplication.java create mode 100644 backend/src/main/java/com/danyang/match/platform/user/mapper/UserCredentialMapper.java create mode 100644 backend/src/main/java/com/danyang/match/platform/user/mapper/UserImportBatchMapper.java create mode 100644 backend/src/main/java/com/danyang/match/platform/user/mapper/UserImportRowMapper.java create mode 100644 backend/src/main/java/com/danyang/match/platform/user/mapper/UserRegistrationApplicationMapper.java create mode 100644 backend/src/main/java/com/danyang/match/platform/user/service/PhoneVerificationService.java create mode 100644 backend/src/main/java/com/danyang/match/platform/user/service/UserCredentialService.java create mode 100644 backend/src/main/java/com/danyang/match/platform/user/service/UserImportService.java create mode 100644 backend/src/main/java/com/danyang/match/platform/user/service/UserOnboardingService.java create mode 100644 backend/src/main/java/com/danyang/match/platform/user/service/UserRegistrationService.java create mode 100644 backend/src/main/resources/db/migration/V062__add_v12_user_account_lifecycle.sql create mode 100644 backend/src/main/resources/db/migration/V063__add_v12_import_batches.sql create mode 100644 backend/src/main/resources/db/migration/V064__add_v12_consent_and_service_state.sql create mode 100644 backend/src/main/resources/db/migration/V065__add_v12_registration_applications.sql create mode 100644 backend/src/main/resources/db/migration/V066__grant_user_onboarding_permission.sql create mode 100644 backend/src/main/resources/db/migration/V067__add_workbench_view_and_role_management.sql create mode 100644 backend/src/main/resources/db/migration/V068__grant_matchmaker_workbench_read_permissions.sql create mode 100644 backend/src/main/resources/db/migration/V069__grant_matchmaker_workbench_operation_permissions.sql create mode 100644 backend/src/main/resources/db/migration/V070__remove_matchmaker_cross_domain_permissions.sql create mode 100644 backend/src/main/resources/db/migration/V071__remove_matchmaker_review_permissions.sql create mode 100644 backend/src/main/resources/db/migration/V075__add_matchmaker_role_management_permission.sql create mode 100644 backend/src/main/resources/db/migration/V076__normalize_organization_types_and_matchmaker_usernames.sql create mode 100644 backend/src/test/java/com/danyang/match/platform/account/ServiceConsentGateTest.java create mode 100644 backend/src/test/java/com/danyang/match/platform/auth/PasswordAuthServiceTest.java create mode 100644 backend/src/test/java/com/danyang/match/platform/auth/PhoneVerificationGuardTest.java create mode 100644 backend/src/test/java/com/danyang/match/platform/matchmaker/MatchmakerDashboardDetailScopeTest.java create mode 100644 backend/src/test/java/com/danyang/match/platform/operator/MatchmakerTeamManagementContractTest.java create mode 100644 backend/src/test/java/com/danyang/match/platform/operator/OperatorRoleManagementTest.java create mode 100644 backend/src/test/java/com/danyang/match/platform/operator/OrganizationAndMatchmakerNamingContractTest.java create mode 100644 backend/src/test/java/com/danyang/match/platform/user/UserCredentialIssuanceTest.java create mode 100644 backend/src/test/java/com/danyang/match/platform/user/UserImportServiceTest.java create mode 100644 backend/src/test/java/com/danyang/match/platform/user/UserRegistrationServiceTest.java create mode 100644 docs/Phase-V12-Task1-Completion-Report.md create mode 100644 docs/Phase-V12-Task2-Completion-Report.md create mode 100644 docs/Phase-V12-Task3-Completion-Report.md create mode 100644 docs/Phase-V12-Task4-Matchmaker-Team-Management-Completion-Report.md create mode 100644 docs/codex/V1.2-修复任务提示词.md create mode 100644 docs/releases/demo-v1.2-20261025.md create mode 100644 docs/superpowers/plans/2026-10-23-v12-account-lifecycle-matchmaker-dashboard.md create mode 100644 docs/superpowers/plans/2026-10-24-workbench-role-scope-management.md create mode 100644 docs/superpowers/plans/2026-10-25-v12-permission-scope-dashboard-remediation.md create mode 100644 docs/v12/V1.2-字段与统计口径表.md create mode 100644 docs/v12/V1.2-状态机与接口契约.md create mode 100644 miniapp/pages/register/register.json create mode 100644 miniapp/pages/register/register.ts create mode 100644 miniapp/pages/register/register.wxml create mode 100644 miniapp/pages/register/register.wxss create mode 100644 miniapp/pages/service-consent/service-consent.js create mode 100644 miniapp/pages/service-consent/service-consent.json create mode 100644 miniapp/pages/service-consent/service-consent.wxml create mode 100644 miniapp/pages/service-consent/service-consent.wxss create mode 100644 miniapp/services/serviceConsentService.js diff --git a/admin-web/src/layouts/MainLayout.vue b/admin-web/src/layouts/MainLayout.vue index 02fb2ff..be69491 100644 --- a/admin-web/src/layouts/MainLayout.vue +++ b/admin-web/src/layouts/MainLayout.vue @@ -217,6 +217,7 @@ const navigation: NavigationItem[] = [ { label: '组织人员', path: '/organizations', permissions: ['organization.manage'], icon: UserFilled }, { label: '操作日志', path: '/audit', permissions: ['user.view'], icon: Clock }, { label: '系统设置', path: '/operators', permissions: ['permission.manage'], icon: Setting }, + { label: '红娘团队管理', path: '/matchmaker-team', permissions: ['matchmaker.role.manage'], icon: Connection }, ] const route = useRoute() diff --git a/admin-web/src/modules/operator/MatchmakerTeamManagementView.vue b/admin-web/src/modules/operator/MatchmakerTeamManagementView.vue new file mode 100644 index 0000000..493576e --- /dev/null +++ b/admin-web/src/modules/operator/MatchmakerTeamManagementView.vue @@ -0,0 +1,110 @@ + + + + + diff --git a/admin-web/src/modules/operator/OperatorManagementView.vue b/admin-web/src/modules/operator/OperatorManagementView.vue index 0447444..70c61c4 100644 --- a/admin-web/src/modules/operator/OperatorManagementView.vue +++ b/admin-web/src/modules/operator/OperatorManagementView.vue @@ -12,6 +12,14 @@ + + + + + + @@ -26,8 +34,9 @@ - + + + + + {{ editForm.name }}({{ editForm.username }}) + + + + + + + + {{ role.name }} + + + + {{ editPermissions.join('、') }} + + + + diff --git a/admin-web/src/modules/user/UserImportView.vue b/admin-web/src/modules/user/UserImportView.vue new file mode 100644 index 0000000..4b6223a --- /dev/null +++ b/admin-web/src/modules/user/UserImportView.vue @@ -0,0 +1,22 @@ + + + diff --git a/admin-web/src/modules/user/UserManagementView.vue b/admin-web/src/modules/user/UserManagementView.vue index f18e99c..0c41468 100644 --- a/admin-web/src/modules/user/UserManagementView.vue +++ b/admin-web/src/modules/user/UserManagementView.vue @@ -6,7 +6,7 @@

用户管理

仅按当前角色权限查询用户,手机号等敏感信息默认脱敏。

- 共 {{ total }} 人 +
后台建档CSV导入共 {{ total }} 人
@@ -101,12 +101,15 @@