This repository was archived by the owner on Jul 3, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
[0.6.0] SW-128 예약 시간에 특별 미션을 모든 팀에게 배정할 수 있다. #39
Open
BORB-CHOI
wants to merge
36
commits into
develop
Choose a base branch
from
SW-128
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
36 commits
Select commit
Hold shift + click to select a range
a4d942b
[SW-127] feat(seasonMission Read): 특정 시즌의 특별 미션 목록 조회
BORB-CHOI d72306c
[SW-128] feat(TeamMission Entity): startedAt 필드 추가
BORB-CHOI fb8ffcd
[SW-128] feat(speacial request): 특별 미션 등록용 request dto
BORB-CHOI 1684b7a
[SW-128] feat(teamMission response): 응답 필드 startedAt, endedAt 추가
BORB-CHOI e4aa4c5
[SW-128] feat(teamMission exceptions): 특별 미션 등록에 필요한 exceptions
BORB-CHOI 3e9d4c4
[SW-128] feat(teamMission service): startedAt 필드 추가에 따라 addRandomMiss…
BORB-CHOI 58190f6
[SW-128] feat(teamMission service): 관리자의 특별 미션 배정
BORB-CHOI b9367c5
[SW-128] feat(teamMission controller): 관리자의 특별 미션 배정, 특별 팀 미션을 모든 팀에 생성
BORB-CHOI dbc05e0
[SW-127] feat(seasonMission Read): 특정 시즌의 특별 미션 목록 조회 (#38)
BORB-CHOI 49ecb0b
[0.6.0] SW-120 URL 변조로 다른 팀 정보 조회 가능 & 팀 미션 조회 시 중복 튜플 존재 버그 해결 (#37)
arirang030 2e46cde
[0.6.0] SW-133 팀 시간표 조회 컨트롤러 내 유저 아이디 UUID로 받기
arirang030 44baaf0
[0.6.0] SW-124 아이템 뽑기 전 포인트 잔량 확인하기 (#41)
arirang030 87101ee
[SW-128] feat(teamMission dto): DTO 레벨 검증 추가: endedAt > startedAt 보장
BORB-CHOI c74c7cb
[SW-128] feat(teamMission service): 시즌 범위 벗어난 시간 차단. special 미션 시간이 시…
BORB-CHOI a6dc8a9
[SW-128] fix(teamMission service): 미래 시작 미션까지 노출되는 버그: startedAt <= n…
BORB-CHOI 8a575b7
[SW-128] refactor(teamMission service): 시즌 경계 검증이 한쪽 경계 누락 시 무시 됨 — 각…
BORB-CHOI 52483c7
[SW-128] feat(TeamMission Entity): startedAt 필드 추가
BORB-CHOI e0cc8b7
[SW-128] feat(speacial request): 특별 미션 등록용 request dto
BORB-CHOI 0a8d685
[SW-128] feat(teamMission response): 응답 필드 startedAt, endedAt 추가
BORB-CHOI 6e8be2f
[SW-128] feat(teamMission exceptions): 특별 미션 등록에 필요한 exceptions
BORB-CHOI c9479fb
[SW-128] feat(teamMission service): startedAt 필드 추가에 따라 addRandomMiss…
BORB-CHOI abfee04
[SW-128] feat(teamMission service): 관리자의 특별 미션 배정
BORB-CHOI 16b5c72
[SW-128] feat(teamMission controller): 관리자의 특별 미션 배정, 특별 팀 미션을 모든 팀에 생성
BORB-CHOI ae7a8aa
[SW-128] feat(teamMission dto): DTO 레벨 검증 추가: endedAt > startedAt 보장
BORB-CHOI 825b1d3
[SW-128] feat(teamMission service): 시즌 범위 벗어난 시간 차단. special 미션 시간이 시…
BORB-CHOI f00f7fd
[SW-128] fix(teamMission service): 미래 시작 미션까지 노출되는 버그: startedAt <= n…
BORB-CHOI a63a3ac
[SW-128] refactor(teamMission service): 시즌 경계 검증이 한쪽 경계 누락 시 무시 됨 — 각…
BORB-CHOI 5d28bbc
Merge remote-tracking branch 'origin/SW-128' into SW-128
BORB-CHOI f47ef18
[SW-128] feat(TeamMission Entity): startedAt 필드 추가
BORB-CHOI cfc1ad1
[SW-128] feat(speacial request): 특별 미션 등록용 request dto
BORB-CHOI a5453d7
[SW-128] feat(teamMission response): 응답 필드 startedAt, endedAt 추가
BORB-CHOI 7155ed7
[SW-128] feat(teamMission exceptions): 특별 미션 등록에 필요한 exceptions
BORB-CHOI 92363bc
[SW-128] feat(teamMission service): startedAt 필드 추가에 따라 addRandomMiss…
BORB-CHOI fbda45f
[SW-128] feat(teamMission dto): DTO 레벨 검증 추가: endedAt > startedAt 보장
BORB-CHOI 7e17a29
[SW-128] fix(teamMission service): 미래 시작 미션까지 노출되는 버그: startedAt <= n…
BORB-CHOI 3e74ce1
Merge branch 'SW-128' of https://github.com/kmu-shell-we/shell-we-ser…
BORB-CHOI File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
16 changes: 0 additions & 16 deletions
16
.../season/_team/_mission_team/_submission_mission_team/repository/SubmissionRepository.java
This file was deleted.
Oops, something went wrong.
67 changes: 0 additions & 67 deletions
67
...domain/season/_team/_mission_team/_submission_mission_team/service/SubmissionService.java
This file was deleted.
Oops, something went wrong.
26 changes: 26 additions & 0 deletions
26
...ell_we/domain/season/_team/_mission_team/dto/request/CreateSpecialTeamMissionRequest.java
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| package com.github.kmu_shell_we.domain.season._team._mission_team.dto.request; | ||
|
|
||
| import io.swagger.v3.oas.annotations.media.Schema; | ||
| import jakarta.validation.constraints.AssertTrue; | ||
| import jakarta.validation.constraints.NotNull; | ||
| import lombok.Data; | ||
|
|
||
| import java.time.LocalDateTime; | ||
|
|
||
| @Data | ||
| @Schema(description = "특별 팀 미션 생성 요청") | ||
| public class CreateSpecialTeamMissionRequest { | ||
|
|
||
| @NotNull | ||
| @Schema(description = "시작 일시") | ||
| LocalDateTime startedAt; | ||
|
|
||
| @NotNull | ||
| @Schema(description = "종료 일시") | ||
| LocalDateTime endedAt; | ||
|
|
||
| @AssertTrue(message = "종료 일시는 시작 일시보다 이후여야 합니다.") | ||
| public boolean isValidTimeRange() { | ||
| return startedAt != null && endedAt != null && endedAt.isAfter(startedAt); | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
.../dto/request/CreateSubmissionRequest.java → .../dto/request/CreateSubmissionRequest.java
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
동시성 경쟁으로 포인트 음수/과차감 가능성 높음
현재
team.getPoint()검사 후 차감까지 원자성이 보장되지 않아 동시에 호출되면 둘 다 통과해 과차감이 발생할 수 있습니다. DB 레벨에서 원자적으로 갱신하거나 행 잠금을 적용해 주세요.두 가지 중 한 가지로 보완을 권장합니다.
TeamRepository에@Lock(PESSIMISTIC_WRITE)메서드 추가 후 서비스에서 재조회하여 차감.@Version추가(낙관적 잠금) + 재시도 로직.🤖 Prompt for AI Agents