Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor: 포인트 도메인 운영코드 개선과 테스트코드 개선 및 추가 #144

Merged
merged 8 commits into from
Nov 3, 2024

Conversation

zzoe2346
Copy link
Contributor

@zzoe2346 zzoe2346 commented Nov 3, 2024

#️⃣ 연관된 이슈

ex) #이슈번호, #이슈번호

#137

📝 작업 내용

이번 PR에서 작업한 내용을 간략히 설명해주세요.(이미지 첨부 가능)

  • 관리자 페이지 표 이름 수정
  • PointAdminService (포인트 관리자 서비스계층) 테스트 추가
  • 미흡했던 PointService 테스트 개선 및 추기
  • 관리자 페이지에서 요청시간 표시 개선
    • 기존: 2024-11-03T15:38:54.916219
    • 변경: yyyy년 MM월 dd일 HH시 mm분
  • 기존 관리자 페이지 CSS 가 좀 그래서 수정해봤는데 약간 나아진거 같아요 ㅜ 감각 좋으신분 수정 대환영입니다
  • 기존에 출금 요청을 한 포인트 로그에 수수료가 적용된걸로 로그로 생성되어 프론트 페이지에서 신청한 출금액과 다른 액수가 표시됨
    • 예) 시니또는 5000원을 출금 요청했는데 보이는 출금 요청 로그는 4000원이 되어있음
    • SCR-20241103-oarh << 5000원 출금요청했는데 4000원이 표시되는 모습
    • 그래서 요청 로그에는 출금 액수 그대로 나오도록 수정하고, 관리자 페이지에서는 수수료가 적용된 금액으로 나오게 수정하였습니다.

스크린샷 (선택)

SCR-20241103-nwww

💬 리뷰 요구사항(선택)

리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요

ex) 메서드 XXX의 이름을 더 잘 짓고 싶은데 혹시 좋은 명칭이 있을까요?

⏰ 현재 버그

✏ Git Close

close #이슈번호

close #137

@zzoe2346 zzoe2346 added ✅ Test Code 테스트 관련 작업을 진행하는 경우 ♻️ Refactoring 코드 리팩토링 & 클린 코드 작업을 진행하는 경우 labels Nov 3, 2024
@zzoe2346 zzoe2346 self-assigned this Nov 3, 2024
@zzoe2346 zzoe2346 requested review from eunsoni, GitJIHO and 2iedo November 3, 2024 06:45
Copy link
Collaborator

@eunsoni eunsoni left a comment

Choose a reason for hiding this comment

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

관리자 페이지가 전반적으로 깔끔해진 것 같아요!
테스트 코드도 잘 작성해주신 것 같습니다~
수고많으셨어요 😆

@@ -38,7 +43,7 @@
<form method="post"
th:action="@{/admin/point/withdraw/complete/{pointLogId}(pointLogId=${logWithBankInfo.pointLogId()})}"
th:if="${logWithBankInfo.status().toString()} == 'WITHDRAW_WAITING'">
<button type="submit">입금 완료 & 완료 상태로 변경</button>
<button type="submit">완료 상태로 변경</button>
Copy link
Collaborator

Choose a reason for hiding this comment

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

ui 멘트가 깔끔해진 것 같아요!

Copy link
Member

@GitJIHO GitJIHO left a comment

Choose a reason for hiding this comment

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

바뀐 ui가 훨 깔끔한 것 같습니다 👍
고생하셨습니다!

Comment on lines +99 to +101
public int getPointPriceAfterFee() {
return (int) (price * WITHDRAWAL_FEE_RATE);
}
Copy link
Member

Choose a reason for hiding this comment

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

디테일이 좋네요 👍

Copy link
Member

Choose a reason for hiding this comment

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

오우 관리자페이지 테스트코드까지 작성하셨네요 ㄷㄷ 👍

Copy link
Collaborator

@2iedo 2iedo left a comment

Choose a reason for hiding this comment

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

관리자화면 테스트코드까지 짜실줄은 몰랐네요 ㄷㄷ
고생하셨습니다!

