포인트 만료일이 지나도 포인트가 마이너스 되지 않네요~ 부탁드립니다. ㅠㅠ

포인트 만료일이 지나도 포인트가 마이너스 되지 않네요~ 부탁드립니다. ㅠㅠ

QA

포인트 만료일이 지나도 포인트가 마이너스 되지 않네요~ 부탁드립니다. ㅠㅠ

본문

사이트를 운영한지 1년이 딱 되서

회원들의 포인트 등을 살펴보는데

만료일이 8월19일 이전의 모든 포인트가 그대로 살아있습니다.

 

테스트 아이디 여러개로 체크 해봤는데도

만료일이라고는 표시되어 있고, 만료는 안되어 있고 여전히 포인트는 그대로 살아있더락요.

 

무언가 잘못 건들인것 같긴한데... 기억이 나질 않습니다.

 

혹시나해서 여기 사이트 오랜만에 로그인해보니

로그인 싯점으로 만료포인트가 체크되어 만료 -8500 이런식으로 뜨더라구요.

 

제 홈페이지는 날짜를 모르는걸까요?ㅠㅠ

왜 만료일은 되어 있는데

이후 로그인해도 만료가 되지 않는걸까요?~ㅠㅠ

 

어디를 손봐야하는지

부탁드립니다.

이 질문에 댓글 쓰기 :

답변 2

lib\common.lib.php 파일에 아래부분이 그 역할을 합니다.


// 소멸포인트 삭제
function delete_expire_point($mb_id, $point)

        // 유효기간이 있을 때 기간이 지난 포인트 expired 체크
        $sql = " update {$g5['point_table']}
                    set po_expired = '1'
                    where mb_id = '$mb_id'
                      and po_expired <> '1'
                      and po_expire_date <> '9999-12-31'
                      and po_expire_date < '".G5_TIME_YMD."' ";
        sql_query($sql);

 

정발 정발 죄송합니다. ㅠㅠ
귀찮게 해드리는것 같네요 ㅠㅠ

영카드5 최신버전의 lib/common.lib.php 에서 point로도 검색하여 모두 확인하였지만
제 파일과 차이가 없었습니다. ㅠㅠ

어디서부터 이상해진걸까요~ㅠㅠㅠㅠ


// 소멸포인트 삭제
function delete_expire_point($mb_id, $point)
{
    global $g5, $config;

    $point1 = abs($point);
    $sql = " select po_id, po_use_point, po_expired, po_expire_date
                from {$g5['point_table']}
                where mb_id = '$mb_id'
                  and po_expired = '1'
                  and po_point >= 0
                  and po_use_point > 0
                order by po_expire_date desc, po_id desc ";
    $result = sql_query($sql);
    for($i=0; $row=sql_fetch_array($result); $i++) {
        $point2 = $row['po_use_point'];
        $po_expired = '0';
        $po_expire_date = '9999-12-31';
        if($config['cf_point_term'] > 0)
            $po_expire_date = date('Y-m-d', strtotime('+'.($config['cf_point_term'] - 1).' days', G5_SERVER_TIME));

        if($point2 > $point1) {
            $sql = " update {$g5['point_table']}
                        set po_use_point = po_use_point - '$point1',
                            po_expired = '$po_expired',
                            po_expire_date = '$po_expire_date'
                        where po_id = '{$row['po_id']}' ";
            sql_query($sql);
            break;
        } else {
            $sql = " update {$g5['point_table']}
                        set po_use_point = '0',
                            po_expired = '$po_expired',
                            po_expire_date = '$po_expire_date'
                        where po_id = '{$row['po_id']}' ";
            sql_query($sql);

            $point1 -= $point2;
        }
    }
}

// 포인트 내역 합계
function get_point_sum($mb_id)
{
    global $g5, $config;

    if($config['cf_point_term'] > 0) {
        // 소멸포인트가 있으면 내역 추가
        $expire_point = get_expire_point($mb_id);
        if($expire_point > 0) {
            $mb = get_member($mb_id, 'mb_point');
            $content = '포인트 소멸';
            $rel_table = '@expire';
            $rel_id = $mb_id;
            $rel_action = 'expire'.'-'.uniqid('');
            $point = $expire_point * (-1);
            $po_mb_point = $mb['mb_point'] + $point;
            $po_expire_date = G5_TIME_YMD;
            $po_expired = 1;

            $sql = " insert into {$g5['point_table']}
                        set mb_id = '$mb_id',
                            po_datetime = '".G5_TIME_YMDHIS."',
                            po_content = '".addslashes($content)."',
                            po_point = '$point',
                            po_use_point = '0',
                            po_mb_point = '$po_mb_point',
                            po_expired = '$po_expired',
                            po_expire_date = '$po_expire_date',
                            po_rel_table = '$rel_table',
                            po_rel_id = '$rel_id',
                            po_rel_action = '$rel_action' ";
            sql_query($sql);

            // 포인트를 사용한 경우 포인트 내역에 사용금액 기록
            if($point < 0) {
                insert_use_point($mb_id, $point);
            }
        }

        // 유효기간이 있을 때 기간이 지난 포인트 expired 체크
        $sql = " update {$g5['point_table']}
                    set po_expired = '1'
                    where mb_id = '$mb_id'
                      and po_expired <> '1'
                      and po_expire_date <> '9999-12-31'
                      and po_expire_date < '".G5_TIME_YMD."' ";
        sql_query($sql);
    }
답변을 작성하시기 전에 로그인 해주세요.
전체 482
QA 내용 검색

회원로그인

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