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.
3.1 KiB
3.1 KiB
T5 任务简报:公司知识配置与公开评价摘要
Where This Fits
- Wave: W2
- Depends on: T4
- Contract:
changes/n04-onboard/execution-contract.md - Specs:
changes/n04-onboard/specs/company-knowledge/spec.md
Objective
实现 COMPANY 知识配置读取/Upsert 和 STUDENT 公司知识聚合接口,先用失败测试锁定基础信息回退、小样本保护和八维摘要。
Files In Scope
mydreamjob-server/src/main/java/com/mydreamjob/onboarding/CompanyKnowledgeService.javamydreamjob-server/src/main/java/com/mydreamjob/onboarding/CompanyKnowledgeController.javamydreamjob-server/src/main/java/com/mydreamjob/onboarding/dto/CompanyKnowledgeUpdateRequest.javamydreamjob-server/src/main/java/com/mydreamjob/onboarding/dto/CompanyKnowledgeView.javamydreamjob-server/src/main/java/com/mydreamjob/onboarding/dto/CompanyKnowledgeOverviewResponse.javamydreamjob-server/src/main/java/com/mydreamjob/onboarding/dto/ReviewSummaryView.javamydreamjob-server/src/test/java/com/mydreamjob/onboarding/CompanyKnowledgeServiceTest.javamydreamjob-server/src/test/java/com/mydreamjob/onboarding/CompanyKnowledgeControllerTest.java
Required Behavior
GET /api/v1/onboarding/company/knowledge仅 COMPANY;无记录返回 configured=false、空内容、version=0;有记录返回 configured=true、culture、workPolicies、onboardingGuide、updatedAt、version。PUT /api/v1/onboarding/company/knowledge仅 COMPANY;首次创建允许无 version;已有记录必须提供当前 version;冲突返回ONBOARDING_KNOWLEDGE_CONCURRENT_UPDATE。- 知识字段按纯文本处理,culture <=2000,workPolicies <=4000,onboardingGuide <=4000,至少一个非空。
GET /api/v1/onboarding/companies/{companyId}/knowledge仅 STUDENT;企业不存在返回COMPANY_NOT_FOUND。- 无知识记录时 knowledgeState=BASIC_ONLY、knowledge=null,并返回企业基础资料白名单。
- 有知识记录时 knowledgeState=CONFIGURED。
- 评价只统计该公司全部岗位下 PUBLISHED 且 AUTO_APPROVED/APPROVED 的评价。
- 0 条:state=EMPTY,totalReviews=0,平均分/分布/标签/维度汇总为空。
- 1-2 条:state=INSUFFICIENT,返回 totalReviews,不返回任何均值。
- 至少 3 条:state=SUFFICIENT,返回 averageRating、ratingDistribution、topTags(次数降序、字典序升序,最多 10)、八个维度的 averageScore/sampleCount/dataState。
- 缺失维度 sampleCount=0、dataState=INSUFFICIENT。
- 响应不得包含 ownerUserId、studentUserId、审核原因、哈希、IP、User-Agent。
TDD Requirement
- 先写 Service/Controller 失败测试,确认 RED。
- 再实现最小 DTO、Service、Controller 让测试 GREEN。
- 不修改既有评价/企业接口响应。
Evidence Commands
cd D:\1\zhi\zhilai\mydreamjob-server
mvn -Dtest=CompanyKnowledgeServiceTest,CompanyKnowledgeControllerTest test
Done Definition
- 覆盖 COMPANY 无记录/已有记录/创建/更新/版本冲突。
- 覆盖 STUDENT BASIC_ONLY、CONFIGURED、EMPTY、INSUFFICIENT、SUFFICIENT。
- 覆盖公开审核过滤、标签排序、八维缺失和数据最小化。