diff --git a/src/main/java/io/company/localhost/common/security/mapper/MapBasedUrlRoleMapper.java b/src/main/java/io/company/localhost/common/security/mapper/MapBasedUrlRoleMapper.java index 2f0aff2..9b2b577 100644 --- a/src/main/java/io/company/localhost/common/security/mapper/MapBasedUrlRoleMapper.java +++ b/src/main/java/io/company/localhost/common/security/mapper/MapBasedUrlRoleMapper.java @@ -35,6 +35,7 @@ public class MapBasedUrlRoleMapper implements UrlRoleMapper{ urlRoleMappings.put("/api/vote/**", PERMIT_ALL); urlRoleMappings.put("/api/worddict/**", PERMIT_ALL); urlRoleMappings.put("/api/quilleditor/**", PERMIT_ALL); + urlRoleMappings.put("/api/commuters/**", PERMIT_ALL); return new HashMap<>(urlRoleMappings); } } \ No newline at end of file diff --git a/src/main/java/io/company/localhost/controller/api/CommutersController.java b/src/main/java/io/company/localhost/controller/api/CommutersController.java new file mode 100644 index 0000000..8689fb3 --- /dev/null +++ b/src/main/java/io/company/localhost/controller/api/CommutersController.java @@ -0,0 +1,64 @@ +/************************************************************ + * + * @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.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 + */ + @GetMapping("/today") + public ApiResponse> selectTodayCommuter(int memberSeq) { + return ApiResponse.ok(commutersService.selectTodayCommuter(memberSeq)); + } + +} diff --git a/src/main/java/io/company/localhost/mapper/CommutersMapper.java b/src/main/java/io/company/localhost/mapper/CommutersMapper.java new file mode 100644 index 0000000..ca81364 --- /dev/null +++ b/src/main/java/io/company/localhost/mapper/CommutersMapper.java @@ -0,0 +1,32 @@ +/************************************************************ + * + * @packageName : io.company.localhost.mapper + * @fileName : CommutersMapper.java + * @author : 박지윤 + * @date : 24.03.10 + * @description : + * + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 24.03.10 박지윤 최초 생성 + * + *************************************************************/ +package io.company.localhost.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Mapper; + +import io.company.localhost.common.dto.MapDto; + +@Mapper +public interface CommutersMapper { + + int insertCommuters(MapDto map); + + int updateLeaveTime(MapDto map); + + List selectTodayCommuter(int memberSeq); + +} diff --git a/src/main/java/io/company/localhost/service/CommutersService.java b/src/main/java/io/company/localhost/service/CommutersService.java new file mode 100644 index 0000000..2c19b5a --- /dev/null +++ b/src/main/java/io/company/localhost/service/CommutersService.java @@ -0,0 +1,72 @@ +/************************************************************ + * + * @packageName : io.company.localhost.CommutersService + * @fileName : CommutersService.java + * @author : 박지윤 + * @date : 25.03.10 + * @description : + * + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 25.03.10 박지윤 최초 생성 + * + *************************************************************/ +package io.company.localhost.service; + +import java.time.LocalDateTime; +import java.util.List; + +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import io.company.localhost.common.annotation.ReqMap; +import io.company.localhost.common.dto.MapDto; +import io.company.localhost.mapper.CommutersMapper; +import io.company.localhost.mapper.NetprojctMapper; +import io.company.localhost.mapper.PromemberMapper; +import io.company.localhost.mapper.commoncodMapper; +import lombok.RequiredArgsConstructor; + +@Service +@RequiredArgsConstructor +public class CommutersService { + private final CommutersMapper commutersMapper; + + + /** + * 출퇴근 등록 + * + * @param map + * @return + */ + public int insertCommuters(MapDto map) { + map.put("commutDay", LocalDateTime.now()); + int result = commutersMapper.insertCommuters(map); + + return result; + } + + /** + * 퇴근 시간 업데이트 + * @param map + * @return + */ +// public List updateLeaveTime(MapDto map) { +// +// +// return ; +// } +// + + /** + * 당일 출근 기록 조회 + * @param memberSeq 사용자 번호 + * @return 당일 출근 정보 + */ + public List selectTodayCommuter(int memberSeq) { + return commutersMapper.selectTodayCommuter(memberSeq); + } + + +} diff --git a/src/main/resources/mapper/CommutersMapper.xml b/src/main/resources/mapper/CommutersMapper.xml new file mode 100644 index 0000000..ee4dff3 --- /dev/null +++ b/src/main/resources/mapper/CommutersMapper.xml @@ -0,0 +1,43 @@ + + + + + + + INSERT INTO commuters ( + COMMUTSEQ, + MRMBERSEQ, + PROJCTSEQ, + COMMUTCMT, + COMMUTLVT, + COMMUTDAY, + COMMUTARR + ) VALUES ( + #{commutSeq}, + #{memberSeq}, + #{projctSeq}, + #{commutCmt}, + #{commutLvt}, + #{commutDay}, + #{commutArr} + ) + + + + + UPDATE commuters + SET COMMUTLVT = #{commutLvt} + WHERE MRMBERSEQ = #{memberSeq} + AND COMMUTDAY = CURDATE() + + + + + +