diff --git a/src/main/java/com/interplug/qcast/biz/module/ModuleController.java b/src/main/java/com/interplug/qcast/biz/module/ModuleController.java new file mode 100644 index 00000000..b294df95 --- /dev/null +++ b/src/main/java/com/interplug/qcast/biz/module/ModuleController.java @@ -0,0 +1,24 @@ +package com.interplug.qcast.biz.module; + +import com.interplug.qcast.biz.module.dto.ModuleResponse; +import java.util.List; +import lombok.RequiredArgsConstructor; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("/api/module") +@RequiredArgsConstructor +@CrossOrigin +public class ModuleController { + private final ModuleService moduleService; + + // 모듈 조회 + @GetMapping("/v1.0/modules/{roofMaterialId}/{trestleId}") + public ResponseEntity> getModulesByRoofMaterialIdAndTrestleId( + @PathVariable("roofMaterialId") Integer roofMaterialId, + @PathVariable("trestleId") Integer trestleId) { + return ResponseEntity.ok( + moduleService.getModulesByRoofMaterialIdAndTrestleId(roofMaterialId, trestleId)); + } +} diff --git a/src/main/java/com/interplug/qcast/biz/module/ModuleMapper.java b/src/main/java/com/interplug/qcast/biz/module/ModuleMapper.java new file mode 100644 index 00000000..8a68a0c3 --- /dev/null +++ b/src/main/java/com/interplug/qcast/biz/module/ModuleMapper.java @@ -0,0 +1,13 @@ +package com.interplug.qcast.biz.module; + +import com.interplug.qcast.biz.module.dto.ModuleResponse; +import java.util.List; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface ModuleMapper { + + List getModulesByRoofMaterialIdAndTrestleId( + @Param("roofMaterialId") Integer roofMaterialId, @Param("trestleId") Integer trestleId); +} diff --git a/src/main/java/com/interplug/qcast/biz/module/ModuleService.java b/src/main/java/com/interplug/qcast/biz/module/ModuleService.java new file mode 100644 index 00000000..5e8532f4 --- /dev/null +++ b/src/main/java/com/interplug/qcast/biz/module/ModuleService.java @@ -0,0 +1,17 @@ +package com.interplug.qcast.biz.module; + +import com.interplug.qcast.biz.module.dto.ModuleResponse; +import java.util.List; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +@Service +@RequiredArgsConstructor +public class ModuleService { + + private final ModuleMapper moduleMapper; + + public List getModulesByRoofMaterialIdAndTrestleId(Integer roofMaterialId, Integer trestleId) { + return moduleMapper.getModulesByRoofMaterialIdAndTrestleId(roofMaterialId, trestleId); + } +} diff --git a/src/main/java/com/interplug/qcast/biz/module/dto/ModuleResponse.java b/src/main/java/com/interplug/qcast/biz/module/dto/ModuleResponse.java new file mode 100644 index 00000000..d25d9cf7 --- /dev/null +++ b/src/main/java/com/interplug/qcast/biz/module/dto/ModuleResponse.java @@ -0,0 +1,15 @@ +package com.interplug.qcast.biz.module.dto; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@AllArgsConstructor +@NoArgsConstructor +public class ModuleResponse { + private Integer id; + private String name; +} diff --git a/src/main/resources/mappers/module/moduleMapper.xml b/src/main/resources/mappers/module/moduleMapper.xml new file mode 100644 index 00000000..59c305fa --- /dev/null +++ b/src/main/resources/mappers/module/moduleMapper.xml @@ -0,0 +1,14 @@ + + + + + + \ No newline at end of file