From f1cd96dc39085b179f7feb941cbcc6673470f2c7 Mon Sep 17 00:00:00 2001 From: chicpro Date: Wed, 27 Apr 2016 10:43:14 +0900 Subject: [PATCH] =?UTF-8?q?=EB=AF=B8=EC=99=84=EB=A3=8C=EC=A3=BC=EB=AC=B8?= =?UTF-8?q?=20=EC=B2=98=EB=A6=AC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- adm/admin.menu400.shop_1of2.php | 3 +- adm/css/admin.css | 12 +- adm/shop_admin/inorderform.php | 503 +++++++++++++++++++++++++++ adm/shop_admin/inorderformupdate.php | 386 ++++++++++++++++++++ adm/shop_admin/inorderlist.php | 176 ++++++++++ adm/shop_admin/inorderlistdelete.php | 25 ++ install/gnuboard5shop.sql | 2 + lib/shop.lib.php | 5 +- orderupgrade.php | 7 + shop/ajax.orderdatasave.php | 28 +- 10 files changed, 1132 insertions(+), 15 deletions(-) create mode 100644 adm/shop_admin/inorderform.php create mode 100644 adm/shop_admin/inorderformupdate.php create mode 100644 adm/shop_admin/inorderlist.php create mode 100644 adm/shop_admin/inorderlistdelete.php diff --git a/adm/admin.menu400.shop_1of2.php b/adm/admin.menu400.shop_1of2.php index 9cc368f70..d9be9367e 100644 --- a/adm/admin.menu400.shop_1of2.php +++ b/adm/admin.menu400.shop_1of2.php @@ -14,6 +14,7 @@ $menu['menu400'] = array ( array('400610', '상품유형관리', G5_ADMIN_URL.'/shop_admin/itemtypelist.php', 'scf_item_type'), array('400500', '상품옵션재고관리', G5_ADMIN_URL.'/shop_admin/optionstocklist.php', 'scf_item_option'), array('400800', '쿠폰관리', G5_ADMIN_URL.'/shop_admin/couponlist.php', 'scf_coupon'), - array('400750', '추가배송비관리', G5_ADMIN_URL.'/shop_admin/sendcostlist.php', 'scf_sendcost', 1) + array('400750', '추가배송비관리', G5_ADMIN_URL.'/shop_admin/sendcostlist.php', 'scf_sendcost', 1), + array('400410', '미완료주문', G5_ADMIN_URL.'/shop_admin/inorderlist.php', 'scf_inorder', 1), ); ?> \ No newline at end of file diff --git a/adm/css/admin.css b/adm/css/admin.css index dc6c58758..bb02fc2c9 100644 --- a/adm/css/admin.css +++ b/adm/css/admin.css @@ -363,11 +363,8 @@ tfoot td {font-weight:bold;text-align:center} /* 공통 */ .td_addr {text-align:left !important} - .td_alignc {text-align:center} - .td_addr_line {line-height:2em} - .td_amount {width:70px;text-align:center} .td_auth {width:100px;text-align:center} .td_auth_mbnick {width:200px} @@ -435,10 +432,11 @@ td.td_grpset {width:160px;border-left:1px solid #e9ecee;text-align:center} .td_category1{width:130px;text-align:center} .td_category2{width:100px;text-align:center} .td_category3{width:80px;text-align:center} +.td_time{text-align:center;width:130px} +.td_center{text-align:center;} .txt_true {color:#e8180c} .txt_false {color:#ccc} - .txt_succeed {color:#40b300} .txt_fail {color:#ce4242} @@ -943,3 +941,9 @@ strong.sodr_nonpay {display:block;padding:5px 0;text-align:right} #processing p{font-size:1.2em} .check_processing {width:300px;height:300px;margin:0 auto;background:url(../img/check.png) no-repeat 50% 50% } #processing button{background:#ff3061;border:none;color:#fff;padding: 15px;width:150px;margin-top:15px} + + +/*미완료 주문*/ +#inorderlist .td_name{text-align:center !important} +#anc_sodr_pay .btn_confirm{margin-top:30px} +#anc_sodr_pay .btn_confirm .btn_submit{width:300px;height:40px;font-size:14px;} \ No newline at end of file diff --git a/adm/shop_admin/inorderform.php b/adm/shop_admin/inorderform.php new file mode 100644 index 000000000..b8810bb8e --- /dev/null +++ b/adm/shop_admin/inorderform.php @@ -0,0 +1,503 @@ + $item_price) + continue; + + $dc = 0; + if($cp['cp_type']) { + $dc = floor(($item_price * ($cp['cp_price'] / 100)) / $cp['cp_trunc']) * $cp['cp_trunc']; + } else { + $dc = $cp['cp_price']; + } + + if($cp['cp_maximum'] && $dc > $cp['cp_maximum']) + $dc = $cp['cp_maximum']; + + if($item_price < $dc) + continue; + + $tot_it_cp_price += $dc; + $arr_it_cp_prc[$it_id] = $dc; + } + + $tot_od_price -= $tot_it_cp_price; + + // 주문쿠폰 + if($data['od_cp_id']) { + $sql = " select cp_id, cp_type, cp_price, cp_trunc, cp_minimum, cp_maximum + from {$g5['g5_shop_coupon_table']} + where cp_id = '{$data['od_cp_id']}' + and mb_id IN ( '{$od['mb_id']}', '전체회원' ) + and cp_method = '2' "; + $cp = sql_fetch($sql); + + // 사용한 쿠폰인지 + $cp_used = is_used_coupon($od['mb_id'], $cp['cp_id']); + + $dc = 0; + if(!$cp_used && $cp['cp_id'] && ($cp['cp_minimum'] <= $tot_od_price)) { + if($cp['cp_type']) { + $dc = floor(($tot_od_price * ($cp['cp_price'] / 100)) / $cp['cp_trunc']) * $cp['cp_trunc']; + } else { + $dc = $cp['cp_price']; + } + + if($cp['cp_maximum'] && $dc > $cp['cp_maximum']) + $dc = $cp['cp_maximum']; + + $tot_od_cp_price = $dc; + $tot_od_price -= $tot_od_cp_price; + } + } + + $tot_cp_price = $tot_it_cp_price + $tot_od_cp_price; +} + +// 배송비 +$od_send_cost = get_sendcost($od['cart_id']); + +$tot_sc_cp_price = 0; +if($od['mb_id'] && $od_send_cost > 0) { + // 배송쿠폰 + if($data['sc_cp_id']) { + $sql = " select cp_id, cp_type, cp_price, cp_trunc, cp_minimum, cp_maximum + from {$g5['g5_shop_coupon_table']} + where cp_id = '{$data['sc_cp_id']}' + and mb_id IN ( '{$od['mb_id']}', '전체회원' ) + and cp_method = '3' "; + $cp = sql_fetch($sql); + + // 사용한 쿠폰인지 + $cp_used = is_used_coupon($od['mb_id'], $cp['cp_id']); + + $dc = 0; + if(!$cp_used && $cp['cp_id'] && ($cp['cp_minimum'] <= $tot_od_price)) { + if($cp['cp_type']) { + $dc = floor(($send_cost * ($cp['cp_price'] / 100)) / $cp['cp_trunc']) * $cp['cp_trunc']; + } else { + $dc = $cp['cp_price']; + } + + if($cp['cp_maximum'] && $dc > $cp['cp_maximum']) + $dc = $cp['cp_maximum']; + + if($dc > $send_cost) + $dc = $send_cost; + + $tot_sc_cp_price = $dc; + } + } +} + +// 추가배송비 +$od_send_cost2 = (int)$data['od_send_cost2']; + +// 포인트 +$od_temp_point = (int)$data['od_temp_point']; + +$order_price = $tot_od_price + $od_send_cost + $od_send_cost2 - $tot_sc_cp_price - $od_temp_point; + +// 상품목록 +$sql = " select it_id, it_name, ct_notax, ct_send_cost, it_sc_type $sql_common group by it_id order by ct_id "; +$result = sql_query($sql); + +$pg_anchor = ''; +?> + +
+

주문상품 목록

+ +
+

+ 주문일시 () + | + 주문합계 원 +

+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
주문 상품 목록
상품명옵션항목상태수량판매가소계쿠폰포인트배송비포인트반영재고반영
+ + +
+
+
+ +
+

주문결제 내역

+ + + 0) + $s_receipt_way .= "+포인트"; + ?> + +
+
+ + + + + + + + 미수금 + + + + + + + + + + + + + + + + + + + + + + + + + + + +
주문결제 내역
주문번호결제방법주문총액배송비포인트결제총결제액쿠폰주문취소
+ +
+ +
+
+
+
+ +
+

