Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion k8s/helm-value.yaml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
image:
tag: v0.1.1
tag: v0.1.2
Original file line number Diff line number Diff line change
@@ -1,18 +1,42 @@
package com.earseo.core.common.config;

import com.fasterxml.jackson.core.StreamWriteConstraints;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.databind.cfg.CoercionAction;
import com.fasterxml.jackson.databind.cfg.CoercionInputShape;
import com.fasterxml.jackson.databind.json.JsonMapper;
import com.fasterxml.jackson.databind.type.LogicalType;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;

@Configuration
public class ObjectMapperConfig {
@Bean
@Primary
public ObjectMapper objectMapper() {
return new ObjectMapper()
.registerModule(new JavaTimeModule())
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
ObjectMapper mapper = JsonMapper.builder()
.addModule(new JavaTimeModule())
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true)
.build();

mapper.coercionConfigDefaults()
.setCoercion(CoercionInputShape.EmptyString, CoercionAction.AsNull);

mapper.getFactory()
.setStreamWriteConstraints(
StreamWriteConstraints.builder()
.maxNestingDepth(3000)
.build()
);

mapper.enable(SerializationFeature.INDENT_OUTPUT);

return mapper;
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,17 @@

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.web.client.RestClient;

@Configuration
public class RestClientConfig {

@Bean
public RestClient.Builder restClientBuilder() {
return RestClient.builder();
@Primary
public RestClient restClient(RestClient.Builder builder) {
return builder
.baseUrl("https://apis.data.go.kr")
.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import io.swagger.v3.oas.models.Components;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.servers.Server;
import org.springdoc.core.models.GroupedOpenApi;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
Expand All @@ -18,6 +19,7 @@ public class SwaggerConfig {
@Bean
public OpenAPI defaultOpenAPI(@Value("${spring.application.name}") String appName) {
return new OpenAPI()
.addServersItem(new Server().url("/"))
.components(new Components())
.info(new Info()
.title(appName + " API")
Expand Down
11 changes: 7 additions & 4 deletions src/main/java/com/earseo/core/controller/DocentController.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import lombok.RequiredArgsConstructor;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

@RestController
Expand All @@ -13,10 +14,12 @@ public class DocentController {

private final DocentService docentService;

@PostMapping("/admin/core/docent")
public ResponseEntity<BaseResponse<String>> initDocent() {
docentService.initDocent();
docentService.getDocent();
@PostMapping("/api/admin/core/docent")
public ResponseEntity<BaseResponse<String>> initDocent(
@RequestBody String lang
) {
docentService.initDocent(lang);
docentService.getDocent(lang);
docentService.getDocentJson();
return ResponseEntity.ok(BaseResponse.ok(null));
}
Expand Down
29 changes: 20 additions & 9 deletions src/main/java/com/earseo/core/controller/MasterDataController.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package com.earseo.core.controller;

import com.earseo.core.common.BaseResponse;
import com.earseo.core.dto.etl.FilteredDataDto;
import com.earseo.core.dto.etl.MiddleDataDto;
import com.earseo.core.dto.etl.AreaItemDto;
import com.earseo.core.dto.response.ThemeListResponse;
import com.earseo.core.service.MasterDataService;
import com.earseo.core.service.master.TourApiPath;
import lombok.RequiredArgsConstructor;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
Expand All @@ -18,18 +19,28 @@ public class MasterDataController {

private final MasterDataService masterDataService;

@GetMapping("/admin/core/master")
public ResponseEntity<BaseResponse<String>> rawDataProcess() throws IOException {
List<FilteredDataDto> filteredData = masterDataService.getRawInfo();
List<MiddleDataDto> middleData = masterDataService.getMiddleData(filteredData);
masterDataService.createMasterTable();
@GetMapping("/api/admin/core/master/ko")
public ResponseEntity<BaseResponse<String>> createTableKo() throws IOException {
List<AreaItemDto> list = masterDataService.getTourApiArea(TourApiPath.KoArea.getPath());
masterDataService.createMasterTable(list, TourApiPath.KoCommon.getPath(), TourApiPath.KoDetail.getPath(), "ko");
return ResponseEntity.ok(BaseResponse.ok(null));
}

@GetMapping("/admin/core/init")
@GetMapping("/api/admin/core/master/en")
public ResponseEntity<BaseResponse<String>> createTableEn() throws IOException {
List<AreaItemDto> list = masterDataService.getTourApiArea(TourApiPath.EnArea.getPath());
masterDataService.createMasterTable(list, TourApiPath.EnCommon.getPath(), TourApiPath.EnDetail.getPath(), "en");
return ResponseEntity.ok(BaseResponse.ok(null));
}

@GetMapping("/api/admin/core/init")
public ResponseEntity<BaseResponse<String>> init(){
masterDataService.initData();
masterDataService.createCategory();
return ResponseEntity.ok(BaseResponse.ok(null));
}

@GetMapping("/api/core/theme")
public ResponseEntity<BaseResponse<ThemeListResponse>> createTableCategory(){
return ResponseEntity.ok(BaseResponse.ok(masterDataService.getAllThemes()));
}
}
16 changes: 16 additions & 0 deletions src/main/java/com/earseo/core/dto/etl/AreaItemDto.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.earseo.core.dto.etl;

import com.earseo.core.dto.tourApi.AreaResponse;

public record AreaItemDto(String contentId, String contentTypeId, String title, String address,
String detailAddress, String catCode, Double mapX, Double mapY,
String imageUrl, String thumbnailUrl, String tel, Integer mlevel, String modifiedtime) {

public static AreaItemDto from(AreaResponse.Item item){
return new AreaItemDto(
item.contentid(), item.contenttypeid(), item.title(), item.addr1(), item.addr2(), item.cat2(),
Double.parseDouble(item.mapx()), Double.parseDouble(item.mapy()), item.firstimage(), item.firstimage2(),
item.tel(),item.mlevel().equals("")?null:Integer.parseInt(item.mlevel()),item.modifiedtime()
);
}
}
7 changes: 0 additions & 7 deletions src/main/java/com/earseo/core/dto/etl/CommonItemDto.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,6 @@
package com.earseo.core.dto.etl;

public record CommonItemDto(
String title,
String addr1,
String addr2,
String mapX,
String mapY,
String modifiedTime,
String tel,
String mLevel,
String overview
) {}
5 changes: 0 additions & 5 deletions src/main/java/com/earseo/core/dto/etl/FilteredDataDto.java

This file was deleted.

4 changes: 0 additions & 4 deletions src/main/java/com/earseo/core/dto/etl/ImageItemDto.java

This file was deleted.

2 changes: 1 addition & 1 deletion src/main/java/com/earseo/core/dto/etl/JoinItemDto.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ public record JoinItemDto(
Long id,
String contentId,
String title,
String outl,
String overview,
String script
) {
}
62 changes: 60 additions & 2 deletions src/main/java/com/earseo/core/dto/etl/MasterItemDto.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,68 @@
package com.earseo.core.dto.etl;

import com.earseo.core.entity.EnMaster;
import com.earseo.core.entity.KoMaster;
import lombok.Builder;
import org.locationtech.jts.geom.Point;

@Builder
public record MasterItemDto(String contentId, String contentTypeId, String cat1,
String cat2, String cat3, String ocat1, String ocat2, String ocat3,
String outl, String title, String addr1, String addr2, String addr3,
String cat2, String cat1Code, String cat2Code, String title,
String addr1, String addr2, String addr3,
Double mapX, Double mapY, String modifiedtime, String tel, Integer mLevel, String overview,
String originImgUrl, String smallImgUrl, String usetime, String restdate, String parking, String usefee) {

public KoMaster toKo() {
return KoMaster.builder()
.contentId(contentId)
.contentTypeId(contentTypeId)
.cat1(cat1)
.cat2(cat2)
.cat1Code(cat1Code)
.cat2Code(cat2Code)
.title(title)
.addr1(addr1)
.addr2(addr2)
.addr3(addr3)
.mapX(mapX)
.mapY(mapY)
.modifiedtime(modifiedtime)
.tel(tel)
.mLevel(mLevel)
.overview(overview)
.originImgUrl(originImgUrl)
.smallImgUrl(smallImgUrl)
.usetime(usetime)
.restdate(restdate)
.parking(parking)
.usefee(usefee)
.build();
}

public EnMaster toEn() {
return EnMaster.builder()
.contentId(contentId)
.contentTypeId(contentTypeId)
.cat1(cat1)
.cat2(cat2)
.cat1Code(cat1Code)
.cat2Code(cat2Code)
.title(title)
.addr1(addr1)
.addr2(addr2)
.addr3(addr3)
.mapX(mapX)
.mapY(mapY)
.modifiedtime(modifiedtime)
.tel(tel)
.mLevel(mLevel)
.overview(overview)
.originImgUrl(originImgUrl)
.smallImgUrl(smallImgUrl)
.usetime(usetime)
.restdate(restdate)
.parking(parking)
.usefee(usefee)
.build();
}
}
8 changes: 0 additions & 8 deletions src/main/java/com/earseo/core/dto/etl/MiddleDataDto.java

This file was deleted.

4 changes: 4 additions & 0 deletions src/main/java/com/earseo/core/dto/etl/SpotCategoryItem.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package com.earseo.core.dto.etl;

public record SpotCategoryItem(String code, String name, String originName, String originCode) {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package com.earseo.core.dto.response;

import java.util.List;

public record ThemeListResponse(List<ThemeResponse> themeList) {
}
19 changes: 19 additions & 0 deletions src/main/java/com/earseo/core/dto/response/ThemeResponse.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package com.earseo.core.dto.response;

import com.earseo.core.service.master.CategoryGroup;
import com.earseo.core.service.master.SubCategoryGroup;

public record ThemeResponse(
String code,
String koName,
String enName
) {

public static ThemeResponse fromSub(SubCategoryGroup subCategoryGroup) {
return new ThemeResponse(subCategoryGroup.getCode(), subCategoryGroup.getKoName(), subCategoryGroup.getEnName());
}

public static ThemeResponse from(CategoryGroup categoryGroup) {
return new ThemeResponse(categoryGroup.getCode(), categoryGroup.getKoName(), categoryGroup.getEnName());
}
}
45 changes: 45 additions & 0 deletions src/main/java/com/earseo/core/dto/tourApi/AreaResponse.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package com.earseo.core.dto.tourApi;

import java.util.List;

public record AreaResponse(Response response) {

public record Response(
Body body,
Header header
){}

public record Header(
String resultCode,
String resultMsg
) {}

public record Body(Items items, int numOfRows){}

public record Items(List<Item> item){}

public record Item(
String contentid,
String contenttypeid,
String title,

String addr1,
String addr2,

String cat1,
String cat2,
String cat3,

String mapx,
String mapy,
String mlevel,

String firstimage,
String firstimage2,

String tel,

String modifiedtime

) {}
}
27 changes: 27 additions & 0 deletions src/main/java/com/earseo/core/dto/tourApi/CommonResponse.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package com.earseo.core.dto.tourApi;

import java.util.List;

public record CommonResponse(Response response){

public record Response(
Body body,
Header header
){}

public record Header(
String resultCode,
String resultMsg
) {}

public record Body(Items items, int numOfRows){}

public record Items(List<Item> item){}

public record Item(
String contentid,
String contenttypeid,
String overview

) {}
}
Loading
Loading