From a6977abcd82158019beb415aa4bfc9abc2c9c1c1 Mon Sep 17 00:00:00 2001 From: Daseul Kim Date: Tue, 10 Dec 2024 16:17:17 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EC=A7=80=EB=B6=95=EC=9E=AC=20=EB=AA=A9?= =?UTF-8?q?=EB=A1=9D=20=EC=A1=B0=ED=9A=8C=20api,=20=EB=AA=A8=EB=93=88=20?= =?UTF-8?q?=ED=83=80=EC=9E=85=EB=B3=84=20=EC=95=84=EC=9D=B4=ED=85=9C=20?= =?UTF-8?q?=EB=AA=A9=EB=A1=9D=20=EC=A1=B0=ED=9A=8C=20api=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - open feign을 사용하여 qsq로 api 요청 후 응답값을 전달하는 api --- .../qcast/biz/master/MasterController.java | 33 +++++++++++++++ .../qcast/biz/master/MasterService.java | 17 ++++++-- .../master/dto/ApiModuleTpItemResponse.java | 39 +++++++++++++++++ .../biz/master/dto/ApiModuleTpRequest.java | 15 +++++++ .../biz/master/dto/ApiModuleTpResponse.java | 31 ++++++++++++++ .../qcast/biz/master/dto/ApiResponse.java | 13 ++++++ .../biz/master/dto/ApiResultResponse.java | 13 ++++++ .../master/dto/ApiRoofMaterialResponse.java | 42 +++++++++++++++++++ 8 files changed, 200 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/interplug/qcast/biz/master/MasterController.java create mode 100644 src/main/java/com/interplug/qcast/biz/master/dto/ApiModuleTpItemResponse.java create mode 100644 src/main/java/com/interplug/qcast/biz/master/dto/ApiModuleTpRequest.java create mode 100644 src/main/java/com/interplug/qcast/biz/master/dto/ApiModuleTpResponse.java create mode 100644 src/main/java/com/interplug/qcast/biz/master/dto/ApiResponse.java create mode 100644 src/main/java/com/interplug/qcast/biz/master/dto/ApiResultResponse.java create mode 100644 src/main/java/com/interplug/qcast/biz/master/dto/ApiRoofMaterialResponse.java diff --git a/src/main/java/com/interplug/qcast/biz/master/MasterController.java b/src/main/java/com/interplug/qcast/biz/master/MasterController.java new file mode 100644 index 00000000..24b4c911 --- /dev/null +++ b/src/main/java/com/interplug/qcast/biz/master/MasterController.java @@ -0,0 +1,33 @@ +package com.interplug.qcast.biz.master; + +import com.interplug.qcast.biz.master.dto.ApiModuleTpResponse; +import com.interplug.qcast.biz.master.dto.ApiResponse; +import com.interplug.qcast.biz.master.dto.ApiRoofMaterialResponse; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/api/v1/master") +@RequiredArgsConstructor +@Tag(name = "MasterController", description = "Master API") +public class MasterController { + private final MasterService masterService; + + @Operation(description = "지붕재 목록을 조회한다.") + @GetMapping("/getRoofMaterialList") + public ApiResponse getRoofMaterialList() { + return masterService.getRoofMaterialList(); + } + + @Operation(description = "모듈 타입별 아이템 목록을 조회한다.") + @GetMapping("/getModuleTypeItemList/{roofMaterialCd}") + public ApiResponse getModuleTypeItemList( + @PathVariable("roofMaterialCd") String roofMaterialCd) { + return masterService.getModuleTypeItemList(roofMaterialCd); + } +} diff --git a/src/main/java/com/interplug/qcast/biz/master/MasterService.java b/src/main/java/com/interplug/qcast/biz/master/MasterService.java index 966b1716..d6fa0a9c 100644 --- a/src/main/java/com/interplug/qcast/biz/master/MasterService.java +++ b/src/main/java/com/interplug/qcast/biz/master/MasterService.java @@ -1,11 +1,22 @@ package com.interplug.qcast.biz.master; +import com.interplug.qcast.biz.master.dto.ApiModuleTpResponse; +import com.interplug.qcast.biz.master.dto.ApiResponse; +import com.interplug.qcast.biz.master.dto.ApiRoofMaterialResponse; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; // @FeignClient(name = "master", url = "${feign.master.url}") -@FeignClient(name = "master", url = "http://localhost:8081/api") +@FeignClient(name = "master", url = "${qsp.url}/api/master") public interface MasterService { - // @GetMapping("/sample") - // public List getSamepleList(); + // 지붕재 목록 조회 + @GetMapping("/roofMaterialList") + public ApiResponse getRoofMaterialList(); + + // 모듈 타입별 아이템 목록 조회 + @GetMapping("/moduleTypeItemList") + public ApiResponse getModuleTypeItemList( + @RequestParam("roofMaterialCd") String roofMaterialCd); } diff --git a/src/main/java/com/interplug/qcast/biz/master/dto/ApiModuleTpItemResponse.java b/src/main/java/com/interplug/qcast/biz/master/dto/ApiModuleTpItemResponse.java new file mode 100644 index 00000000..aa3ce5b5 --- /dev/null +++ b/src/main/java/com/interplug/qcast/biz/master/dto/ApiModuleTpItemResponse.java @@ -0,0 +1,39 @@ +package com.interplug.qcast.biz.master.dto; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class ApiModuleTpItemResponse { + + /** Item Id */ + private String itemId; + + /** Item Name */ + private String itemNm; + + /** Basic Materail */ + private String goodsNo; + + /** Item Type(A1, A2, A1A2, B, B1 등등) */ + private String itemTp; + + /** Color */ + private String color; + + /** Long Axix(장경) */ + private String longAxis; + + /** Short Axis(단경1) */ + private String shortAxis; + + /** Thickness(두께) */ + private String thickness; + + /** Power Class */ + private String wpOut; + + /** Mix Module No */ + private String mixMatlNo; +} diff --git a/src/main/java/com/interplug/qcast/biz/master/dto/ApiModuleTpRequest.java b/src/main/java/com/interplug/qcast/biz/master/dto/ApiModuleTpRequest.java new file mode 100644 index 00000000..2153a217 --- /dev/null +++ b/src/main/java/com/interplug/qcast/biz/master/dto/ApiModuleTpRequest.java @@ -0,0 +1,15 @@ +package com.interplug.qcast.biz.master.dto; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class ApiModuleTpRequest { + + /** Language Code */ + private String langCd; + + /** Roofing Material Code */ + private String roofMatlCd; +} diff --git a/src/main/java/com/interplug/qcast/biz/master/dto/ApiModuleTpResponse.java b/src/main/java/com/interplug/qcast/biz/master/dto/ApiModuleTpResponse.java new file mode 100644 index 00000000..07344959 --- /dev/null +++ b/src/main/java/com/interplug/qcast/biz/master/dto/ApiModuleTpResponse.java @@ -0,0 +1,31 @@ +package com.interplug.qcast.biz.master.dto; + +import java.util.List; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class ApiModuleTpResponse { + + /** Item Id */ + private String itemId; + + /** Item Name */ + private String itemNm; + + /** Basic Materail */ + private String goodsNo; + + /** Item Type(A1, A2, A1A2, B, B1 등등) */ + private String itemTp; + + /** Mix Module No */ + private String mixMatlNo; + + /** Mix Module Yn */ + private String mixItemTpYn; + + /** Module Type Code Japan */ + private List itemList; +} diff --git a/src/main/java/com/interplug/qcast/biz/master/dto/ApiResponse.java b/src/main/java/com/interplug/qcast/biz/master/dto/ApiResponse.java new file mode 100644 index 00000000..292232a9 --- /dev/null +++ b/src/main/java/com/interplug/qcast/biz/master/dto/ApiResponse.java @@ -0,0 +1,13 @@ +package com.interplug.qcast.biz.master.dto; + +import java.util.List; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class ApiResponse { + private List data; + private List data2; + private ApiResultResponse result; +} diff --git a/src/main/java/com/interplug/qcast/biz/master/dto/ApiResultResponse.java b/src/main/java/com/interplug/qcast/biz/master/dto/ApiResultResponse.java new file mode 100644 index 00000000..75fc7235 --- /dev/null +++ b/src/main/java/com/interplug/qcast/biz/master/dto/ApiResultResponse.java @@ -0,0 +1,13 @@ +package com.interplug.qcast.biz.master.dto; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class ApiResultResponse { + private Integer code; + private String resultCode; + private String message; + private String resultMsg; +} diff --git a/src/main/java/com/interplug/qcast/biz/master/dto/ApiRoofMaterialResponse.java b/src/main/java/com/interplug/qcast/biz/master/dto/ApiRoofMaterialResponse.java new file mode 100644 index 00000000..9333d4f3 --- /dev/null +++ b/src/main/java/com/interplug/qcast/biz/master/dto/ApiRoofMaterialResponse.java @@ -0,0 +1,42 @@ +package com.interplug.qcast.biz.master.dto; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class ApiRoofMaterialResponse { + + /** Roof Material Code */ + private String roofMatlCd; + + /** Roof Material Code Name */ + private String roofMatlNm; + + /** Roof Material Code Name Japan */ + private String roofMatlNmJp; + + /** Width Auth(R:READ, C: Create, 빈값:미노출) */ + private String widAuth; + + /** Width Base */ + private String widBase; + + /** Length Auth(R:READ, C: Create, 빈값:미노출) */ + private String lenAuth; + + /** Length Base */ + private String lenBase; + + /** Roof Pitch Auth(R:READ, C: Create, 빈값:미노출) */ + private String roofPchAuth; + + /** Roof Pitch Base */ + private String roofPchBase; + + /** Rafter Auth(R:READ, C: Create, 빈값:미노출) */ + private String raftAuth; + + /** Rafter Base */ + private String raftBaseCd; +}