Skip to content
Merged

Dev #85

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 @@ -5,6 +5,13 @@
import com.balybus.galaxy.helper.dto.response.*;
import com.balybus.galaxy.helper.serviceImpl.service.HelperServiceImpl;
import com.balybus.galaxy.login.dto.request.HelperCertDTO;
import com.balybus.galaxy.login.dto.response.AccessTokenResponse;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.ArraySchema;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.coyote.Response;
Expand All @@ -29,6 +36,13 @@ public class HelperController {
* @param userDetails
* @return
*/
@Operation(summary = "요양 보호사 정보 모두 보기", description = "현재 로그인한 요양 보호사 정보 모두 보기")
@ApiResponses({
@ApiResponse(responseCode = "200", description = "요양 보호사 정보 가져오기 성공",
content = @Content(schema = @Schema(implementation = HelperResponse.class))),
@ApiResponse(responseCode = "3000", description = "요양 보호사 테이블을 찾을 수 없습니다."),
@ApiResponse(responseCode = "3010", description = "로그인한 회원을 찾을 수 없습니다."),
})
@GetMapping("/get-helper-info")
public ResponseEntity<HelperResponse> getHelperInfo(@AuthenticationPrincipal UserDetails userDetails) {
HelperResponse helperResponse = helperService.getAllHelperInfo(userDetails);
Expand All @@ -41,6 +55,13 @@ public ResponseEntity<HelperResponse> getHelperInfo(@AuthenticationPrincipal Use
* @param wageUpdateDTO
* @return
*/
@Operation(summary = "요양 보호사 희망 급여 업데이트", description = "현재 로그인한 요양 보호사 희망 급여 업데이트")
@ApiResponses({
@ApiResponse(responseCode = "200", description = "요양 보호사 희망 급여 업데이트 성공",
content = @Content(schema = @Schema(implementation = WageUpdateResponse.class))),
@ApiResponse(responseCode = "3000", description = "요양 보호사 테이블을 찾을 수 없습니다."),
@ApiResponse(responseCode = "3010", description = "로그인한 회원을 찾을 수 없습니다.")
})
@PutMapping("/update-wage")
public ResponseEntity<WageUpdateResponse> updateWage(
@AuthenticationPrincipal UserDetails userDetails,
Expand All @@ -55,6 +76,13 @@ public ResponseEntity<WageUpdateResponse> updateWage(
* @param userDetails
* @return
*/
@Operation(summary = "요양 보호사 프로필 업데이트", description = "현재 로그인한 요양 보호사 프로필 업데이트")
@ApiResponses({
@ApiResponse(responseCode = "200", description = "프로필이 정상적으로 업데이트 되었습니다.",
content = @Content(schema = @Schema(implementation = String.class))),
@ApiResponse(responseCode = "3000", description = "요양 보호사 테이블을 찾을 수 없습니다."),
@ApiResponse(responseCode = "3010", description = "로그인한 회원을 찾을 수 없습니다.")
})
@PutMapping("/update-profile")
public ResponseEntity<String> updateProfile(@RequestBody HelperProfileDTO helperProfileDTO, @AuthenticationPrincipal UserDetails userDetails) {
helperService.updateProfile(userDetails, helperProfileDTO);
Expand All @@ -69,6 +97,14 @@ public ResponseEntity<String> updateProfile(@RequestBody HelperProfileDTO helper
* @param helperWorkLocationDTO
* @return
*/
@Operation(summary = "요양 보호사가 선택한 여러 근무 희망 지역 저장", description = "현재 로그인한 요양 보호사가 선택한 여러 근무 희망 지역 저장")
@ApiResponses({
@ApiResponse(responseCode = "200", description = "근무 희망 지역이 성공적으로 저장되었습니다.",
content = @Content(schema = @Schema(implementation = HelperWorkLocationReponse.class))),
@ApiResponse(responseCode = "3000", description = "요양 보호사 테이블을 찾을 수 없습니다."),
@ApiResponse(responseCode = "3008", description = "잘못된 주소 목록"),
@ApiResponse(responseCode = "3010", description = "로그인한 회원을 찾을 수 없습니다."),
})
@PostMapping("/work-location")
public ResponseEntity<HelperWorkLocationReponse> workLocation(
@RequestBody HelperWorkLocationDTO helperWorkLocationDTO,
Expand All @@ -82,6 +118,16 @@ public ResponseEntity<HelperWorkLocationReponse> workLocation(
* 광역시.도 근무 희망지 반환
* @return
*/
@Operation(summary = "광역시.도 목록 조회", description = "모든 광역시.도 주소 목록을 반환 합니다.")
@ApiResponses(value = {
@ApiResponse(
responseCode = "200", description = "시.도 조회 성공",
content = @Content(
mediaType = "application/json",
array = @ArraySchema(schema = @Schema(implementation = TblAddressFirstResponse.class))
)
)
})
@GetMapping("/get-first-addr")
public ResponseEntity<List<TblAddressFirstResponse>> getFirstAddress() {
List<TblAddressFirstResponse> addressList = helperService.getFirstAddress();
Expand All @@ -94,6 +140,16 @@ public ResponseEntity<List<TblAddressFirstResponse>> getFirstAddress() {
* @param afSeq
* @return
*/
@Operation(summary = "광역시.군.구 목록 조회", description = "광역시.도.구 주소 목록을 반환 합니다.")
@ApiResponses(value = {
@ApiResponse(
responseCode = "200", description = "시.군.구 조회 성공",
content = @Content(
mediaType = "application/json",
array = @ArraySchema(schema = @Schema(implementation = TblAddressSecondResponse.class))
)
)
})
@GetMapping("/second/{afSeq}")
public ResponseEntity<List<TblAddressSecondResponse>> getAddressSecond(@PathVariable Long afSeq) {
List<TblAddressSecondResponse> addressSeconds = helperService.getAddressSecondByFirstId(afSeq);
Expand All @@ -105,6 +161,16 @@ public ResponseEntity<List<TblAddressSecondResponse>> getAddressSecond(@PathVari
* @param asSeq
* @return
*/
@Operation(summary = "읍.면.동 근무 희망지 반환", description = "읍.면.동 근무 희망지 목록을 반환 합니다.")
@ApiResponses(value = {
@ApiResponse(
responseCode = "200", description = "읍.면.동 근무 희망지 조회 성공",
content = @Content(
mediaType = "application/json",
array = @ArraySchema(schema = @Schema(implementation = TblAddressSecondResponse.class))
)
)
})
@GetMapping("/third/{asSeq}")
public ResponseEntity<List<TblAddressThirdResponse>> getAddressThird(@PathVariable Long asSeq) {
List<TblAddressThirdResponse> thirdAddresses = helperService.getThirdAddressBySecondId(asSeq);
Expand All @@ -119,6 +185,14 @@ public ResponseEntity<List<TblAddressThirdResponse>> getAddressThird(@PathVariab
* @param userDetails
* @return
*/
@Operation(summary = "요양 보호사 근무 가능 시간 저장", description = "현재 로그인한 요양 보호사가 근무 가능한 시간 저장")
@ApiResponses({
@ApiResponse(responseCode = "200", description = "근무 가능 시간이 성공적으로 저장되었습니다.",
content = @Content(schema = @Schema(implementation = HelperWorkTimeResponse.class))),
@ApiResponse(responseCode = "3000", description = "요양 보호사 테이블을 찾을 수 없습니다."),
@ApiResponse(responseCode = "3009", description = "중복된 근무 가능 시간 주소가 존재합니다."),
@ApiResponse(responseCode = "3010", description = "로그인한 회원을 찾을 수 없습니다."),
})
@PostMapping("/helper-work-time")
public ResponseEntity<HelperWorkTimeResponse> workTime(
@RequestBody HelperWorkTimeRequestDTO helperWorkTimeDTO,
Expand All @@ -134,6 +208,16 @@ public ResponseEntity<HelperWorkTimeResponse> workTime(
* @param userDetails
* @return
*/
@Operation(summary = "요양 보호사 경력 저장", description = "현재 로그인한 요양 보호사 경력 저장")
@ApiResponses({
@ApiResponse(responseCode = "200", description = "요양 보호사의 경력이 성공적으로 저장되었습니다.",
content = @Content(schema = @Schema(implementation = HelperExperienceResponse.class))),
@ApiResponse(responseCode = "3000", description = "요양 보호사 테이블을 찾을 수 없습니다."),
@ApiResponse(responseCode = "3004", description = "요양 보호사 경력 회원 가입 정보를 다시 확인해주세요."),
@ApiResponse(responseCode = "3006", description = "해당 요양 보호사는 이미 등록된 근무 경력이 있습니다."),
@ApiResponse(responseCode = "3010", description = "로그인한 회원을 찾을 수 없습니다."),
@ApiResponse(responseCode = "5000", description = "서버에서 에러가 발생하였습니다.")
})
@PostMapping("/helper-exp")
public ResponseEntity<HelperExperienceResponse> helperExp(
@RequestBody HelperExperienceDTO helperExperienceDTO,
Expand All @@ -148,12 +232,31 @@ public ResponseEntity<HelperExperienceResponse> helperExp(
* @param helperSearchDTO
* @return
*/
@Operation(summary = "요양 보호사 검색", description = "조건에 맞는 요양 보호사 검색")
@ApiResponses({
@ApiResponse(responseCode = "200", description = "조건에 맞는 요양 보호사가 모두 검색되었습니다.",
content = @Content(schema = @Schema(implementation = HelperSearchResponse.class))),
@ApiResponse(responseCode = "3010", description = "로그인한 회원을 찾을 수 없습니다."),
@ApiResponse(responseCode = "3011", description = "요양 보호사 나이 계산 중 알 수 없는 에러가 발생 했습니다."),
})
@PostMapping("/search-helper")
public ResponseEntity<HelperSearchResponse> searchHelper(@RequestBody HelperSearchDTO helperSearchDTO) {
HelperSearchResponse helperSearchResponse = helperService.helperSearch(helperSearchDTO);
return ResponseEntity.ok(helperSearchResponse);
}

/**
* 요양 보호사 Q-Net 자격증 검증 로직
* @param helperCertDTO 요양 보호사 자격증 정보
* @return
*/
@Operation(summary = "요양 보호사 자격증 검증", description = "요양 보호사 관련 자격증 유효성을 Q-Net에서 검증하기ㅏ")
@ApiResponses({
@ApiResponse(responseCode = "200", description = "요양 보호사 관련 자격증이 인증되었습니다.",
content = @Content(schema = @Schema(implementation = HelperSearchResponse.class))),
@ApiResponse(responseCode = "3010", description = "로그인한 회원을 찾을 수 없습니다."),
@ApiResponse(responseCode = "3000", description = "요양 보호사 테이블을 찾을 수 없습니다."),
})
@PostMapping("/certi-verify")
public ResponseEntity<Map<String, String>> certiVerify(
@AuthenticationPrincipal UserDetails userDetails,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -295,13 +295,6 @@ public HelperExperienceResponse experienceSignUp(HelperExperienceDTO helperExper
.helperName(tblHelperExperienceSaved.getHelper().getName())
.filed(tblHelperExperienceSaved.getField())
.build();

} catch (DataIntegrityViolationException e) {
throw new BadRequestException(DATA_VALIDATION_ERROR);

} catch (TransactionSystemException e) {
throw new BadRequestException(TRANSACTIONAL_ERROR);

} catch (Exception e) {
throw new BadRequestException(INTERNAL_SEVER_ERROR);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ public ResponseEntity<?> checkAuthenticationCode(@RequestBody MailRequestDto.Che
@Operation(summary = "요양 보호사 회원 가입", description = "요양 보호사 회원 정보를 등록합니다.")
@ApiResponses({
@ApiResponse(responseCode = "200", description = "회원 가입 성공, 유효하지 않은 자격증을 반환합니다.",
content = @Content(schema = @Schema(implementation = TblHelperResponse.class))),
content = @Content(schema = @Schema(implementation = HelperCertDTO.class))),
@ApiResponse(responseCode = "4001", description = "회원가입 정보를 확인해 주세요."),
@ApiResponse(responseCode = "4000", description = "로그인 아이디가 이미 존재합니다.")
})
Expand Down
Loading