104 lines
4.6 KiB
Java

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.maker.ApiPcsMakerResponse;
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.RequestParam;
// @FeignClient(name = "master", url = "${feign.master.url}")
@FeignClient(name = "master", url = "${qsp.url}/api/master")
public interface MasterService {
// 지붕재 목록 조회
@GetMapping("/roofMaterialList")
public ApiResponse<List<ApiRoofMaterialResponse>> getRoofMaterialList();
// 모듈 타입별 아이템 목록 조회
@GetMapping("/moduleTypeItemList")
public ApiResponse<List<ApiModuleTpResponse>> getModuleTypeItemList(
@RequestParam("arrRoofMatlCd") List<String> roofMaterialCd);
// 가대 목록 조회
@GetMapping("/trestle")
public ApiResponse<List<ApiTrestleResponse>> getTrestleList(
@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<List<ApiConstructionResponse>> getConstructionList(
@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<ApiTrestleDetailResponse> getTrestleDetailList(
@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);
// PCS Maker, 시리즈 목록 조회
@GetMapping("/pcsMakerList")
public ApiResponse<List<ApiPcsMakerResponse>> getPcsMakerList(
@RequestParam(required = false) String pcsMkrCd,
@RequestParam(required = false) String mixMatlNo);
// PCS 시리즈 아이템 목록 조회
@PostMapping("/pcsSeriesItemList")
public ApiResponse<List<ApiPcsSeriesItemResponse>> getPcsSeriesItemList(
@RequestBody ApiPcsSeriesItemRequest req);
// 시리즈 중 자동으로 추천 PCS 정보 조회
@PostMapping("/pcsAutoRecommendList")
public ApiResponse<ApiPcsAutoRecommendResponse> getPcsAutoRecommendList(
@RequestBody ApiPcsInfoRequest req);
// 배치된 모듈을 선택한 PCS로 회로 구성 가능 여부 체크
@PostMapping("/pcsVoltageChk")
public ApiResponse<JsonNode> getPcsVoltageChk(@RequestBody ApiPcsInfoRequest req);
// PCS 승압설정 정보 조회
@PostMapping("/pcsVoltageStepUpList")
public ApiResponse<ApiPcsVoltageStepUpResponse> getPcsVoltageStepUpList(
@RequestBody ApiPcsInfoRequest req);
}