21.04.02 lamplight서비스 프로젝트(funeral, funeralRelAssts 테이블 추가)

2021. 4. 2. 22:14JAVA/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