diff --git a/src/main/java/in/koreatech/koin/domain/owner/repository/OwnerRepository.java b/src/main/java/in/koreatech/koin/domain/owner/repository/OwnerRepository.java index d4ae6d9b4..650a26995 100644 --- a/src/main/java/in/koreatech/koin/domain/owner/repository/OwnerRepository.java +++ b/src/main/java/in/koreatech/koin/domain/owner/repository/OwnerRepository.java @@ -15,12 +15,6 @@ default Owner getById(Long ownerId) { return findById(ownerId).orElseThrow(() -> OwnerNotFoundException.withDetail("ownerId: " + ownerId)); } - Optional findByUserId(Long userId); - - default Owner getByUserId(Long userId) { - return findByUserId(userId).orElseThrow(() -> OwnerNotFoundException.withDetail("userId: " + userId)); - } - Owner save(Owner owner); Optional findByCompanyRegistrationNumber(String companyRegistrationNumber); diff --git a/src/main/java/in/koreatech/koin/domain/owner/service/OwnerService.java b/src/main/java/in/koreatech/koin/domain/owner/service/OwnerService.java index b7879d740..ebec7af42 100644 --- a/src/main/java/in/koreatech/koin/domain/owner/service/OwnerService.java +++ b/src/main/java/in/koreatech/koin/domain/owner/service/OwnerService.java @@ -86,14 +86,22 @@ public void register(OwnerRegisterRequest request) { } Owner owner = request.toOwner(passwordEncoder); Owner saved = ownerRepository.save(owner); - var shop = shopRepository.findById(request.shopId()) - .orElse(null); - ownerShopRedisRepository.save(OwnerShop.builder() - .ownerId(owner.getId()) - .shopId(shop == null ? null : shop.getId()) - .build()); - ownerShopRedisRepository.save(OwnerShop.builder() - .build()); + if (request.shopId() != null) { + var shop = shopRepository.getById(request.shopId()); + ownerShopRedisRepository.save(OwnerShop.builder() + .ownerId(owner.getId()) + .shopId(shop.getId()) + .build()); + ownerShopRedisRepository.save(OwnerShop.builder() + .build()); + } else { + ownerShopRedisRepository.save(OwnerShop.builder() + .ownerId(owner.getId()) + .build()); + ownerShopRedisRepository.save(OwnerShop.builder() + .build()); + } + eventPublisher.publishEvent(new OwnerRegisterEvent(saved)); } diff --git a/src/test/java/in/koreatech/koin/acceptance/OwnerApiTest.java b/src/test/java/in/koreatech/koin/acceptance/OwnerApiTest.java index f09ad39c9..3703692b6 100644 --- a/src/test/java/in/koreatech/koin/acceptance/OwnerApiTest.java +++ b/src/test/java/in/koreatech/koin/acceptance/OwnerApiTest.java @@ -257,7 +257,7 @@ void register() { "name": "최준호", "password": "a0240120305812krlakdsflsa;1235", "phone_number": "010-0000-0000", - "shop_id": 0, + "shop_id": null, "shop_name": "기분좋은 뷔짱" } """) @@ -309,7 +309,7 @@ void registerNotAllowedFileUrl() { "name": "최준호", "password": "a0240120305812krlakdsflsa;1235", "phone_number": "010-0000-0000", - "shop_id": 0, + "shop_id": null, "shop_name": "기분좋은 뷔짱" } """) @@ -338,7 +338,7 @@ void registerNotAllowedCompanyNumber() { "name": "최준호", "password": "a0240120305812krlakdsflsa;1235", "phone_number": "010-0000-0000", - "shop_id": 0, + "shop_id": null, "shop_name": "기분좋은 뷔짱" } """) @@ -367,7 +367,7 @@ void registerWithoutName() { "name": "", "password": "a0240120305812krlakdsflsa;1235", "phone_number": "010-0000-0000", - "shop_id": 0, + "shop_id": null, "shop_name": "기분좋은 뷔짱" } """) @@ -403,7 +403,7 @@ void registerWithExistShop() { RestAssured .given() - .body(""" + .body(String.format(""" { "attachment_urls": [ { @@ -415,10 +415,10 @@ void registerWithExistShop() { "name": "주노", "password": "a0240120305812krlakdsflsa;1235", "phone_number": "010-0000-0000", - "shop_id": 1, + "shop_id": %d, "shop_name": "기분좋은 뷔짱" } - """) + """, shopRequest.getId())) .contentType(ContentType.JSON) .when() .post("/owners/register") @@ -452,7 +452,7 @@ void registerWithNotExistShop() { "name": "주노", "password": "a0240120305812krlakdsflsa;1235", "phone_number": "010-0000-0000", - "shop_id": 0, + "shop_id": null, "shop_name": "기분좋은 뷔짱" } """)