Skip to content

Commit

Permalink
Merge pull request #65 from 9oormthon-univ/64-feature-child-post-api-…
Browse files Browse the repository at this point in the history
…for-kakao-login

64 feature child post api for kakao login
  • Loading branch information
himodu authored Dec 7, 2024
2 parents 6c1c8da + 25b4b0a commit cbc3c61
Show file tree
Hide file tree
Showing 7 changed files with 73 additions and 44 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import java.util.Objects;
import java.util.Set;
import lombok.AccessLevel;
import lombok.Builder;
import lombok.Getter;
Expand Down Expand Up @@ -94,7 +95,7 @@ public void usePoint(Long usingPoint) {
}

public void changeUserRoleTo(UserRole userRole){
if (Objects.equals(this.role.getAuthority(), "DONATOR")){
if (Set.of("DONATOR", "CHILD").contains(this.role.getAuthority())){
this.role = userRole;
}
else{
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package com.example.mymoo.domain.child.controller;

import com.example.mymoo.domain.child.dto.request.ChildCreateRequestDto;
import com.example.mymoo.domain.child.entity.Child;
import com.example.mymoo.domain.child.service.ChildService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
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/v1/children")
@RequiredArgsConstructor
public class ChildController {
private final ChildService childService;
@Operation(
summary = "[공통] 아동 추가 회원가입 및 후원자 계정(기본)에서 아동 계정으로 권한 변경",
description = "아동 추가 회원가입입니다.",
responses = {
@ApiResponse(responseCode = "201", description = "아동 추가 회원가입 성공"),
}
)
@PostMapping("/signup")
public ResponseEntity<Void> createChild(
@Valid @RequestBody ChildCreateRequestDto request
) {
childService.createChild(
request.accountId(),
request.cardNumber(),
request.Do(),
request.sigun(),
request.gu()
);
return ResponseEntity
.status(HttpStatus.CREATED)
.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,23 @@
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import lombok.Data;

@Data
public class ChildReqeustDTO {
public record ChildCreateRequestDto(
@NotNull(message = "accountId는 필수 항목입니다.")
Long accountId;
Long accountId,

@NotBlank(message = "cardNumber는 필수 항목입니다")
@Pattern(regexp = "^\\d{16}$", message = "카드 번호는 16자리 숫자여야 합니다.")
String cardNumber;
}
String cardNumber,

@NotBlank(message = "Do는 필수 항목입니다")
String Do,

@NotBlank(message = "Sigun은 필수 항목입니다")
String sigun,

@NotBlank(message = "gu는 필수 항목입니다")
String gu
) {

}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,6 @@ public class Child extends BaseEntity {
@JoinColumn(name = "account_id", nullable = false)
private Account account;

@OneToOne(fetch = FetchType.LAZY, optional = false, mappedBy = "child")
private Location location;

@Builder
public Child(
final String cardNumber,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
package com.example.mymoo.domain.child.service;

import com.example.mymoo.domain.child.dto.request.ChildReqeustDTO;
import com.example.mymoo.domain.child.entity.Child;

public interface ChildService {
Child createChild(
final Long accountId,
final String cardNumberm,
final String cardNumber,
final String Do,
final String sigun,
final String gu
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,20 +41,21 @@ public Child createChild(
throw new ChildException(ChildExceptionDetails.CHILD_ALREADY_EXISTS);
}
Child newChild = childRepository.save(
Child.builder()
.account(foundAccount)
.cardNumber(cardNumber)
.build()
Child.builder()
.account(foundAccount)
.cardNumber(cardNumber)
.build()
);

locationRepository.save(
Location.builder()
.Do(Do)
.sigun(sigun)
.gu(gu)
.child(newChild)
.build()
Location.builder()
.Do(Do)
.sigun(sigun)
.gu(gu)
.child(newChild)
.build()
);
foundAccount.changeUserRoleTo(UserRole.CHILD);
return newChild;
}
}

0 comments on commit cbc3c61

Please sign in to comment.