Skip to content

Commit

Permalink
Merge pull request #91 from Leets-Official/feat/#89/계좌번호-수정-API-구현
Browse files Browse the repository at this point in the history
Feat/#89/계좌번호 수정 api 구현
  • Loading branch information
soyesenna authored Feb 4, 2025
2 parents cd36caa + ea47105 commit 2f93bd9
Show file tree
Hide file tree
Showing 7 changed files with 98 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -85,10 +85,6 @@ public class MatchingRoom extends BaseEntity {
@Enumerated(EnumType.STRING)
private MatchingRoomStatus matchingRoomStatus;

@Column(name = "chatting_room_id")
@Getter
private Long chattingRoomId;

@Enumerated(EnumType.STRING)
private MatchingRoomType matchingRoomType;

Expand All @@ -112,13 +108,11 @@ public boolean isFull(int size) {
return size == totalCharge;
}

public static MatchingRoom activeOf(MatchRoomCreatedEvent matchRoomCreatedEvent, Members members, Route route, ChattingRoom chattingRoom) {

public void convertToAutoMatching() { this.matchingRoomType = MatchingRoomType.AUTO; }

public boolean isAutoConvertible(int currentMembers) { return currentMembers < this.capacity; }

public static MatchingRoom activeOf(MatchRoomCreatedEvent matchRoomCreatedEvent, Members members, Route route) {
public static MatchingRoom activeOf(MatchRoomCreatedEvent matchRoomCreatedEvent, Members members, Route route, ChattingRoom chattingRoom) {
return MatchingRoom.builder()
.capacity(matchRoomCreatedEvent.maxCapacity())
.roomMaster(members)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package com.gachtaxi.domain.members.controller;

import static com.gachtaxi.domain.members.controller.ResponseMessage.ACCOUNT_GET_SUCCESS;
import static com.gachtaxi.domain.members.controller.ResponseMessage.ACCOUNT_UPDATE_SUCCESS;
import static org.springframework.http.HttpStatus.OK;

import com.gachtaxi.domain.members.dto.request.AccountPostRequest;
import com.gachtaxi.domain.members.dto.response.AccountGetResponse;
import com.gachtaxi.domain.members.service.AccountService;
import com.gachtaxi.global.auth.jwt.annotation.CurrentMemberId;
import com.gachtaxi.global.common.response.ApiResponse;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/api/accounts")
@RequiredArgsConstructor
public class AccountController {

private final AccountService accountService;

@GetMapping
public ApiResponse<AccountGetResponse> getAccount(
@CurrentMemberId Long memberId
) {
return ApiResponse.response(OK, ACCOUNT_GET_SUCCESS.getMessage(), AccountGetResponse.of(this.accountService.getAccount(memberId)));
}

@PostMapping
public ApiResponse<Void> updateAccount(
@CurrentMemberId Long memberId,
@RequestBody @Valid AccountPostRequest accountPostRequest
) {
this.accountService.updateAccount(memberId, accountPostRequest.accountNumber());
return ApiResponse.response(OK, ACCOUNT_UPDATE_SUCCESS.getMessage());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,11 @@ public enum ResponseMessage {
// BlacklistController
BLACKLIST_SAVE_SUCCESS("블랙리스트 등록에 성공했습니다."),
BLACKLIST_DELETE_SUCCESS("블랙리스트 삭제에 성공했습니다."),
BLACKLIST_FIND_ALL_SUCCESS("블랙리스트 조회에 성공했습니다.");
BLACKLIST_FIND_ALL_SUCCESS("블랙리스트 조회에 성공했습니다."),

// AccountController
ACCOUNT_GET_SUCCESS("계좌 정보를 성공적으로 가져왔습니다."),
ACCOUNT_UPDATE_SUCCESS("계좌 정보를 성공적으로 수정했습니다.");

private final String message;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.gachtaxi.domain.members.dto.request;

import jakarta.validation.constraints.NotBlank;

public record AccountPostRequest(
@NotBlank
String accountNumber
) {

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.gachtaxi.domain.members.dto.response;

public record AccountGetResponse(
String accountNumber
) {

public static AccountGetResponse of(String accountNumber) {
return new AccountGetResponse(accountNumber);
}
}
2 changes: 2 additions & 0 deletions src/main/java/com/gachtaxi/domain/members/entity/Members.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.SuperBuilder;
import org.hibernate.annotations.ColumnDefault;

Expand Down Expand Up @@ -44,6 +45,7 @@ public class Members extends BaseEntity {
private String phoneNumber;

@Column(name = "account_number", unique = true)
@Setter
private String accountNumber;

@Column(name = "kakao_id", unique = true)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package com.gachtaxi.domain.members.service;

import com.gachtaxi.domain.members.entity.Members;
import com.gachtaxi.domain.members.repository.MemberRepository;
import jakarta.transaction.Transactional;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

@Service
@RequiredArgsConstructor
public class AccountService {

private final MemberService memberService;

private final MemberRepository memberRepository;

public String getAccount(Long memberId) {
return this.memberService.findById(memberId).getAccountNumber();
}

@Transactional
public void updateAccount(Long memberId, String accountNumber) {
Members member = this.memberService.findById(memberId);

member.setAccountNumber(accountNumber);
this.memberRepository.save(member);
}
}

0 comments on commit 2f93bd9

Please sign in to comment.