달력 인서트

This commit is contained in:
dyhj625 2025-01-16 15:34:55 +09:00
parent 7a075c4d5d
commit 712561ffbc
8 changed files with 101 additions and 7 deletions

View File

@ -42,7 +42,7 @@ import com.github.pagehelper.PageSerializable;
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.LocalBordService;
import io.company.localhost.service.localbordService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -51,7 +51,7 @@ import lombok.extern.slf4j.Slf4j;
@RequiredArgsConstructor
@Slf4j
public class BoardController {
private final LocalBordService boardService;
private final localbordService boardService;
/**
* 공지사항 목록 조회

View File

@ -0,0 +1,48 @@
package io.company.localhost.controller.api;
import java.util.List;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
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.localvacaService; // 서비스 클래스 경로 수정
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@RequiredArgsConstructor
@RestController
@RequestMapping("/api/vacation")
public class VacationController {
private final localvacaService localVacaService;
@PostMapping
public ApiResponse<String> saveVacations(@RequestBody List<MapDto> vacationRequests) {
// 요청 데이터 유효성 검사
if (vacationRequests == null || vacationRequests.isEmpty()) {
throw new IllegalArgumentException("휴가 요청 데이터가 비어 있습니다.");
}
for (MapDto request : vacationRequests) {
// 요청 데이터의 필수 검증
Integer employeeId = (Integer) request.get("employeeId");
String date = request.getString("date");
String type = request.getString("type");
if (employeeId == null || date == null || type == null) {
throw new IllegalArgumentException("요청 데이터에 누락된 값이 있습니다: " + request);
}
// 데이터 저장
localVacaService.insertVacation(request);
}
// 성공적으로 저장된 경우 응답 반환
return ApiResponse.ok("모든 휴가가 성공적으로 저장되었습니다.");
}
}

View File

@ -9,7 +9,7 @@ import org.apache.ibatis.annotations.Param;
import io.company.localhost.common.dto.MapDto;
@Mapper
public interface LocalBordMapper {
public interface localbordMapper {
// 공지사항 조회
List<MapDto> getNotices(MapDto map);

View File

@ -0,0 +1,14 @@
package io.company.localhost.mapper;
import org.apache.ibatis.annotations.Mapper;
import io.company.localhost.common.dto.MapDto;
@Mapper
public interface localvacaMapper {
void insertVacation(MapDto vacationRequest);
}

View File

@ -10,14 +10,14 @@ import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import io.company.localhost.common.dto.MapDto;
import io.company.localhost.mapper.LocalBordMapper;
import io.company.localhost.mapper.localbordMapper;
import io.company.localhost.utils.PageUtil;
import lombok.RequiredArgsConstructor;
@Service
@RequiredArgsConstructor
public class LocalBordService {
private final LocalBordMapper boardMapper;
public class localbordService {
private final localbordMapper boardMapper;
public List<MapDto> getNotices(MapDto map) {
return boardMapper.getNotices(map);

View File

@ -0,0 +1,21 @@
package io.company.localhost.service;
import java.util.List;
import org.springframework.stereotype.Service;
import io.company.localhost.common.dto.MapDto;
import io.company.localhost.mapper.localvacaMapper;
import lombok.RequiredArgsConstructor;
@Service
@RequiredArgsConstructor
public class localvacaService {
private final localvacaMapper localvacaMapper;
public void insertVacation(MapDto vacationRequest) {
localvacaMapper.insertVacation(vacationRequest);
}
}

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="io.company.localhost.mapper.LocalBordMapper">
<mapper namespace="io.company.localhost.mapper.localbordMapper">
<!-- 공지사항 조회 -->
<select id="getNotices" resultType="io.company.localhost.common.dto.MapDto">

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="io.company.localhost.mapper.localvacaMapper">
<!-- 휴가 저장 -->
<insert id="insertVacation" parameterType="io.company.localhost.common.dto.MapDto">
INSERT INTO localvaca (MEMBERSEQ, LOCVACUDT, LOCVACTYP, LOCVACRDT)
VALUES (#{employeeId}, #{date}, #{type}, NOW())
</insert>
</mapper>