From 491f9304cf20d220dbed3bcdd2b035c52139b71d Mon Sep 17 00:00:00 2001 From: ysCha Date: Wed, 15 Apr 2026 16:32:08 +0900 Subject: [PATCH 1/3] =?UTF-8?q?[1485]=20=EC=98=A4=EB=B8=8C=EC=A0=9D?= =?UTF-8?q?=ED=8A=B8=20=EB=B3=B5=EC=82=AC=EA=B8=B0=EB=8A=A5=20=EA=B6=8C?= =?UTF-8?q?=ED=95=9C=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../qcast/biz/object/ObjectController.java | 8 ++++ .../qcast/biz/object/ObjectMapper.java | 3 ++ .../qcast/biz/object/ObjectService.java | 24 ++++++++++ .../resources/mappers/object/objectMapper.xml | 48 +++++++++++++++++++ 4 files changed, 83 insertions(+) diff --git a/src/main/java/com/interplug/qcast/biz/object/ObjectController.java b/src/main/java/com/interplug/qcast/biz/object/ObjectController.java index 4b2e1d68..2a526dc6 100644 --- a/src/main/java/com/interplug/qcast/biz/object/ObjectController.java +++ b/src/main/java/com/interplug/qcast/biz/object/ObjectController.java @@ -77,6 +77,14 @@ public class ObjectController { return objectService.selectParentAgentInfo(saleStoreId, storeLvl); } + @Operation(description = "하위 판매점 목록을 조회한다.") + @GetMapping("/saleStore/{saleStoreId}/childList") + @ResponseStatus(HttpStatus.OK) + public List selectChildSaleStoreList( + @PathVariable String saleStoreId, String storeLvl, String userId) throws Exception { + return objectService.selectChildSaleStoreList(saleStoreId, storeLvl, userId); + } + @Operation(description = "물건정보 목록을 조회한다.") @GetMapping("/list") @ResponseStatus(HttpStatus.OK) diff --git a/src/main/java/com/interplug/qcast/biz/object/ObjectMapper.java b/src/main/java/com/interplug/qcast/biz/object/ObjectMapper.java index 02a6120b..bc031f47 100644 --- a/src/main/java/com/interplug/qcast/biz/object/ObjectMapper.java +++ b/src/main/java/com/interplug/qcast/biz/object/ObjectMapper.java @@ -31,6 +31,9 @@ public interface ObjectMapper { // 상위 판매점 정보 조회 public SaleStoreResponse selectParentAgentInfo(String saleStoreId, String storeLvl); + // 하위 판매점 목록 조회 + public List selectChildSaleStoreList(String saleStoreId, String storeLvl, String userId); + // 물건정보 메인 목록 조회 public List selectObjectMainList(ObjectRequest objectRequest); diff --git a/src/main/java/com/interplug/qcast/biz/object/ObjectService.java b/src/main/java/com/interplug/qcast/biz/object/ObjectService.java index 9cd24951..a83b2c8d 100644 --- a/src/main/java/com/interplug/qcast/biz/object/ObjectService.java +++ b/src/main/java/com/interplug/qcast/biz/object/ObjectService.java @@ -182,6 +182,30 @@ public class ObjectService { return result; } + /** + * 하위 판매점 목록 조회 + * + * @param saleStoreId 판매점 아이디 (부모) + * @param storeLvl 판매점 레벨 + * @return List 하위 판매점 목록 + * @throws Exception + */ + public List selectChildSaleStoreList(String saleStoreId, String storeLvl, String userId) throws Exception { + if (StringUtils.isEmpty(saleStoreId)) { + throw new QcastException(ErrorCode.INVALID_INPUT_VALUE, + message.getMessage("common.message.required.data", "Sale Store ID")); + } + if (StringUtils.isEmpty(storeLvl)) { + throw new QcastException(ErrorCode.INVALID_INPUT_VALUE, + message.getMessage("common.message.required.data", "Store Level")); + } + if (StringUtils.isEmpty(userId)) { + throw new QcastException(ErrorCode.INVALID_INPUT_VALUE, + message.getMessage("common.message.required.data", "User ID")); + } + return objectMapper.selectChildSaleStoreList(saleStoreId, storeLvl, userId); + } + /** * 물건정보 메인 목록 조회 * diff --git a/src/main/resources/mappers/object/objectMapper.xml b/src/main/resources/mappers/object/objectMapper.xml index e32e4fa7..a73bc760 100644 --- a/src/main/resources/mappers/object/objectMapper.xml +++ b/src/main/resources/mappers/object/objectMapper.xml @@ -162,6 +162,54 @@ AND A.DEL_FLG = '0' + +