diff --git a/adm/shop_admin/orderescrow.inc.php b/adm/shop_admin/orderescrow.inc.php index ba21d44d5..837e2cfa4 100644 --- a/adm/shop_admin/orderescrow.inc.php +++ b/adm/shop_admin/orderescrow.inc.php @@ -53,6 +53,7 @@ include_once(G5_SHOP_PATH.'/kcp/pp_ax_hub_lib.php'); $req_tx = 'mod_escrow'; $mod_type = 'STE1'; $mod_desc = '에스크로 배송시작 등록'; +$cust_ip = getenv('REMOTE_ADDR'); $c_PayPlus = new C_PP_CLI; $c_PayPlus->mf_clear(); @@ -60,18 +61,18 @@ $c_PayPlus->mf_clear(); $tran_cd = "00200000"; // 에스크로 상태변경 -$tno_count = count($arr_tno); +$tno_count = count($escrow_tno); for($i=0; $i<$tno_count; $i++) { - if(!$arr_tno[$i] || !$arr_corp[$i] || !$arr_numb[$i]) + if(!$escrow_tno[$i] || !$escrow_corp[$i] || !$escrow_numb[$i]) continue; - $c_PayPlus->mf_set_modx_data( "tno", $arr_tno[$i] ); - $c_PayPlus->mf_set_modx_data( "mod_type", $mod_type ); - $c_PayPlus->mf_set_modx_data( "mod_ip", $cust_ip ); - $c_PayPlus->mf_set_modx_data( "mod_desc", $mod_desc ); + $c_PayPlus->mf_set_modx_data( "tno", $escrow_tno[$i] ); + $c_PayPlus->mf_set_modx_data( "mod_type", $mod_type ); + $c_PayPlus->mf_set_modx_data( "mod_ip", $cust_ip ); + $c_PayPlus->mf_set_modx_data( "mod_desc", $mod_desc ); - $c_PayPlus->mf_set_modx_data( "deli_numb", $arr_numb[$i] ); - $c_PayPlus->mf_set_modx_data( "deli_corp", $arr_corp[$i] ); + $c_PayPlus->mf_set_modx_data( "deli_numb", $escrow_numb[$i] ); + $c_PayPlus->mf_set_modx_data( "deli_corp", $escrow_corp[$i] ); $c_PayPlus->mf_do_tx( $trace_no, $g_conf_home_dir, $g_conf_site_cd, $g_conf_site_key, $tran_cd, "", $g_conf_gw_url, $g_conf_gw_port, "payplus_cli_slib", $ordr_idxx, diff --git a/adm/shop_admin/orderform.php b/adm/shop_admin/orderform.php index c5fdd5137..f2b44ffcc 100644 --- a/adm/shop_admin/orderform.php +++ b/adm/shop_admin/orderform.php @@ -25,39 +25,6 @@ sql_query($sql); save_order_point("완료"); -/* -//------------------------------------------------------------------------------ -// 주문완료 포인트 -// 설정일이 지난 포인트 부여되지 않은 배송완료된 장바구니 자료에 포인트 부여 -// 설정일이 0 이면 주문서 완료 설정 시점에서 포인트를 바로 부여합니다. -//------------------------------------------------------------------------------ -if (!isset($order_not_point)) { - $beforedays = date("Y-m-d H:i:s", ( time() - (60 * 60 * 24 * (int)$default['de_point_days']) ) ); - $sql = " select * from {$g5['g5_shop_cart_table']} - where 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 를 얻는다. - $tmp_row = sql_fetch("select od_id, mb_id from {$g5['g5_shop_order_table']} where od_id = '{$row['od_id']}' "); - - // 회원이면서 포인트가 0보다 크다면 - if ($tmp_row['mb_id'] && $row['ct_point'] > 0) - { - $po_point = $row['ct_point'] * $row['ct_qty']; - $po_content = "$cart_title3 {$tmp_row['od_id']} ({$row['ct_id']}) $cart_title4"; - insert_point($tmp_row['mb_id'], $po_point, $po_content, "@delivery", $tmp_row['mb_id'], "{$tmp_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']}' "); - } -} -//------------------------------------------------------------------------------ -*/ - - //------------------------------------------------------------------------------ // 주문서 정보 //------------------------------------------------------------------------------ diff --git a/adm/shop_admin/orderformreceiptupdate.php b/adm/shop_admin/orderformreceiptupdate.php index 86fb31075..de5103577 100644 --- a/adm/shop_admin/orderformreceiptupdate.php +++ b/adm/shop_admin/orderformreceiptupdate.php @@ -59,27 +59,15 @@ include "./ordersms.inc.php"; // 에스크로 배송처리 -if($_POST['od_tno'] && $_POST['od_escrow'] == 1) +if($_POST['od_tno'] && $_POST['od_escrow'] == 1) { - $arr_tno = array(); - $arr_corp = array(); - $arr_numb = array(); + $escrow_tno = array(); + $escrow_corp = array(); + $escrow_numb = array(); - /* - // 배송회사정보 - $sql = " select dl_company from {$g5['g5_shop_delivery_table']} where dl_id = '$dl_id' "; - $row = sql_fetch($sql); - - $arr_tno[0] = $_POST['od_tno']; - $arr_corp[0] = $row['dl_company']; - $arr_numb[0] = $od_invoice; - $cust_ip = getenv('REMOTE_ADDR'); - */ - - $arr_tno[0] = $_POST['od_tno']; - $arr_corp[0] = $od_delivery_company; - $arr_numb[0] = $od_invoice; - $cust_ip = getenv('REMOTE_ADDR'); + $escrow_tno[0] = $_POST['od_tno']; + $escrow_corp[0] = $_POST['od_delivery_company']; + $escrow_numb[0] = $_POST['od_invoice']; include_once('./orderescrow.inc.php'); } diff --git a/adm/shop_admin/orderlist.php b/adm/shop_admin/orderlist.php index 2db8bb19d..2cac25371 100644 --- a/adm/shop_admin/orderlist.php +++ b/adm/shop_admin/orderlist.php @@ -65,8 +65,7 @@ if ($od_receipt_point) { } if ($od_coupon) { - // 개별상품쿠폰, 배송비쿠폰, 주문금액쿠폰 - $where[] = " (od_cart_coupon + od_send_coupon + od_coupon) != 0 "; + $where[] = " od_coupon != 0 "; } if ($fr_date && $to_date) { @@ -181,7 +180,7 @@ $listall = '전체목록> > - +
@@ -407,6 +406,16 @@ $listall = '전체목록 + + + + + + + + + + 주문상태에서만 삭제가 가능합니다. diff --git a/adm/shop_admin/orderlistupdate.php b/adm/shop_admin/orderlistupdate.php index 7052d963d..353e9a429 100644 --- a/adm/shop_admin/orderlistupdate.php +++ b/adm/shop_admin/orderlistupdate.php @@ -1,9 +1,28 @@ SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); +} + +$escrow_count = 0; +if($_POST['send_escrow']) { + $escrow_tno = array(); + $escrow_corp = array(); + $escrow_numb = array(); + $escrow_idx = 0; +} + // 상품옵션별재고 또는 상품재고에 더하기 function add_io_stock($it_id, $ct_qty, $io_id="", $io_type=0) { @@ -72,7 +91,10 @@ function order_update_delivery($od_id, $mb_id, $change_status, $delivery) { global $g5; - $sql = " update {$g5['g5_shop_order_table']} set od_delivery_company = '{$delivery['delivery_company']}', od_invoice = '{$delivery['invoice']}', od_invoice_time = '{$delivery['invoice_time']}' where od_id = '$od_id' and od_status = '배송' "; + if($change_status != '배송') + return; + + $sql = " update {$g5['g5_shop_order_table']} set od_delivery_company = '{$delivery['delivery_company']}', od_invoice = '{$delivery['invoice']}', od_invoice_time = '{$delivery['invoice_time']}' where od_id = '$od_id' and od_status = '준비' "; sql_query($sql); $sql = " select * from {$g5['g5_shop_cart_table']} where od_id = '$od_id' "; @@ -80,54 +102,46 @@ function order_update_delivery($od_id, $mb_id, $change_status, $delivery) for ($i=0; $row=sql_fetch_array($result); $i++) { - // 재고를 이미 사용했거나 재고에서 이미 뺐다면 + // 재고를 사용하지 않았다면 $stock_use = $row['ct_stock_use']; - if ($row['ct_stock_use']) + if(!$row['ct_stock_use']) { - if ($change_status == '주문' || - $change_status == '취소' || - $change_status == '반품' || - $change_status == '품절') - { - // 재고에 다시 더한다. - add_io_stock($row['it_id'], $row['ct_qty'], $row['io_id'], $row['io_type']); - $stock_use = 0; - } - } - else - { - // 재고 오류로 인한 수정 - if ($change_status == '배송' || - $change_status == '완료') - { - // 재고에서 뺀다. - subtract_io_stock($row['it_id'], $row['ct_qty'], $row['io_id'], $row['io_type']); - $stock_use = 1; - } - } + // 재고에서 뺀다. + subtract_io_stock($row['it_id'], $row['ct_qty'], $row['io_id'], $row['io_type']); + $stock_use = 1; - $point_use = $row['ct_point_use']; - - // 회원이면서 포인트가 0보다 크거나 이미 포인트를 부여했다면 뺀다. - if ($mb_id && $row['ct_point'] && $row['ct_point_use']) - { - delete_point($mb_id, "@delivery", $mb_id, "$od_id,{$row['ct_id']}"); - $point_use = 0; + $sql = " update {$g5['g5_shop_cart_table']} set ct_stock_use = '$stock_use' where od_id = '{$row['ct_id']}' "; + sql_query($sql); } - - /* - $sql = " update {$g5['g5_shop_cart_table']} - set ct_point_use = '$point_use', - ct_stock_use = '$stock_use', - ct_history = CONCAT(ct_history,'$ct_history') - where od_id = '$od_id' "; - */ - $sql = " update {$g5['g5_shop_cart_table']} set ct_point_use = '$point_use', ct_stock_use = '$stock_use' where od_id = '$od_id' "; - sql_query($sql); } } +// 처리내용 SMS +function conv_sms_contents($od_id, $contents) +{ + global $g5, $config, $default; + + $sms_contents = ''; + + if ($od_id && $config['cf_sms_use'] == 'icode') + { + $sql = " select od_id, od_name, od_invoice, od_receipt_price, od_delivery_company + from {$g5['g5_shop_order_table']} where od_id = '$od_id' "; + $od = sql_fetch($sql); + + $sms_contents = $contents; + $sms_contents = preg_replace("/{이름}/", $od['od_name'], $sms_contents); + $sms_contents = preg_replace("/{입금액}/", number_format($od['od_receipt_price']), $sms_contents); + $sms_contents = preg_replace("/{택배회사}/", $od['od_delivery_company'], $sms_contents); + $sms_contents = preg_replace("/{운송장번호}/", $od['od_invoice'], $sms_contents); + $sms_contents = preg_replace("/{주문번호}/", $od['od_id'], $sms_contents); + $sms_contents = preg_replace("/{회사명}/", $default['de_admin_company_name'], $sms_contents); + } + + return iconv("utf-8", "euc-kr", stripslashes($sms_contents)); +} + for ($i=0; $iAdd($receive_number, $send_number, $config['cf_icode_id'], $sms_contents, ""); + $sms_count++; + } + } + } + + // 메일 + if($config['cf_email_use'] && $_POST['od_send_mail']) + include './ordermail.inc.php'; + break; case '입금' : @@ -164,67 +197,42 @@ for ($i=0; $iAdd($receive_number, $send_number, $config['cf_icode_id'], $sms_contents, ""); + $sms_count++; } } - else - { - // 재고 오류로 인한 수정 - if ($ct_status == '배송' || $ct_status == '완료') - { - $stock_use = 1; - // 재고에서 뺀다. - subtract_io_stock($row['it_id'], $row['ct_qty'], $row['io_id'], $row['io_type']); - } - } - - $point_use = $row['ct_point_use']; - - // 회원이면서 포인트가 0보다 크거나 이미 포인트를 부여했다면 뺀다. - if ($od['mb_id'] && $row['ct_point'] && $row['ct_point_use']) - { - $point_use = 0; - delete_point($od['mb_id'], "@delivery", $od['mb_id'], "$od_id,{$row['ct_id']}"); - } - - $sql = " update {$g5['g5_shop_cart_table']} - set ct_point_use = '$point_use', - ct_stock_use = '$stock_use', - ct_history = CONCAT(ct_history,'$ct_history') - where od_id = '{$row['od_id']}' "; - sql_query($sql); } - */ + + // 메일 + if($config['cf_email_use'] && $_POST['od_send_mail']) + include './ordermail.inc.php'; + + // 에스크로 배송 + if($_POST['send_escrow'] && $od['od_tno'] && $od['od_escrow']) { + $od = sql_fetch(" select * from {$g5['g5_shop_order_table']} where od_id = '$od_id' "); + + $escrow_tno[$escrow_idx] = $od['od_tno']; + $escrow_numb[$escrow_idx] = $od['od_invoice']; + $escrow_corp[$escrow_idx] = $od['od_delivery_company']; + $escrow_idx++; + $escrow_count++; + } break; @@ -251,6 +259,18 @@ for ($i=0; $iSend(); +} + +// 에스크로 배송 +if($_POST['send_escrow'] && $escrow_count) +{ + include_once('./orderescrow.inc.php'); +} + $qstr = "sort1=$sort1&sort2=$sort2&sel_field=$sel_field&search=$search"; $qstr .= "&od_status=$od_status"; $qstr .= "&od_settle_case=$od_settle_case"; diff --git a/adm/shop_admin/ordermail.inc.php b/adm/shop_admin/ordermail.inc.php index 4dc9baf7d..357ebce0c 100644 --- a/adm/shop_admin/ordermail.inc.php +++ b/adm/shop_admin/ordermail.inc.php @@ -71,13 +71,8 @@ if ($od_send_mail) // 배송정보 $is_delivery = false; - if ((int)$od[dl_id] > 0) { - $dl = sql_fetch(" select * from {$g5['g5_shop_delivery_table']} where dl_id = '{$od['dl_id']}' "); - - $delivery_list['dl_url'] = $dl['dl_url']; - if (strpos($delivery_list['dl_url'], "=")) $delivery_list['dl_url'] .= $od['od_invoice']; - $delivery_list['dl_company'] = $dl['dl_company']; - $delivery_list['dl_tel'] = $dl['dl_tel']; + if ($od['od_delivery_company'] && $od['od_invoice']) { + $delivery_list['dl_company'] = $od['od_delivery_company']; $delivery_list['od_invoice'] = $od['od_invoice']; $delivery_list['od_invoice_time'] = $od['od_invoice_time']; diff --git a/shop/mail/ordermail.mail.php b/shop/mail/ordermail.mail.php index 7c5f0759a..e3917653f 100644 --- a/shop/mail/ordermail.mail.php +++ b/shop/mail/ordermail.mail.php @@ -123,7 +123,7 @@ $ft_a_st = 'display:block;padding:30px 0;background:#484848;color:#fff;text-alig 배송회사 - + 운송장번호 @@ -133,10 +133,6 @@ $ft_a_st = 'display:block;padding:30px 0;background:#484848;color:#fff;text-alig 배송일시 - - 대표전화 - - diff --git a/shop/orderformupdate.php b/shop/orderformupdate.php index 1ef483eb0..b815cbff9 100644 --- a/shop/orderformupdate.php +++ b/shop/orderformupdate.php @@ -537,7 +537,7 @@ if($config['cf_sms_use'] && ($default['de_sms_use2'] || $default['de_sms_use3']) include_once(G5_LIB_PATH.'/icode.sms.lib.php'); $SMS = new SMS; // SMS 연결 - $SMS->SMS_con($config'cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); + $SMS->SMS_con($config['cf_icode_server_ip'], $config['cf_icode_id'], $config['cf_icode_pw'], $config['cf_icode_server_port']); $sms_count = 0; for($s=0; $s