fix(orchestrator): Kafka type.mapping에 general-goods 이벤트 추가 [KAN-261]#39
Closed
lian2945 wants to merge 9 commits into
Closed
fix(orchestrator): Kafka type.mapping에 general-goods 이벤트 추가 [KAN-261]#39lian2945 wants to merge 9 commits into
lian2945 wants to merge 9 commits into
Conversation
…ype 전파 [KAN-215] - ProductType enum 신규 (RELEASE, GENERAL_GOODS) - OrderLine 도메인에 productType 필드 추가 (createBuilder, reconstructBuilder) - OrderLineEntity에 product_type 컬럼 추가 (@Enumerated STRING) - OrderMapper toLineEntity/toLineDomain에 productType 매핑 추가 - OrderPrepareEvent.OrderItemPayload에 product_type 필드 추가 - CreateOrderCommand.OrderLineCommand에 productType 추가 - OrderLineRequest에 productType 추가 (validation 포함) - CreateOrderService: command에서 productType 전달 - CreateReleaseOrderService: ProductType.RELEASE 하드코딩 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- OrderLine 도메인, OrderLineEntity에 thumbnailUrl 필드 추가 - 주문 생성 요청(CreateOrderRequest, CreateReleaseOrderRequest, OrderLineRequest)에 thumbnailUrl 수신 - CreateOrderCommand, CreateReleaseOrderCommand에 thumbnailUrl 전달 - CreateOrderService, CreateReleaseOrderService에서 OrderLine 생성 시 thumbnailUrl 세팅 - OrderMapper toLineEntity/toLineDomain에 thumbnailUrl 매핑 - OrderResultMapper, OrderLineResult, OrderLineResponse에 thumbnailUrl 포함 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- ReadNotificationCommand: notificationId → notificationIds(List<Long>)로 변경 - ReadNotificationUseCase: read() → readAll()로 변경 - ReadNotificationService: updateAllByIdsAndUserId 단일 쿼리로 일괄 처리 - NotificationJpaRepository: @Modifying bulk UPDATE 쿼리 추가 - NotificationJpaAdapter: updateAllByIdsAndUserId 구현 - NotificationCommandController: PATCH /{id}/read → PATCH /read (body: notificationIds) - ReadNotificationsRequest: 신규 request DTO 추가 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… [KAN-255] Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- OrchestratorCommandEventType: STOCK_RESERVE_RELEASE / STOCK_RESERVE_GENERAL_GOOD 추가, 구버전 STOCK_RESERVE 제거 - OrderPrepareEvent.ItemPayload에 product_type 필드 추가 - HandleOrderPrepareService: productType=GENERAL_GOODS이면 stock-reserve.general-good, 그 외 stock-reserve-release 커맨드 발행 - StockEventKafkaListener: stock-reserve-general-goods-succeeded/failed 토픽 리스너 추가 - StockReserveCommand 미사용 클래스 삭제 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- OrchestratorCommandKafkaListener: 토픽 stock-reserve → stock-reserve-release, RetryableTopic에 DltStrategy.FAIL_ON_ERROR + exclude BusinessException 추가 - ReleaseEntity: @Version 낙관적 락 제거 (UPDATE WHERE DB 원자성으로 대체) - ReleaseJpaRepository: increaseSoldQuantity(@Modifying UPDATE WHERE), findCreatorIdById 추가 - ReleaseRepositoryPort: increaseSoldQuantity, findCreatorIdById 인터페이스 추가 - ReleaseJpaAdapter: 두 메서드 구현 - HandleStockReserveService: release.increaseSoldQuantity() + update() → increaseSoldQuantity() UPDATE WHERE로 교체, 0 rows 반환 시 failed 이벤트 발행 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…[KAN-217] - @Version 낙관적 락 제거 (UPDATE WHERE DB 원자성으로 대체) - categories @ElementCollection에 @Enumerated(EnumType.STRING) 추가 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- RedisPubSubAdapter 제거, RedisStreamAdapter 신규 구현
- XADD로 메시지 영속화, XREAD 폴링으로 구독
- 스트림 키: sse:stream:notification:{userId}, sse:stream:logout:{userId}
- ReactiveRedisMessageListenerContainer 제거
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
관련 이슈
변경 사항 요약
application-dev.yml,application-prod.yml의spring.json.type.mapping에stock-reserve-general-goods-succeeded,stock-reserve-general-goods-failed이벤트 매핑 추가__TypeId__: stock-reserve-general-goods-succeeded헤더를 심을 때 JacksonJsonDeserializer가 클래스명으로 인식하지 못해 역직렬화 실패하던 문제 수정테스트 체크리스트
./gradlew :services:orchestrator:compileJava빌드 성공 확인stock-reserve-general-goods-succeeded/failed토픽 정상 수신 확인