You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

2.9 KiB

T2 任务简报:Onboarding 实体、Repository 与评价聚合查询

Where This Fits

  • Wave: W1
  • Depends on: T1
  • Contract: changes/n04-onboard/execution-contract.md
  • Design: changes/n04-onboard/design.md 的 Architecture、Data Model、Decisions

Objective

在 V38/V39 表结构之上新增实体、Repository 和公司评价聚合查询,先写持久化失败测试,再实现最小映射。

Files In Scope

  • mydreamjob-server/src/main/java/com/mydreamjob/onboarding/OnboardingChecklistItem.java
  • mydreamjob-server/src/main/java/com/mydreamjob/onboarding/StudentOnboardingProgress.java
  • mydreamjob-server/src/main/java/com/mydreamjob/onboarding/CompanyKnowledge.java
  • mydreamjob-server/src/main/java/com/mydreamjob/onboarding/OnboardingChecklistItemRepository.java
  • mydreamjob-server/src/main/java/com/mydreamjob/onboarding/StudentOnboardingProgressRepository.java
  • mydreamjob-server/src/main/java/com/mydreamjob/onboarding/CompanyKnowledgeRepository.java
  • 必要时只读扩展 mydreamjob-server/src/main/java/com/mydreamjob/review/JobReviewRepository.java 和 JobReviewDimensionScoreRepository.java 的公司级聚合查询。
  • mydreamjob-server/src/test/java/com/mydreamjob/onboarding/OnboardingRepositoryIntegrationTest.java

Required Behavior

  • OnboardingChecklistItem 映射 onboarding_checklist_items,含 scopeType、scopeId、companyId、itemKey、title、description、category、sortOrder、required、active、idempotencyKey、requestHash、version、审计时间。
  • StudentOnboardingProgress 映射 student_onboarding_progress,含 studentUserId、itemId、completed、completedAt、version、审计时间。
  • CompanyKnowledge 映射 company_knowledge,含 companyId、culture、workPolicies、onboardingGuide、version、审计时间。
  • 清单 Repository 支持按 companyId 查询活动通用项+活动企业项,并按 sortOrder ASC, id ASC 稳定排序。
  • 进度 Repository 支持按学生和多个 itemId 批量读取,并按学生+条目唯一查询。
  • 知识 Repository 支持按 companyId 查询。
  • 评价聚合查询支持公司下全部 PUBLISHED 且 AUTO_APPROVED/APPROVED 的评价评分分布、tags 原始列和八维汇总;不得逐岗位或逐评价产生 N+1。

TDD Requirement

  1. 先写 OnboardingRepositoryIntegrationTest,确认新实体/Repository 不存在或查询失败。
  2. 再实现最小实体和 Repository 使测试通过。
  3. 不创建 Service、Controller、DTO 或业务状态机。

Evidence Commands

cd D:\1\zhi\zhilai\mydreamjob-server
mvn -Dtest=OnboardingRepositoryIntegrationTest test

Done Definition

  • 新实体与三张表映射通过 Hibernate ddl-auto=validate。
  • 合并查询只返回活动通用项和当前企业活动项。
  • 多学生、多企业、软删除项和排序测试通过。
  • 公司评分/tags/八维聚合仅统计公开评价。