적립금의 적립 시점을 완료시점이 아닌 주문시점으로 한 이유가 있을까요? 채택완료
Copy
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_name, od_settle_case from {$g5['g5_shop_order_table']} where od_id = '{$row['od_id']}' ");
if ($od_row['mb_id'] && $row['ct_point'] > 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']}");
}
답변 1개
채택된 답변
+20 포인트
1년 전
save_order_point 기본적으로 $ct_status가 완료인 경우에 적립되도록 처리되고 있는걸로 확인됩니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
1년 전
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
function save_order_point($ct_status="완료")
완료처리 된 시점을 db에 기록했다가(원본은 없는 것 같습니다.)
완료 시점에서 n일 후 적립이 적용되는 것이 더 일관된 처리가 되지 않을까 생각 해봤는데요.
원본은 ct_time(주문시간) 이 시점으로 부터 n일 후 적립하도록 되어 있더라고요.
주문시간이 기준이 되어야 했던 특별한 이유같은게 있지 않을까 해서 문의 드려봤습니다.