배송완료후 포인트 반영이 되지 않습니다.
본문
//------------------------------------------------------------------------------
// 주문포인트를 적립한다.
// 설정일이 지난 포인트 부여되지 않은 배송완료된 장바구니 자료에 포인트 부여
// 설정일이 0 이면 주문서 완료 설정 시점에서 포인트를 바로 부여합니다.
//------------------------------------------------------------------------------
function save_order_point($ct_status="완료"){
global $g5, $default;
$beforedays = date("Y-m-d H:i:s", ( time() - (86400 * (int)$default['de_point_days']) ) ); // 86400초는 하루
$sql = " select * from {$g5['g5_shop_cart_table']} where ct_status = '$ct_status' and ct_point_use = '0' and ct_time <= '$beforedays' ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
// 회원 ID 를 얻는다.
$od_row = sql_fetch("select od_id, mb_id, od_cart_price, od_gibu from {$g5['g5_shop_order_table']} where od_id = '{$row['od_id']}' ");
if ($od_row['mb_id'] && $row['ct_point'] > 0) { // 회원이면서 포인트가 0보다 크다면
$po_point = $row['ct_point'] * $row['ct_qty'];
$po_content = "주문번호 {$od_row['od_id']} ({$row['ct_id']}) 배송완료";
insert_point($od_row['mb_id'], $po_point, $po_content, "@delivery", $od_row['mb_id'], "{$od_row['od_id']},{$row['ct_id']}");
}
sql_query("update {$g5['g5_shop_cart_table']} set ct_point_use = '1' where ct_id = '{$row['ct_id']}' ");
//여기서부터는 제가 추가적으로 작성한 기능입니다.
$od_row2 = sql_fetch("select * from {$g5['g5_shop_default_table']}");
if($od_row2['de_gibu_type'] == "퍼센트"){
$percent = $od_row2['de_gibu_percent'] * $od_row['od_cart_price'];
sql_query("update {$g5['g5_shop_order_table']} set od_gibu = '$percent' where od_id = '{$row['od_id']}'");
}
if($od_row2['de_gibu_type'] == "금액"){
sql_query("update {$g5['g5_shop_order_table']} set od_gibu = '{$od_row2['de_gibu_money']}' where od_id = '{$row['od_id']}'");
}
}
}
일단 소스의 위치는 lib/shop.lib.php 입니다.
배송 완료시 n일 이후로 자동으로 포인트를 반영해줘야 하는데
관리자 > 쇼핑몰관리 > 쇼핑몰설정 란에서 기한을 0일로 바꾸고 배송완료를 해도
관리자 > 회원관리> 포인트관리 란에서 '포인트가 부여 되었다'는 메시지도 안보이고
물론 포인트도 부여가 되지 않습니다ㅜ
고수님들 답변 부탁드립니다.ㅜㅜ
그리고 만약 포인트가 부여 된다면 포인트가 부여 되었다고 자동으로 회원에게 쪽지를 보내고 싶은데
그 소스도 혹시 어디있는지 가르쳐주시면 감사하겠습니다.
!-->
답변 2
포인트 주는건 함수가 있어서 가져다쓰면 쉽게 쓸수있습니다.
관리자에서 포인트를 직접넣어주는 페이지를 열어보세여.
해당함수만 쓰면 쉽게 처리할수있습니다.
제가 위에서 언급한 페이지에 보시면 함수에 내역추가하는 부분이 있습니다.
함수는 /lib/ 폴더에서 찾을수있으실겁니다.
답변을 작성하시기 전에 로그인 해주세요.