feat: 시리즈 중 자동 추천 PCS 정보 조회 api 추가, master api 공통 response 타입 수정
This commit is contained in:
parent
2b6aa2876f
commit
8d2a5d1d23
@ -3,6 +3,8 @@ package com.interplug.qcast.biz.master;
|
||||
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.autorecommend.ApiPcsAutoRecommendRequest;
|
||||
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;
|
||||
@ -35,13 +37,13 @@ public class MasterController {
|
||||
|
||||
@Operation(description = "지붕재 목록을 조회한다.")
|
||||
@GetMapping("/getRoofMaterialList")
|
||||
public ApiResponse<ApiRoofMaterialResponse> getRoofMaterialList() {
|
||||
public ApiResponse<List<ApiRoofMaterialResponse>> getRoofMaterialList() {
|
||||
return masterService.getRoofMaterialList();
|
||||
}
|
||||
|
||||
@Operation(description = "모듈 타입별 아이템 목록을 조회한다.")
|
||||
@GetMapping("/getModuleTypeItemList")
|
||||
public ApiResponse<ApiModuleTpResponse> getModuleTypeItemList(
|
||||
public ApiResponse<List<ApiModuleTpResponse>> getModuleTypeItemList(
|
||||
@Parameter(description = "지붕재 코드 목록") @RequestParam("arrRoofMatlCd")
|
||||
List<String> roofMaterialCd)
|
||||
throws QcastException {
|
||||
@ -56,7 +58,7 @@ public class MasterController {
|
||||
|
||||
@Operation(description = "가대 목록 조회한다.")
|
||||
@GetMapping("/getTrestleList")
|
||||
public ApiResponse<ApiTrestleResponse> getTrestleList(
|
||||
public ApiResponse<List<ApiTrestleResponse>> getTrestleList(
|
||||
@Parameter(description = "모듈타입코드") @RequestParam(required = false) String moduleTpCd,
|
||||
@Parameter(description = "지붕재코드") @RequestParam(required = false) String roofMatlCd,
|
||||
@Parameter(description = "서까래기초코드") @RequestParam(required = false) String raftBaseCd,
|
||||
@ -87,7 +89,7 @@ public class MasterController {
|
||||
|
||||
@Operation(description = "시공법 목록 조회한다.")
|
||||
@GetMapping("/getConstructionList")
|
||||
public ApiResponse<ApiConstructionResponse> getConstructionList(
|
||||
public ApiResponse<List<ApiConstructionResponse>> getConstructionList(
|
||||
@Parameter(description = "모듈타입코드") @RequestParam String moduleTpCd,
|
||||
@Parameter(description = "지붕재코드") @RequestParam String roofMatlCd,
|
||||
@Parameter(description = "가대메이커코드") @RequestParam String trestleMkrCd,
|
||||
@ -248,24 +250,30 @@ public class MasterController {
|
||||
|
||||
@Operation(description = "PCS 메이커, 시리즈 조회한다.")
|
||||
@GetMapping("/pcsMakerList")
|
||||
public ApiResponse<ApiPcsMakerResponse> getPcsMakerList(
|
||||
public ApiResponse<List<ApiPcsMakerResponse>> getPcsMakerList(
|
||||
@Parameter(description = "PCS 메이커 코드") @RequestParam(required = false) String pcsMkrCd,
|
||||
@Parameter(description = "혼합모듈번호") @RequestParam(required = false) String mixMatlNo) {
|
||||
|
||||
return masterService.getPcsMakerList(pcsMkrCd, mixMatlNo);
|
||||
}
|
||||
|
||||
@Operation(description = "PCS 시리즈 아이템 목록을 조회한다.")
|
||||
@PostMapping("/getPcsSeriesItemList")
|
||||
public ApiResponse<ApiPcsSeriesItemResponse> getPcsSeriesItemList(
|
||||
public ApiResponse<List<ApiPcsSeriesItemResponse>> getPcsSeriesItemList(
|
||||
@RequestBody ApiPcsSeriesItemRequest pcsSeriesItemListRequest) {
|
||||
return masterService.getPcsSeriesItemList(pcsSeriesItemListRequest);
|
||||
}
|
||||
|
||||
@Operation(description = "시리즈 중 자동으로 추천 PCS 정보 조회한다.")
|
||||
@PostMapping("/pcsAutoRecommendList")
|
||||
public ApiResponse<ApiPcsAutoRecommendResponse> getPcsAutoRecommendList(
|
||||
@RequestBody ApiPcsAutoRecommendRequest autoRecommendRequest) {
|
||||
return masterService.getPcsAutoRecommendList(autoRecommendRequest);
|
||||
}
|
||||
|
||||
/** remote api group : quotation */
|
||||
@Operation(description = "견적서 아이템을 조회한다.")
|
||||
@PostMapping("/getQuotationItem")
|
||||
public ApiResponse<ApiQuotationItemResponse> getQuotationItem(
|
||||
public ApiResponse<List<ApiQuotationItemResponse>> getQuotationItem(
|
||||
@RequestBody ApiQuotationItemRequest quotationItemRequest) {
|
||||
return quotationService.getQuotationItem(quotationItemRequest);
|
||||
}
|
||||
|
||||
@ -3,6 +3,8 @@ package com.interplug.qcast.biz.master;
|
||||
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.autorecommend.ApiPcsAutoRecommendRequest;
|
||||
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;
|
||||
@ -22,16 +24,16 @@ public interface MasterService {
|
||||
|
||||
// 지붕재 목록 조회
|
||||
@GetMapping("/roofMaterialList")
|
||||
public ApiResponse<ApiRoofMaterialResponse> getRoofMaterialList();
|
||||
public ApiResponse<List<ApiRoofMaterialResponse>> getRoofMaterialList();
|
||||
|
||||
// 모듈 타입별 아이템 목록 조회
|
||||
@GetMapping("/moduleTypeItemList")
|
||||
public ApiResponse<ApiModuleTpResponse> getModuleTypeItemList(
|
||||
public ApiResponse<List<ApiModuleTpResponse>> getModuleTypeItemList(
|
||||
@RequestParam("arrRoofMatlCd") List<String> roofMaterialCd);
|
||||
|
||||
// 가대 목록 조회
|
||||
@GetMapping("/trestle")
|
||||
public ApiResponse<ApiTrestleResponse> getTrestleList(
|
||||
public ApiResponse<List<ApiTrestleResponse>> getTrestleList(
|
||||
@RequestParam(required = false) String moduleTpCd,
|
||||
@RequestParam(required = false) String roofMatlCd,
|
||||
@RequestParam(required = false) String raftBaseCd,
|
||||
@ -41,7 +43,7 @@ public interface MasterService {
|
||||
|
||||
// 시공법 목록 조회
|
||||
@GetMapping("/construction")
|
||||
public ApiResponse<ApiConstructionResponse> getConstructionList(
|
||||
public ApiResponse<List<ApiConstructionResponse>> getConstructionList(
|
||||
@RequestParam String moduleTpCd,
|
||||
@RequestParam String roofMatlCd,
|
||||
@RequestParam String trestleMkrCd,
|
||||
@ -74,12 +76,17 @@ public interface MasterService {
|
||||
|
||||
// PCS Maker, 시리즈 목록 조회
|
||||
@GetMapping("/pcsMakerList")
|
||||
public ApiResponse<ApiPcsMakerResponse> getPcsMakerList(
|
||||
public ApiResponse<List<ApiPcsMakerResponse>> getPcsMakerList(
|
||||
@RequestParam(required = false) String pcsMkrCd,
|
||||
@RequestParam(required = false) String mixMatlNo);
|
||||
|
||||
// PCS 시리즈 아이템 목록 조회
|
||||
@PostMapping("/pcsSeriesItemList")
|
||||
public ApiResponse<ApiPcsSeriesItemResponse> getPcsSeriesItemList(
|
||||
public ApiResponse<List<ApiPcsSeriesItemResponse>> getPcsSeriesItemList(
|
||||
@RequestBody ApiPcsSeriesItemRequest req);
|
||||
|
||||
// 시리즈 중 자동으로 추천 PCS 정보 조회
|
||||
@PostMapping("/pcsAutoRecommendList")
|
||||
public ApiResponse<ApiPcsAutoRecommendResponse> getPcsAutoRecommendList(
|
||||
@RequestBody ApiPcsAutoRecommendRequest req);
|
||||
}
|
||||
|
||||
@ -3,6 +3,7 @@ package com.interplug.qcast.biz.master;
|
||||
import com.interplug.qcast.biz.master.dto.ApiResponse;
|
||||
import com.interplug.qcast.biz.master.dto.quotation.ApiQuotationItemRequest;
|
||||
import com.interplug.qcast.biz.master.dto.quotation.ApiQuotationItemResponse;
|
||||
import java.util.List;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
@ -12,6 +13,6 @@ public interface QuotationService {
|
||||
|
||||
// 견적서 아이템 조회
|
||||
@PostMapping("/item")
|
||||
public ApiResponse<ApiQuotationItemResponse> getQuotationItem(
|
||||
public ApiResponse<List<ApiQuotationItemResponse>> getQuotationItem(
|
||||
@RequestBody ApiQuotationItemRequest req);
|
||||
}
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
package com.interplug.qcast.biz.master.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import java.util.List;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@ -11,10 +10,10 @@ import lombok.Setter;
|
||||
public class ApiResponse<T> {
|
||||
|
||||
@Schema(description = "목록 데이터")
|
||||
private List<T> data;
|
||||
private T data;
|
||||
|
||||
@Schema(description = "목록 데이터2")
|
||||
private List<T> data2;
|
||||
private T data2;
|
||||
|
||||
@Schema(description = "API 결과 데이터")
|
||||
private ApiResultResponse result;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package com.interplug.qcast.biz.master.dto.pcs.series;
|
||||
package com.interplug.qcast.biz.master.dto.pcs;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
@ -7,8 +7,8 @@ import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Schema(description = "PCS 시리즈 아이템 목록 조회 요청 객체 모듈아이템")
|
||||
public class ApiPcsSeriesItemModuleRequest {
|
||||
@Schema(description = "PCS 모듈아이템 요청 객체")
|
||||
public class ApiPcsModuleItemRequest {
|
||||
@Schema(description = "제품ID", maxLength = 20)
|
||||
@NotNull
|
||||
public String itemId;
|
||||
@ -0,0 +1,15 @@
|
||||
package com.interplug.qcast.biz.master.dto.pcs.autorecommend;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Schema(description = "PCS 모듈아이템 ID 요청 객체")
|
||||
public class ApiPcsAutoRecommendModuleItemIdRequest {
|
||||
@Schema(description = "제품ID", maxLength = 20)
|
||||
@NotNull
|
||||
private String itemId;
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
package com.interplug.qcast.biz.master.dto.pcs.autorecommend;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Schema(description = "시리즈 중 자동으로 추천 PCS 정보 조회 PCS 아이템 요청 객체")
|
||||
public class ApiPcsAutoRecommendPcsItemRequest {
|
||||
@Schema(description = "PCS제품ID", maxLength = 20)
|
||||
@NotNull
|
||||
private String itemId;
|
||||
|
||||
@Schema(description = "PCS메이커코드", maxLength = 10)
|
||||
@NotNull
|
||||
private String pcsMkrCd;
|
||||
|
||||
@Schema(description = "PCS시리즈코드", maxLength = 10)
|
||||
@NotNull
|
||||
private String pcsSerCd;
|
||||
}
|
||||
@ -0,0 +1,28 @@
|
||||
package com.interplug.qcast.biz.master.dto.pcs.autorecommend;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
@Schema(description = "시리즈 중 자동으로 추천 PCS 정보 조회 PCS 아이템 응답 객체")
|
||||
public class ApiPcsAutoRecommendPcsItemResponse {
|
||||
|
||||
@Schema(description = "PCS메이커코드")
|
||||
private String pcsMkrCd;
|
||||
|
||||
@Schema(description = "PCS시리즈코드")
|
||||
private String pcsSerCd;
|
||||
|
||||
@Schema(description = "PCS 아이템 ID")
|
||||
private String itemId;
|
||||
|
||||
@Schema(description = "PCS 제품명")
|
||||
private String itemNm;
|
||||
|
||||
@Schema(description = "PCS 제품명(Basic Material)")
|
||||
private String goodsNo;
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
package com.interplug.qcast.biz.master.dto.pcs.autorecommend;
|
||||
|
||||
import com.interplug.qcast.biz.master.dto.pcs.ApiPcsModuleItemRequest;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Schema(description = "시리즈 중 자동으로 추천 PCS 정보 조회 요청 객체")
|
||||
public class ApiPcsAutoRecommendRequest {
|
||||
@Schema(description = "Max접속(과적)여부")
|
||||
@NotNull
|
||||
public String maxConnYn;
|
||||
|
||||
@Schema(description = "동일회로도여부")
|
||||
@NotNull
|
||||
public String smpCirYn;
|
||||
|
||||
@Schema(description = "한랭지여부")
|
||||
@NotNull
|
||||
public String coldZoneYn;
|
||||
|
||||
@Schema(description = "사용된 모듈아이템 List")
|
||||
@NotNull
|
||||
public List<ApiPcsModuleItemRequest> useModuleItemList;
|
||||
|
||||
@Schema(description = "지붕면별 목록")
|
||||
@NotNull
|
||||
public List<ApiPcsAutoRecommendRoofSurfaceRequest> roofSurfaceList;
|
||||
|
||||
@Schema(description = "PCS아이템ID")
|
||||
@NotNull
|
||||
public List<ApiPcsAutoRecommendPcsItemRequest> pcsItemList;
|
||||
}
|
||||
@ -0,0 +1,16 @@
|
||||
package com.interplug.qcast.biz.master.dto.pcs.autorecommend;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import java.util.List;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
@Schema(description = "시리즈 중 자동으로 추천 PCS 정보 조회 응답 객체")
|
||||
public class ApiPcsAutoRecommendResponse {
|
||||
@Schema(description = "PCS 아이템 목록")
|
||||
private List<ApiPcsAutoRecommendPcsItemResponse> pcsItemList;
|
||||
}
|
||||
@ -0,0 +1,28 @@
|
||||
package com.interplug.qcast.biz.master.dto.pcs.autorecommend;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Schema(description = "시리즈 중 자동으로 추천 PCS 정보 조회 지붕면 요청 객체")
|
||||
public class ApiPcsAutoRecommendRoofSurfaceRequest {
|
||||
@Schema(description = "지붕면ID")
|
||||
@NotNull
|
||||
private String roofSurfaceId;
|
||||
|
||||
@Schema(description = "지붕면방위(동,서,남,북,동남,서북 등등)")
|
||||
@NotNull
|
||||
private String roofSurface;
|
||||
|
||||
@Schema(description = "촌수(경사도)")
|
||||
@NotNull
|
||||
private Double roofSurfaceIncl;
|
||||
|
||||
@Schema(description = "모듈아이템 List(도면에 설치된 모듈)")
|
||||
@NotNull
|
||||
private List<ApiPcsAutoRecommendModuleItemIdRequest> moduleList;
|
||||
}
|
||||
@ -1,5 +1,6 @@
|
||||
package com.interplug.qcast.biz.master.dto.pcs.series;
|
||||
|
||||
import com.interplug.qcast.biz.master.dto.pcs.ApiPcsModuleItemRequest;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
@ -20,5 +21,5 @@ public class ApiPcsSeriesItemRequest {
|
||||
|
||||
@Schema(description = "Module Item ID")
|
||||
@NotNull
|
||||
public List<ApiPcsSeriesItemModuleRequest> moduleItemList;
|
||||
public List<ApiPcsModuleItemRequest> moduleItemList;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user