21.04.02 lamplight서비스 프로젝트(funeral, funeralRelAssts 테이블 추가)
2021. 4. 2. 22:14ㆍJAVA/Spring & Vue APP 프로젝트(백엔드)
# NOTE
Todo
-의뢰인 요청 - 검토(수락) - 수락(진행) - 종료요청(최종종료)까지
1사이클 실행
-요청서에서 승인버튼 누르면 장례클래스 생성[ㅇ]
-도우미 마무리
-장례클래스 생성[ㅇ]
-장례클래스와 연관된 도우미 테이블 생성[ㅇ]
-모든 장례리스팅[ㅇ]
-도우미,전문가의 현재 진행중인 my장례 리스팅[ㅇ]
-장례리스트에 도우미 현황 나오기[ㅇ]
-장례에 도우미 지원[]
-전문가에서 장례별 도우미 지원현황 확인 후 수락[]
-도우미에서 내 지원현황 확인,취소[]
# 주요 소스코드
<DB.sql>
# 장례 테이블 생성
CREATE TABLE `funeral` (
id INT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
regDate DATETIME NOT NULL,
updateDate DATETIME NOT NULL,
`head` INT(10) UNSIGNED NOT NULL, #예상인원수
religion CHAR(200) NOT NULL, #종교
`startDate` DATE NOT NULL, #장례시작일
`endDate` DATE NOT NULL, #장례종료일
title CHAR(200) NOT NULL,
`body` TEXT NOT NULL, #상세요구사항
funeralHome CHAR(200) NOT NULL, #장례식장
`expertId` INT(10) UNSIGNED NOT NULL,
`clientId` INT(10) UNSIGNED NOT NULL,
stepLevel SMALLINT(2) UNSIGNED DEFAULT 2 NOT NULL COMMENT '(2=의뢰승인(장례진행중),3=장례종료(종료확인요청),4=종료확인(최종종료))'
);
# 장례와 관련된 도우미 그룹 테이블 생성
CREATE TABLE `funeralRelAssts`(
id INT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
funeralId INT(10) UNSIGNED NOT NULL,
assistantId INT(10) UNSIGNED NOT NULL
);
# 도우미가 진행중인 장례 리스팅
SELECT F.*,
IFNULL(C.name, "탈퇴회원") AS extra__clientName,
IFNULL(E.name, "탈퇴회원") AS extra__expertName
FROM `funeral` AS F
LEFT JOIN `client` AS C
ON F.clientId = C.id
LEFT JOIN `expert` AS E
ON F.expertId = E.id
WHERE F.id = (
SELECT funeralId
FROM funeralRelAssts
WHERE assistantId = 1
)
ORDER BY F.id DESC