From e886aa3739a773cc1b0d36c806f68aee9393eae5 Mon Sep 17 00:00:00 2001 From: Kim Doo Hyeon <66135897+engus525@users.noreply.github.com> Date: Tue, 14 Oct 2025 22:49:29 +0900 Subject: [PATCH 1/2] v1.8.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [CHORE] AWS 서버 이관 #424 - web driver 설정 admin에서 제거 * Update README.md * Update README.md * Update README.md * readme 팀원 역할 명시 * [FEATURE] 문의하기 기능 개발 #414 (#435) * [FEATURE] USER 문의하기 기능 개발 #415 - JPA 구현 * [FEATURE] USER 문의하기 기능 개발 #415 - 문의 글 CRUD - 문의 등록 시 관리자에게 메일 발송 * [FEATURE] USER 문의하기 기능 개발 #415 - 문의 댓글 CRUD * [FEATURE] ADMIN 문의하기 기능 개발 #416 - ADMIN INQUIRY CRUD - USER 문의 공개 여부 수정 API - USER 답변 달린 문의 삭제 시 오류 * [FEATURE] 문의하기 기능 개발 #414 - 문의 목록/상세 조회 시 답변 여부 반환 * [FEATURE] 문의하기 기능 개발 #414 - 마이페이지 문의 API * [FEATURE] 문의하기 기능 개발 #414 - 문의 목록/상세 조회 시 내 문의 여부 추가 * [FEATURE] 문의하기 기능 개발 #414 - 관리자 프로필 사진 경로 설정 * [FEATURE] 문의하기 기능 개발 #414 - 관리자 문의 작성 시 오류 - 관리자 댓글 handle null * [FEATURE] 문의하기 기능 개발 #414 - 관리자 프로필 이미지 경로 변경 - admin 답변 삭제 시 에러 문구 변경 * [FEATURE] 문의하기 기능 개발 (#437) * [FIX] 250326 QA 반영 #436 - 답변 등록된 문의 수정/삭제 시 오류 NOTICE로 - 에디터 관련 NOTICE 오류 추가 * [FIX] 250326 QA 반영 #436 - USER 주말 이전에 현재주차 문제집 비공개 - ADMIN 주말 이후 스터디 수정 불가능 * [FIX] 250326 QA 반영 #436 - 문제집 자동 생성 요일 변경(금 -> 목) - 문제집 자동 생성 API 추가(오류 시 수동 실행용) * [FIX] 250326 QA 반영 #436 - 문의 상세 조회 시 soft delete 댓글 미반영 * [FIX] 250326 QA 반영 #436 - 커뮤니티 게시글 상세 조회 시 soft delete 댓글 미반영 * [FIX] 250326 QA 반영 #436 - 기관 생성 시 이름 중복이면 NOTICE 에러 * [FIX] 250326 QA 반영 (#439) * [FIX] 250326 QA 반영 #436 - 답변 등록된 문의 수정/삭제 시 오류 NOTICE로 - 에디터 관련 NOTICE 오류 추가 * [FIX] 250326 QA 반영 #436 - USER 주말 이전에 현재주차 문제집 비공개 - ADMIN 주말 이후 스터디 수정 불가능 * [FIX] 250326 QA 반영 #436 - 문제집 자동 생성 요일 변경(금 -> 목) - 문제집 자동 생성 API 추가(오류 시 수동 실행용) * [FIX] 250326 QA 반영 #436 - 문의 상세 조회 시 soft delete 댓글 미반영 * [FIX] 250326 QA 반영 #436 - 커뮤니티 게시글 상세 조회 시 soft delete 댓글 미반영 * [FIX] 250326 QA 반영 #436 - 기관 생성 시 이름 중복이면 NOTICE 에러 * Update issue templates * Create pull_request_template.md * Delete .github/pull_request_template.md * Create pull_request_template.md * Delete .github/ISSUE_TEMPLATE/pull_request_template.md * Create pull_request_template.md * [FEATURE] 데일리 챌린지 #462 (#474) * [FEATURE] 데일리 챌린지 JPA 구현 #463 * [FEATURE] 데일리 챌린지 문제 선정 #464 * [FEATURE] 데일리 챌린지 백준 크롤링 #465 - JPA ChallengeJoinLog 누락 필드 추가 * [FEATURE] 데일리 챌린지 백준 크롤링 #465 - JPA ChallengeJoinLog enum * [FEATURE] 데일리 챌린지 백준 크롤링 #465 - JPA ChallengeJoinLog 제출 시각 추가 * [FEATURE] 데일리 챌린지 백준 크롤링 #465 - 구현 완료 - 테스트용 api 추가 * [FEATURE] 데일리 챌린지 1등 선정 #466 * [FEATURE] 데일리 챌린지 1등 선정 #466 - ERD 변경 사항 적용 * [FEATURE] 데일리 챌린지 1등 선정 #466 - 1등 3회 누적 시 보상 획득 로직 구현 * [FEATURE] 데일리 챌린지 보상 사용 #468 - 내 보상 현황 조회 API 구현 * [FEATURE] 데일리 챌린지 보상 사용 #468 - 보상 사용 API 구현 * [FEATURE] 데일리 챌린지 마이페이지 #467 - 마이페이지 챌린시 보상 이력 API * [FEATURE] 데일리 챌린지 마이페이지 #467 - 이력 획득한 경우를 고려해 leftJoin으로 수정 - 이력 시간 내림차순 정렬 * [FEATURE] 데일리 챌린지 마이페이지 #467 - logId, totalCount 추가 - request dto allowableValues 추가 * [FEATURE] 데일리 챌린지 리더보드 #469 - 챌린지 문제 정보 조회 API * [FEATURE] 데일리 챌린지 리더보드 #469 - 금일 챌린지 참여 여부 확인 API * [FEATURE] 데일리 챌린지 리더보드 #469 - 리더보드 조회 API * [FEATURE] 데일리 챌린지 리더보드 #469 - 불필요 import 삭제 * [FEATURE] 데일리 챌린지 API 수정 #470 - 비로그인 사용자도 챌린지 참여자 수 조회 가능하도록 수정 * [FEATURE] 데일리 챌린지 API 수정 #470 - 출석부 조회 시 보상 사용 여부 필드 추가 * [FEATURE] 데일리 챌린지 #462 - /check-join 크롤링 로직 삭제 - 문의하기 전체 권한 허용 * [FEATURE] 데일리 챌린지 #462 - 챌린지 참여 이력 23-24시 것 고려 안 되는 오류 해결 * [FEATURE] 데일리 챌린지 #462 - 00시에 크롤링 시 어제 문제 기준으로 수정 * [FEATURE] 데일리 챌린지 #462 - 정규스터디 상세 API에 종료 여부 필드 추가 - 기수 갱신 시 커리큘럼 order 유지 * [FEATURE] 데일리 챌린지 #462 - 로그인 멤버 정보에 regularStudyId 추가 --- .github/ISSUE_TEMPLATE/issue-template.md | 34 ++++ .github/pull_request_template.md | 21 +++ .idea/gradle.xml | 1 - .idea/vcs.xml | 2 +- .../service/CreateGenerationService.java | 1 + .../jpa/IntegerListToStringConverter.java | 30 ++++ .../config/jpa/StringListToByteConverter.java | 37 ----- .../attendance/enums/AttendanceType.java | 13 +- .../challenge_join_log/ChallengeJoinLog.java | 75 +++++++++ .../enums/LanguageType.java | 14 ++ .../ChallengeJoinLogRepository.java | 10 ++ .../challenge_problem/ChallengeProblem.java | 36 +++++ .../ChallengeProblemRepository.java | 13 ++ .../CoreChallengeProblemService.java | 20 +++ .../challenge_reward/ChallengeReward.java | 43 ++++++ .../repository/ChallengeRewardRepository.java | 10 ++ .../ChallengeRewardLog.java | 77 ++++++++++ .../enums/ChallengeRewardLogType.java | 13 ++ .../ChallengeRewardLogRepository.java | 8 + .../challenge_winner/ChallengeWinner.java | 42 +++++ .../repository/ChallengeWinnerRepository.java | 17 ++ .../ProblemAlgorithmRepository.java | 6 + .../org/example/security/SecurityConfig.java | 2 + .../org/example/util/http_request/Url.java | 13 +- .../response/ListAttendanceDto.java | 12 ++ .../DetailAttendanceRepository.java | 47 ++++++ .../repository/ListAttendanceRepository.java | 24 ++- .../controller/ChallengeController.java | 25 +++ .../challenge/service/ChallengeService.java | 18 +++ .../service/DetailChallengeService.java | 33 ++++ .../ChallengeJoinLogController.java | 31 ++++ .../response/ListChallengeJoinLogDto.java | 45 ++++++ .../ListChallengeJoinLogResponse.java | 25 +++ .../DetailChallengeJoinLogRepository.java | 47 ++++++ .../ListChallengeJoinLogRepository.java | 56 +++++++ .../service/ChallengeJoinLogService.java | 24 +++ .../CreateChallengeJoinLogService.java | 101 ++++++++++++ .../service/ListChallengeJoinLogService.java | 71 +++++++++ .../ChallengeProblemController.java | 27 ++++ .../DetailChallengeProblemResponse.java | 32 ++++ .../service/ChallengeProblemService.java | 21 +++ .../CreateChallengeProblemService.java | 67 ++++++++ .../DetailChallengeProblemService.java | 41 +++++ .../controller/ChallengeRewardController.java | 39 +++++ .../request/UseChallengeRewardDto.java | 18 +++ .../request/UseChallengeRewardRequest.java | 13 ++ .../MyChallengeRewardStatusResponse.java | 22 +++ .../CreateChallengeRewardRepository.java | 35 +++++ .../service/ChallengeRewardService.java | 28 ++++ .../service/CreateChallengeRewardService.java | 145 ++++++++++++++++++ .../service/DetailChallengeRewardService.java | 34 ++++ .../ChallengeRewardLogController.java | 33 ++++ .../SearchChallengeRewardLogRequest.java | 13 ++ .../response/ListChallengeRewardLogDto.java | 60 ++++++++ .../ListChallengeRewardLogResponse.java | 23 +++ .../ListChallengeRewardLogRepository.java | 68 ++++++++ .../service/ChallengeRewardLogService.java | 20 +++ .../ListChallengeRewardLogService.java | 45 ++++++ .../inquiry/controller/InquiryController.java | 5 - .../controller/InquiryReplyController.java | 2 - .../response/MemberInfoResponse.java | 3 + .../repository/DetailMemberRepository.java | 19 ++- .../repository/ListMemberRepository.java | 49 ++++++ .../response/RegularStudyInfoResponse.java | 3 + .../repository/DetailStudyRepository.java | 3 +- .../service/CreateWorkbookService.java | 8 +- .../org/example/schedule/SchedulerConfig.java | 30 ++++ .../CreateChallengeProblemServiceTest.java | 50 ++++++ .../CreateChallengeRewardServiceTest.java | 20 +++ 69 files changed, 2018 insertions(+), 55 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/issue-template.md create mode 100644 .github/pull_request_template.md create mode 100644 module-core/src/main/java/org/example/config/jpa/IntegerListToStringConverter.java delete mode 100644 module-core/src/main/java/org/example/config/jpa/StringListToByteConverter.java create mode 100644 module-core/src/main/java/org/example/domain/challenge_join_log/ChallengeJoinLog.java create mode 100644 module-core/src/main/java/org/example/domain/challenge_join_log/enums/LanguageType.java create mode 100644 module-core/src/main/java/org/example/domain/challenge_join_log/repository/ChallengeJoinLogRepository.java create mode 100644 module-core/src/main/java/org/example/domain/challenge_problem/ChallengeProblem.java create mode 100644 module-core/src/main/java/org/example/domain/challenge_problem/repository/ChallengeProblemRepository.java create mode 100644 module-core/src/main/java/org/example/domain/challenge_problem/repository/CoreChallengeProblemService.java create mode 100644 module-core/src/main/java/org/example/domain/challenge_reward/ChallengeReward.java create mode 100644 module-core/src/main/java/org/example/domain/challenge_reward/repository/ChallengeRewardRepository.java create mode 100644 module-core/src/main/java/org/example/domain/challenge_reward_log/ChallengeRewardLog.java create mode 100644 module-core/src/main/java/org/example/domain/challenge_reward_log/enums/ChallengeRewardLogType.java create mode 100644 module-core/src/main/java/org/example/domain/challenge_reward_log/repository/ChallengeRewardLogRepository.java create mode 100644 module-core/src/main/java/org/example/domain/challenge_winner/ChallengeWinner.java create mode 100644 module-core/src/main/java/org/example/domain/challenge_winner/repository/ChallengeWinnerRepository.java create mode 100644 module-user/src/main/java/org/example/domain/attendance/repository/DetailAttendanceRepository.java create mode 100644 module-user/src/main/java/org/example/domain/challenge/controller/ChallengeController.java create mode 100644 module-user/src/main/java/org/example/domain/challenge/service/ChallengeService.java create mode 100644 module-user/src/main/java/org/example/domain/challenge/service/DetailChallengeService.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_join_log/controller/ChallengeJoinLogController.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_join_log/controller/response/ListChallengeJoinLogDto.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_join_log/controller/response/ListChallengeJoinLogResponse.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_join_log/repository/DetailChallengeJoinLogRepository.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_join_log/repository/ListChallengeJoinLogRepository.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_join_log/service/ChallengeJoinLogService.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_join_log/service/CreateChallengeJoinLogService.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_join_log/service/ListChallengeJoinLogService.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_problem/controller/ChallengeProblemController.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_problem/controller/response/DetailChallengeProblemResponse.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_problem/service/ChallengeProblemService.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_problem/service/CreateChallengeProblemService.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_problem/service/DetailChallengeProblemService.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_reward/controller/ChallengeRewardController.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_reward/controller/request/UseChallengeRewardDto.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_reward/controller/request/UseChallengeRewardRequest.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_reward/controller/response/MyChallengeRewardStatusResponse.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_reward/repository/CreateChallengeRewardRepository.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_reward/service/ChallengeRewardService.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_reward/service/CreateChallengeRewardService.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_reward/service/DetailChallengeRewardService.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_reward_log/controller/ChallengeRewardLogController.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_reward_log/controller/request/SearchChallengeRewardLogRequest.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_reward_log/controller/response/ListChallengeRewardLogDto.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_reward_log/controller/response/ListChallengeRewardLogResponse.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_reward_log/repository/ListChallengeRewardLogRepository.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_reward_log/service/ChallengeRewardLogService.java create mode 100644 module-user/src/main/java/org/example/domain/challenge_reward_log/service/ListChallengeRewardLogService.java create mode 100644 module-user/src/main/java/org/example/domain/member/repository/ListMemberRepository.java create mode 100644 module-user/src/test/java/org/example/domain/challenge_problem/service/CreateChallengeProblemServiceTest.java create mode 100644 module-user/src/test/java/org/example/domain/challenge_reward/service/CreateChallengeRewardServiceTest.java diff --git a/.github/ISSUE_TEMPLATE/issue-template.md b/.github/ISSUE_TEMPLATE/issue-template.md new file mode 100644 index 00000000..954a258c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/issue-template.md @@ -0,0 +1,34 @@ +--- +name: Issue template +about: Describe this issue template's purpose here. +title: '' +labels: '' +assignees: engus525 + +--- + +## ✅ 목적 + +- + +## 🛠️ 작업 내용 + +- [ ] +- [ ] +- [ ] + +## 💬 참고사항 + +- + +## ⏰ 예상 일정 + +- + +## ⚡ 우선순위 + +- + +## 📎 관련 이슈 + +- diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000..def7b0ff --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,21 @@ +## #️⃣ Issue Number + + +## 📝 요약(Summary) + + +## 🛠️ PR 유형 +어떤 변경 사항이 있나요? + +- [ ] 새로운 기능 추가 +- [ ] 버그 수정 +- [ ] 코드에 영향을 주지 않는 변경사항(오타 수정, 탭 사이즈 변경, 변수명 변경) +- [ ] 코드 리팩토링 +- [ ] 주석 추가 및 수정 +- [ ] 문서 수정 +- [ ] 테스트 추가, 테스트 리팩토링 +- [ ] 빌드 부분 혹은 패키지 매니저 수정 +- [ ] 파일 혹은 폴더명 수정 +- [ ] 파일 혹은 폴더 삭제 + +## 📸스크린샷 (선택) diff --git a/.idea/gradle.xml b/.idea/gradle.xml index d433d76f..102d7dd0 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -4,7 +4,6 @@