Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
133 commits
Select commit Hold shift + click to select a range
35db47e
feat/116 :: Order 도메인 Aggregate, VO, 이벤트, 예외, 글로벌 예외 계층
lian2945 May 18, 2026
f79c8da
feat/116 :: Order UseCase, Port, Service, DTO 구현
lian2945 May 18, 2026
fb32475
feat/116 :: Order 어댑터 (Web/Kafka/gRPC/Persistence/Security/Scheduler)
lian2945 May 18, 2026
c43e703
feat/116 :: Order application-*.yml, Dockerfile, build.gradle 설정
lian2945 May 18, 2026
616e03c
feat/117 :: Release 도메인 Aggregate, VO, 예외, 글로벌 예외 계층
lian2945 May 18, 2026
87cf732
feat/117 :: Release UseCase, Port, Service, DTO 구현
lian2945 May 18, 2026
56edccf
feat/117 :: Release 어댑터 (Web/gRPC/Persistence/Security/Scheduler)
lian2945 May 18, 2026
0c59c17
feat/117 :: Release application-*.yml, Dockerfile, build.gradle 설정
lian2945 May 18, 2026
7fb3654
feat/121 :: Payment 도메인 Aggregate, VO, 이벤트, 예외 계층
lian2945 May 18, 2026
29a0f1d
feat/121 :: Payment UseCase, Port, Service, DTO 구현
lian2945 May 18, 2026
0934fe2
feat/121 :: Payment 어댑터 (Web/Kafka/Toss PG/Persistence/Security)
lian2945 May 18, 2026
e6e19a3
feat/121 :: Payment application-*.yml, Dockerfile, build.gradle, Grad…
lian2945 May 18, 2026
90e28a8
feat/121 :: SonarCloud 경고 해결 (빈 테스트 메서드 주석, Dockerfile non-root 유저)
lian2945 May 18, 2026
503d3c3
feat/116 :: SonarCloud 경고 해결 (빈 테스트 메서드 주석, Dockerfile non-root 유저)
lian2945 May 18, 2026
f334e59
feat/117 :: SonarCloud 경고 해결 (빈 테스트 메서드 주석, Dockerfile non-root 유저)
lian2945 May 18, 2026
9414fec
feat/121 :: payment application-dev.yml trusted.ips 수정
lian2945 May 19, 2026
6e3c690
feat/117 :: release application-dev.yml trusted.ips 수정
lian2945 May 19, 2026
59650b6
feat/116 :: order application-dev.yml trusted.ips 수정
lian2945 May 19, 2026
ddfc85c
feat/121 :: payment Dockerfile 경로 및 줄바꿈 오류 수정
lian2945 May 19, 2026
6d817f6
feat/117 :: release Dockerfile 경로 및 줄바꿈 오류 수정
lian2945 May 19, 2026
7452d15
feat/116 :: order Dockerfile 경로 및 줄바꿈 오류 수정
lian2945 May 19, 2026
4417b91
feat/121 :: payment application-prod.yml security.trusted.ips 수정
lian2945 May 19, 2026
831584a
feat/117 :: release application-prod.yml 추가
lian2945 May 19, 2026
e92585c
feat/116 :: order application-prod.yml 수정 (server.port/TRUSTED_IPS 제거…
lian2945 May 19, 2026
6f90fdb
feat/116 :: subscribe/creator application-dev/prod.yml server.port 제거
lian2945 May 20, 2026
23ac3b3
feat/117 :: subscribe/creator application-dev/prod.yml server.port 제거
lian2945 May 20, 2026
cd838b6
feat/121 :: subscribe/creator application-dev/prod.yml server.port 제거
lian2945 May 20, 2026
77c1e02
feat/fix :: auth/user/creator inbox 설정 추가, trusted.ips 하드코딩 제거
lian2945 May 20, 2026
488cec9
fix :: subscribe/general-goods Inbox 패턴 구현 및 inbox yml 설정 추가
lian2945 May 20, 2026
9837e1a
chore :: shopping-cart 서비스 디렉토리 삭제
lian2945 May 20, 2026
0e8392d
fix :: 이벤트 타임스탬프 필드명 occurredAt 통일 및 @JsonAlias 하위 호환 적용
lian2945 May 20, 2026
bab59b9
feat(user): Inbox AOP에 isTooOld/extractOccurredAt 추가 (InboxProperties…
lian2945 May 20, 2026
3f50884
chore: settings.gradle에서 shopping-cart 모듈 제거
lian2945 May 20, 2026
6e8737f
fix(auth): RefreshToken.createBuilder() → builder() 오타 수정
lian2945 May 20, 2026
cb79de9
fix(auth): RefreshToken createBuilder/reconstructBuilder 구현 및 LoginSe…
lian2945 May 20, 2026
ba04a28
fix(auth): RefreshTokenService/Mapper builder() → createBuilder/recon…
lian2945 May 20, 2026
8de864f
fix(user): InboxProperties 누락 추가
lian2945 May 20, 2026
a7a3930
fix(user): SseConnectedKafkaListener/SseDisconnectedKafkaListener 누락 추가
lian2945 May 20, 2026
c840ff3
fix(auth/creator): IdempotentAspect InboxProperties 연동 버전으로 교체 및 Inbo…
lian2945 May 20, 2026
4680a15
fix(inbox): InboxEntity occurredAt 필드 누락 추가 (auth/creator/subscribe/u…
lian2945 May 20, 2026
937cf4e
fix(creator): CreatorOutboxRepositoryPort → CreatorDomainEventReposit…
lian2945 May 20, 2026
fddbe9e
fix(creator): CreatorDomainEvent* → CreatorOutbox* 네이밍 통일 (auth/user와…
lian2945 May 20, 2026
631916d
fix(creator): UnbanCreatorService/ReviewCreatorCertificationService 포…
lian2945 May 20, 2026
9a1fb9d
fix(grpc): 전 GrpcAdapter에 withDeadlineAfter(2s) 설정 추가
lian2945 May 20, 2026
613a3e6
fix(grpc): GrpcAdapter withDeadlineAfter(2s) 설정 추가
lian2945 May 20, 2026
b68418b
fix(grpc): GrpcAdapter withDeadlineAfter(2s) 설정 추가
lian2945 May 20, 2026
613fefc
fix(inbox): @DltHandler 추가로 DLT 전환 시 Inbox DEAD_LETTERED 상태 추적
lian2945 May 20, 2026
45d146b
fix(inbox): @DltHandler 추가로 DLT 전환 시 Inbox DEAD_LETTERED 상태 추적
lian2945 May 20, 2026
2c33aea
fix(inbox): @DltHandler 추가로 DLT 전환 시 Inbox DEAD_LETTERED 상태 추적
lian2945 May 20, 2026
fff6513
fix(user/kafka): 전체 리스너에 @RetryableTopic + @DltHandler 추가
lian2945 May 20, 2026
1ec5ebc
fix(user/kafka): 전체 리스너에 @RetryableTopic + @DltHandler 추가
lian2945 May 20, 2026
6f15d07
fix(user/kafka): 전체 리스너에 @RetryableTopic + @DltHandler 추가
lian2945 May 20, 2026
12d1716
refactor(inbox): InboxEvent에 occurredAt() 추가, IdempotentAspect 리플렉션 제거
lian2945 May 20, 2026
af1f284
refactor(inbox): InboxEvent에 occurredAt() 추가, IdempotentAspect 리플렉션 제거
lian2945 May 20, 2026
d8eef69
refactor(inbox): InboxEvent에 occurredAt() 추가, IdempotentAspect 리플렉션 제거
lian2945 May 20, 2026
a35f211
refactor(inbox): InboxEvent occurredAt() 계약 추가, IdempotentAspect 리플렉션 제거
lian2945 May 20, 2026
d74dc78
refactor(inbox): InboxEvent occurredAt() 계약 추가, IdempotentAspect 리플렉션 제거
lian2945 May 20, 2026
b5ba18e
fix(inbox): InboxProperties 누락 및 inbox 설정 추가
lian2945 May 20, 2026
481ceb4
fix(inbox): InboxEntity에 occurredAt 필드 추가
lian2945 May 20, 2026
7bfbddd
fix(inbox): InboxEntity에 occurredAt 필드 추가
lian2945 May 20, 2026
947d50a
ci: trigger build
lian2945 May 20, 2026
1531aa1
ci: trigger build
lian2945 May 20, 2026
92bede8
fix(inbox): InboxProperties 누락 및 inbox 설정 추가
lian2945 May 20, 2026
08ae806
fix(inbox): SubscribeInboxStatus/Repository, GeneralGoodsInboxStatus/…
lian2945 May 20, 2026
2b276d1
fix(inbox): SubscribeInboxStatus/Repository, GeneralGoodsInboxStatus/…
lian2945 May 20, 2026
dddb472
fix(creator): Outbox 테이블명 creator_domain_event → creator_outbox 통일
lian2945 May 20, 2026
4109f1f
fix(creator): CreatorDomainEvent → CreatorOutbox 리네이밍 및 테이블명 creator_…
lian2945 May 20, 2026
320c666
fix(creator): CreatorDomainEvent → CreatorOutbox 리네이밍 및 테이블명 creator_…
lian2945 May 20, 2026
df2ab7a
fix(creator): 서비스 레이어 CreatorDomainEventRepositoryPort → CreatorOutbo…
lian2945 May 20, 2026
04a0457
fix(creator): 서비스 레이어 CreatorDomainEventRepositoryPort → CreatorOutbo…
lian2945 May 20, 2026
dada21f
fix(creator): 도메인 이벤트 occurredAt 필드 추가 및 Creator.createBuilder() 복구
lian2945 May 20, 2026
7ca20c6
fix(creator): 도메인 이벤트 occurredAt 필드 추가 및 Creator.createBuilder() 복구
lian2945 May 20, 2026
3e82824
fix(kafka): creator/subscribe retry 설정 spring.kafka.retry.topic 형식으로 수정
lian2945 May 20, 2026
9d1b838
fix(kafka): creator/subscribe retry 설정 spring.kafka.retry.topic 형식으로 수정
lian2945 May 20, 2026
dbafa83
fix(creator): refactor/115 기준으로 creator 서비스 전체 동기화
lian2945 May 20, 2026
fbbf849
fix(creator): refactor/115 기준으로 creator 서비스 전체 동기화
lian2945 May 20, 2026
be3e263
fix(creator): creator.proto에 GetCreatorIdByUserId rpc 추가
lian2945 May 20, 2026
ae99e01
fix(creator): creator.proto에 GetCreatorIdByUserId rpc 추가
lian2945 May 20, 2026
1fea8c9
fix(docker): Dockerfile appuser 보안 패턴 및 JAR_FILE 경로 통일
lian2945 May 20, 2026
19f1287
fix(docker): Dockerfile appuser 보안 패턴 및 JAR_FILE 경로 통일
lian2945 May 20, 2026
b6a14aa
fix(docker): Dockerfile appuser 보안 패턴 및 JAR_FILE 경로 통일
lian2945 May 20, 2026
525a95a
fix(inbox): 만료 메시지 조용한 폐기 → DEAD_LETTERED 영속화로 변경
lian2945 May 20, 2026
24d2402
fix(inbox): 만료 메시지 조용한 폐기 → DEAD_LETTERED 영속화로 변경
lian2945 May 20, 2026
15af11d
fix(inbox): 만료 메시지 조용한 폐기 → DEAD_LETTERED 영속화로 변경
lian2945 May 20, 2026
95d0e35
fix(inbox): 만료 메시지 조용한 폐기 → DEAD_LETTERED 영속화로 변경
lian2945 May 20, 2026
c15bac0
fix(inbox): 만료 메시지 조용한 폐기 → DEAD_LETTERED 영속화로 변경
lian2945 May 20, 2026
885a90e
fix(inbox): 만료 메시지 조용한 폐기 → DEAD_LETTERED 영속화로 변경
lian2945 May 20, 2026
b465a8c
fix(inbox): 만료 메시지 조용한 폐기 → DEAD_LETTERED 영속화로 변경
lian2945 May 20, 2026
ef6480a
fix(inbox): 만료 메시지 조용한 폐기 → DEAD_LETTERED 영속화로 변경
lian2945 May 20, 2026
36b339a
feat(order): Resilience4j CircuitBreaker/TimeLimiter 설정 추가 (releaseSe…
lian2945 May 20, 2026
de9c5f8
feat(order): Resilience4j CircuitBreaker/TimeLimiter 설정 추가 (releaseSe…
lian2945 May 21, 2026
211ef07
feat(order): Resilience4j CircuitBreaker/TimeLimiter 설정 추가 (releaseSe…
lian2945 May 21, 2026
26bc10a
refactor(order): @Transactional 범위 내 gRPC 호출 제거
lian2945 May 21, 2026
aeef1e8
feat(release): Kafka consumer로 soldQuantity 비동기 처리 (Inbox 패턴)
lian2945 May 21, 2026
62aaa64
refactor(order): AutoConfirm 스케줄러 청크 처리 + 분산 락 + 설정 외부화
lian2945 May 21, 2026
413f8aa
refactor(order): AutoConfirm 스케줄러 청크 처리 + 분산 락 + 설정 외부화 (누락 파일 추가)
lian2945 May 21, 2026
434c9b1
refactor(order): AutoConfirm 스케줄러 청크 처리 + 분산 락 + 설정 외부화
lian2945 May 21, 2026
7c6f82a
fix(kafka): IdempotentAspect catch(Throwable) 수정 및 @RetryableTopic ex…
lian2945 May 22, 2026
2bf145b
Merge branch 'feat/116' into feat/117
lian2945 May 22, 2026
b3c1c2b
Merge branch 'feat/116' into feat/121
lian2945 May 22, 2026
5bb879c
fix(order): ConfirmOrderLineService 이벤트 중복 발행 방지 가드 추가
lian2945 May 22, 2026
362bf6e
Merge branch 'feat/116' into feat/117
lian2945 May 22, 2026
daf6acf
Merge branch 'feat/116' into feat/121
lian2945 May 22, 2026
0d66382
fix(order): confirmOrderLine 도메인에서 PREPARING 상태만 허용하도록 수정
lian2945 May 22, 2026
0394205
Merge branch 'feat/116' into feat/117
lian2945 May 22, 2026
4236d7c
Merge branch 'feat/116' into feat/121
lian2945 May 22, 2026
a72677b
fix(kafka): @RetryableTopic에 dltStrategy, dltTopicSuffix 명시
lian2945 May 22, 2026
172f5e2
Merge branch 'feat/116' into feat/117
lian2945 May 22, 2026
e7bf5c8
fix(kafka): IdempotentAspect catch(Exception) → catch(Throwable) 컴파일 …
lian2945 May 22, 2026
1b1d96c
Merge branch 'feat/116' into feat/117
lian2945 May 22, 2026
21fa104
Merge branch 'feat/116' into feat/121
lian2945 May 22, 2026
af92b8a
fix: 충돌 마커 제거
lian2945 May 22, 2026
b0327b5
Merge remote-tracking branch 'origin/main' into feat/117
lian2945 May 22, 2026
d531349
fix: settings.gradle shopping-cart 제거
lian2945 May 22, 2026
3dc7477
Merge remote-tracking branch 'origin/main' into feat/121
lian2945 May 22, 2026
4d00864
fix: settings.gradle 실제 존재하는 서비스만 포함
lian2945 May 22, 2026
14a67c3
fix(grpc): proto Release 메시지 누락 필드 추가 및 created_at 매핑 오류 수정
lian2945 May 22, 2026
418df4d
fix(scheduler): Redisson 분산 락 + 청크 처리로 AutoStartSale 다중 인스턴스 충돌 해소
lian2945 May 22, 2026
4b9b8fa
chore(deps): redisson-spring-boot-starter 3.45.1 → 3.50.0
lian2945 May 22, 2026
6cdb350
refactor(grpc): IncreaseSoldQuantity gRPC 엔드포인트 제거 — Kafka Inbox 단일 경…
lian2945 May 22, 2026
c4195d0
Merge branch 'feat/117' into feat/121
lian2945 May 22, 2026
53f1aff
refactor(release): gRPC 호출을 트랜잭션 밖으로 분리
lian2945 May 22, 2026
e1d04a4
Merge branch 'feat/117' into feat/121
lian2945 May 22, 2026
9a1f7d4
fix(release): PR 리뷰 코멘트 반영 — isOnSale 도메인 위임, Validator 개선, gRPC 채널 재사용
lian2945 May 22, 2026
48ce839
Merge branch 'feat/117' into feat/121
lian2945 May 22, 2026
3bf4654
refactor(validation): ZonedDateTime 제거 — epochSecond % 600 으로 단순화
lian2945 May 22, 2026
4bd184d
Merge branch 'feat/117' into feat/121
lian2945 May 22, 2026
4017fd3
fix(general-goods): CreatorGrpcAdapter — grpcChannelFactory 직접 호출 제거,…
lian2945 May 23, 2026
8c99121
Merge branch 'feat/117' into feat/121
lian2945 May 23, 2026
0722dca
fix(order): shedlock-provider-redisson → shedlock-provider-redis-spri…
lian2945 May 23, 2026
1c5d661
Merge branch 'feat/117' into feat/121
lian2945 May 23, 2026
82f2719
fix(docker): COPY --chown으로 chown RUN 레이어 제거 — I/O 에러 방지
lian2945 May 23, 2026
5b35a21
Merge branch 'feat/117' into feat/121
lian2945 May 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions services/payment/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/gradlew text eol=lf
*.bat text eol=crlf
*.jar binary
37 changes: 37 additions & 0 deletions services/payment/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
env
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/

### VS Code ###
.vscode/
6 changes: 6 additions & 0 deletions services/payment/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
FROM mcr.microsoft.com/openjdk/jdk:21-ubuntu
ARG JAR_FILE=services/payment/build/libs/*.jar
WORKDIR /app
COPY ${JAR_FILE} app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]
22 changes: 22 additions & 0 deletions services/payment/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
ext {
springCloudVersion = "2025.1.0"
}

version = '0.0.1'
description = 'payment'

dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-kafka'
implementation 'org.springframework.cloud:spring-cloud-starter-openfeign'
implementation 'org.springframework.cloud:spring-cloud-starter-circuitbreaker-resilience4j'
runtimeOnly 'com.mysql:mysql-connector-j'
}

dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:$springCloudVersion"
}
}
Binary file not shown.
7 changes: 7 additions & 0 deletions services/payment/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
248 changes: 248 additions & 0 deletions services/payment/gradlew

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading