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 : 소셜링 검색결과 필터링 구현 #58

Merged
merged 14 commits into from
Aug 5, 2024

Conversation

hd0rable
Copy link
Member

@hd0rable hd0rable commented Aug 3, 2024

요약 (Summary)

🔑 변경 사항 (Key Changes)

  • GetSocialringSearchFilterRequest/Response dto 작성 : 소셜링 검색결과 필터링에 필요한 dto를 작성했습니다.
  • SocialringService.searchFilterSocialring 작성 : 소셜링 검색결과 필터링 서비스를 작성했습니다.
  • SocialringController.searchFilterSocialring 작성 : 소셜링 검색결과 필터링 컨트롤러를 작성했습니다.
  • SocialringRepository.findAllByStatus 작성 : 모든 소셜링을 반환하기 위해 관련 레포지토리 작성했습니다.

📝 리뷰 요구사항 (To Reviewers)

  • 명세서와 동일하게 검색결과에 필터링 된 소셜링아이디들이 잘 반환되는지
  • 예외처리가 잘 일어나는지
  • 검색결과 필터링이 제대로 되는지

확인 방법

코드를 실행시키고,mysql workbench에서 다음 쿼리문을 실행시켜주세요.
member 중 하나는 리뷰자의 정보로 수정해야합니다.

use likelion12;

INSERT INTO exercise (created_at, modified_at,exercise_name, status) VALUES
('2024-06-30 12:00:00.000000', '2024-06-30 12:30:00.000000', '축구', 'ACTIVE');
INSERT INTO exercise (created_at, modified_at,exercise_name, status) VALUES
('2024-06-30 12:00:00.000000', '2024-06-30 12:30:00.000000', '배구', 'ACTIVE');

INSERT INTO member (created_at, modified_at, email, member_img, member_name, gender,exercise_id,status) VALUES
('2024-06-30 12:00:00.000000', '2024-06-30 12:30:00.000000', '[email protected]', '프로필 이미지', '강희진', 'F', 1,'ACTIVE'); -- 리뷰자 계정
INSERT INTO member (created_at, modified_at, email, member_img, member_name, gender,exercise_id,status) VALUES
('2024-07-30 12:00:00.000000', '2024-07-30 12:30:00.000000', '[email protected]', '프로필 이미지', '강의진', 'F', 1,'ACTIVE');
INSERT INTO member (created_at, modified_at, email, member_img, member_name, gender,exercise_id,status) VALUES
('2024-07-30 12:00:00.000000', '2024-07-30 12:30:00.000000', 'kanghuijin123@gmail.com', '프로필 이미지', '강', 'F', 2,'ACTIVE');

INSERT INTO activity_region (created_at, modified_at, activity_region_name,status) VALUES
('2024-06-30 12:00:00.000000', '2024-06-30 12:30:00.000000', '광진구','ACTIVE');
INSERT INTO activity_region (created_at, modified_at, activity_region_name,status) VALUES
('2024-06-30 12:00:00.000000', '2024-06-30 12:30:00.000000', '서초구','ACTIVE');
INSERT INTO facility (created_at, modified_at, facility_name, facility_address, facility_phone,facility_size, administer, 
weekday, weekend, status) VALUES
('2024-06-30 12:00:00.000000', '2024-06-30 12:30:00.000000', '광진구 체육관', '광진구 샬라샬라', '000-0000', '3층규모', '서울시','2024-06-30 12:30:00.000000','2024-06-30 12:30:00.000000','ACTIVE');

insert INTO socialring(socialring_cost,socialring_date,total_recruits,activity_region_id,created_at,
exercise_id,facility_id,modified_at,comment,comment_simple,socialring_img,socialring_name,gender,level,status) VALUES
(0, '2024-07-31',10,1,'2024-06-30 12:00:00.000000',1,1,'2024-06-30 12:30:00.000000', '소셜링 설명1', '소셜링 한줄설명1','소셜링 이미지1', '소셜링1','F', 'A','ACTIVE');

