From 31eade70f5acbb305fbb71ce4c362107430c7ec0 Mon Sep 17 00:00:00 2001 From: seungheon123 Date: Mon, 19 Feb 2024 07:38:13 +0900 Subject: [PATCH 1/5] =?UTF-8?q?Fix/163=20=EB=AF=B8=EC=85=98=20=EC=98=A4?= =?UTF-8?q?=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/brandol/apiPayload/code/status/ErrorStatus.java | 2 ++ src/main/java/com/brandol/service/MemberMissionService.java | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/main/java/com/brandol/apiPayload/code/status/ErrorStatus.java b/src/main/java/com/brandol/apiPayload/code/status/ErrorStatus.java index 9096fe0..51c7562 100644 --- a/src/main/java/com/brandol/apiPayload/code/status/ErrorStatus.java +++ b/src/main/java/com/brandol/apiPayload/code/status/ErrorStatus.java @@ -66,6 +66,8 @@ public enum ErrorStatus implements BaseCode { _ALREADY_COMPLETED_MISSION(HttpStatus.BAD_REQUEST, "MISSION402", "이미 도전 완료된 미션입니다"), _EMPTY_SURVEY(HttpStatus.BAD_REQUEST, "MISSION403", "비어있는 항목이 존재합니다"), _NOT_COMPLETED_MISSION(HttpStatus.BAD_REQUEST, "MISSION404", "미션을 완료해 주세요"), + _ALREADY_CHALLENGING_MISSION(HttpStatus.NOT_FOUND, "MISSION405", "도전 중인 미션입니다"), + //DB _DUPLICATE_DATABASE_ERROR(HttpStatus.INTERNAL_SERVER_ERROR,"DATABASE500","DB에서 중복 데이터가 조회됨"), diff --git a/src/main/java/com/brandol/service/MemberMissionService.java b/src/main/java/com/brandol/service/MemberMissionService.java index cdba998..4e71fd7 100644 --- a/src/main/java/com/brandol/service/MemberMissionService.java +++ b/src/main/java/com/brandol/service/MemberMissionService.java @@ -55,6 +55,8 @@ public boolean checkBrandMission(Long memberId, Long brandId) { public MemberMission challengeMission(Long memberId, Long missionId) { Member member = memberRepository.findById(memberId).orElseThrow(()->new ErrorHandler(ErrorStatus._NOT_EXIST_MEMBER)); Mission mission = missionRepository.findById(missionId).orElseThrow(()-> new ErrorHandler(ErrorStatus._NOT_EXIST_MISSION)); + Optional existMission = memberMissionRepository.findByMemberIdAndMissionId(memberId, missionId); + if(existMission.isPresent()) throw new ErrorHandler(ErrorStatus._ALREADY_CHALLENGING_MISSION); MemberMission memberMission = MemberMission.builder().member(member).mission(mission).missionStatus(MissionStatus.CHALLENGING).build(); memberMissionRepository.save(memberMission); return memberMission; From 43ea644a47a3d02349ddf58a2c191f10040d8d7e Mon Sep 17 00:00:00 2001 From: seungheon123 Date: Mon, 19 Feb 2024 15:06:51 +0900 Subject: [PATCH 2/5] Fix/165 hot fix --- src/main/java/com/brandol/service/MemberMissionService.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/brandol/service/MemberMissionService.java b/src/main/java/com/brandol/service/MemberMissionService.java index 4e71fd7..8d8fb3b 100644 --- a/src/main/java/com/brandol/service/MemberMissionService.java +++ b/src/main/java/com/brandol/service/MemberMissionService.java @@ -42,7 +42,9 @@ public MemberMissionResponseDto.GetMemberMissionDto getMemberMission(Long member public boolean checkBrandMission(Long memberId, Long brandId) { Brand brand = brandRepository.findById(brandId).orElseThrow(() -> new ErrorHandler(ErrorStatus._NOT_EXIST_BRAND)); //미션 존재 여부 확인 - Mission mission = missionRepository.findByBrandAndMissionType(brand, MissionType.ADD).orElseThrow(() -> new ErrorHandler(ErrorStatus._NOT_EXIST_MISSION)); + Optional byBrandAndMissionType = missionRepository.findByBrandAndMissionType(brand, MissionType.ADD); + if(byBrandAndMissionType.isEmpty()) return false; + Mission mission = byBrandAndMissionType.get(); List memberBrandLists = memberBrandRepository.findOneByMemberIdAndBrandId(memberId, brandId); if(memberBrandLists.isEmpty()) return false; Optional memberMission = memberMissionRepository.findByMemberIdAndMissionId(memberId, mission.getId()); From 117487b10abcc35269c79bbeea1de8529c841c7f Mon Sep 17 00:00:00 2001 From: seungheon123 Date: Mon, 19 Feb 2024 15:21:57 +0900 Subject: [PATCH 3/5] Fix/165 hot fix --- src/main/java/com/brandol/repository/MemberBrandRepository.java | 2 +- src/main/java/com/brandol/service/MemberService.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/brandol/repository/MemberBrandRepository.java b/src/main/java/com/brandol/repository/MemberBrandRepository.java index 3135a9a..1a411ec 100644 --- a/src/main/java/com/brandol/repository/MemberBrandRepository.java +++ b/src/main/java/com/brandol/repository/MemberBrandRepository.java @@ -31,7 +31,7 @@ public interface MemberBrandRepository extends JpaRepository getBrandJoinedFanCount(@Param("id")Long id, Pageable pageable); - Optional getAllByBrand(Brand brand); + Optional findTopByBrandOrderByCreatedAt(Brand brand); @Query("select count(mbl) from MemberBrandList mbl where mbl.memberListStatus = com.brandol.domain.enums.MemberListStatus.SUBSCRIBED") int getRecentSubscriberCount(); diff --git a/src/main/java/com/brandol/service/MemberService.java b/src/main/java/com/brandol/service/MemberService.java index dd8ac57..270b559 100644 --- a/src/main/java/com/brandol/service/MemberService.java +++ b/src/main/java/com/brandol/service/MemberService.java @@ -49,7 +49,7 @@ public Long addMemberBrandList(Long memberId, Long brandId){ //멤버가 멤버 return memberBrand.getId(); } - Optional allByBrand = memberBrandRepository.getAllByBrand(brand); + Optional allByBrand = memberBrandRepository.findTopByBrandOrderByCreatedAt(brand); Long count = allByBrand.stream().count(); MemberBrandList build = MemberBrandList.builder() .memberListStatus(MemberListStatus.SUBSCRIBED) From e07172e844bac8ef6c674e701548bddb8500f048 Mon Sep 17 00:00:00 2001 From: seungheon123 Date: Mon, 19 Feb 2024 15:24:20 +0900 Subject: [PATCH 4/5] Fix/165 hot fix --- src/main/java/com/brandol/service/AuthService.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/com/brandol/service/AuthService.java b/src/main/java/com/brandol/service/AuthService.java index 92b7ccd..2c966e7 100644 --- a/src/main/java/com/brandol/service/AuthService.java +++ b/src/main/java/com/brandol/service/AuthService.java @@ -81,8 +81,6 @@ public AuthResponseDto.SignUpDto signUp(AuthRequestDto.SignUpDto request) { AuthResponseDto.AgreeTermsDto agreeTermsResponse = agreeTerms(request); Member member = setProfile(request); wearDefaultAvatarItems(member);// 성별에 따라 아바타 기본 아이템 장착 - memberService.addMemberBrandList(member.getId(), 1L); - memberService.addMemberBrandList(member.getId(), 2L); return MemberConverter.signUpResDto(member.getId()); } From cda4728dad0a59ca7dfdefa64b8031c1ecfe5a9d Mon Sep 17 00:00:00 2001 From: seungheon123 Date: Mon, 19 Feb 2024 15:34:33 +0900 Subject: [PATCH 5/5] Fix/165 hot fix --- src/main/java/com/brandol/controller/AuthController.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/com/brandol/controller/AuthController.java b/src/main/java/com/brandol/controller/AuthController.java index 59200bb..fd61060 100644 --- a/src/main/java/com/brandol/controller/AuthController.java +++ b/src/main/java/com/brandol/controller/AuthController.java @@ -7,6 +7,7 @@ import com.brandol.dto.request.AuthRequestDto; import com.brandol.dto.response.AuthResponseDto; import com.brandol.service.AuthService; +import com.brandol.service.MemberService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; @@ -22,6 +23,7 @@ public class AuthController { private final AuthService authService; + private final MemberService memberService; // 로그인 @PostMapping("/login/kakao") @@ -35,6 +37,8 @@ public ApiResponse login(@RequestBody AuthRequestDto.KakaoLoginRequest @PostMapping("/signup") public ApiResponse signUp(@RequestBody @Valid AuthRequestDto.SignUpDto request) { AuthResponseDto.SignUpDto signUpDto = authService.signUp(request); + memberService.addMemberBrandList(signUpDto.getMemberId(),1L); + memberService.addMemberBrandList(signUpDto.getMemberId(),2L); return ApiResponse.onSuccess(SuccessStatus._OK.getCode(), SuccessStatus._OK.getMessage(), signUpDto); }