세탁 관련 API를 추가하였다.
@Enumerated(EnumType.STRING)
@Column(nullable = false, length = 20)
private WashStatus washStatus = WashStatus.AVAILABLE; // 기본값
boolean과 enum 중 어떤 데이터타입을 사용할 지 고민했는데, enum을 사용해보기로 했다.
public enum WashStatus {
AVAILABLE, // 입을 수 있는 상태
WASHING // 세탁 중
}
두 가지 상태를 만들었다.
@GetMapping("/wash-setting")
public ApiResponse<UserWashSettingResponse> getWashSetting(
@AuthenticationPrincipal Long userId
) {
return ApiResponse.ok( null, userService.getWashSetting(userId));
}
@PatchMapping("/wash-setting")
public ApiResponse<UserWashSettingResponse> updateWashSetting(
@AuthenticationPrincipal Long userId,
@RequestBody UserWashSettingUpdateRequest request
) {
return ApiResponse.ok("세탁 기능 설정이 변경되었어요.",
userService.updateWashSetting(userId, request));
}
사용자가 세탁 기능 사용 여부를 선택할 수 있고, 선택 여부 관련 boolean isUsingWashUpTech 변수를 만든다. Get과 Patch로 사용 여부를 불러오고 수정할 수 있다.
세탁 기능 추가에 따라 변경해야 할 API
모든 의상 조회에서 includeWashing 처리
세탁 상태 변경 : PATCH : washStatus
세탁 상태를 일괄로 변경 : 수동으로 체크를 쭉 해서 세탁 상태를 변경, PATCH washStatus clothIds : 쭉쭉
프리셋에 세탁중 포함 시 경고 팝업
캘린더에서
프리셋에서
추천 코디에서
출근시간 + 10시간 이후에 세탁 팝업