주문자/배송지 정보

+ + +
+ +
+

주문하신 분

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
주문자/배송지 정보
주문하신 분 이름
주문하신 분 전화번호
주문하신 분 핸드폰
주문하시는 분 주소 + + + + +
주문하신 분 E-mail
+
+
+ +
+

받으시는 분

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
받으시는 분 정보
받으시는 분 이름
받으시는 분 전화번호
받으시는 분 핸드폰
받으시는 분 주소 + + + + +
희망배송일 ()
전달 메세지
+
+
+
+
+ + + + \ No newline at end of file diff --git a/adm/shop_admin/inorderformupdate.php b/adm/shop_admin/inorderformupdate.php new file mode 100644 index 000000000..19ec50215 --- /dev/null +++ b/adm/shop_admin/inorderformupdate.php @@ -0,0 +1,386 @@ + $item_price) + continue; + + $dc = 0; + if($cp['cp_type']) { + $dc = floor(($item_price * ($cp['cp_price'] / 100)) / $cp['cp_trunc']) * $cp['cp_trunc']; + } else { + $dc = $cp['cp_price']; + } + + if($cp['cp_maximum'] && $dc > $cp['cp_maximum']) + $dc = $cp['cp_maximum']; + + if($item_price < $dc) + continue; + + $tot_it_cp_price += $dc; + $arr_it_cp_prc[$it_id] = $dc; + } + + $tot_od_price -= $tot_it_cp_price; + + // 주문쿠폰 + if($data['od_cp_id']) { + $sql = " select cp_id, cp_type, cp_price, cp_trunc, cp_minimum, cp_maximum + from {$g5['g5_shop_coupon_table']} + where cp_id = '{$data['od_cp_id']}' + and mb_id IN ( '{$od['mb_id']}', '전체회원' ) + and cp_method = '2' "; + $cp = sql_fetch($sql); + + // 사용한 쿠폰인지 + $cp_used = is_used_coupon($od['mb_id'], $cp['cp_id']); + + $dc = 0; + if(!$cp_used && $cp['cp_id'] && ($cp['cp_minimum'] <= $tot_od_price)) { + if($cp['cp_type']) { + $dc = floor(($tot_od_price * ($cp['cp_price'] / 100)) / $cp['cp_trunc']) * $cp['cp_trunc']; + } else { + $dc = $cp['cp_price']; + } + + if($cp['cp_maximum'] && $dc > $cp['cp_maximum']) + $dc = $cp['cp_maximum']; + + $tot_od_cp_price = $dc; + $tot_od_price -= $tot_od_cp_price; + } + } + + $tot_cp_price = $tot_it_cp_price + $tot_od_cp_price; +} + +// 배송비 +$od_send_cost = get_sendcost($od['cart_id']); + +$tot_sc_cp_price = 0; +if($od['mb_id'] && $od_send_cost > 0) { + // 배송쿠폰 + if($data['sc_cp_id']) { + $sql = " select cp_id, cp_type, cp_price, cp_trunc, cp_minimum, cp_maximum + from {$g5['g5_shop_coupon_table']} + where cp_id = '{$data['sc_cp_id']}' + and mb_id IN ( '{$od['mb_id']}', '전체회원' ) + and cp_method = '3' "; + $cp = sql_fetch($sql); + + // 사용한 쿠폰인지 + $cp_used = is_used_coupon($od['mb_id'], $cp['cp_id']); + + $dc = 0; + if(!$cp_used && $cp['cp_id'] && ($cp['cp_minimum'] <= $tot_od_price)) { + if($cp['cp_type']) { + $dc = floor(($send_cost * ($cp['cp_price'] / 100)) / $cp['cp_trunc']) * $cp['cp_trunc']; + } else { + $dc = $cp['cp_price']; + } + + if($cp['cp_maximum'] && $dc > $cp['cp_maximum']) + $dc = $cp['cp_maximum']; + + if($dc > $send_cost) + $dc = $send_cost; + + $tot_sc_cp_price = $dc; + } + } +} + +// 추가배송비 +$od_send_cost2 = (int)$data['od_send_cost2']; + +// 포인트 +$od_temp_point = (int)$data['od_temp_point']; + +$i_price = $i_price + $i_send_cost + $i_send_cost2 - $i_temp_point - $i_send_coupon; +$order_price = $tot_od_price + $od_send_cost + $od_send_cost2 - $tot_sc_cp_price - $od_temp_point; + +if ($od['mb_id']) { + $mb = get_member($od['mb_id']); + $od_pwd = $mb['mb_password']; +} else { + $od_pwd = get_encrypt_string($data['od_pwd']); +} + +$od_escrow = 0; + +// 복합과세 금액 +$od_tax_mny = round($i_price / 1.1); +$od_vat_mny = $i_price - $od_tax_mny; +$od_free_mny = 0; +if($default['de_tax_flag_use']) { + $od_tax_mny = (int)$data['comm_tax_mny']; + $od_vat_mny = (int)$data['comm_vat_mny']; + $od_free_mny = (int)$data['comm_free_mny']; +} + +$od_pg = $default['de_pg_service']; +if($data['od_settle_case'] == 'KAKAOPAY') + $od_pg = 'KAKAOPAY'; + +$od_email = get_email_address($data['od_email']); +$od_name = clean_xss_tags($data['od_name']); +$od_tel = clean_xss_tags($data['od_tel']); +$od_hp = clean_xss_tags($data['od_hp']); +$od_zip = preg_replace('/[^0-9]/', '', $data['od_zip']); +$od_zip1 = substr($od_zip, 0, 3); +$od_zip2 = substr($od_zip, 3); +$od_addr1 = clean_xss_tags($data['od_addr1']); +$od_addr2 = clean_xss_tags($data['od_addr2']); +$od_addr3 = clean_xss_tags($data['od_addr3']); +$od_addr_jibeon = preg_match("/^(N|R)$/", $data['od_addr_jibeon']) ? $data['od_addr_jibeon'] : ''; +$od_b_name = clean_xss_tags($data['od_b_name']); +$od_b_tel = clean_xss_tags($data['od_b_tel']); +$od_b_hp = clean_xss_tags($data['od_b_hp']); +$od_b_addr1 = clean_xss_tags($data['od_b_addr1']); +$od_b_addr2 = clean_xss_tags($data['od_b_addr2']); +$od_b_addr3 = clean_xss_tags($data['od_b_addr3']); +$od_b_addr_jibeon = preg_match("/^(N|R)$/", $data['od_b_addr_jibeon']) ? $data['od_b_addr_jibeon'] : ''; +$od_memo = clean_xss_tags($data['od_memo']); +$od_deposit_name = clean_xss_tags($data['od_deposit_name']); +$od_tax_flag = $default['de_tax_flag_use']; +$od_receipt_price = $tot_ct_price + $od_send_cost + $od_send_cost2 - ($od_temp_point + $tot_cp_price + $tot_sc_cp_price); +$od_receipt_point = $od_temp_point; +$od_receipt_time = $od['dt_time']; +$od_misu = 0; +$od_status = '입금'; + +// 주문서에 입력 +$sql = " insert {$g5['g5_shop_order_table']} + set od_id = '$od_id', + mb_id = '{$od['mb_id']}', + od_pwd = '$od_pwd', + od_name = '$od_name', + od_email = '$od_email', + od_tel = '$od_tel', + od_hp = '$od_hp', + od_zip1 = '$od_zip1', + od_zip2 = '$od_zip2', + od_addr1 = '$od_addr1', + od_addr2 = '$od_addr2', + od_addr3 = '$od_addr3', + od_addr_jibeon = '$od_addr_jibeon', + od_b_name = '$od_b_name', + od_b_tel = '$od_b_tel', + od_b_hp = '$od_b_hp', + od_b_zip1 = '$od_b_zip1', + od_b_zip2 = '$od_b_zip2', + od_b_addr1 = '$od_b_addr1', + od_b_addr2 = '$od_b_addr2', + od_b_addr3 = '$od_b_addr3', + od_b_addr_jibeon = '$od_b_addr_jibeon', + od_deposit_name = '$od_deposit_name', + od_memo = '$od_memo', + od_cart_count = '$cart_count', + od_cart_price = '$tot_ct_price', + od_cart_coupon = '$tot_it_cp_price', + od_send_cost = '$od_send_cost', + od_send_coupon = '$tot_sc_cp_price', + od_send_cost2 = '$od_send_cost2', + od_coupon = '$tot_od_cp_price', + od_receipt_price = '$od_receipt_price', + od_receipt_point = '$od_receipt_point', + od_bank_account = '$od_bank_account', + od_receipt_time = '$od_receipt_time', + od_misu = '$od_misu', + od_pg = '$od_pg', + od_tno = '$od_tno', + od_app_no = '$od_app_no', + od_escrow = '$od_escrow', + od_tax_flag = '$od_tax_flag', + od_tax_mny = '$od_tax_mny', + od_vat_mny = '$od_vat_mny', + od_free_mny = '$od_free_mny', + od_status = '$od_status', + od_shop_memo = '', + od_hope_date = '{$data['od_hope_date']}', + od_time = '{$od['dt_time']}', + od_ip = '{$data['od_ip']}', + od_settle_case = '{$data['od_settle_case']}', + od_test = '{$data['od_test']}' + "; +$result = sql_query($sql, true); + +$sql_card_point = ""; +if ($od_receipt_price > 0 && !$default['de_card_point']) { + $sql_card_point = " , ct_point = '0' "; +} +$sql = "update {$g5['g5_shop_cart_table']} + set od_id = '$od_id', + ct_status = '입금' + $sql_card_point + where od_id = '{$od['cart_id']}' + and ct_select = '1' "; +$result = sql_query($sql, true); + +// 회원이면서 포인트를 사용했다면 테이블에 사용을 추가 +if ($od['mb_id'] && $od_receipt_point) + insert_point($od['mb_id'], (-1) * $od_receipt_point, "주문번호 $od_id 결제"); + +// 쿠폰사용내역기록 +if($od['mb_id']) { + $it_cp_cnt = count($data['cp_id']); + for($i=0; $i<$it_cp_cnt; $i++) { + $cid = $data['cp_id'][$i]; + $cp_it_id = $data['it_id'][$i]; + $cp_prc = (int)$arr_it_cp_prc[$cp_it_id]; + + if(trim($cid)) { + $sql = " insert into {$g5['g5_shop_coupon_log_table']} + set cp_id = '$cid', + mb_id = '{$od['mb_id']}', + od_id = '$od_id', + cp_price = '$cp_prc', + cl_datetime = '{$od['dt_time']}' "; + sql_query($sql); + } + + // 쿠폰사용금액 cart에 기록 + $cp_prc = (int)$arr_it_cp_prc[$cp_it_id]; + $sql = " update {$g5['g5_shop_cart_table']} + set cp_price = '$cp_prc' + where od_id = '$od_id' + and it_id = '$cp_it_id' + and ct_select = '1' + order by ct_id asc + limit 1 "; + sql_query($sql); + } + + if($data['od_cp_id']) { + $sql = " insert into {$g5['g5_shop_coupon_log_table']} + set cp_id = '{$data['od_cp_id']}', + mb_id = '{$od['mb_id']}', + od_id = '$od_id', + cp_price = '$tot_od_cp_price', + cl_datetime = '{$od['dt_time']}' "; + sql_query($sql); + } + + if($data['sc_cp_id']) { + $sql = " insert into {$g5['g5_shop_coupon_log_table']} + set cp_id = '{$data['sc_cp_id']}', + mb_id = '{$od['mb_id']}', + od_id = '$od_id', + cp_price = '$tot_sc_cp_price', + cl_datetime = '{$od['dt_time']}' "; + sql_query($sql); + } +} + +// 주문정보 +$info = get_order_info($od_id); + +// 미수금 정보 등 반영 +$sql = " update {$g5['g5_shop_order_table']} + set od_misu = '{$info['od_misu']}', + od_tax_mny = '{$info['od_tax_mny']}', + od_vat_mny = '{$info['od_vat_mny']}', + od_free_mny = '{$info['od_free_mny']}', + od_status = '$od_status' + where od_id = '$od_id' "; +sql_query($sql); + +// 임시 주문정보 삭제 +$sql = " delete from {$g5['g5_shop_order_data_table']} where od_id = '$od_id' and dt_pg = '$od_pg' "; +sql_query($sql, true); + +echo ''.PHP_EOL; +echo ''.PHP_EOL; +?> \ No newline at end of file diff --git a/adm/shop_admin/inorderlist.php b/adm/shop_admin/inorderlist.php new file mode 100644 index 000000000..ca730cfa9 --- /dev/null +++ b/adm/shop_admin/inorderlist.php @@ -0,0 +1,176 @@ + '0' "; +if ($stx) { + $sql_search .= " and ( "; + switch ($sfl) { + case 'od_id' : + $sql_search .= " ({$sfl} = '{$stx}') "; + break; + default : + $sql_search .= " ({$sfl} like '%{$stx}%') "; + break; + } + $sql_search .= " ) "; +} + +if (!$sst) { + $sst = "od_id"; + $sod = "desc"; +} +$sql_order = " order by {$sst} {$sod} "; + +$sql = " select count(*) as cnt + {$sql_common} + {$sql_search} + {$sql_order} "; +$row = sql_fetch($sql); +$total_count = $row['cnt']; + +$rows = $config['cf_page_rows']; +$total_page = ceil($total_count / $rows); // 전체 페이지 계산 +if ($page < 1) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지) +$from_record = ($page - 1) * $rows; // 시작 열을 구함 + +$sql = " select * + {$sql_common} + {$sql_search} + {$sql_order} + limit {$from_record}, {$rows} "; +$result = sql_query($sql); + +$g5['title'] = '미완료주문'; +include_once (G5_ADMIN_PATH.'/admin.head.php'); + +$colspan = 10; +?> + +
+ 전체 건 +
+ +
+ + + + +
+ +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; + ?> + +
목록
+ + + 주문번호PG주문자주문자전화받는분주문금액결제방법주문일시관리
+ + + + 보기 + 삭제 +
자료가 없습니다.
+
+ +
+ +
+ +
+ + + + + + \ No newline at end of file diff --git a/adm/shop_admin/inorderlistdelete.php b/adm/shop_admin/inorderlistdelete.php new file mode 100644 index 000000000..1f718672d --- /dev/null +++ b/adm/shop_admin/inorderlistdelete.php @@ -0,0 +1,25 @@ + \ No newline at end of file diff --git a/install/gnuboard5shop.sql b/install/gnuboard5shop.sql index 0854cb0aa..69e76670c 100644 --- a/install/gnuboard5shop.sql +++ b/install/gnuboard5shop.sql @@ -670,6 +670,8 @@ CREATE TABLE IF NOT EXISTS `g5_shop_order_address` ( DROP TABLE IF EXISTS `g5_shop_order_data`; CREATE TABLE IF NOT EXISTS `g5_shop_order_data` ( `od_id` bigint(20) unsigned NOT NULL, + `cart_id` bigint(20) unsigned NOT NULL, + `mb_id` varchar(20) NOT NULL DEFAULT '', `dt_pg` varchar(255) NOT NULL DEFAULT '', `dt_data` text NOT NULL, `dt_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', diff --git a/lib/shop.lib.php b/lib/shop.lib.php index d1754e7be..338fa9f52 100644 --- a/lib/shop.lib.php +++ b/lib/shop.lib.php @@ -2200,13 +2200,13 @@ function cart_item_clean() } -// 모바일 PG 주문 필드 생성 +// 임시주문 데이터로 주문 필드 생성 function make_order_field($data, $exclude) { $field = ''; foreach($data as $key=>$value) { - if(in_array($key, $exclude)) + if(!empty($exclude) && in_array($key, $exclude)) continue; if(is_array($value)) { @@ -2220,7 +2220,6 @@ function make_order_field($data, $exclude) return $field; } - //============================================================================== // 쇼핑몰 라이브러리 모음 끝 //============================================================================== diff --git a/orderupgrade.php b/orderupgrade.php index 38c26d07a..494a72443 100644 --- a/orderupgrade.php +++ b/orderupgrade.php @@ -94,6 +94,13 @@ if(!sql_query(" select od_test from {$g5['g5_shop_order_table']} limit 1 ", fals ADD `od_test` tinyint(4) NOT NULL DEFAULT '0' AFTER `od_settle_case` ", true); } +// 주문정보 임시저장 테이블에 장바구니 ID 필드 추가 +if(!sql_query(" select cart_id from {$g5['g5_shop_order_data_table']} limit 1 ", false)) { + sql_query(" ALTER TABLE `{$g5['g5_shop_order_data_table']}` + ADD `cart_id` bigint(20) unsigned NOT NULL AFTER `od_id`, + ADD `mb_id` varchar(20) NOT NULL DEFAULT '' AFTER `cart_id` ", true); +} + echo '

테이블 업그레이드 완료!

'; include_once(G5_PATH.'/tail.sub.php'); diff --git a/shop/ajax.orderdatasave.php b/shop/ajax.orderdatasave.php index 1a3d2c3e9..e75f728f4 100644 --- a/shop/ajax.orderdatasave.php +++ b/shop/ajax.orderdatasave.php @@ -4,17 +4,29 @@ include_once('./_common.php'); if(empty($_POST)) die('정보가 넘어오지 않았습니다.'); -if(isset($_POST['pp_id']) && $_POST['pp_id']) - $od_id = get_session('ss_personalpay_id'); -else - $od_id = get_session('ss_order_id'); - // 일정 기간이 경과된 임시 데이터 삭제 +/* $limit_time = date("Y-m-d H:i:s", (G5_SERVER_TIME - 86400 * 1)); -$sql = " delete from {$g5['g5_shop_order_data_table']} where dt_time < '$limit_time' "; +$sql = " delete from {$g5['g5_shop_order_data_table']} where dt_type = '1' and dt_time < '$limit_time' "; sql_query($sql); +*/ -$_POST['sw_direct'] = get_session('ss_direct'); +if(isset($_POST['pp_id']) && $_POST['pp_id']) { + $od_id = get_session('ss_personalpay_id'); + $cart_id = 0; +} else { + $od_id = get_session('ss_order_id'); + $_POST['sw_direct'] = get_session('ss_direct'); + $_POST['od_test'] = $default['de_card_test']; + $_POST['od_ip'] = $_SERVER['REMOTE_ADDR']; + + if ($_POST['sw_direct']) { + $cart_id = get_session('ss_cart_direct'); + } + else { + $cart_id = get_session('ss_cart_id'); + } +} $dt_data = base64_encode(serialize($_POST)); @@ -26,6 +38,8 @@ if($row['cnt']) $sql = " insert into {$g5['g5_shop_order_data_table']} set od_id = '$od_id', + cart_id = '$cart_id', + mb_id = '{$member['mb_id']}', dt_pg = '{$default['de_pg_service']}', dt_data = '$dt_data', dt_time = '".G5_TIME_YMDHIS."' ";