Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
7ceabea
요양 보호사 반환값에 helperSeq 추가
karl21-02 Jul 7, 2025
f6c839a
Merge pull request #135 from blaybus-hackathon/feature/#121_kakao-log…
karl21-02 Jul 7, 2025
f30cdbc
[MOD] 로그인 시 반환값으로 helperSeq/cmSeq 추가
LeeJeonggyo Jul 11, 2025
312f056
Merge branch 'main' of https://github.com/blaybus-hackathon/backend i…
LeeJeonggyo Jul 11, 2025
f283304
Update gradle.yml
LeeJeonggyo Jul 11, 2025
ed7374d
Merge pull request #136 from blaybus-hackathon/feature/#4_sign-in
bigmooon Jul 11, 2025
f6b722a
개인 요양보호사 구분자로 요양보호사 상세 조회
karl21-02 Jul 18, 2025
61694a0
개인 요양보호사 구분자로 요양보호사 상세 조회
karl21-02 Jul 19, 2025
e81db3a
Merge pull request #138 from blaybus-hackathon/feature/#137-fix-careA…
LeeJeonggyo Jul 22, 2025
56c2786
[FEATURE] 메세지 전송 성공 여부 전달
LeeJeonggyo Jul 26, 2025
d855d0a
Merge pull request #139 from blaybus-hackathon/feature/#11_chat_socket
LeeJeonggyo Jul 26, 2025
2d06d10
[FEATURE] 요양보호사 - 어르신 공고 상세 조회 API
LeeJeonggyo Jul 26, 2025
3826140
[FEATURE] 요양보호사 - 어르신 공고 상세 조회 API
LeeJeonggyo Jul 26, 2025
053fca1
Merge pull request #140 from blaybus-hackathon/feature/#12_patient_no…
LeeJeonggyo Jul 26, 2025
ffb8cb7
[Feat]: 요양 보호사 프로필 수정
mike-peakffice Jul 27, 2025
ecad646
[Feat]: 구분자로 요양 보호사 상세 조회 응답 데이터 추가
mike-peakffice Jul 29, 2025
6e63ab0
[Feat]: 요야 보호사 프로필 페이ㅣㅈ
mike-peakffice Aug 22, 2025
fb94911
[Feat]: application.yml -> include에서 oauth 중복 해결
mike-peakffice Aug 31, 2025
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
6 changes: 2 additions & 4 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,9 @@ name: CI/CD with Gradle

