package com.interplug.qcast.biz.master; import com.fasterxml.jackson.databind.JsonNode; import com.interplug.qcast.biz.master.dto.*; import com.interplug.qcast.biz.master.dto.construction.ApiConstructionResponse; import com.interplug.qcast.biz.master.dto.moduletype.ApiModuleTpResponse; import com.interplug.qcast.biz.master.dto.pcs.ApiPcsInfoRequest; import com.interplug.qcast.biz.master.dto.pcs.autorecommend.ApiPcsAutoRecommendResponse; import com.interplug.qcast.biz.master.dto.pcs.connoption.ApiPcsConnOptionRequest; import com.interplug.qcast.biz.master.dto.pcs.connoption.ApiPcsConnOptionResponse; import com.interplug.qcast.biz.master.dto.pcs.maker.ApiPcsMakerResponse; import com.interplug.qcast.biz.master.dto.pcs.menualconf.ApiPcsMenualConfRequest; import com.interplug.qcast.biz.master.dto.pcs.series.ApiPcsSeriesItemRequest; import com.interplug.qcast.biz.master.dto.pcs.series.ApiPcsSeriesItemResponse; import com.interplug.qcast.biz.master.dto.pcs.voltagestepup.ApiPcsVoltageStepUpResponse; import com.interplug.qcast.biz.master.dto.roofmaterial.ApiRoofMaterialResponse; import com.interplug.qcast.biz.master.dto.trestle.ApiTrestleResponse; import com.interplug.qcast.biz.master.dto.trestle.detail.ApiTrestleDetailResponse; import java.util.List; 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}") @FeignClient(name = "master", url = "${qsp.url}/api/master") public interface MasterService { // 지붕재 목록 조회 @GetMapping("/roofMaterialList") public ApiResponse> getRoofMaterialList( @RequestHeader("Referer") String referer); // 모듈 타입별 아이템 목록 조회 @GetMapping("/moduleTypeItemList") public ApiResponse> getModuleTypeItemList( @RequestHeader("Referer") String referer, @RequestParam("arrRoofMatlCd") List roofMaterialCd, @RequestParam("storeId") String storeId); // 가대 목록 조회 @GetMapping("/trestle") public ApiResponse> getTrestleList( @RequestHeader("Referer") String referer, @RequestParam(required = false) String moduleTpCd, @RequestParam(required = false) String roofMatlCd, @RequestParam(required = false) String raftBaseCd, @RequestParam(required = false) String trestleMkrCd, @RequestParam(required = false) String constMthdCd, @RequestParam(required = false) String roofBaseCd); // 시공법 목록 조회 @GetMapping("/construction") public ApiResponse> getConstructionList( @RequestHeader("Referer") String referer, @RequestParam String moduleTpCd, @RequestParam String roofMatlCd, @RequestParam String trestleMkrCd, @RequestParam String constMthdCd, @RequestParam String roofBaseCd, @RequestParam String illuminationTp, @RequestParam String instHt, @RequestParam String stdWindSpeed, @RequestParam String stdSnowLd, @RequestParam String inclCd, @RequestParam(required = false) String raftBaseCd, @RequestParam(required = false) Integer roofPitch); // 가대 상세 조회 @GetMapping(value = "/trestle/detail", consumes = "application/json") public ApiResponse getTrestleDetailList( @RequestHeader("Referer") String referer, @RequestParam String moduleTpCd, @RequestParam String roofMatlCd, @RequestParam String trestleMkrCd, @RequestParam String constMthdCd, @RequestParam String roofBaseCd, @RequestParam String illuminationTp, @RequestParam String instHt, @RequestParam String stdWindSpeed, @RequestParam String stdSnowLd, @RequestParam String inclCd, @RequestParam String constTp, @RequestParam(required = false) Integer mixMatlNo, @RequestParam(required = false) Integer roofPitch, @RequestParam(required = false) String workingWidth); // PCS Maker, 시리즈 목록 조회 @GetMapping("/pcsMakerList") public ApiResponse> getPcsMakerList( @RequestHeader("Referer") String referer, @RequestParam(required = false) String pcsMkrCd, @RequestParam(required = false) String mixMatlNo, @RequestParam(required = false) String moduleMatlCds, @RequestParam(required = false) String storeId ); // PCS 시리즈 아이템 목록 조회 @PostMapping("/pcsSeriesItemList") public ApiResponse> getPcsSeriesItemList( @RequestHeader("Referer") String referer, @RequestBody ApiPcsSeriesItemRequest req); // 시리즈 중 자동으로 추천 PCS 정보 조회 @PostMapping("/pcsAutoRecommendList") public ApiResponse getPcsAutoRecommendList( @RequestHeader("Referer") String referer, @RequestBody ApiPcsInfoRequest req); // 배치된 모듈을 선택한 PCS로 회로 구성 가능 여부 체크 @PostMapping("/pcsVoltageChk") public ApiResponse getPcsVoltageChk( @RequestHeader("Referer") String referer, @RequestBody ApiPcsInfoRequest req); // PCS 승압설정 정보 조회 @PostMapping("/pcsVoltageStepUpList") public ApiResponse getPcsVoltageStepUpList( @RequestHeader("Referer") String referer, @RequestBody ApiPcsInfoRequest req); // PCS 수동회로 확정 체크 @PostMapping("/pcsMenualConfChk") public ApiResponse getPcsMenualConfChk( @RequestHeader("Referer") String referer, @RequestBody ApiPcsMenualConfRequest req); // PCS 접속함 및 옵션 목록 조회 @PostMapping("/pcsConnOptionItemList") public ApiResponse getPcsConnOptionItemList( @RequestHeader("Referer") String referer, @RequestBody ApiPcsConnOptionRequest req); }