Skip to content

Commit 03bbc24

Browse files
authored
[#189] 강퇴, 퇴장 로직 수정 (#192)
* fix(crewMember): 현재인원 조회와, 해당 모임의 모임원 조회 메서드 수정 - 강퇴당한 인원은 모임 조회나, 현재인원 카운트에서 제외합니다. - 퇴장에서 누란된 Transactionl 어노테이션 추가 * fix(crewMember): 조건 수정 - 멤버 역할이 BLOKCED인 멤버를 현재인원 카운트와, 조회에서 제외합니다.
1 parent 840dc09 commit 03bbc24

File tree

3 files changed

+71
-3
lines changed

3 files changed

+71
-3
lines changed
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package com.prgrms.mukvengers.domain.crewmember.mapper;
2+
3+
import com.prgrms.mukvengers.domain.crew.model.Crew;
4+
import com.prgrms.mukvengers.domain.crewmember.dto.response.CrewMemberResponse;
5+
import com.prgrms.mukvengers.domain.crewmember.model.CrewMember;
6+
import com.prgrms.mukvengers.domain.crewmember.model.vo.CrewMemberRole;
7+
import com.prgrms.mukvengers.domain.user.model.User;
8+
import javax.annotation.processing.Generated;
9+
import org.springframework.stereotype.Component;
10+
11+
@Generated(
12+
value = "org.mapstruct.ap.MappingProcessor",
13+
date = "2023-04-02T18:01:10+0900",
14+
comments = "version: 1.5.3.Final, compiler: javac, environment: Java 17.0.5 (Oracle Corporation)"
15+
)
16+
@Component
17+
public class CrewMemberMapperImpl implements CrewMemberMapper {
18+
19+
@Override
20+
public CrewMember toCrewMember(Crew crew, Long userId, CrewMemberRole crewMemberRole) {
21+
if ( crew == null && userId == null && crewMemberRole == null ) {
22+
return null;
23+
}
24+
25+
CrewMember.CrewMemberBuilder crewMember = CrewMember.builder();
26+
27+
crewMember.crew( crew );
28+
crewMember.userId( userId );
29+
crewMember.crewMemberRole( crewMemberRole );
30+
31+
return crewMember.build();
32+
}
33+
34+
@Override
35+
public CrewMemberResponse toCrewMemberResponse(User user, CrewMemberRole crewMemberRole, Long crewMemberId) {
36+
if ( user == null && crewMemberRole == null && crewMemberId == null ) {
37+
return null;
38+
}
39+
40+
Long userId = null;
41+
String nickname = null;
42+
String profileImgUrl = null;
43+
if ( user != null ) {
44+
userId = user.getId();
45+
nickname = user.getNickname();
46+
profileImgUrl = user.getProfileImgUrl();
47+
}
48+
CrewMemberRole crewMemberRole1 = null;
49+
crewMemberRole1 = crewMemberRole;
50+
Long id = null;
51+
id = crewMemberId;
52+
53+
CrewMemberResponse crewMemberResponse = new CrewMemberResponse( id, userId, nickname, profileImgUrl, crewMemberRole1 );
54+
55+
return crewMemberResponse;
56+
}
57+
}

src/main/java/com/prgrms/mukvengers/domain/crewmember/repository/CrewMemberRepository.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,18 @@ Optional<CrewMember> findCrewMemberByCrewIdAndUserId(@Param(value = "crewId") Lo
2525
""")
2626
List<Crew> findAllByUserIdOrderByStatus(@Param("userId") Long userId);
2727

28+
@Query(value = """
29+
SELECT COUNT(cm)
30+
FROM CrewMember cm
31+
WHERE cm.crew.id = :crewId AND cm.deleted = false
32+
""")
2833
Integer countCrewMemberByCrewId(@Param(value = "crewId") Long crewId);
2934

35+
@Query(value = """
36+
SELECT cm
37+
FROM CrewMember cm
38+
WHERE cm.crew.id = :crewId AND cm.deleted = false
39+
""")
3040
List<CrewMember> findAllByCrewId(@Param(value = "crewId") Long crewId);
3141

3242
void deleteByUserIdAndCrewId(@Param(value = "userId") Long userId, @Param(value = "crewId") Long crewId);

src/main/java/com/prgrms/mukvengers/domain/crewmember/service/CrewMemberServiceImpl.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,12 @@ public void block(Long userId, Long blockUserId, Long crewId) {
5252
}
5353

5454
member.blockMember();
55-
}
56-
55+
}
56+
57+
@Transactional
5758
public void delete(Long userId, Long crewId) {
5859

5960
crewMemberRepository.deleteByUserIdAndCrewId(userId, crewId);
6061
}
61-
62+
6263
}

0 commit comments

Comments
 (0)