첨부파일 다운로드 시 포인트 차감을 적용했을 때의 세부 처리 과정
특정 게시판 포인트 설정에서 다운로드 포인트를 마이너스로 적용하면
게시판에 등록한 첨부 파일을 다른 회원이 받을 시 다운로드한 회원들의 포인트는 설정된 값만큼 감소됩니다.
글 등록자와 관리자는 예외 처리되어 감소되지 않습니다.
다른 회원들이 파일을 다운로드할 때 글 등록자에게 포인트를 지급하는 설정은 없으며 추가 개발이 필요합니다.
좀 더 구체적으로 살펴보겠습니다.
모든 내용들은 그누보드 원본 기준입니다.
01. 첨부된 파일 개수에 상관없이 포인트 차감은 각 게시글마다 1회만 적용됩니다.
예를 들어 이렇게 파일을 여러 개 첨부해도 하나를 받든 3개를 받든 한번만 차감됩니다.
각 파일마다 개별적으로 적용은 추가 개발이 필요합니다.
02. 한번 다운로드한 파일은 재 다운로드시 중복으로 차감되지 않습니다. 최초 1회만 적용됩니다.
글 등록자가 나중에 파일을 교체해도 차감되지 않습니다.
03. 글 등록자가 게시글을 수정하거나 삭제해도 기존의 다운로드한 회원들의 포인트 테이블에는 영향이 없습니다.
04. 세부 내역은 포인트 테이블 db에 이런 정보들이 저장됩니다.
mb_id : 다운로드한 회원 ID
po_datetime : 다운로드한 시간
po_content : 게시판 제목 + wr_id + 파일 다운로드
po_point : 포인트 증감 (게시판 설정에서 입력한 다운로드 설정 포인트)
po_use_point : 사용포인트 (다운로드시에는 활용되지 않음)
po_expired : 포인트 만료됨
po_expire_date : 포인트 만료날짜 (다운로드한 날짜에 포인트가 소모되었다를 의미)
po_mb_point : 다운로드한 회원의 현재 포인트
po_rel_table : 게시판 bo_table 값
po_rel_id : 게시판 wr_id 값
po_rel_action : 다운로드할 때 발생한 포인트라는 것을 의미
(글읽기, 글쓰기, 댓글쓰기 등의 포인트 내역과 겹치지 않게 하는 용도로 사용)
포인트 감소 중복 체크를 bo_table 과 wr_id 값 기준으로 판단하기 때문에 파일을 여러개 올려도 게시글 wr_id 값으로 통합 체크해서 한번만 적용됩니다. 위 01번 항목에서 말한 내용의 이유가 여기에 있습니다.
다운로드한 회원의 ip 는 저장되지 않습니다.
회원들이 별도로 볼 수 있는 포인트 내역 페이지에는 게시판 제목 + wr_id 로 출력되고 있네요.
게시글 제목이나 파일명은 보이지 않습니다.
게시판 제목을 나중에 수정해도 이미 저장된 값들은 영향이 없습니다.
포인트 내역 삭제는 관리자만 가능하며 관리자페이지 > 회원관리 > 포인트관리에서 할 수 있습니다.
삭제만 가능하며 수정은 지원하지 않습니다.
05. 다운로드 시 포인트 증감은 bbs/download.php 파일에서 처리되고 있습니다.
insert_point($member['mb_id'], $board['bo_download_point'], "{$board['bo_subject']} $wr_id 파일 다운로드", $bo_table, $wr_id, "다운로드");
insert_point 함수는 lib/common.lib.php 파일에 있습니다.
06. 회원 탈퇴 시 포인트 테이블에 저장된 탈퇴 회원의 포인트 내역 값들은 일괄적으로 삭제됩니다.
한번 삭제된 포인트 내역은 별도의 DB 백업본 없이는 복구 불가능합니다.