열람실 자리관리 어플 질문드립니다
조회수 593회
안녕하세요 열람실 자리관리 어플을 만들고 있는 학생입니다
현재 1번자리 버튼을 만들고
버튼을 누르고 예약완료를 진행하게 되면 mysql 테이블에 좌석번호와 사용자 아이디가 전송되는것 까지 하였습니다.
제가 궁금한 점은
- mysql table 에 reservation 이라는 테이블을 만들고 user ID와 seatID를 만들었는데
예약완료하고 서버로 전송된 아이디와 좌석값이 일정 시간(분,시간)이 지나면 삭제될수있도록 할 수 있나요?
2.좌석을 예약하고 서버로 전송한 것 까지는 좋았는데
안드로이드에서 '자리사용 그만 두기 버튼'을 누르면 전송된 데이터가 삭제될 수 있는 기능을 구현하는 방법
3.아이디와 좌석값이 전송되고 예약완료가 되면 버튼 색이 기존색 - > 빨간색으로 변경되거나
버튼 색이 불가능하다면 text 나 이미지를 변경할수있는 조건문이 있을까요??
이 세가지 질문드립니다 ㅠㅠ 구문이 필요하면 구문 올리겠습니다
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
대원칙: 결정권자가 정책을 지정해 주기 전까지는 DB의 컬럼을 하드 삭제하지 마세요. 특히 이 경우처럼 특정 테이블이 로그의 기능을 겸하는 경우에는 row를 막 지우면 안됩니다.
reservation
테이블에reserve_starts_at
컬럼과reserve_ends_at
컬럼을 추가하고, 이 테이블에 인서트할 때reserve_ends_at
값을reserve_starts_at + (일정시간)
으로 만들어서 같이 넣어줍니다. 그리고 이후 (프로그래밍 로직에서)reserve_starts_at <= (지금) < reserve_ends_at
인 자리를 '사용 중인 자리'로 보여주도록 처리합니다.- 그러면 "자리 사용 그만두기" 기능은 그냥 해당 자리에 관한 row를 이렇게 업뎃치면 됩니다.
reserve_ends_at = (지금)
그러면 1에서 설명한 로직에 의해 해당 자리는 '사용 중인 자리'에 해당 없게 되겠죠. - 안드로이드에서 이걸 어떻게 처리하는지는 잘 모르겠는데... 웹뷰라면 보통은 전체 좌석도를 (사용 여부, 예약 여부 정보 적용해서) 새로 그려줍니다. 버튼 눌린 자리만 업뎃해 주는 건 좋은 방법이 아닐 것 같습니다. 예약이라는 건 예약을 하는 동안에도 다른 예약이 들어오거나 빠지거든요.
제가 안드로이드를 1도 몰라서... 나머지 세부사항은 다른 분의 답변이 필요합니다. ^^;
댓글 입력