Skip to content

πŸ› OMF-222 쀑볡선택 응닡이 csv둜 μΆ”μΆœλ˜μ§€ μ•ŠλŠ” 버그 μˆ˜μ •#114

Merged
wonjuneee merged 2 commits intodevelopfrom
feat/OMF-222
Feb 23, 2026
Merged

πŸ› OMF-222 쀑볡선택 응닡이 csv둜 μΆ”μΆœλ˜μ§€ μ•ŠλŠ” 버그 μˆ˜μ •#114
wonjuneee merged 2 commits intodevelopfrom
feat/OMF-222

Conversation

@wonjuneee
Copy link
Collaborator

@wonjuneee wonjuneee commented Feb 22, 2026

✨ Related Issue


πŸ“Œ Task Details

  • λ¬Έν•­ 별 응닡을 Stringμ—μ„œ Set<String>으둜 μ‘°νšŒν•˜λ„λ‘ ν•˜μ—¬ 쀑볡선택 응닡이 λˆ„λ½λ˜μ§€ μ•Šλ„λ‘ μˆ˜μ •

πŸ’¬ Review Requirements (Optional)

Summary by CodeRabbit

μƒˆλ‘œμš΄ κΈ°λŠ₯

  • μ„€λ¬Έμ‘°μ‚¬μ—μ„œ ν•œ μ§ˆλ¬Έμ— λŒ€ν•΄ μ—¬λŸ¬ 닡변을 μ§€μ›ν•©λ‹ˆλ‹€.

κ°œμ„ μ‚¬ν•­

  • μ„€λ¬Έ 응닡 데이터 내보내기 κΈ°λŠ₯이 μ΅œμ ν™”λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

@wonjuneee wonjuneee requested a review from KJaeKwan February 22, 2026 10:34
@wonjuneee wonjuneee self-assigned this Feb 22, 2026
@wonjuneee wonjuneee added the πŸ›bug 버그 μˆ˜μ • label Feb 22, 2026
@coderabbitai
Copy link

coderabbitai bot commented Feb 22, 2026

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • πŸ” Trigger review

Note

.coderabbit.yml has unrecognized properties

CodeRabbit is using all valid settings from your configuration. Unrecognized properties (listed below) have been ignored and may indicate typos or deprecated fields that can be removed.

⚠️ Parsing warnings (1)
Validation error: Unrecognized key(s) in object: 'tools'
βš™οΈ Configuration instructions
  • Please see the configuration documentation for more information.
  • You can also validate your configuration using the online YAML validator.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
πŸ“ Walkthrough

Walkthrough

μ„€λ¬Έ 응닡 μ €μž₯ ꡬ쑰λ₯Ό 단일 λ¬Έμžμ—΄μ—μ„œ Set으둜 λ³€κ²½ν•˜μ—¬ νšŒμ›-질문 μŒλ‹Ή μ—¬λŸ¬ 응닡을 μ§€μ›ν•˜λ„λ‘ μˆ˜μ •. λ‹΅λ³€ λ§΅ ꡬ성 μ‹œ 각 (memberId, questionId)에 λŒ€ν•΄ Set으둜 μ§‘κ³„ν•˜κ³ , 내보내기 μ‹œ Set을 toString()으둜 λ¬Έμžμ—΄λ‘œ λ³€ν™˜.

Changes

Cohort / File(s) Summary
λ‚΄λΆ€ 데이터 ꡬ쑰 λ¦¬νŒ©ν† λ§
src/main/java/OneQ/OnSurvey/domain/survey/service/export/SurveyExportService.java
λ‹΅λ³€ μ €μž₯ ꡬ쑰λ₯Ό Stringμ—μ„œ Set으둜 λ³€κ²½ν•˜μ—¬ νšŒμ›λ‹Ή μ§ˆλ¬Έλ³„ 볡수 응닡을 지원. Set의 toString() 호좜둜 μΈν•œ null 처리 차이 λ°œμƒ 및 NPE μœ„ν—˜ κ°€λŠ₯μ„±.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

πŸš₯ Pre-merge checks | βœ… 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
βœ… Passed checks (2 passed)
Check name Status Explanation
Title check βœ… Passed 제λͺ©μ΄ PR의 μ£Όμš” 변경사항을 λͺ…ν™•ν•˜κ²Œ μš”μ•½ν•˜κ³  있으며, 버그 μˆ˜μ •κ³Ό 쀑볡선택 응닡 μΆ”μΆœ 문제λ₯Ό 직접 닀루고 μžˆμŠ΅λ‹ˆλ‹€.
Description check βœ… Passed PR μ„€λͺ…이 μ €μž₯μ†Œμ˜ ν…œν”Œλ¦Ώ ꡬ쑰λ₯Ό λ”°λ₯΄κ³  있으며, κ΄€λ ¨ 이슈, μž‘μ—… 세뢀사항이 μ™„μ „ν•˜κ²Œ ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
πŸ§ͺ Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/OMF-222

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❀️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

πŸ€– Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@src/main/java/OneQ/OnSurvey/domain/survey/service/export/SurveyExportService.java`:
- Around line 62-63: The code uses computeIfAbsent(a.getQuestionId(), k -> new
HashSet<>()).add(a.getContent()) which allows non-deterministic ordering;
replace the HashSet with LinkedHashSet to preserve insertion order for
consistent CSV export. Update the supplier passed to computeIfAbsent (in
SurveyExportService, around computeIfAbsent and add(a.getContent())) to return a
new LinkedHashSet<>() so duplicates are still eliminated but insertion order is
retained.
- Around line 93-96: In SurveyExportService where you build CSV rows (the loop
over headers using memberAnswers and SurveyQuestionHeader), avoid calling
.toString() on memberAnswers.get(h.getQuestionId()) which can be null and cause
NPE; instead retrieve the Set<String> value into a local (e.g., answersSet),
produce a safe String by checking for null/empty (use String.join(",",
answersSet) when non-null) and then pass that resulting String into nvl(...);
update the code that references memberAnswers.get(...) and nvl(...) to perform
the null check and join so empty/missing responses become an empty string rather
than throwing an exception or including bracketed Set.toString().

@wonjuneee wonjuneee merged commit c2591bd into develop Feb 23, 2026
3 checks passed
@wonjuneee wonjuneee deleted the feat/OMF-222 branch February 23, 2026 07:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

πŸ›bug 버그 μˆ˜μ •

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant