Skip to content

feat : PRD A1~A3 반영 (해커톤 레포 이관) - #36

Closed
yuyeol3 wants to merge 2 commits into
mainfrom
yuyeol3/feat/port-prd-a1-a3
Closed

yuyeol3 wants to merge 2 commits into
mainfrom
yuyeol3/feat/port-prd-a1-a3

Conversation

@yuyeol3

@yuyeol3 yuyeol3 commented Oct 18, 2026

Copy link
Copy Markdown
Collaborator

변경점 👍

해커톤 모노레포에서 머지된 PRD A1~A3 작업(PNU-2026-AI-Hackathon/pnuai-c-07-finfin2#42)을 Fin-BE로 옮겼습니다.

  • 27c0717: 원본 PR의 backend/, database/ 변경을 Fin-BE 경로로 옮긴 커밋입니다. 작성자는 원저자로 유지했습니다.
    • 텍스트 충돌은 SearchRequestPolicy의 import 한 줄뿐이었습니다. #33에서 추가된 List는 쓰이지 않아서 Set만 남겼습니다.
    • 모노레포에만 해당하는 변경(.gitignore, api/)은 제외했습니다.
    • V7__update_saving_period_options.sql은 비어 있던 V7 번호에 그대로 들어갑니다. 운영 DB가 아직 없어서 V8 다음에 V7이 적용되는 out-of-order 문제는 없습니다.
  • 0c42380: 이관하면서 생긴 의미상 충돌을 수정했습니다(아래).

버그 해결 💊

원본 PR은 예금과 적금이 min_monthly_limit을 같이 쓰던 시점을 전제로 작성됐습니다. #32에서 예금 한도가 min/max_deposit_amount로 분리된 뒤로는 금액 하한 검증이 다음처럼 잘못 동작했습니다.

  • 단기 예금: min_monthly_limit이 null이라 하한 검사가 사실상 꺼져 있었습니다.
  • 단기 적금: 월 최소 납입액을 예치 총액과 비교하고 있었습니다(단위 불일치).
  • 파킹: min_monthly_limit과 비교하고 있었습니다. V8 주석에 따르면 파킹도 min_deposit_amount를 씁니다.

수정 후에는 상품 유형에 맞는 금액끼리 비교합니다. 금액은 원본 PR에 있던 normalizedMonthlyDeposit/normalizedDepositPrincipal로 정규화합니다.

상품 비교 금액 하한 컬럼
예금 예치 원금 (단기: 예치액, 목돈: 월저축액×기간) min_deposit_amount
적금 월 납입액 (단기: 예치액÷기간, 목돈: 월저축액) min_monthly_limit
파킹 예치액 min_deposit_amount

목돈 예금도 이번 수정부터 min_deposit_amount로 검증됩니다. #32 이후로는 검증되지 않던 부분입니다.

테스트 💻

  • EligibilityBoundaryIntegrationTest에 예치금 하한 경계 케이스 5개를 추가했습니다(단기 예금, 단기 적금, 목돈 예금). 수정 전에는 3개가 실패하는 것을 확인했습니다.
  • ParkingProductServiceTest의 하한 테스트가 minDepositAmount를 보도록 바꿨습니다.
  • ./gradlew test(349개)와 ./gradlew integrationTest(123개)가 모두 통과합니다.

비고 ✏

원본 PR 리뷰에서 남은 항목(파킹 카드 필드를 V8 컬럼과 연결, 파킹 개수 중복 카운트, 정렬 테스트 정리)은 이 PR 위에 올리는 후속 PR에서 처리합니다.

zwo-n and others added 2 commits October 18, 2026 19:25
PNU-2026-AI-Hackathon/pnuai-c-07-finfin2#42 (33a2b2c)의 backend/, database/ 변경을 Fin-BE 경로로 옮겼다.
- backend/ → 루트, database/db/migration → src/main/resources/db/migration
- 충돌 해결: SearchRequestPolicy import (#33의 미사용 List 대신 Set)
- 모노레포 전용 변경(.gitignore, api/)은 제외
#32에서 예금 한도가 min/max_deposit_amount로 분리되었는데 PRD A1~A3 이관분은 min_monthly_limit만 비교하고 있었다.
- 예금: 예치 원금(단기 예치액, 목돈 월저축액×기간) vs min_deposit_amount
- 적금: 월 납입액(단기 예치액÷기간, 목돈 월저축액) vs min_monthly_limit
- 파킹: 예치액 vs min_deposit_amount (V8 기준 예금·파킹 공용)
@github-actions

github-actions Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Backend Code Health Report

Commit: 0c42380

Metric Current Base Change
Line Coverage 88.2% 88.8% -0.5 pp ⚠️
Branch Coverage 69.6% 73.2% -3.6 pp ⚠️
Code Health 92.8 (A) 92.8 (A) +0.0 ✅
Duplicated Lines 0.9% 0.4% +0.5 pp ⚠️
High-complexity Methods 14 10 +4 ⚠️
PMD Issues 21 13 +8 ⚠️

Attention

  • src/main/java/apptive/fin/search/service/ProductDetailService.java:113 — Cognitive Complexity 27 / Cyclomatic Complexity 25
  • src/main/java/apptive/fin/myfin/service/MyFinService.java:216 — Cognitive Complexity 19 / Cyclomatic Complexity 10
  • src/main/java/apptive/fin/search/service/SearchService.java:173 — Cognitive Complexity 18
  • Duplicated block (27 lines): src/main/java/apptive/fin/search/service/MatchScoreService.java:370 ↔ src/main/java/apptive/fin/search/service/MatchScoreService.java:534
  • Duplicated block (16 lines): src/main/java/apptive/fin/calculator/service/DepositRateCalculator.java:46 ↔ src/main/java/apptive/fin/calculator/service/SavingRateCalculator.java:60

Code Issues

  • src/main/java/apptive/fin/search/service/MatchScoreService.java:408 — Unused Private Method: Avoid unused private methods such as 'isGovBankConditionExcluded(boolean)'.
  • src/main/java/apptive/fin/search/service/SearchService.java:564 — Unused Private Method: Avoid unused private methods such as 'sortedByAchievableRate(Collection)'.

Informational report only — these metrics do not block merging.

@yuyeol3

yuyeol3 commented Oct 26, 2026

Copy link
Copy Markdown
Collaborator Author

#41로 대체합니다. V7 마이그레이션이 #35의 V8보다 늦게 들어와 기존 개발 DB에서 Flyway out-of-order로 기동에 실패해, V9로 옮겨 새 브랜치로 다시 올렸습니다.

@yuyeol3 yuyeol3 closed this Oct 26, 2026
@yuyeol3
yuyeol3 deleted the yuyeol3/feat/port-prd-a1-a3 branch October 26, 2026 09:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants