tip

[영카트] 주문상태 '배송' 7일 뒤 자동으로 '완료' 처리하기

반응형

 

영카트에 기본적으로 배송 완료 후, 포인트를 n일 후 지급하는 기능은 있는데,

'배송' 상태 n일 후 자동으로 주문상태를 '완료' 처리되는 기능은 따로 없는 것 같아

배송 처리 후, 7일 뒤에 자동으로 주문상태를 '완료'로 변경하도록 하는 코드를 추가하였다.

 

관리자가 자주 방문하는 페이지 상단에 추가하면 된다.

나의 경우에는 자주 들어가는 adm/index.php 파일 상단에 추가해두었다.

 

배송처리후 7일 뒤가 아닌 다른 일수를 넣고 싶으면 86400 * 7 부분의 숫자 7을 변경하면 된다.

$beforedays = date("Y-m-d H:i:s", ( time() - (86400 * 7))); // 86400초는 하루

$sql2 = " select * from {$g5['g5_shop_order_table']} where od_status = '배송' and od_invoice_time <= '$beforedays' ";
$result2 = sql_query($sql2);

for ($i=0; $row2=sql_fetch_array($result22); $i++) {
    sql_query("update {$g5['g5_shop_cart_table']} set ct_status = '완료' where od_id = '{$row2['od_id']}' "); 
    sql_query("update {$g5['g5_shop_order_table']} set od_status = '완료' where od_id = '{$row2['od_id']}' ");
}

 

 

참고한 글에는 카트에 상품을 담은 시간(ct_time)을 기준으로 하였는데,

관리자가 배송 처리한 날짜(od_invoice_time) 기준으로 작동할 수 있도록 코드 일부를 수정하였다.

 

 

 

 

 

참고글 : https://sir.kr/yc5_tip/1247

 

반응형