diff --git a/src/main/java/com/interplug/qcast/biz/master/MasterController.java b/src/main/java/com/interplug/qcast/biz/master/MasterController.java index 735a82ac..73305cae 100644 --- a/src/main/java/com/interplug/qcast/biz/master/MasterController.java +++ b/src/main/java/com/interplug/qcast/biz/master/MasterController.java @@ -23,6 +23,7 @@ import com.interplug.qcast.config.Exception.QcastException; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.List; import lombok.RequiredArgsConstructor; @@ -43,13 +44,15 @@ public class MasterController { @Operation(description = "지붕재 목록을 조회한다.") @GetMapping("/getRoofMaterialList") - public ApiResponse> getRoofMaterialList() { - return masterService.getRoofMaterialList(); + public ApiResponse> getRoofMaterialList( + HttpServletRequest request) { + return masterService.getRoofMaterialList(request.getHeader("Referer")); } @Operation(description = "모듈 타입별 아이템 목록을 조회한다.") @GetMapping("/getModuleTypeItemList") public ApiResponse> getModuleTypeItemList( + HttpServletRequest request, @Parameter(description = "지붕재 코드 목록") @RequestParam("arrRoofMatlCd") List roofMaterialCd) throws QcastException { @@ -59,12 +62,13 @@ public class MasterController { || roofMaterialCd.stream().anyMatch(s -> s == null || s.trim().isEmpty())) { throw new QcastException(ErrorCode.INVALID_INPUT_VALUE); } - return masterService.getModuleTypeItemList(roofMaterialCd); + return masterService.getModuleTypeItemList(request.getHeader("Referer"), roofMaterialCd); } @Operation(description = "가대 목록 조회한다.") @GetMapping("/getTrestleList") public ApiResponse> getTrestleList( + HttpServletRequest request, @Parameter(description = "모듈타입코드") @RequestParam(required = false) String moduleTpCd, @Parameter(description = "지붕재코드") @RequestParam(required = false) String roofMatlCd, @Parameter(description = "서까래기초코드") @RequestParam(required = false) String raftBaseCd, @@ -85,6 +89,7 @@ public class MasterController { .setRoofBaseCd(roofBaseCd) .build(); return masterService.getTrestleList( + request.getHeader("Referer"), atb.getModuleTpCd(), atb.getRoofMatlCd(), atb.getRaftBaseCd(), @@ -96,6 +101,7 @@ public class MasterController { @Operation(description = "시공법 목록 조회한다.") @GetMapping("/getConstructionList") public ApiResponse> getConstructionList( + HttpServletRequest request, @Parameter(description = "모듈타입코드") @RequestParam String moduleTpCd, @Parameter(description = "지붕재코드") @RequestParam String roofMatlCd, @Parameter(description = "가대메이커코드") @RequestParam String trestleMkrCd, @@ -164,6 +170,7 @@ public class MasterController { .build(); return masterService.getConstructionList( + request.getHeader("Referer"), acb.getModuleTpCd(), acb.getRoofMatlCd(), acb.getTrestleMkrCd(), @@ -181,12 +188,13 @@ public class MasterController { @Operation(description = "가대 상세 조회한다.") @PostMapping("/getTrestleDetailList") public ArrayList> getTrestleDetailList( - @RequestBody List reqList) { + HttpServletRequest request, @RequestBody List reqList) { ArrayList> results = new ArrayList<>(); for (ApiTrestleDetailRequest req : reqList) { ApiResponse response = masterService.getTrestleDetailList( + request.getHeader("Referer"), req.getModuleTpCd(), req.getRoofMatlCd(), req.getTrestleMkrCd(), @@ -218,57 +226,67 @@ public class MasterController { @Operation(description = "PCS 메이커, 시리즈 조회한다.") @GetMapping("/pcsMakerList") public ApiResponse> getPcsMakerList( + HttpServletRequest request, @Parameter(description = "PCS 메이커 코드") @RequestParam(required = false) String pcsMkrCd, @Parameter(description = "혼합모듈번호") @RequestParam(required = false) String mixMatlNo) { - return masterService.getPcsMakerList(pcsMkrCd, mixMatlNo); + return masterService.getPcsMakerList(request.getHeader("Referer"), pcsMkrCd, mixMatlNo); } @Operation(description = "PCS 시리즈 아이템 목록을 조회한다.") @PostMapping("/getPcsSeriesItemList") public ApiResponse> getPcsSeriesItemList( - @RequestBody ApiPcsSeriesItemRequest pcsSeriesItemListRequest) { - return masterService.getPcsSeriesItemList(pcsSeriesItemListRequest); + HttpServletRequest request, @RequestBody ApiPcsSeriesItemRequest pcsSeriesItemListRequest) { + return masterService.getPcsSeriesItemList( + request.getHeader("Referer"), pcsSeriesItemListRequest); } @Operation(description = "시리즈 중 자동으로 추천 PCS 정보를 조회한다.") @PostMapping("/getPcsAutoRecommendList") public ApiResponse getPcsAutoRecommendList( - @RequestBody ApiPcsInfoRequest autoRecommendRequest) { - return masterService.getPcsAutoRecommendList(autoRecommendRequest); + HttpServletRequest request, @RequestBody ApiPcsInfoRequest autoRecommendRequest) { + return masterService.getPcsAutoRecommendList( + request.getHeader("Referer"), autoRecommendRequest); } @Operation(description = "배치된 모듈을 선택한 PCS로 회로 구성 가능 여부 체크한다.") @PostMapping("/getPcsVoltageChk") - public ApiResultResponse getPcsVoltageChk(@RequestBody ApiPcsInfoRequest pcsVoltageChkRequest) { - return masterService.getPcsVoltageChk(pcsVoltageChkRequest).getResult(); + public ApiResultResponse getPcsVoltageChk( + HttpServletRequest request, @RequestBody ApiPcsInfoRequest pcsVoltageChkRequest) { + return masterService + .getPcsVoltageChk(request.getHeader("Referer"), pcsVoltageChkRequest) + .getResult(); } @Operation(description = "PCS 승압설정 정보를 조회한다.") @PostMapping("/getPcsVoltageStepUpList") public ApiResponse getPcsVoltageStepUpList( - @RequestBody ApiPcsInfoRequest pcsVoltageStepUpRequest) { - return masterService.getPcsVoltageStepUpList(pcsVoltageStepUpRequest); + HttpServletRequest request, @RequestBody ApiPcsInfoRequest pcsVoltageStepUpRequest) { + return masterService.getPcsVoltageStepUpList( + request.getHeader("Referer"), pcsVoltageStepUpRequest); } @Operation(description = "PCS 수동회로 확정 체크한다.") @PostMapping("/getPcsMenualConfChk") public ApiResultResponse getPcsMenualConfChk( - @RequestBody ApiPcsMenualConfRequest pcsMenualConfChkRequest) { - return masterService.getPcsMenualConfChk(pcsMenualConfChkRequest).getResult(); + HttpServletRequest request, @RequestBody ApiPcsMenualConfRequest pcsMenualConfChkRequest) { + return masterService + .getPcsMenualConfChk(request.getHeader("Referer"), pcsMenualConfChkRequest) + .getResult(); } @Operation(description = "PCS 접속함 및 옵션 목록을 조회한다.") @PostMapping("/getPcsConnOptionItemList") public ApiResponse getPcsConnOptionItemList( - @RequestBody ApiPcsConnOptionRequest pcsConnOptionRequest) { - return masterService.getPcsConnOptionItemList(pcsConnOptionRequest); + HttpServletRequest request, @RequestBody ApiPcsConnOptionRequest pcsConnOptionRequest) { + return masterService.getPcsConnOptionItemList( + request.getHeader("Referer"), pcsConnOptionRequest); } /** remote api group : quotation */ @Operation(description = "견적서 아이템을 조회한다.") @PostMapping("/getQuotationItem") public ApiResponse> getQuotationItem( - @RequestBody ApiQuotationItemRequest quotationItemRequest) { - return quotationService.getQuotationItem(quotationItemRequest); + HttpServletRequest request, @RequestBody ApiQuotationItemRequest quotationItemRequest) { + return quotationService.getQuotationItem(request.getHeader("Referer"), quotationItemRequest); } } 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 91fcaab4..18d6ca00 100644 --- a/src/main/java/com/interplug/qcast/biz/master/MasterService.java +++ b/src/main/java/com/interplug/qcast/biz/master/MasterService.java @@ -21,6 +21,7 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestParam; // @FeignClient(name = "master", url = "${feign.master.url}") @@ -29,16 +30,19 @@ public interface MasterService { // 지붕재 목록 조회 @GetMapping("/roofMaterialList") - public ApiResponse> getRoofMaterialList(); + public ApiResponse> getRoofMaterialList( + @RequestHeader("Referer") String referer); // 모듈 타입별 아이템 목록 조회 @GetMapping("/moduleTypeItemList") public ApiResponse> getModuleTypeItemList( + @RequestHeader("Referer") String referer, @RequestParam("arrRoofMatlCd") List roofMaterialCd); // 가대 목록 조회 @GetMapping("/trestle") public ApiResponse> getTrestleList( + @RequestHeader("Referer") String referer, @RequestParam(required = false) String moduleTpCd, @RequestParam(required = false) String roofMatlCd, @RequestParam(required = false) String raftBaseCd, @@ -49,6 +53,7 @@ public interface MasterService { // 시공법 목록 조회 @GetMapping("/construction") public ApiResponse> getConstructionList( + @RequestHeader("Referer") String referer, @RequestParam String moduleTpCd, @RequestParam String roofMatlCd, @RequestParam String trestleMkrCd, @@ -65,6 +70,7 @@ public interface MasterService { // 가대 상세 조회 @GetMapping(value = "/trestle/detail", consumes = "application/json") public ApiResponse getTrestleDetailList( + @RequestHeader("Referer") String referer, @RequestParam String moduleTpCd, @RequestParam String roofMatlCd, @RequestParam String trestleMkrCd, @@ -83,34 +89,37 @@ public interface MasterService { // PCS Maker, 시리즈 목록 조회 @GetMapping("/pcsMakerList") public ApiResponse> getPcsMakerList( + @RequestHeader("Referer") String referer, @RequestParam(required = false) String pcsMkrCd, @RequestParam(required = false) String mixMatlNo); // PCS 시리즈 아이템 목록 조회 @PostMapping("/pcsSeriesItemList") public ApiResponse> getPcsSeriesItemList( - @RequestBody ApiPcsSeriesItemRequest req); + @RequestHeader("Referer") String referer, @RequestBody ApiPcsSeriesItemRequest req); // 시리즈 중 자동으로 추천 PCS 정보 조회 @PostMapping("/pcsAutoRecommendList") public ApiResponse getPcsAutoRecommendList( - @RequestBody ApiPcsInfoRequest req); + @RequestHeader("Referer") String referer, @RequestBody ApiPcsInfoRequest req); // 배치된 모듈을 선택한 PCS로 회로 구성 가능 여부 체크 @PostMapping("/pcsVoltageChk") - public ApiResponse getPcsVoltageChk(@RequestBody ApiPcsInfoRequest req); + public ApiResponse getPcsVoltageChk( + @RequestHeader("Referer") String referer, @RequestBody ApiPcsInfoRequest req); // PCS 승압설정 정보 조회 @PostMapping("/pcsVoltageStepUpList") public ApiResponse getPcsVoltageStepUpList( - @RequestBody ApiPcsInfoRequest req); + @RequestHeader("Referer") String referer, @RequestBody ApiPcsInfoRequest req); // PCS 수동회로 확정 체크 @PostMapping("/pcsMenualConfChk") - public ApiResponse getPcsMenualConfChk(@RequestBody ApiPcsMenualConfRequest req); + public ApiResponse getPcsMenualConfChk( + @RequestHeader("Referer") String referer, @RequestBody ApiPcsMenualConfRequest req); // PCS 접속함 및 옵션 목록 조회 @PostMapping("/pcsConnOptionItemList") public ApiResponse getPcsConnOptionItemList( - @RequestBody ApiPcsConnOptionRequest req); + @RequestHeader("Referer") String referer, @RequestBody ApiPcsConnOptionRequest req); } diff --git a/src/main/java/com/interplug/qcast/biz/master/QuotationService.java b/src/main/java/com/interplug/qcast/biz/master/QuotationService.java index c8f535b3..760fd039 100644 --- a/src/main/java/com/interplug/qcast/biz/master/QuotationService.java +++ b/src/main/java/com/interplug/qcast/biz/master/QuotationService.java @@ -7,6 +7,7 @@ import java.util.List; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestHeader; @FeignClient(name = "quotation", url = "${qsp.url}/api/quotation") public interface QuotationService { @@ -14,5 +15,5 @@ public interface QuotationService { // 견적서 아이템 조회 @PostMapping("/item") public ApiResponse> getQuotationItem( - @RequestBody ApiQuotationItemRequest req); + @RequestHeader("Referer") String referer, @RequestBody ApiQuotationItemRequest req); }