API 쿼리 구현
세자보의 기능을 수행하기 위한 쿼리문을 서술한다.
Last updated
세자보의 기능을 수행하기 위한 쿼리문을 서술한다.
Last updated
등록된 호감도가 없더라도 0으로 명시할 것.
각 건물의 배치 여부는 1 or 0으로 명시할 것.
현재 날짜가 만료일을 넘지 않는 모든 게시물을 호출한다.
호출된 게시물은 만료 날짜가 빠른 순, 좋아요가 높은 순, 조회수가 높은 순, 게시 날짜가 오래된 순, 블록 크기가 큰 순, 표출 대상 건물의 수가 적은 순으로 정렬한다.
불러오는 정보는 다음과 같다. - 제목 - 내용 - 게시일 - 만료일 - 작성자 프로필(이름, 학번, 학과, 색코드) - 첨부 이미지 - 첨부 링크 - 조회수 - 좋아요/싫어요 수 - 블럭 크기 - 배치된 건물 수 및 각 건물 배치 여부
현재 날짜가 만료일을 넘지 않고 특정 건물에 등록된 모든 게시물을 호출한다.
호출된 게시물의 정렬 순서 및 불러올 정보는 "보드에 모든 게시물 불러오기"와 일치한다.
게시물 아이디가 "X"인 게시물의 조회수를 1 증가시킨다.
게시물 아이디가 "X"인 해당 게시물에 대한 좋아요/싫어요 기능을 수행한다.
게시물 호감 테이블에서 현재 로그인된 사용자, 게시물 아이디, 호감/비호감(1/0) 정보를 삽입한다.
접속중인 사용자가 이미 해당 게시물에 대하여 특정 호감 표시가 등록되어 있고, 그와 반대되는 호감/비호감을 등록할 경우, 호감/비호감 정보만을 수정하여 갱신시킨다.
만료일이 지나지 않은 모든 게시물에 대한 검색 기능이다.
입력한 문자열이 제목, 내용, 작성자 이름, 학번, 소속학과, 소속대학 중에 어느 한곳이라도 부분 문자열로 일치할 경우, 해당 게시물을 호출한다.
출력할 정보 및 정렬 순서는 "보드에 게시물 불러오기"와 일치한다.
입력된 아이디와 비밀번호가 현재 사용자 테이블 안에서 일치하는 정보가 존재할 경우, {"result":1}를 반환하며, 없을 경우 {"result":0}을 반환한다.
입력받은 아이디가 존재하지 않을 경우, 사용자 API에서 도출된 정보를 바탕으로 사용자 테이블에 해당 정보를 삽입하여 회원 정보를 생성한다.
API를 통해 도출되는 정보는 학번, 비밀번호, 이름, 학과이다.
로그인된 사용자의 회원 정보를 호출한다.
불러오는 정보는 다음과 같다. - 이름 - 학번 - 학과 - 자신이 작성한 글의 게시물 정보(제목, 내용, 만료일, 작성자 프로필, 첨부 이미지, 좋아요/싫어요 수)
현재 로그인 중인 아이디를 게시물 아이디로 참조하여 게시물을 등록한다.
게시물 테이블의 정보는 첨부 이미지를 제외하고는 모두 NOT NULL이 되어야 한다.
조회수는 0으로 초기화하며, 게시일은 현재 날짜를 등록한다.
게시물 등록에 의한 2가지 쿼리는 트랜잭션으로 작동해야 한다.
게시물이 등록될 경우, 해당 게시물이 표출될 건물과의 상관 관계를 건물-게시글 테이블에 삽입한다.
해당 게시물의 정보를 수정한다.
갱신되는 정보는 다음과 같다. - 제목 - 내용 - 첨부 이미지 - 첨부 링크
입력받은 사용자의 학번과 일치하는 게시물을 삭제한다.
논리적 명칭
물리적 명칭
타입
비고
게시물 아이디
post_id
INT
기존의 게시물 모든 데이터
복수
복수
기존 post 테이블의 모든 데이터
좋아요 수
up
INT
싫어요 수
down
INT
율곡관 배치 여부
yul
INT
1:True
0:False
대양AI센터 배치 여부
dae
INT
1:True
0:False
학술정보원 배치 여부
hak
INT
1:True
0:False
광개토관 배치 여부
gwang
INT
1:True
0:False
총 건물 배치 개수
build_count
INT