@zzoe2346 zzoe2346 merged commit b32d48a into Weekly Nov 3, 2024
1 check passed
@zzoe2346 zzoe2346 deleted the Test/issue-#137 branch November 3, 2024 13:45
cheol-95 pushed a commit that referenced this pull request Nov 11, 2024
* Fix, Refactor : refreshToken 만료 시 InvalidJwtException 반환하도록 변경, accessToken의 만료 시간 수정 (#139)

* fix : InvalidjwtException 에러 던지도록 수정

* refactor : accessToken의 만료시간 5분으로 수정

* Feat: helloCallDetailResponse에 ServiceTime 필드 추가 (프론트 요청) (#143)

feat: 안부전화 상세보기 응답필드에 serviceTime추가

* Refactor: 카카오 DTO 4차 코드리뷰 반영  (#141)

* Feat : 각 도메인별 테스트 코드 추가 및 수정 및 각 멤버 별(보호자, 시니또) 할 수 있는 행동 제약 추가 (#131)

* feat : 보호자만 시니어 등록할 수 있도록 createSenior 메소드 수정

* refactor : 시니또 제거하는 메소드 삭제

* Test : Guard 도메인의 서비스 레이어 테스트 코드 작성.
update 시 테스트를 위해 guardService 클래스 수정

* test : Sinitto 도메인에 대한 서비스 레이어의 테스트 코드 작성

* refactor : verify 메소드 사용하여 테스트 코드 수정

* test : GuardGuideline 도메인의 서비스 레이어 테스트 코드 작성

* refactor : accessToken 만료시간 10분으로 변경

* refactor : accessToken의 만료시간 5분으로 변경

* refactor : refreshToken 만료 시 InvalidJwtException 에러 발생하도록 변경

* test : auth 도메인의 서비스 레이어 테스트 코드 작성

* refactor : 오탈자 수정

* refactor : 변수명 변경

* test : Member 도메인의 서비스 레이어에 대한 테스트 코드 작성

* test : HelloCall 도메인의 서비스 레이어 테스트 코드 작성

* style : intellij로 코드 서식 변경

* refactor : 사용하지 않는 mock 객체 삭제

* refactor : update 메소드 관련 테스트 코드 수정

* Refactor: 포인트 도메인 운영코드 개선과 테스트코드 개선 및 추가 (#144)

* refactor: 포인트 어드민 컨트롤러에 있던 서비스로직 포인트 어드민 서비스 클래스로 옮김

* test: 포인트 어드민 서비스 테스트

* test: 포인트 서비스 테스트 추가 및 개선

* refactor: 포인트 출금 요청시 로그에는 출금 요청한 포인트 그대로 찍히도록 변경. 단, 관리자페이지에서는 수수료가 적용된 포인트로 보이도록 함.

* refactor: 관리자 페이지 약간의 수정,css 더 깔끔히 수정

* refactor: 관리자 페이지 가독성을 위해 LocalDateTime을 포맷팅해서 String으로 등록 시간을 표현한다.

* fix: 테스트 정상 통과하도록 수정

* chore: 버튼 이름 수정

* Deploy: 무중단 배포 구현 중 health check를 위한 dependency 추가 (#146)

deploy: health check를 위한 dependency 추가

* Fix: 배포 과정중 dependency 에러처리 (#148)

fix: dependency 추가

* Test: 무중단배포 테스트를 위한 pr (#150)

* fix: dependency 추가

* test: 무중단배포 테스트를 위한 값 변경

* HotFix: 토큰 보안로직 추가 구현 (#152)

* fix: 엑세스 토큰과 리프레쉬 토큰 구별 claim값 및 검증로직 추가

* fix: 테스트코드 오류 수정

* HotFix: swagger server 환경따라 변경 및 도메인 상수화 구현 (#154)

* swagger 환경변수 확인하여 다른 server에서 try it out 하도록 구현

* refactor: 구별용 url 상수화

* fix: 테스트코드 오류 수정

* Refactor: 포인트관련 로직을 포인트 서비스계층으로 통합, 개별 트랜잭션 적용, 테스트 코드 개선 (#132)

* refactor: 불필요한 private method 통합

* refactor: 개별 트랜잭션으로 변경
- 메모리 소유 기간 줄일 수 있다
- 유저에게 더욱 신속한 피드백 할 수 있다.
- 예외 발생에 전보다 덜 취약.

* refactor: 포인트 관련 로직 서비스계층으로 옮김

* test: 테스트 추가하고, 가독성 개선

* refactor: SQL 수정

* test: 안부전화 서비스에서 포인트 로직 서비스층으로 통합으로 인한 수정

* remove: 깃헙 액션 테스트 통과를 위한 수정

* Deploy: 프론트 배포주소 변경에 따른 상수화값 변경 (#157)

* deploy: 프론트 배포주소 변경에 따른 서버 변경

* test: 테스트 mock값 변경

* hotfix : Exception 변경 (#160)

* Feat: 카카오메시지 전송 프로토타입 생성 완료 (#161)

feat: 카카오 메시지 (포인트 충전 접수, 포인트 충전 완료, 포인트 출금 접수, 포인트 출금 완료) 추가

* HotFix: 카카오메시지 형식 수정 완료 (#164)

* fix: 수수료 변경

* fix: 카카오메시지 형식 수정

* HotFix : refresh Token 1분 이내에 발급되었을 경우 다시 발급되지 않게 수정 (#168)

* feat, hotfix : 회원탈퇴 api 추가 및 redisTemplate 수정 (#170)

* feat, hotfix : 회원탈퇴 api 추가 및 redisTemplate 수정

* feat : 경로 추가

* Deploy: DB mysql로 마이그레이션 구현 (#171)

* deploy: h2 -> mysql 마이그레이션

* test: 내부 저장소를 사용하지 않고 mysql을 사용하도록 수정

* test: 테스트 mock 추가

* git action 테스트에 mysql 정보 주입 및 secret 관리

* deploy: mysql 준비과정까지 대기 aciton 추가:

* deploy: 도커 사용을 위해 root 비밀번호 설정

* deploy: action 로직 개편

* deploy: 설정된 환경변수 스프링 실행 때 삽입

* test: ddl 설정 변경

* test: 테스트에는 트랜잭션 적용

* HotFix: 테스트 ddl 설정 변경 (#174)

fix: ddl 타입 변경 및 더미데이터 추가는 배포서버 재부팅때만 적용

* feat, test : redis 전체 삭제 기능 구현 및 테스트 코드 추가 (#175)

* feat, test : redis 전체 삭제 기능 구현 및 테스트 코드 추가

* fix: 레디스 포트 명시적으로 배포서버로 변경

* deploy: 보안상 속성파일 위치 변경

---------

Co-authored-by: gitjiho <[email protected]>

* Fix: 환불하는데 돈이 오히려 차감되던 버그 수정과 시니어 등록, 수정 시 폰 번호 중복 확인 로직 추가 (#166)

* fix: 환불하는데 돈이 오히려 차감되던 버그 수정

* feat: 시니어 등록, 수정 시 폰 번호 중복 확인 로직 추가

* remove: 안부전화 수정 api 제거

* HotFix: 로그아웃 시 멤버가 없으면 로그아웃 안되는 에러 해결 (#178)

fix: 멤버가 탈퇴한 경우에도 로그아웃 가능하도록 수정

* Feat: 시니또 탈퇴시 본인이 할당받은 서비스가 있으면 다시 대기상태로 전환되는 로직 추가, SET_NULL 설정 (#181)

* feat: 콜백 서비스층에 탈퇴시 들어가는 로직 구현

* feat: 안부전화 서비스층에 탈퇴시 들어가는 로직 구현

* feat: 멤버 탈퇴 로직에 콜백, 안부전화 진행중인거 확인하고 진행중인거 있으면 대기상태로 전환하는 로직 추가

* fix: 안부전화는 시니어만 다르면 동시에 여러개 가능하다

* fix: CallbackRepository 잘못된 메서드 제거 후 의존하는 코드 수정

* feat: HelloCall 엔티티에 `@OnDelete(action = OnDeleteAction.SET_NULL)`

* feat: 개별 트랜잭션으로 분리

* feat: HelloCallTimeLog의 멤버속성에 `    @onDelete(action = OnDeleteAction.SET_NULL)
` 추가, 시니또이름 분기 추가

* fix: 개별 트랜잭션 적용. 기존에는 개별이 아니라 하나의 트랜잭션에 포함되어 있었다.

* Refactor: 5차 코드리뷰 기반 개편 (안부전화 요일 변환, URL 환경변수화 관련) 구현 (#185)

* refactor: 안부전화 요일 변환 로직 Map 사용방식으로 변환

* refactor: SLACK_WEBHOOK_URL 값을 환경변수화

* Refactor: 카카오 메시지 필드 개편, 입금 계좌 정보 gitignore, 프론트 구분용 uri gitignore화 (#186)

* fix: 한글 제외

* HotFix: 시니어 정보 수정 시 전화번호를 수정하지 않고 다른 필드를 수정하면 전화번호 중복 오류가 뜨는 문제 해결 (#183)

fix: 시니어 정보 수정 시 전화번호를 수정하지 않고 다른 필드를 수정하면 전화번호 중복 오류가 뜨는 문제 해결

* HotFix: 슬랙 웹 훅 URL 환경변수화 과정에서 오류 해결 (#188)

fix: 오류 수정

* Deploy: 충전 및 출금 요청 발생시 슬랙메시지 전송 기능 추가 (#190)

* feat: 충전 및 출금 요청 발생시 슬랙메시지 전송 기능 추가

* test: 테스트코드 수정

* test: 테스트용 yml 추가

* test: 테스트용으로는 value null값으로 지정

* HotFix: 속성 Value를 항상 null로 받는 문제 해결 (#192)

* fix: 속성 Value를 항상 null로 받는 문제 해결

* deploy: 환경변수 추가

* HotFix: 중복 환경변수 이분화 (#197)

fix: 중복 환경변수 이분화

---------

Co-authored-by: 2iedo <[email protected]>
Co-authored-by: JIHO LEE <[email protected]>
Co-authored-by: gitjiho <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
♻️ Refactoring 코드 리팩토링 & 클린 코드 작업을 진행하는 경우 ✅ Test Code 테스트 관련 작업을 진행하는 경우
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Refactor: 포인트 도메인 운영코드 개선과 테스트코드 개선 및 추가
4 participants