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

Feat : 리뷰 작성 #45

Merged
merged 4 commits into from
Aug 2, 2024
Merged

Feat : 리뷰 작성 #45

merged 4 commits into from
Aug 2, 2024

Conversation

SonMyeongJin
Copy link
Contributor

@SonMyeongJin SonMyeongJin commented Aug 1, 2024

요약 (Summary)

  • 리뷰 작성 로직 만들었습니다
  • Post방식으로 /review 로 받습니다.
  • request body에 "facilityId" 는 꼭 DB에 저장되어 있는 Id로 요청하셔야 정상적으로 작동합니다. 없는 id로 요청시 예외 발생합니다.

(application.yml은 commit하지 않았습니다)

🔑 변경 사항 (Key Changes)

  • 변경 사항 작성

📝 리뷰 요구사항 (To Reviewers)

  • DB에 리뷰 잘 저장되는지
  • 요청완료후 review_id 반환 되는지

확인 방법

DB에 우선 예시용 facility 를 하나 만듭니다.

INSERT INTO facility (
    created_at, 
    facility_id, 
    modified_at, 
    weekday, 
    weekend, 
    administer, 
    facility_address, 
    facility_name, 
    facility_phone, 
    facility_size, 
    status
) VALUES (
    '2024-08-01 10:15:30.123456', -- created_at
    1234567890,                    -- facility_id (자동 증가 PK)
    '2024-08-02 14:22:10.654321', -- modified_at
    '2024-08-01 09:00:00.000000', -- weekday
    '2024-08-02 10:00:00.000000', -- weekend
    'John Doe',                    -- administer
    '1234 Elm Street, Springfield',-- facility_address
    'Springfield Community Center',-- facility_name
    '+1-555-1234',                -- facility_phone
    'Large',                       -- facility_size
    'ACTIVE'                       -- status
);

POST방식으로 /review 로 요청을 보냅니다. 헤더에 auth필요합니다.
request body 에는 밑에 정보들이 필요하며 facilityId는 반드시 DB에 있는 값을 사용합니다.

{
  "facilityId": 1234567890,
  "ranking": 5,
  "comment": "이 시설은 정말 훌륭했습니다. 서비스가 친절하고 청결도 매우 좋습니다."
}

다음과같이 response가 반환되는지 확인합니다

{
    "code": 1000,
    "status": 200,
    "message": "요청에 성공하였습니다.",
    "result": {
        "reviewId": 1
    }
}

review 테이블에 잘 저장되었는지 확인합니다

@SonMyeongJin SonMyeongJin linked an issue Aug 1, 2024 that may be closed by this pull request
@jsilver01 jsilver01 changed the title 24 be 리뷰 작성 Feat : 리뷰 작성 Aug 1, 2024
Copy link
Member

@jsilver01 jsilver01 left a comment

Choose a reason for hiding this comment

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

스크린샷 2024-08-02 오후 1 45 07

리뷰가 들어가긴하는데 memberId 가 널값으로 들어갑니다! 요 부분 확인 부탁드립니다

Copy link
Member

@jsilver01 jsilver01 left a comment

Choose a reason for hiding this comment

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

application.yml 커밋 안해주신 센스...👍 제 리뷰 확인만 해주시면 될 것 같습니다!! 수고하셨습니다~


@PostMapping
public BaseResponse<PostReviewResponse> createReview(@RequestBody PostReviewRequest postReviewRequest) {
Long reviewId = reviewService.createReview(postReviewRequest.getFacilityId(),
Copy link
Member

Choose a reason for hiding this comment

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

헤더에 토큰 받는 부분 누락된 것 같습니다!


import static jakarta.persistence.FetchType.LAZY;

@Entity
@Getter
@Setter
Copy link
Member

Choose a reason for hiding this comment

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

도메인에는 세터를 보통 열어두지 않습니다! 메소드를 새로 만드셔서 작성해주시는게 좋아요! 어제 희진님 디코로 리뷰해드리면서 말씀드린 부분인데 단톡에 update 함수 사진 하나 올려둔거 있을거에요 참고하셔서 수정해주시면 좋을 것 같습니다~

Review review = new Review();
review.setFacility(facility);
review.setRanking(ranking);
review.setComment(comment);
Copy link
Member

Choose a reason for hiding this comment

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

위에서 말한 것 처럼 도메인에 세터를 지우면 이 부분이 도메인에 작성된 메소드를 부르고 그 안에 값들을 집어넣는 식으로 변경되어야 할 것 같습니다!

@SonMyeongJin
Copy link
Contributor Author

감사합니다 ~! 전부 확인후 수정하였습니다 !

@SonMyeongJin
Copy link
Contributor Author

SonMyeongJin commented Aug 2, 2024

INSERT INTO exercise (
    created_at,
    exercise_id,
    modified_at,
    exercise_name,
    status
) VALUES (
    '2024-08-01 10:00:00',  -- created_at: 예시 시각
    1,                      -- exercise_id: 예시 값
    '2024-08-01 10:00:00',  -- modified_at: 예시 시각
    'Push-ups',             -- exercise_name: 운동 이름
    'ACTIVE'                -- status: 상태
);
INSERT INTO member (
    created_at,
    exercise_id,
    modified_at,
    email,
    member_img,
    member_name,
    gender,
    status
) VALUES (
    NOW(),                       -- created_at: 현재 시각
    1,                          -- exercise_id: 실제 존재하는 값
    NOW(),                       -- modified_at: 현재 시각
    '[email protected]',          -- email: 이메일 주소
    'profile_image.jpg',        -- member_img: 이미지 파일 이름
    '손명진',                   -- member_name: 회원 이름
    'M',                         -- gender: 성별 (M for Male)
    'ACTIVE'                     -- status: 회원 상태
);

테스트시 위 쿼리문을 추가해서 확인해주세요 !
멤버부분은 자신의 정보를 입력해야합니다 !

@SonMyeongJin SonMyeongJin merged commit d151a64 into develop Aug 2, 2024
@jsilver01 jsilver01 deleted the 24-be-리뷰-작성 branch August 2, 2024 15:41
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.

[BE] 리뷰 작성
2 participants