포인트 중복차감 막는 방법이 있을까요?

포인트 중복차감 막는 방법이 있을까요?

QA

포인트 중복차감 막는 방법이 있을까요?

본문

수고하십니다.

제가 api로 안드로이드와 연결해서 포인트 차감하는 시스템을 만들었습니다.

그런데 이게 어플에서 같은 아이디로 동시에 데이터를 전송해버리는 경우가 발생하더라고요

만약 보유 포인트가 4000포인트인데 4000포인트를 사용해서 0가 되어야 하는데 동시에 2번 들어오니까

-인지 체크를 할수가 없더라고요 그래서 사용자 보유포인트가 -4000이 되어버리는거죠

 

      $msg.="TOPUP CARD CHARGE  ".date("m/d/Y H:i:s");
      $in_point=insert_point($mb['mb_id'], $chk[topup_point]*-1, $msg); 

포인트는 이렇게 차감하고 있습니다.

 

이런경우를 겪어보신분 조언좀 부탁드립니다.

 

감사합니다.

 

이 질문에 댓글 쓰기 :

답변 3

$rel_table 위치에 date("m/d/Y H:i"); <-- 이렇게 넣으면 분 단위로 시간이 다른 경우는 입력 되고 초 단위로는  입력 되지않게 될테니 동시에 2번 기록은 안될 것입니다

 

 

 

음 일단 동시에 2번 들어오는 원인을 찾으셔야 될 듯 하네요.

임시조치로는 insert 될 때 mb_id를 기준으로 체크를 한번 하시고 차감을 하셔야 겠습니다.

function insert_point($mb_id, $point, $content='', $rel_table='', $rel_id='', $rel_action='', $expire=0, $repeat=0)

<-- 1 , 4,5,6번 파라메터가 동일하면 한번만 기록 됩니다

  

답변을 작성하시기 전에 로그인 해주세요.
전체 48
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT