Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,13 +1,21 @@
package com.eatsfine.eatsfine.domain.businessnumber.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;
import lombok.Builder;

public class BusinessNumberReqDto {

@Builder
public record BusinessNumberDto(

@Schema(description = "이름", example = "홍길동")
@NotBlank(message = "이름은 필수입니다.")
@Size(min = 2, max = 20, message = "이름은 2자 이상 20자 이내여야 합니다.")
String name,

@NotBlank(message = "사업자번호는 필수입니다.")
@Pattern(regexp = "^[0-9]{10}$", message = "사업자번호는 숫자 10자리여야 합니다.")
String businessNumber,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public StoreResDto.StoreCreateDto createStore(StoreReqDto.StoreCreateDto dto, St
businessNumberValidator.validate(
dto.businessNumberDto().businessNumber(),
dto.businessNumberDto().startDate(),
user.getName());
dto.businessNumberDto().name());

log.info("사업자 번호 검증 성공: {}", dto.businessNumberDto().businessNumber());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,28 +11,25 @@ public class UserRequestDto {

@PasswordMatch
@Getter
public static class JoinDto{
public static class JoinDto {

@NotBlank(message = "이름은 필수입니다.")
private String name; // 이름
private String name; // 이름

@NotBlank(message = "이메일은 필수입니다.")
@Email(message = "유효한 이메일 형식이어야 합니다.")
private String email; // 이메일
private String email; // 이메일

@NotBlank(message = "휴대전화 번호는 필수입니다.")
@Pattern(regexp = "^010\\d{8}$", message = "휴대전화 번호는 010으로 시작하는 11자리 숫자여야 합니다.")
private String phoneNumber; // 휴대전화 번호
private String phoneNumber; // 휴대전화 번호

@NotBlank(message = "비밀번호는 필수 입니다.")
@Pattern(
regexp = "^(?=(.*[a-zA-Z].*[0-9])|(?=.*[a-zA-Z].*[!@#$%^&*])|(?=.*[0-9].*[!@#$%^&*]))[a-zA-Z0-9!@#$%^&*]{8,20}$",
message = "비밀번호는 영문, 숫자, 특수문자 중 2가지 이상 조합이며, 8자 ~20자 이내 이어야 합니다."
)
@Pattern(regexp = "^(?=(.*[a-zA-Z].*[0-9])|(?=.*[a-zA-Z].*[!@#$%^&*])|(?=.*[0-9].*[!@#$%^&*]))[a-zA-Z0-9!@#$%^&*]{8,20}$", message = "비밀번호는 영문, 숫자, 특수문자 중 2가지 이상 조합이며, 8자 ~20자 이내 이어야 합니다.")
private String password;

@NotBlank(message = "비밀번호 확인은 필수입니다.")
private String passwordConfirm; // 비밀번호 확인
private String passwordConfirm; // 비밀번호 확인

@AssertTrue(message = "이용약관에 동의해야 합니다.")
@Schema(description = "서비스 이용약관 동의 여부 (필수)", example = "true")
Expand Down Expand Up @@ -75,10 +72,7 @@ public static class ChangePasswordDto {
private String currentPassword;

@NotBlank(message = "새 비밀번호는 필수입니다.")
@Pattern(
regexp = "^(?=(.*[a-zA-Z].*[0-9])|(?=.*[a-zA-Z].*[!@#$%^&*])|(?=.*[0-9].*[!@#$%^&*]))[a-zA-Z0-9!@#$%^&*]{8,20}$",
message = "새 비밀번호는 영문, 숫자, 특수문자 중 2가지 이상 조합이며, 8자 ~20자 이내 이어야 합니다."
)
@Pattern(regexp = "^(?=(.*[a-zA-Z].*[0-9])|(?=.*[a-zA-Z].*[!@#$%^&*])|(?=.*[0-9].*[!@#$%^&*]))[a-zA-Z0-9!@#$%^&*]{8,20}$", message = "새 비밀번호는 영문, 숫자, 특수문자 중 2가지 이상 조합이며, 8자 ~20자 이내 이어야 합니다.")
@Schema(description = "새 비밀번호", example = "NewPw!1234")
private String newPassword;

Expand All @@ -91,6 +85,11 @@ public static class ChangePasswordDto {
@NoArgsConstructor
public static class VerifyOwnerDto {

@Schema(description = "이름", example = "홍길동")
@NotBlank(message = "이름은 필수입니다.")
@Size(min = 2, max = 20, message = "이름은 2자 이상 20자 이내여야 합니다.")
private String name;

@Schema(description = "사업자번호", example = "1234567890")
@NotBlank(message = "사업자번호는 필수입니다.")
@Pattern(regexp = "^[0-9]{10}$", message = "사업자번호는 숫자 10자리여야 합니다.")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,7 @@ public UserResponseDto.VerifyOwnerDto verifyOwner(UserRequestDto.VerifyOwnerDto
throw new AuthException(AuthErrorStatus.ALREADY_OWNER);
}

businessNumberValidator.validate(dto.getBusinessNumber(), dto.getStartDate(), user.getName());
businessNumberValidator.validate(dto.getBusinessNumber(), dto.getStartDate(), dto.getName());

user.updateToOwner();
User savedUser = userRepository.save(user);
Expand Down