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/163] 우선순위 계산 로직 API 개발 #174

Merged
merged 8 commits into from
Aug 16, 2024
Merged

Conversation

rimi3226
Copy link
Contributor

@rimi3226 rimi3226 commented Aug 15, 2024

🚀 개요

우선순위 계산 로직 API 개발

🔍 변경사항

  • 우선순위 계산 메소드 구현
  • 테스트를 위한 Initializer 생성

⏳ 작업 내용

  • 우선순위 계산 가중치 계산하기
  • 우선순위 계산 메소드 API 구현하기
  • 우선순위 계산 테스트하기

📝 논의사항

테스트 방법

UPDATE matching_record
SET created_at = NOW()
WHERE 1=1;

matching_record 테이블의 created_at 을 지금으로 변경 -> 5분 내의 매칭만 불러오기 때문
email : [email protected], password: pwd 계정으로 Jwt 토큰 발급 및 헤더에 첨부
request에 다음과 같이 추가

{
  "gameMode": 1,
  "mike": true,
  "matchingType": "BASIC",
  "mainP": 5,
  "subP": 4,
  "wantP": 3,
  "gameStyleIdList": [
    1,2,3
  ]
}

테스트 결과 확인하기

노션 API 정리 페이지 안에 TEST 이름의 페이지 확인
https://www.notion.so/TEST-8b464c91e18c4b0da275305744b58d88?pvs=4

Priority 계산 방식

1. 공통 예외 처리

  • 게임 모드 다름: 우선순위 0
  • 주/부 포지션 조합 같음: 우선순위 0
  • 개인 랭크에서 티어 차이 1개 이상: 우선순위 0

2. PRECISE 매칭 타입

  • 마이크 다름: 우선순위 0
  • 내가 원하는 포지션이 상대방 포지션과 다름: 우선순위 0
  • 티어 차이 1개 이상: 우선순위 0

3. BASIC 매칭 타입

  • 마이크 동일:
    • 개인 랭크 모드: +2
    • 기본: +3
  • 포지션 일치:
    • 내가 원하는 포지션이 상대방의 주/부 포지션 또는 랜덤: +2

4. 랭킹

  • 랭크와 티어 차이: 40 - 점수 차이
  • 최대 가중치 40, 최소 가중치 1 (챌린저 1 - 아이언 4 = (94+(4-1)) - (04)+(4-4) = 39)
  • ex) 골드 4 : 44 + (4-4) = 16, 골드 3 : 44 + (4-3) = 17, 실버 1 : 3*4 + (4-1) = 15
  • 티어 차이가 너무 심해서 사실상 30점 밑일 경우 매칭 안되는게 더 좋음

5. 매너레벨

  • 매너레벨 차이: 16 - (매너레벨 차이 * 4)
  • 최대 가중치 16 , 최소 가중치 0 (매너레벨 5, 매너레벨 1 -> (5-1)4 = 44 = 16)

최대 우선순위 값

= 16+40+2+3 = 61

@rimi3226 rimi3226 requested review from Eunjin3395 and hzee97 August 15, 2024 14:43
@rimi3226 rimi3226 self-assigned this Aug 15, 2024
@rimi3226 rimi3226 linked an issue Aug 15, 2024 that may be closed by this pull request
4 tasks
Copy link
Member

@Eunjin3395 Eunjin3395 left a comment

Choose a reason for hiding this comment

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

고생하셨습니다ㅠㅠ

@rimi3226 rimi3226 merged commit e50ad05 into develop Aug 16, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

✨ [Feat] 우선순위 계산 API
3 participants