diff --git a/mydreamjob-server/src/main/java/com/mydreamjob/skill/SkillCloudQueryService.java b/mydreamjob-server/src/main/java/com/mydreamjob/skill/SkillCloudQueryService.java index 22c59c3..f2ae2e5 100644 --- a/mydreamjob-server/src/main/java/com/mydreamjob/skill/SkillCloudQueryService.java +++ b/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(), diff --git a/mydreamjob-server/src/main/java/com/mydreamjob/skill/dto/SkillCloudItem.java b/mydreamjob-server/src/main/java/com/mydreamjob/skill/dto/SkillCloudItem.java index 63caefe..b41a71d 100644 --- a/mydreamjob-server/src/main/java/com/mydreamjob/skill/dto/SkillCloudItem.java +++ b/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, diff --git a/mydreamjob-server/src/test/java/com/mydreamjob/skill/SkillCloudQueryServiceTest.java b/mydreamjob-server/src/test/java/com/mydreamjob/skill/SkillCloudQueryServiceTest.java index 57286fc..daa3253 100644 --- a/mydreamjob-server/src/test/java/com/mydreamjob/skill/SkillCloudQueryServiceTest.java +++ b/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