insert INTO socialring(socialring_cost,socialring_date,total_recruits,activity_region_id,created_at,
exercise_id,facility_id,modified_at,comment,comment_simple,socialring_img,socialring_name,gender,level,status) VALUES
(1000, '2024-07-31',8,1,'2024-06-30 12:00:00.000000',2,1,'2024-06-30 12:30:00.000000', '소셜링 설명2', '소셜링 한줄설명2','소셜링 이미지2', '소셜링2','F', 'S','ACTIVE');
insert INTO socialring(socialring_cost,socialring_date,total_recruits,activity_region_id,created_at,
exercise_id,facility_id,modified_at,comment,comment_simple,socialring_img,socialring_name,gender,level,status) VALUES
(1000, '2024-07-31',5,1,'2024-06-30 12:00:00.000000',2,1,'2024-06-30 12:30:00.000000', '소셜링 설명3', '소셜링 한줄설명3','소셜링 이미지3', '소셜링3','F', 'S','ACTIVE');

insert INTO member_socialring(created_at,member_id,modified_at,socialring_id,role,status) values
('2024-06-30 12:00:00.000000',1,'2024-06-30 12:30:00.000000',1,'CAPTAIN','ACTIVE'), -- 첫 번째 소셜링, 첫 번째 멤버
('2024-06-30 12:00:00.000000',3,'2024-06-30 12:30:00.000000',1,'CREW','ACTIVE'), -- 첫 번째 소셜링, 세 번째 멤버
('2024-06-30 12:00:00.000000',2,'2024-06-30 12:30:00.000000',2,'CAPTAIN','ACTIVE'), -- 두 번째 소셜링, 두 번째 멤버
('2024-06-30 12:00:00.000000',3,'2024-06-30 12:30:00.000000',2,'CREW','ACTIVE'), -- 두 번째 소셜링, 세 번째 멤버
('2024-06-30 12:00:00.000000',1,'2024-06-30 12:30:00.000000',3,'CAPTAIN','ACTIVE'); -- 세 번째 소셜링, 첫 번째 멤버

그 다음 카카오 소셜 로그인을 해주세요.

https://kauth.kakao.com/oauth/authorize?client_id=220ac935aaf5aa43884ee21823d82237&redirect_uri=http://localhost:8080/auth/kakao/callback&response_type=code

엑세스토큰을 postman에 넣고 테스트 해주세요

다음 주소로 GET 요청 보내주세요

http://localhost:8080/socialring/search/filter

request body는 다음과 같이 구성됩니다.

{
	"exerciseName" : null,
    "gender" : "F",
	"level" : null,
	"socialringCostMin" : null,
	"socialringCostMax" : null,
	"totalRecruitsMin" : 0,
	"totalRecruitsMax" : 9
}
{
	"exerciseName" : null,
    "gender" : "F",
	"level" : null,
	"socialringCostMin" : null,
	"socialringCostMax" : null,
	"totalRecruitsMin" : 6,
	"totalRecruitsMax" : null
}
{
	"exerciseName" : null,
    "gender" : "M",
	"level" : null,
	"socialringCostMin" : null,
	"socialringCostMax" : null,
	"totalRecruitsMin" : 6,
	"totalRecruitsMax" : null
}

image

첫번째 요청을 보냈을때 배구이면서 성별이 F , 모집정원인원이 0~9 사이인 소셜링 아이디는 2,3이기때문에 위와같은 결과가 나와야합니다!
소셜링1은 축구이면서 모집인원이 10명이라 필터링되야합니다!

image

두번째 요청을 보냈을때 성별이 F, 모집정원인원이 6이상인 소셜링 아이디가 1,2이기때문에 위와같은 결과가 나와야합니다!

소셜링3은 모집정원인원이 5라 필터링되야합니다!
image

세번째 요청을 보냈을때 생성된 소셜링은 성별이 모두F이기때문에 해당하는 소셜링이없으므로 위와같은 예외처리가 나온다면 성공입니다!

@hd0rable hd0rable linked an issue Aug 3, 2024 that may be closed by this pull request
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-04 오전 12 12 38

여기안에 들어가는 값들을 다 주면 어떨까요??? 프론트가 아이디만 가지고 값을 띄우기 어려울 것 같아서요..!

@hd0rable
Copy link
Member Author

hd0rable commented Aug 4, 2024

image

image

수정요청사항대로 반환값 조회화면과 동일하게 보이도록 수정했습니다아~ 확인해주시고 머지부탁드립니다!1

@SonMyeongJin SonMyeongJin merged commit 3780325 into develop Aug 5, 2024
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] 소셜링 검색결과 필터링 구현
3 participants