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 @@ -88,9 +88,11 @@ private List<RetailPriceResponseDTO.RetailBasicDTO> parseRetailPrice(String xml)
}

String itemname = getTagText(item, "itemname");
/*
if (itemname == null || itemname.isBlank()) {
log.warn("⚠️ itemname 누락 항목 존재: {}", item.outerHtml());
}
*/

String countyname = getTagText(item, "countyname");
if(countyname == null || countyname.isBlank() || countyname.equals("평년") || countyname.equals("평균")) {
Expand Down
12 changes: 12 additions & 0 deletions src/main/java/agridata/spring/controller/UserController.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,23 @@ public ApiResponse<UserResponseDTO.LoginDTO> login(@RequestBody UserRequestDTO.L
return ApiResponse.onSuccess(result);
}

// 사용자 관심품목 조회 API
@Operation(summary = "사용자 관심품목 조회 API", description = "사용자 관심품목 조회 API입니다.")
@GetMapping("/prefer-item")
public ApiResponse<String> getPreferItem(){
var preferItem = userQueryService.getUserPreferItem();
return ApiResponse.onSuccess(preferItem);
}

// 사용자 지역 조회 API
@Operation(summary = "사용자 지역 조회 API", description = "사용자 지역 조회 API입니다.")
@GetMapping("/region")
public ApiResponse<String> getRegion() {
var region = userQueryService.getUserRegion();
return ApiResponse.onSuccess(region);
}




}
3 changes: 2 additions & 1 deletion src/main/java/agridata/spring/domain/User.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,11 @@ public class User extends BaseEntity {
private String nickname;
private String password;


@Column(nullable = false)
private String email;

// 사용자 지역
@Column(length = 20)
@Enumerated(EnumType.STRING)
private Region region;

Expand Down
6 changes: 2 additions & 4 deletions src/main/java/agridata/spring/dto/request/UserRequestDTO.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@ public class UserRequestDTO {
// 회원가입 요청 DTO
public static class SignupDTO {
private String name;
@JsonProperty("email")
private String id_email;
private String email;
private String password;
private String region;
private String interestItem;
Expand All @@ -27,8 +26,7 @@ public static class SignupDTO {
@NoArgsConstructor
@AllArgsConstructor
public static class LoginDTO {
@JsonProperty("email")
private String id_email;
private String email;
private String password;
}

Expand Down
2 changes: 2 additions & 0 deletions src/main/java/agridata/spring/service/UserQueryService.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,6 @@

public interface UserQueryService {
public String getUserPreferItem();

public String getUserRegion();
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public class UserCommandServiceImpl implements UserCommandService {
public UserResponseDTO.SignupDTO create(UserRequestDTO.SignupDTO dto) {
User user = User.builder()
.nickname(dto.getName())
.email(dto.getId_email())
.email(dto.getEmail())
.password(passwordEncoder.encode(dto.getPassword())) // 비밀번호를 BCrypt 암호화해서 저장
.region(Region.valueOf(dto.getRegion()))
.interestItem(dto.getInterestItem())
Expand All @@ -45,7 +45,7 @@ public UserResponseDTO.SignupDTO create(UserRequestDTO.SignupDTO dto) {
public UserResponseDTO.LoginDTO login(UserRequestDTO.LoginDTO dto) {
// Optional 사용하는 이유 == "값이 있을 수도, 없을 수도 있다"상황 명확히 표현 (null 체크 강제)
// Optional = null이 될 수 있는 값을 감싸는 Wrapper(포장) 클래스
final Optional<User> user = userRepository.findByEmail(dto.getId_email());
final Optional<User> user = userRepository.findByEmail(dto.getEmail());
// 존재하는 지 + 암호화된 비밀번호 비교
if(user.isPresent() && passwordEncoder.matches(dto.getPassword(), user.get().getPassword())){
return UserResponseDTO.LoginDTO.builder().token(tokenProvider.create(user.get())) // JWt 발급(이메일 기반)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,10 @@ public String getUserPreferItem() {
Long memberId = SecurityUtil.getCurrentMemberId();
return userRepository.findById(memberId).get().getInterestItem();
}

@Override
public String getUserRegion() {
Long memberId = SecurityUtil.getCurrentMemberId();
return userRepository.findById(memberId).get().getRegion().name();
}
}
Loading