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

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

QA

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

답변 3

본문

수고하십니다.

제가 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번 파라메터가 동일하면 한번만 기록 됩니다

  

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 489
© SIRSOFT
현재 페이지 제일 처음으로