seong
채용 공고 수정 기능 본문
채용 공고 수정 기능도 기본 CRUD 기본에 하던 방식을 벗어나지않고 만들면서 필요한 부분에대해 더 생각해보기로 하자.
작성 순서
1. 필요한 정보 확인
2. Mapper 작성
3. Dto생성
4. Service작성
5. Controller작성
6. View만들어서 확인
1. 필요한 정보 확인
- insert와 거의 동일 하다 . Category, career두개의 테이블을 한번에 수정 해야한다.
2. Mapper 작성
- Category테이블에 대한 update
UPDATE category
SET category_frontend = #{categoryFrontend},
category_Backend =#{categoryBackend},
category_devops = #{categoryDevops}
WHERE category_id = #{categoryId}
- Career테이블에 대한 update
UPDATE career
SET one_year_less = #{oneYearLess},
two_year_over =#{twoYearOver},
three_year_over = #{threeYearOver},
five_year_over = #{fiveYearOver}
WHERE career_id = #{careerId}
- job_posting_board에 대한 update
UPDATE job_posting_board
SET
job_posting_board_title=#{jobPostingBoardTitle},
job_posting_board_content=#{jobPostingBoardContent},
job_posting_salary =#{jobPostingSalary},
job_posting_board_place = #{jobPostingBoardPlace},
job_posting_board_deadline = #{jobPostingBoardDeadline}
WHERE
job_posting_board_id = #{jobPostingBoardId}
3. Dto생성
4. Service작성
업데이트 해당 엔티티에 updateDto를 매개변수로 가지고 있는 생성자를 만들어주었다.
그리고 jobPostingBoard에서는 job_posting_board_career_id라는 아이디를 가지고 있지만,
Career에는 Career_id로 업데이트를 하는 로직이었다.
그래서 따로 엔티티에 id값을 임의로 만들어 주어 업데이트를 진행 했다.
5. Controller작성
Controller에서 값이 클라이언트 -> 컨트롤러로 전달이 되는지 확인 해보기 위해 로그로 일일이 확인 해주었다.
6. View만들어서 확인
업데이트의 실행 함수 스크립트 부분이다.
insert와 다를게 거의 없어 어렵지 않게 진행 되었다.
function update() {
let jobPostingBoardId =$("#jobPostingBoardId").val();
jobPostingBoardCategoryId: $("#jobPostingBoardCategoryId").val();
jobPostingBoardCareerId: $("#jobPostingBoardCareerId").val();
let data = {
jobPostingBoardCategoryId: $("#jobPostingBoardCategoryId").val(),
jobPostingBoardCareerId: $("#jobPostingBoardCareerId").val(),
jobPostingBoardTitle: $("#jobPostingBoardTitle").val(),
oneYearLess: $("input:checkbox[value='oneYearLess']").is(":checked"),
twoYearOver: $("input:checkbox[value='twoYearOver']").is(":checked"),
threeYearOver: $("input:checkbox[value='threeYearOver']").is(":checked"),
fiveYearOver: $("input:checkbox[value='fiveYearOver']").is(":checked"),
categoryFrontend: $("input:checkbox[value='categoryFrontend']").is(":checked"),
categoryBackend: $("input:checkbox[value='categoryBackend']").is(":checked"),
categoryDevops: $("input:checkbox[value='categoryDevops']").is(":checked"),
jobPostingSalary:$('input[type=radio][name= jobPostingSalary]:checked').val(),
jobPostingBoardPlace: $("#post").val() + "," + $("#addr").val(),
jobPostingBoardDeadline: $("#jobPostingBoardDeadline").val(),
jobPostingBoardContent: $("#jobPostingBoardContent").val()
};
console.log(jobPostingBoardCategoryId);
console.log(jobPostingBoardCareerId);
$.ajax("/company/jobPostingBoardUpdate/"+jobPostingBoardId, {
type: "PUT",
dataType: "json",
data: JSON.stringify(data),
headers: {
"Content-Type": "application/json; charset=utf-8"
}
}).done((res) => {
if (res.code == 1) {
alert("채용 공고 수정 완료");
location.href="/company/jobPostingBoardList";
} else {
alert("업데이트에 실패하였습니다");
}
});
}
'이력관리사이트' 카테고리의 다른 글
이력서 - 채용공고 상세보기 (0) | 2022.11.14 |
---|---|
Git 진행 시 파일 대소문자 구분에러 해결 (0) | 2022.10.22 |
채용 공고 등록 기능 (0) | 2022.10.22 |
회사 정보 수정 하기 (1) | 2022.10.15 |
회사 정보 보기 (0) | 2022.10.14 |