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
Expand Up @@ -11,8 +11,8 @@ public class GeneralLoginResponse {
private final Long id;
private final String nickname;
private final String profileImageUrl;
private final String mildLevelName;
private final String spicyLevelName;
private final String normalLevelName;
private final String truthLevelName;

@JsonFormat(pattern = "yyyy-MM-dd HH:mm", shape = JsonFormat.Shape.STRING)
private final LocalDateTime loginTime;
Expand All @@ -21,8 +21,8 @@ public class GeneralLoginResponse {
this.id = authenticatedUserVo.getId();
this.nickname = authenticatedUserVo.getNickname();
this.profileImageUrl = authenticatedUserVo.getProfileImageUrl();
this.mildLevelName = authenticatedUserVo.getMildLevelName();
this.spicyLevelName = authenticatedUserVo.getSpicyLevelName();
this.normalLevelName = authenticatedUserVo.getNormalLevelName();
this.truthLevelName = authenticatedUserVo.getTruthLevelName();
this.loginTime = LocalDateTime.now();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ public class SocialLoginResponse {
private final String nickname;
private final SocialProvider socialProvider;
private final String profileImageUrl;
private final String mildLevelName;
private final String spicyLevelName;
private final String normalLevelName;
private final String truthLevelName;

@JsonFormat(pattern = "yyyy-MM-dd HH:mm", shape = JsonFormat.Shape.STRING)
private final LocalDateTime loginTime;
Expand All @@ -24,8 +24,8 @@ public class SocialLoginResponse {
this.nickname = authenticatedUserVo.getNickname();
this.socialProvider = socialProvider;
this.profileImageUrl = authenticatedUserVo.getProfileImageUrl();
this.mildLevelName = authenticatedUserVo.getMildLevelName();
this.spicyLevelName = authenticatedUserVo.getSpicyLevelName();
this.normalLevelName = authenticatedUserVo.getNormalLevelName();
this.truthLevelName = authenticatedUserVo.getTruthLevelName();
this.loginTime = LocalDateTime.now();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,12 @@ public ResponseEntity<ApiResponse<Void>> saveGroomingLevel(
SaveGroomingLevelCommand.of(
request.getMinScore(),
request.getMaxScore(),
request.getMildLevelName(),
request.getSpicyLevelName());
request.getNormalModeName(),
request.getNormalModeSummary(),
request.getNormalModeDescription(),
request.getTruthModeName(),
request.getTruthModeSummary(),
request.getTruthModeDescription());
saveGroomingLevelUseCase.execute(command);

return ResponseEntity.status(HttpStatus.CREATED)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,12 @@ public ResponseEntity<ApiResponse<Void>> saveGroomingLevel(
levelId,
request.getMinScore(),
request.getMaxScore(),
request.getMildLevelName(),
request.getSpicyLevelName());
request.getNormalModeName(),
request.getNormalModeSummary(),
request.getNormalModeDescription(),
request.getTruthModeName(),
request.getTruthModeSummary(),
request.getTruthModeDescription());
updateGroomingLevelUseCase.execute(command);

return ResponseEntity.status(HttpStatus.OK)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package com.ftm.server.adapter.in.web.grooming.dto.request;

import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.*;
import lombok.AllArgsConstructor;
import lombok.Getter;

Expand All @@ -18,6 +16,10 @@ public class SaveGroomingLevelRequest {
@Max(100)
private Integer maxScore;

@NotEmpty private String mildLevelName;
@NotEmpty private String spicyLevelName;
@NotEmpty private String normalModeName;
@NotEmpty private String normalModeSummary;
@NotEmpty private String normalModeDescription;
@NotEmpty private String truthModeName;
@NotEmpty private String truthModeSummary;
@NotEmpty private String truthModeDescription;
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ public class UpdateGroomingLevelRequest {
@Max(100)
private Integer maxScore;

private String mildLevelName;
private String spicyLevelName;
private String normalModeName;
private String normalModeSummary;
private String normalModeDescription;
private String truthModeName;
private String truthModeSummary;
private String truthModeDescription;
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ public class SocialUserSignupResponse {
private final String nickname;
private final SocialProvider socialProvider;
private final String profileImageUrl;
private final String mildLevelName;
private final String spicyLevelName;
private final String normalLevelName;
private final String truthLevelName;

@JsonFormat(pattern = "yyyy-MM-dd HH:mm", shape = JsonFormat.Shape.STRING)
private final LocalDateTime loginTime;
Expand All @@ -25,8 +25,8 @@ public static SocialUserSignupResponse from(SocialUserSignupSummaryVo vo) {
vo.getNickname(),
vo.getSocialProvider(),
vo.getProfileImageUrl(),
vo.getMildLevelName(),
vo.getSpicyLevelName(),
vo.getNormalLevelName(),
vo.getTruthLevelName(),
LocalDateTime.now());
}
}
Original file line number Diff line number Diff line change
@@ -1,16 +1,20 @@
package com.ftm.server.adapter.out.persistence.adapter.auth;

import com.ftm.server.adapter.out.persistence.mapper.GroomingLevelMapper;
import com.ftm.server.adapter.out.persistence.mapper.UserImageMapper;
import com.ftm.server.adapter.out.persistence.mapper.UserMapper;
import com.ftm.server.adapter.out.persistence.repository.GroomingLevelRepository;
import com.ftm.server.adapter.out.persistence.repository.UserImageRepository;
import com.ftm.server.adapter.out.persistence.repository.UserRepository;
import com.ftm.server.application.port.out.persistence.auth.LoadGroomingLevelForAuthPort;
import com.ftm.server.application.port.out.persistence.auth.LoadUserForAuthPort;
import com.ftm.server.application.port.out.persistence.auth.LoadUserImageForAuthPort;
import com.ftm.server.application.query.FindByEmailQuery;
import com.ftm.server.application.query.FindByIdQuery;
import com.ftm.server.application.query.FindBySocialValueQuery;
import com.ftm.server.application.query.FindByUserIdQuery;
import com.ftm.server.common.annotation.Adapter;
import com.ftm.server.domain.entity.GroomingLevel;
import com.ftm.server.domain.entity.User;
import com.ftm.server.domain.entity.UserImage;
import java.util.Optional;
Expand All @@ -20,15 +24,18 @@
@Adapter
@RequiredArgsConstructor
@Slf4j
public class AuthDomainPersistenceAdapter implements LoadUserForAuthPort, LoadUserImageForAuthPort {
public class AuthDomainPersistenceAdapter
implements LoadUserForAuthPort, LoadUserImageForAuthPort, LoadGroomingLevelForAuthPort {

// Repository
private final UserRepository userRepository;
private final UserImageRepository userImageRepository;
private final GroomingLevelRepository groomingLevelRepository;

// Mapper
private final UserMapper userMapper;
private final UserImageMapper userImageMapper;
private final GroomingLevelMapper groomingLevelMapper;

@Override
public Optional<User> loadUserById(FindByIdQuery query) {
Expand All @@ -53,4 +60,11 @@ public Optional<UserImage> loadUserImageByUserId(FindByUserIdQuery query) {
.findByUserId(query.getUserId())
.map(userImageMapper::toDomainEntity);
}

@Override
public Optional<GroomingLevel> loadGroomingLevelById(FindByIdQuery query) {
return groomingLevelRepository
.findById(query.getId())
.map(groomingLevelMapper::toDomainEntity);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
import com.ftm.server.adapter.out.persistence.model.*;
import com.ftm.server.adapter.out.persistence.repository.*;
import com.ftm.server.application.port.out.persistence.grooming.*;
import com.ftm.server.application.query.FIndGroomingLevelByScoreQuery;
import com.ftm.server.application.query.FindByIdQuery;
import com.ftm.server.application.query.FindByUserIdQuery;
import com.ftm.server.application.query.FindGroomingLevelByScoreQuery;
import com.ftm.server.application.query.FindGroomingTestResultByUserIdAndTestedAtQuery;
import com.ftm.server.common.annotation.Adapter;
import com.ftm.server.common.exception.CustomException;
Expand Down Expand Up @@ -113,7 +113,7 @@ public void saveGroomingTestResults(List<GroomingTestResult> results) {
}

@Override
public Optional<GroomingLevel> loadGroomingLevelByScore(FIndGroomingLevelByScoreQuery query) {
public Optional<GroomingLevel> loadGroomingLevelsByScore(FindGroomingLevelByScoreQuery query) {
return groomingLevelRepository
.findByScoreInRange(query.getScore())
.map(groomingLevelMapper::toDomainEntity);
Expand All @@ -136,6 +136,7 @@ public void updateUserGroomingStatus(User user) {
// 유저 점수 업데이트
userJpaEntity.updateGroomingScore(user);

// 그루밍 레벨
GroomingLevelJpaEntity groomingLevelJpaEntity =
groomingLevelRepository
.findById(user.getGroomingLevelId())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,12 @@ public GroomingLevel toDomainEntity(GroomingLevelJpaEntity jpaEntity) {
jpaEntity.getId(),
jpaEntity.getMinScore(),
jpaEntity.getMaxScore(),
jpaEntity.getMildLevelName(),
jpaEntity.getSpicyLevelName(),
jpaEntity.getNormalModeName(),
jpaEntity.getNormalModeSummary(),
jpaEntity.getNormalModeDescription(),
jpaEntity.getTruthModeName(),
jpaEntity.getTruthModeSummary(),
jpaEntity.getTruthModeDescription(),
jpaEntity.getCreatedAt(),
jpaEntity.getUpdatedAt());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,31 +16,54 @@ public class GroomingLevelJpaEntity extends BaseTimeJpaEntity {

private Integer minScore;
private Integer maxScore;
private String mildLevelName;
private String spicyLevelName;
private String normalModeName;
private String normalModeSummary;
private String normalModeDescription;
private String truthModeName;
private String truthModeSummary;
private String truthModeDescription;

@Builder(access = AccessLevel.PRIVATE)
private GroomingLevelJpaEntity(
Integer minScore, Integer maxScore, String mildLevelName, String spicyLevelName) {
Integer minScore,
Integer maxScore,
String normalModeName,
String normalModeSummary,
String normalModeDescription,
String truthModeName,
String truthModeSummary,
String truthModeDescription) {
this.minScore = minScore;
this.maxScore = maxScore;
this.mildLevelName = mildLevelName;
this.spicyLevelName = spicyLevelName;
this.normalModeName = normalModeName;
this.normalModeSummary = normalModeSummary;
this.normalModeDescription = normalModeDescription;
this.truthModeName = truthModeName;
this.truthModeSummary = truthModeSummary;
this.truthModeDescription = truthModeDescription;
}

public static GroomingLevelJpaEntity from(GroomingLevel groomingLevel) {
return GroomingLevelJpaEntity.builder()
.minScore(groomingLevel.getMinScore())
.maxScore(groomingLevel.getMaxScore())
.mildLevelName(groomingLevel.getMildLevelName())
.spicyLevelName(groomingLevel.getSpicyLevelName())
.normalModeName(groomingLevel.getNormalModeName())
.normalModeSummary(groomingLevel.getNormalModeSummary())
.normalModeDescription(groomingLevel.getNormalModeDescription())
.truthModeName(groomingLevel.getTruthModeName())
.truthModeSummary(groomingLevel.getTruthModeSummary())
.truthModeDescription(groomingLevel.getTruthModeDescription())
.build();
}

public void updateGroomingLevelForDomainEntity(GroomingLevel groomingLevel) {
this.minScore = groomingLevel.getMinScore();
this.maxScore = groomingLevel.getMaxScore();
this.mildLevelName = groomingLevel.getMildLevelName();
this.spicyLevelName = groomingLevel.getSpicyLevelName();
this.normalModeName = groomingLevel.getNormalModeName();
this.normalModeSummary = groomingLevel.getNormalModeSummary();
this.normalModeDescription = groomingLevel.getNormalModeDescription();
this.truthModeName = groomingLevel.getTruthModeName();
this.truthModeSummary = groomingLevel.getTruthModeSummary();
this.truthModeDescription = groomingLevel.getTruthModeDescription();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -127,11 +127,11 @@ public void updateGroomingScore(User user) {
this.groomingScore = user.getGroomingScore();
}

public void updateGroomingLevel(GroomingLevelJpaEntity groomingLevelJpaEntity) {
this.groomingLevel = groomingLevelJpaEntity;
public void updateGroomingLevel(GroomingLevelJpaEntity groomingLevel) {
this.groomingLevel = groomingLevel;
}

public void updateFromDomainEntity(User user, GroomingLevelJpaEntity groomingLevelJpaEntity) {
public void updateFromDomainEntity(User user, GroomingLevelJpaEntity groomingLevel) {

this.email = user.getEmail();
this.password = user.getPassword();
Expand All @@ -140,7 +140,7 @@ public void updateFromDomainEntity(User user, GroomingLevelJpaEntity groomingLev
this.socialProvider = user.getSocialProvider();
this.socialId = user.getSocialId();
this.groomingScore = user.getGroomingScore();
this.groomingLevel = groomingLevelJpaEntity;
this.groomingLevel = groomingLevel;
this.role = user.getRole();
this.favoriteHashtags = user.getFavoriteHashtags();
this.isDeleted = user.getIsDeleted();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,49 @@ public class SaveGroomingLevelCommand {

private final Integer minScore;
private final Integer maxScore;
private final String mildLevelName;
private final String spicyLevelName;
private final String normalModeName;
private final String normalModeSummary;
private final String normalModeDescription;
private final String truthModeName;
private final String truthModeSummary;
private final String truthModeDescription;

private SaveGroomingLevelCommand(
Integer minScore, Integer maxScore, String mildLevelName, String spicyLevelName) {
Integer minScore,
Integer maxScore,
String normalModeName,
String normalModeSummary,
String normalModeDescription,
String truthModeName,
String truthModeSummary,
String truthModeDescription) {
this.minScore = minScore;
this.maxScore = maxScore;
this.mildLevelName = mildLevelName;
this.spicyLevelName = spicyLevelName;
this.normalModeName = normalModeName;
this.normalModeSummary = normalModeSummary;
this.normalModeDescription = normalModeDescription;
this.truthModeName = truthModeName;
this.truthModeSummary = truthModeSummary;
this.truthModeDescription = truthModeDescription;
}

public static SaveGroomingLevelCommand of(
Integer minScore, Integer maxScore, String mildLevelName, String spicyLevelName) {
return new SaveGroomingLevelCommand(minScore, maxScore, mildLevelName, spicyLevelName);
Integer minScore,
Integer maxScore,
String normalModeName,
String normalModeSummary,
String normalModeDescription,
String truthModeName,
String truthModeSummary,
String truthModeDescription) {
return new SaveGroomingLevelCommand(
minScore,
maxScore,
normalModeName,
normalModeSummary,
normalModeDescription,
truthModeName,
truthModeSummary,
truthModeDescription);
}
}
Loading
Loading