diff --git a/src/main/java/com/brainpix/kakaopay/api_client/KakaoPayApiClient.java b/src/main/java/com/brainpix/kakaopay/api_client/KakaoPayApiClient.java index 8b946e9f..31d64efa 100644 --- a/src/main/java/com/brainpix/kakaopay/api_client/KakaoPayApiClient.java +++ b/src/main/java/com/brainpix/kakaopay/api_client/KakaoPayApiClient.java @@ -25,6 +25,8 @@ public class KakaoPayApiClient { private String READY_URL; @Value("${kakao.pay.approve-url}") private String APPROVE_URL; + @Value("${kakao.pay.redirect-domain}") + private String REDIRECT_DOMAIN; @Value("${kakao.pay.cid}") private String cid; // TC0ONETIME (테스트용 가맹점 cid) @@ -78,9 +80,9 @@ private Map getReadyParams( params.put("tax_free_amount", "0"); params.put("vat_amount", String.valueOf(parameter.getVat())); params.put("approval_url", - "http://localhost:5173/purchase/approve?ideaId=" + ideaMarket.getId() + "&orderId=" + orderId); - params.put("cancel_url", "http://localhost:5173/purchase/cancel?ideaId=" + ideaMarket.getId()); - params.put("fail_url", "http://localhost:5173/purchase/fail?ideaId=" + ideaMarket.getId()); + REDIRECT_DOMAIN + "/purchase/approve?ideaId=" + ideaMarket.getId() + "&orderId=" + orderId); + params.put("cancel_url", REDIRECT_DOMAIN + "/purchase/cancel?ideaId=" + ideaMarket.getId()); + params.put("fail_url", REDIRECT_DOMAIN + "/purchase/fail?ideaId=" + ideaMarket.getId()); return params; } diff --git a/src/main/java/com/brainpix/post/converter/GetCollaborationHubDetailDtoConverter.java b/src/main/java/com/brainpix/post/converter/GetCollaborationHubDetailDtoConverter.java index 30854f9a..72341603 100644 --- a/src/main/java/com/brainpix/post/converter/GetCollaborationHubDetailDtoConverter.java +++ b/src/main/java/com/brainpix/post/converter/GetCollaborationHubDetailDtoConverter.java @@ -95,8 +95,9 @@ public static GetCollaborationHubDetailDto.Recruitment toRecruitment(Collaborati public static GetCollaborationHubDetailDto.OpenMember toOpenMember(CollectionGathering collectionGathering) { return GetCollaborationHubDetailDto.OpenMember.builder() .userId(collectionGathering.getJoiner().getId()) - .name(collectionGathering.getJoiner().getNickName()) + .name(collectionGathering.getJoiner().getIdentifier()) .domain(collectionGathering.getCollaborationRecruitment().getDomain()) + .openMyProfile(collectionGathering.getOpenProfile()) .build(); } } diff --git a/src/main/java/com/brainpix/post/dto/GetCollaborationHubDetailDto.java b/src/main/java/com/brainpix/post/dto/GetCollaborationHubDetailDto.java index 16d50faa..4cdbeb2e 100644 --- a/src/main/java/com/brainpix/post/dto/GetCollaborationHubDetailDto.java +++ b/src/main/java/com/brainpix/post/dto/GetCollaborationHubDetailDto.java @@ -65,5 +65,6 @@ public static class OpenMember { private Long userId; // 유저 식별자 값 private String name; // 유저 이름 private String domain; // 유저 역할 + private Boolean openMyProfile; // 프로필 공개 여부 } } diff --git a/src/main/java/com/brainpix/post/service/IdeaMarketService.java b/src/main/java/com/brainpix/post/service/IdeaMarketService.java index b6a0feed..1528c1b3 100644 --- a/src/main/java/com/brainpix/post/service/IdeaMarketService.java +++ b/src/main/java/com/brainpix/post/service/IdeaMarketService.java @@ -9,6 +9,7 @@ import com.brainpix.api.code.error.IdeaMarketErrorCode; import com.brainpix.api.code.error.PostErrorCode; import com.brainpix.api.exception.BrainPixException; +import com.brainpix.joining.dto.IdeaMarketPriceDto; import com.brainpix.joining.entity.quantity.Price; import com.brainpix.joining.repository.CollectionGatheringRepository; import com.brainpix.joining.repository.RequestTaskPurchasingRepository; @@ -26,6 +27,7 @@ import com.brainpix.post.dto.IdeaMarketUpdateDto; import com.brainpix.post.entity.PostAuth; import com.brainpix.post.entity.idea_market.IdeaMarket; +import com.brainpix.post.entity.idea_market.IdeaMarketType; import com.brainpix.post.repository.IdeaMarketRepository; import com.brainpix.post.repository.PostRepository; import com.brainpix.post.repository.SavedPostRepository; @@ -54,6 +56,13 @@ public Long createIdeaMarket(Long userId, IdeaMarketCreateDto createDto) { User writer = userRepository.findById(userId) .orElseThrow(() -> new BrainPixException(PostErrorCode.USER_NOT_FOUND)); + // IDEA_SOLUTION은 수량화가 불가능한 무형의 자산이므로 totalQuantity를 무한으로 설정 + if (createDto.getIdeaMarketType().equals(IdeaMarketType.IDEA_SOLUTION)) { + IdeaMarketPriceDto ideaMarketPriceDto = new IdeaMarketPriceDto(createDto.getPriceDto().getPrice(), + (long)Integer.MAX_VALUE); + createDto = new IdeaMarketCreateDto(createDto.getIdeaMarketType(), ideaMarketPriceDto); + } + Price price = priceService.createIdeaMarketPrice(createDto.getPriceDto()); IdeaMarket ideaMarket = createIdeaMarketConverter.convertToIdeaMarket(createDto, writer, price); diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index b8277493..cf97cdd2 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -40,6 +40,7 @@ kakao: cid: ENC(+Kb6JKxydvdU8AtNjy6i8E/0cr3mcK3/yIXO4oULT/Z41Ri57uepQtt7vEAl1uyk) ready-url: https://open-api.kakaopay.com/online/v1/payment/ready approve-url: https://open-api.kakaopay.com/online/v1/payment/approve + redirect-domain: http://localhost:5173 cloud: aws: