Skip to content
Open
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 @@ -89,6 +89,32 @@ public ResponseEntity<Map<String, Object>> updateProfile(@RequestBody HelperProf
return ResponseEntity.ok(result);
}

/**
* 요양 보호사 통합 프로필 업데이트
* @param helperCompleteProfileDTO
* @param userDetails
* @return
*/
@Operation(summary = "요양 보호사 통합 프로필 업데이트", description = "현재 로그인한 요양 보호사의 모든 정보를 한 번에 업데이트")
@ApiResponses({
@ApiResponse(responseCode = "200", description = "프로필이 성공적으로 업데이트되었습니다.",
content = @Content(schema = @Schema(implementation = HelperCompleteProfileResponse.class))),
@ApiResponse(responseCode = "3000", description = "요양 보호사 테이블을 찾을 수 없습니다."),
@ApiResponse(responseCode = "3010", description = "로그인한 회원을 찾을 수 없습니다."),
@ApiResponse(responseCode = "3008", description = "잘못된 주소 목록"),
@ApiResponse(responseCode = "3009", description = "중복된 근무 가능 시간이 존재합니다."),
@ApiResponse(responseCode = "3012", description = "자격증 이름이 유효하지 않습니다."),
@ApiResponse(responseCode = "3013", description = "자격증 번호가 유효하지 않습니다."),
@ApiResponse(responseCode = "3014", description = "자격증 번호 형식이 올바르지 않습니다.")
})
@PutMapping("/helper/complete-profile")
public ResponseEntity<HelperCompleteProfileResponse> updateCompleteProfile(
@RequestBody HelperCompleteProfileDTO helperCompleteProfileDTO,
@AuthenticationPrincipal UserDetails userDetails) {
HelperCompleteProfileResponse response = helperService.updateCompleteProfile(userDetails, helperCompleteProfileDTO);
return ResponseEntity.ok(response);
}


///////////////////////////////////////

Expand Down Expand Up @@ -204,7 +230,7 @@ public ResponseEntity<Map<String, String>> certiVerify(

//////////////

@Operation(summary = "요양 보호사 정보 모두보기", description = "개인 요양보호사 구분자로 요양보호사 상세 조회")
@Operation(summary = "요양 보호사 정보 조회", description = "개인 요양보호사 구분자로 요양보호사 상세 조회")
@ApiResponses({
@ApiResponse(responseCode = "200", description = "요양 보호사 정보를 성공적으로 불러왔습니다.",
content = @Content(schema = @Schema(implementation = HelperResponse.class))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ public class TblHelperWorkTime extends BaseEntity {
private Boolean negotiation;

@Column(name = "hwt_work_term")
@Convert(converter = StringListConverter.class)
@Comment("근무 가능 기간")
private List<Integer> workTerm = new ArrayList<>();
private String workTerm;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package com.balybus.galaxy.careAssistant.dto.request;

import com.balybus.galaxy.login.classic.dto.request.HelperCertDTO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

import java.util.List;

@Getter
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class HelperCompleteProfileDTO {
// 프로필 정보
private String introduce;
private Boolean careExperience;

// 자격증 정보
private List<HelperCertDTO> certificates;
private Boolean verifyQnet; // Q-net 검증 여부 (기본값: false)

// 급여 정보
private Integer wage;
private Integer wageState;
private Boolean wageNegotiation;

// 근무 희망 지역
private List<Long> addressFirstIds;
private List<Long> addressSecondIds;
private List<Long> addressThirdIds;

// 근무 가능 시간
private List<HelperWorkTimeDTO> workTimes;
private Boolean negotiation; // 시간 협의 가능 여부
private Integer workTerm; // 근무 기간

// 경력 정보
private HelperExperienceDTO experience;

// 돌봄 서비스 정보
private Integer careLevel;
private Integer inmateState;
private Integer workType;
private Integer careGender;
private Integer serviceMeal;
private Integer serviceMobility;
private Integer serviceDaily;

// 기타 정보
private Boolean carOwnYn;
private Boolean eduYn;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package com.balybus.galaxy.careAssistant.dto.response;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

import java.util.Map;

@Getter
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class HelperCompleteProfileResponse {
private boolean success;
private String message;

// 각 섹션별 처리 결과
private SectionResult profileResult;
private SectionResult certificateResult;
private SectionResult wageResult;
private SectionResult locationResult;
private SectionResult workTimeResult;
private SectionResult experienceResult;
private SectionResult careServiceResult;

// 자격증 검증 결과 (Q-net 검증한 경우)
private Map<String, String> certificateVerificationResults;

// 전체 업데이트된 프로필 정보
private HelperResponse updatedProfile;

@Getter
@Builder
@AllArgsConstructor
@NoArgsConstructor
public static class SectionResult {
private boolean updated;
private boolean success;
private String message;
private String error;
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
package com.balybus.galaxy.careAssistant.dto.response;

import com.balybus.galaxy.careAssistant.domain.TblHelperWorkLocation;
import com.balybus.galaxy.careAssistant.domain.TblHelperWorkTime;
import com.balybus.galaxy.global.domain.tblAddressFirst.TblAddressFirst;
import com.balybus.galaxy.global.domain.tblAddressSecond.TblAddressSecond;
import com.balybus.galaxy.global.domain.tblAddressThird.TblAddressThird;
import com.balybus.galaxy.login.classic.dto.request.HelperCertDTO;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
Expand All @@ -18,11 +24,24 @@ public class HelperResponse {
private String name;
private String phone;
private String addressDetail;
private List<HelperCertDTO> certificates;
private boolean carOwnYn;
private boolean eduYn;
private Integer wage;
private Integer wageState;
private String introduce;
private Boolean careExperience;
private ImageDto img; // 프로필 사진
private List<HelperWorkLocationDto> helperWorkLocation; // 선호 지역
private List<HelperWorkTimeDto> helperWorkTime; // 근무 가능일정

private int careLevel; // 장기 요양 등급
private int inmateState; // 동거인 여부
private int workType; // 근무 종류
private int careGender; // 성별
private int serviceMeal; // 식사 보조
private int serviceMobility; // 이동 보조
private int serviceDaily; // 일상 생활

private List<HelperCertDTO> certificates; // 자격증 번호
private boolean carOwnYn; // 요양보호사 차량 소유 여부
private boolean eduYn; // 치매 교육 이수 여부
private Integer wage; // 급여
private Integer wageState; // 시급, 일급, 주급 구분
private String introduce; // 자기소개
private Boolean careExperience; // 간병 경력
private Boolean wageNegotiation; // 급여 협의 가능 여부
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.balybus.galaxy.careAssistant.dto.response;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

@Getter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class HelperWorkLocationDto {
private Long afSeq; // 시.도 구분자
private Long asSeq; // 시.군.구 구분자
private Long atSeq; // 읍.면.동 구분자
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package com.balybus.galaxy.careAssistant.dto.response;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

import java.util.List;

@Getter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class HelperWorkTimeDto {
private Long id;
private Integer date; // 근무 가능 요일
private String startTime; // 시작시간
private String endTime; // 종료시간
private Boolean negotiation; // 근무 협의 여부
private String workTerm; // 근무 가능 기간
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.balybus.galaxy.careAssistant.dto.response;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

@Getter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ImageDto {
private Long id;
private String imgUuid;
private String imgOriginName;
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface HelperWorkLocationRepository extends JpaRepository<TblHelperWorkLocation, Long> {
List<TblHelperWorkLocation> findByHelper_Id(Long helperId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,5 @@ public interface HelperService {
Map<String, String> saveCertificateByQNet(List<HelperCertDTO> helperCertDTO, UserDetails userDetails);
String checkCertificate(String name, String birth, String certNo, String issueDate, String insideNo);
HelperResponse getHelperDetail(HelperDetailDTO helperDetailDTO);
HelperCompleteProfileResponse updateCompleteProfile(UserDetails userDetails, HelperCompleteProfileDTO dto);
}
Loading
Loading