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; +}