/************************************************************ * * @packageName : io.company.localhost.controller.api * @fileName : CommuterController.java * @author : 박지윤 * @date : 25.03.10 * @description : 출퇴근 * * =========================================================== * DATE AUTHOR NOTE * ----------------------------------------------------------- * 25.03.10 박지윤 최초 생성 * *************************************************************/ package io.company.localhost.controller.api; import java.util.List; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PatchMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import io.company.localhost.common.annotation.ReqMap; import io.company.localhost.common.dto.ApiResponse; import io.company.localhost.common.dto.MapDto; import io.company.localhost.service.CommutersService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @RestController @RequestMapping("/api/commuters") @RequiredArgsConstructor @Slf4j public class CommutersController { private final CommutersService commutersService; /** * 출퇴근 등록 * * @param map * @return */ @PostMapping("/insert") public ApiResponse insertCommuters(@ReqMap MapDto map) { int commuters = commutersService.insertCommuters(map); return ApiResponse.ok(commuters); } /** * 퇴근 업데이트 * * @param map * @return * */ @PatchMapping("/updateLve") public ApiResponse updateLeaveTime(@ReqMap MapDto map) { boolean isLeaveTime = commutersService.updateLeaveTime(map); return ApiResponse.ok(isLeaveTime); } /** * 현재 달의 모든 출근 정보 조회 * * @param map * @return */ @GetMapping("/month") public ApiResponse> selectCommutersByMonth(int year, int month) { return ApiResponse.ok(commutersService.selectCommutersByMonth(year, month)); } /** * 오늘 사용자의 출근 정보 조회 * * @param map * @return */ @GetMapping("/today/{memberSeq}") public ApiResponse> selectTodayCommuterInfo(@PathVariable Integer memberSeq) { return ApiResponse.ok(commutersService.selectTodayCommuterInfo(memberSeq)); } /** * 오늘 출근 모든 사용자 조회 * * @param map * @return */ @GetMapping("/todays") public ApiResponse> selectTodayCommuter() { return ApiResponse.ok(commutersService.selectTodayCommuter()); } /** * 출근 프로젝트 업데이트 * * @param map * @return * */ @PatchMapping("/update") public ApiResponse updateCommuterProject(@ReqMap MapDto map) { boolean isCommuter = commutersService.updateCommuterProject(map); return ApiResponse.ok(isCommuter); } }