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

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.java
  • mydreamjob-server/src/main/java/com/mydreamjob/onboarding/CompanyKnowledgeController.java
  • mydreamjob-server/src/main/java/com/mydreamjob/onboarding/dto/CompanyKnowledgeUpdateRequest.java
  • mydreamjob-server/src/main/java/com/mydreamjob/onboarding/dto/CompanyKnowledgeView.java
  • mydreamjob-server/src/main/java/com/mydreamjob/onboarding/dto/CompanyKnowledgeOverviewResponse.java
  • mydreamjob-server/src/main/java/com/mydreamjob/onboarding/dto/ReviewSummaryView.java
  • mydreamjob-server/src/test/java/com/mydreamjob/onboarding/CompanyKnowledgeServiceTest.java
  • mydreamjob-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

  1. 先写 Service/Controller 失败测试,确认 RED。
  2. 再实现最小 DTO、Service、Controller 让测试 GREEN。
  3. 不修改既有评价/企业接口响应。

Evidence Commands

cd D:\1\zhi\zhilai\mydreamjob-server
mvn -Dtest=CompanyKnowledgeServiceTest,CompanyKnowledgeControllerTest test

Done Definition

  • 覆盖 COMPANY 无记录/已有记录/创建/更新/版本冲突。
  • 覆盖 STUDENT BASIC_ONLY、CONFIGURED、EMPTY、INSUFFICIENT、SUFFICIENT。
  • 覆盖公开审核过滤、标签排序、八维缺失和数据最小化。