on:
push:
branches: main
branches: [ "main", "dev" ]
pull_request:
branches:
- main
- dev
branches: [ "main", "dev" ]
env:
S3_BUCKET_NAME: galaxy-dev-bucket

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,14 +76,43 @@ public ResponseEntity<WageUpdateResponse> updateWage(
@Operation(summary = "요양 보호사 프로필 업데이트", description = "현재 로그인한 요양 보호사 프로필 업데이트")
@ApiResponses({
@ApiResponse(responseCode = "200", description = "프로필이 정상적으로 업데이트 되었습니다.",
content = @Content(schema = @Schema(implementation = String.class))),
content = @Content(schema = @Schema(implementation = Map.class))),
@ApiResponse(responseCode = "3000", description = "요양 보호사 테이블을 찾을 수 없습니다."),
@ApiResponse(responseCode = "3010", description = "로그인한 회원을 찾을 수 없습니다.")
@ApiResponse(responseCode = "3010", description = "로그인한 회원을 찾을 수 없습니다."),
@ApiResponse(responseCode = "3012", description = "자격증 이름이 유효하지 않습니다."),
@ApiResponse(responseCode = "3013", description = "자격증 번호가 유효하지 않습니다."),
@ApiResponse(responseCode = "3014", description = "자격증 번호 형식이 올바르지 않습니다.")
})
@PutMapping("/update-profile")
public ResponseEntity<String> updateProfile(@RequestBody HelperProfileDTO helperProfileDTO, @AuthenticationPrincipal UserDetails userDetails) {
helperService.updateProfile(userDetails, helperProfileDTO);
return ResponseEntity.ok("프로필이 정상적으로 업데이트 되었습니다.");
public ResponseEntity<Map<String, Object>> updateProfile(@RequestBody HelperProfileDTO helperProfileDTO, @AuthenticationPrincipal UserDetails userDetails) {
Map<String, Object> result = helperService.updateProfile(userDetails, helperProfileDTO);
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 @@ -184,7 +213,7 @@ public ResponseEntity<HelperSearchResponse> searchHelper(@RequestBody HelperSear
* @param helperCertDTO 요양 보호사 자격증 정보
* @return
*/
@Operation(summary = "요양 보호사 자격증 검증", description = "요양 보호사 관련 자격증 유효성을 Q-Net에서 검증하기ㅏ")
@Operation(summary = "요양 보호사 자격증 검증", description = "요양 보호사 관련 자격증 유효성을 Q-Net에서 검증하기")
@ApiResponses({
@ApiResponse(responseCode = "200", description = "요양 보호사 관련 자격증이 인증되었습니다.",
content = @Content(schema = @Schema(implementation = HelperSearchResponse.class))),
Expand All @@ -198,4 +227,21 @@ public ResponseEntity<Map<String, String>> certiVerify(
Map<String, String> result = helperService.saveCertificateByQNet(helperCertDTO, userDetails);
return ResponseEntity.ok(result);
}

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

@Operation(summary = "요양 보호사 정보 조회", description = "개인 요양보호사 구분자로 요양보호사 상세 조회")
@ApiResponses({
@ApiResponse(responseCode = "200", description = "요양 보호사 정보를 성공적으로 불러왔습니다.",
content = @Content(schema = @Schema(implementation = HelperResponse.class))
),
@ApiResponse(responseCode = "3000", description = "요양 보호사 정보를 찾을 수 없습니다.")
})
@PostMapping("/detail/helper-info")
public ResponseEntity<?> detailHelperInfo(
@RequestBody HelperDetailDTO helperDetailDTO
) {
HelperResponse helperResponse = helperService.getHelperDetail(helperDetailDTO);
return ResponseEntity.ok(helperResponse);
}
}
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,12 @@
package com.balybus.galaxy.careAssistant.dto.request;

import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

@Getter
@Setter
@NoArgsConstructor
public class HelperDetailDTO {
private Long helperSeq;
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package com.balybus.galaxy.careAssistant.dto.request;

import com.balybus.galaxy.login.classic.dto.request.HelperCertDTO;
import jakarta.validation.constraints.NotEmpty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
Expand All @@ -15,8 +14,6 @@
public class HelperProfileDTO {
private String introduce;
private Boolean careExperience;
@NotEmpty(message = "자격증은 최소 1개 이상 필수입니다.")
// @NotEmpty 제거 - 자격증이 없어도 부분 업데이트 가능하도록
private List<HelperCertDTO> certificates;


}
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
@@ -0,0 +1,27 @@
package com.balybus.galaxy.careAssistant.dto.response;

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;

@Builder
@Getter
@NoArgsConstructor
@AllArgsConstructor
public class HelperDetailResponse {
private Long id;
private String userEmail;

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;
}
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,9 +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 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
@@ -1,6 +1,7 @@
package com.balybus.galaxy.careAssistant.repository;

import com.balybus.galaxy.careAssistant.domain.TblHelperCert;
import com.balybus.galaxy.careAssistant.domain.TblHelper;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

Expand All @@ -9,4 +10,6 @@
@Repository
public interface HelperCertRepository extends JpaRepository<TblHelperCert, Long> {
List<TblHelperCert> findAllById(Long helperId);
List<TblHelperCert> findByTblHelperId(Long helperId);
List<TblHelperCert> findByTblHelper(TblHelper tblHelper);
}
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);
}
Loading
Loading