Browse Source

fix: expose skill source metadata in cloud items

backup/master-local-20261012
pwklppg 1 month ago
parent
commit
1666162252
  1. 2
      mydreamjob-server/src/main/java/com/mydreamjob/skill/SkillCloudQueryService.java
  2. 2
      mydreamjob-server/src/main/java/com/mydreamjob/skill/dto/SkillCloudItem.java
  3. 19
      mydreamjob-server/src/test/java/com/mydreamjob/skill/SkillCloudQueryServiceTest.java

2
mydreamjob-server/src/main/java/com/mydreamjob/skill/SkillCloudQueryService.java

@ -106,6 +106,8 @@ public class SkillCloudQueryService {
projection.skillCode(),
projection.nameZh(),
projection.nameEn(),
projection.sourceType(),
projection.sourceCode(),
projection.categoryId(),
projection.categoryName(),
projection.importance(),

2
mydreamjob-server/src/main/java/com/mydreamjob/skill/dto/SkillCloudItem.java

@ -8,6 +8,8 @@ public record SkillCloudItem(
String skillCode,
String nameZh,
String nameEn,
String sourceType,
String sourceCode,
Long categoryId,
String categoryName,
BigDecimal heat,

19
mydreamjob-server/src/test/java/com/mydreamjob/skill/SkillCloudQueryServiceTest.java

@ -196,9 +196,9 @@ class SkillCloudQueryServiceTest {
}
@Test
void mapsProvenanceFieldsFromTheDatabase() {
SkillCloudResponse response = service.query(1L, 1L, 103L);
SkillCloudItem react = response.items().stream()
void mapsSkillAndHeatProvenanceFieldsFromTheDatabase() {
SkillCloudResponse frameworks = service.query(1L, 1L, 103L);
SkillCloudItem react = frameworks.items().stream()
.filter(item -> item.skillId().equals(26L))
.findFirst()
.orElseThrow();
@ -216,10 +216,23 @@ class SkillCloudQueryServiceTest {
assertThat(react.nameEn()).isEqualTo("React");
assertThat(react.categoryId()).isEqualTo(103L);
assertThat(react.categoryName()).isEqualTo("前端框架");
assertThat(react.sourceType()).isEqualTo("O*NET");
assertThat(react.sourceCode()).isEqualTo("15-1254.00|React|2.E.7.h");
assertThat(react.heat()).isEqualByComparingTo((BigDecimal) row.get("importance"));
assertThat(react.heatSourceCode()).isEqualTo(row.get("importance_source_code"));
assertThat(react.heatElementId()).isEqualTo(row.get("importance_element_id"));
assertThat(react.heatProxy()).isEqualTo(((Number) row.get("importance_is_proxy")).intValue() == 1);
SkillCloudResponse languages = service.query(1L, 1L, 101L);
SkillCloudItem javascript = languages.items().stream()
.filter(item -> item.skillId().equals(3L))
.findFirst()
.orElseThrow();
assertThat(javascript.sourceType()).isEqualTo("ESCO");
assertThat(javascript.sourceCode())
.isEqualTo("http://data.europa.eu/esco/skill/3cd569a2-4f88-4c1e-9995-8dce8c5e51a7");
assertThat(javascript.heatSourceCode()).isEqualTo("15-1254.00");
}
@Test

Loading…
Cancel
Save