‰์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด..) $cate = \App::load('\\Component\\Category\\Category'); // 20250425 byc category check ๋Œ€ํ‘œ ์นดํ…Œ๊ณ ๋ฆฌ๋งŒ ํ™•์ธํ•˜๋˜ ์˜ค๋ฅ˜ ์ˆ˜์ • // ์‚ฌ์šฉ๋œ ์ฃผ๋ฌธ์ฟ ํฐ๋ณ„๋กœ ๊ฐ๊ฐ์˜ ์ƒํ’ˆ์— ๋Œ€ํ•ด ํ• ์ธ๊ธˆ์•ก์„ ๊ณ„์‚ฐ foreach ( $arrCouponInfo as $memberCouponInfo) { // ์‚ฌ์šฉ ๊ธˆ์•ก ์ œํ•œ์ด ์—†๋Š” ์ฟ ํฐ์ด๋ผ๋ฉด if ($memberCouponInfo['couponMaxBenefitType'] != 'y') { foreach ($aCartData as $gKey => $gVal) { // $cartInfo[$sKey][$dKey][$gKey]['price']['divisionCouponOrderDcPrice'] = 0; // '์ƒํ’ˆ ํ• ์ธ/ํ˜œํƒ ์„ค์ •'์—์„œ '์ฃผ๋ฌธ์ฟ ํฐ ํ• ์ธ/์ ๋ฆฝ ํ˜œํƒ ์ ์šฉ ์ œ์™ธ' ์ƒํ’ˆ์ธ์ง€ ํ™•์ธ $exceptBenefit = explode(STR_DIVISION, $gVal['exceptBenefit']); if (gd_in_array('orderCoupon', $exceptBenefit)) { // gd_debug($gVal['goodsNo'].' not use'); continue; } else { // gd_debug('couponExceptBrandType '.$memberCouponInfo['couponExceptBrandType']); // gd_debug('couponExceptGoodsType '.$memberCouponInfo['couponExceptGoodsType']); // gd_debug('couponExceptCategoryType '.$memberCouponInfo['couponExceptCategoryType']); // 20241122 beston orderCoupon apply [[ 20250319 // ์ฃผ๋ฌธ์ ์šฉ ์ฟ ํฐ์—์„œ '์ฟ ํฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์ƒํ’ˆ๋ฒ”์œ„ ์„ค์ •' ์ด ์ œ๋Œ€๋กœ ์ ์šฉ์•ˆ๋˜์„œ // es_orderGoods์˜ divisionCouponOrderDcPrice (์ฃผ๋ฌธํ• ์ธ ๊ธˆ์•ก์˜ ์•ˆ๋ถ„๋œ ์ฃผ๋ฌธ์ฟ ํฐ)์ด ์ž˜๋ชป ์ ์šฉ๋˜๋˜ ๋ฌธ์ œ ์ˆ˜์ • if (true || \Request::getRemoteAddress() == '106.245.188.238') { // gd_debug($memberCouponInfo); // ์‚ฌ์šฉ ์กฐ๊ฑด ๊ฒ€์‚ฌ๋ถ€ํ„ฐ ๋จผ์ €.. if ($memberCouponInfo['couponApplyProductType'] == 'all') { } else if ($memberCouponInfo['couponApplyProductType'] == 'provider') { $arr = explode(INT_DIVISION, $memberCouponInfo['couponApplyProvider']); if (! gd_in_array($gVal['scmNo'], $arr)) { // gd_debug('couponApplyProvider ' . $gVal['scmNo']); continue; } } else if ($memberCouponInfo['couponApplyProductType'] == 'category') { $arr = explode(INT_DIVISION, $memberCouponInfo['couponApplyCategory']); // 20250425 byc category check // if ( 0 == count(array_intersect($gVal['cateCd'], $arr))) { // 20250425 byc category check // // gd_debug('couponApplyProductType ' . $gVal['cateCd']); // 20250425 byc category check // continue; // 20250425 byc category check // } // 20250425 byc category check [[ ๋Œ€ํ‘œ ์นดํ…Œ๊ณ ๋ฆฌ๋งŒ ํ™•์ธํ•˜๋˜ ์˜ค๋ฅ˜ ์ˆ˜์ • $tmpCategoryList = $cate->getCateCd($gVal['goodsNo']); if ( 0 == gd_count(gd_array_intersect($tmpCategoryList, $arr))) { // gd_debug('couponApplyProductType ' . $gVal['cateCd']); continue; } // 20250425 byc category check ]] } else if ($memberCouponInfo['couponApplyProductType'] == 'brand') { $arr = explode(INT_DIVISION, $memberCouponInfo['couponApplyBrand']); if (! gd_in_array($gVal['brandCd'], $arr)) { // gd_debug('couponApplyProductType ' . $gVal['scmbrandNo']); continue; } } else if ($memberCouponInfo['couponApplyProductType'] == 'goods') { $arr = explode(INT_DIVISION, $memberCouponInfo['couponApplyGoods']); if (! gd_in_array($gVal['goodsNo'], $arr)) { // gd_debug('couponApplyProductType ' . $gVal['goodsNo']); continue; } } } // 20241122 beston orderCoupon apply ]] //๋ธŒ๋žœ๋“œ ์‚ฌ์šฉ๋ถˆ๊ฐ€ ์ฟ ํฐ์ด ์žˆ๋‹ค๋ฉด if($memberCouponInfo['couponExceptBrandType'] == 'y') { if (gd_in_array($gVal['brandCd'], explode(INT_DIVISION, $memberCouponInfo['couponExceptBrand']))) { continue; } } else if($memberCouponInfo['couponExceptGoodsType'] == 'y') { // ์ƒํ’ˆ ์‚ฌ์šฉ๋ถˆ๊ฐ€ ์ฟ ํฐ์ด ์žˆ๋‹ค๋ฉด if (gd_in_array($gVal['goodsNo'], explode(INT_DIVISION, $memberCouponInfo['couponExceptGoods']))) { continue; } } else if($memberCouponInfo['couponExceptCategoryType'] == 'y') { //์นดํ…Œ๊ณ ๋ฆฌ ์‚ฌ์šฉ๋ถˆ๊ฐ€ ์ฟ ํฐ์ด ์žˆ๋‹ค๋ฉด // 20250425 byc category check // if (in_array($gVal['cateCd'], explode(INT_DIVISION, $memberCouponInfo['couponExceptCategory']))) { // 20250425 byc category check // continue; // 20250425 byc category check // } // 20250425 byc category check [[ ๋Œ€ํ‘œ ์นดํ…Œ๊ณ ๋ฆฌ๋งŒ ํ™•์ธํ•˜๋˜ ์˜ค๋ฅ˜ ์ˆ˜์ • $arr = explode(INT_DIVISION, $memberCouponInfo['couponExceptCategory']); $tmpCategoryList = $cate->getCateCd($gVal['goodsNo']); if ( 0 < gd_count(gd_array_intersect($tmpCategoryList, $arr))) { continue; } // 20250425 byc category check ]] } else { } // ์ฟ ํฐ์ด ํ•ด๋‹น ์ƒํ’ˆ์— ๋Œ€ํ•ด ์ ์šฉ ์ œ์™ธ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ํ• ์ธ์„ ๊ณ„์‚ฐํ•ด ์ฃผ๋ฌธ์ฟ ํฐ์•ˆ๋ถ„๊ธˆ์•ก์— ๊ณ„์‚ฐ๋œ ๊ธˆ์•ก์„ ๋„ฃ๋Š”๋‹ค. $couponPrice = $coupon->getMemberCouponPrice($gVal['price'], $memberCouponInfo['memberCouponNo']); $aCartData[$gKey]['price']['divisionCouponOrderDcPrice'] += $couponPrice['memberCouponSalePrice'][$memberCouponInfo['memberCouponNo']]; $tmpTotalDc += $couponPrice['memberCouponSalePrice'][$memberCouponInfo['memberCouponNo']]; // ์ตœ์ข…์ ์œผ๋กœ ์•ˆ๋ถ„๊ธˆ์•ก์ด ์ฐจ์ด ๋‚  ๊ฒฝ์šฐ ๋งˆ์ง€๋ง‰ ์ƒํ’ˆ์„ ๊ธฐ์–ตํ–ˆ๋‹ค๊ฐ€ ๊ทธ๊ณณ์— +/- ํ•ด์ฃผ๊ธฐ ์œ„ํ•ด ๋งˆ์ง€๋ง‰ ์ƒํ’ˆ ์œ„์น˜ ๊ธฐ์–ต // $sKeyLast = $sKey; // $dKeyLast = $dKey; $gKeyLast = $gKey; } } // gd_Debug('์ผ๋ฐ˜ ๊ณ„์‚ฐ1'); } // ์‚ฌ์šฉ ๊ธˆ์•ก ์ œํ•œ์ด ์žˆ๋Š” ์ฟ ํฐ์ด๋ผ๋ฉด else { $tmpTotalGoodsPriceSum = 0; $tmpCartInfo = null; // 1. ์ฟ ํฐ ์ ์šฉ ๋Œ€์ƒ ์ƒํ’ˆ์˜ ์ดํ•ฉ์„ ๊ตฌํ•˜๊ณ  (์ด๋•Œ ์ ์šฉ ๋Œ€์ƒ ์ƒํ’ˆ๋งŒ ๋”ฐ๋กœ ๋ชจ์•„๋‘  $tmpCartInfo) foreach ($aCartData as $gKey => $gVal) { // $cartInfo[$sKey][$dKey][$gKey]['price']['divisionCouponOrderDcPrice'] = 0; // '์ƒํ’ˆ ํ• ์ธ/ํ˜œํƒ ์„ค์ •'์—์„œ '์ฃผ๋ฌธ์ฟ ํฐ ํ• ์ธ/์ ๋ฆฝ ํ˜œํƒ ์ ์šฉ ์ œ์™ธ' ์ƒํ’ˆ์ธ์ง€ ํ™•์ธ $exceptBenefit = explode(STR_DIVISION, $gVal['exceptBenefit']); if (gd_in_array('orderCoupon', $exceptBenefit)) { // gd_debug($gVal['goodsNo'].' not use'); continue; } else { // gd_debug('couponExceptBrandType '.$memberCouponInfo['couponExceptBrandType']); // gd_debug('couponExceptGoodsType '.$memberCouponInfo['couponExceptGoodsType']); // gd_debug('couponExceptCategoryType '.$memberCouponInfo['couponExceptCategoryType']); // 20241122 beston orderCoupon apply [[ 20250319 // ์ฃผ๋ฌธ์ ์šฉ ์ฟ ํฐ์—์„œ '์ฟ ํฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์ƒํ’ˆ๋ฒ”์œ„ ์„ค์ •' ์ด ์ œ๋Œ€๋กœ ์ ์šฉ์•ˆ๋˜์„œ // es_orderGoods์˜ divisionCouponOrderDcPrice (์ฃผ๋ฌธํ• ์ธ ๊ธˆ์•ก์˜ ์•ˆ๋ถ„๋œ ์ฃผ๋ฌธ์ฟ ํฐ)์ด ์ž˜๋ชป ์ ์šฉ๋˜๋˜ ๋ฌธ์ œ ์ˆ˜์ • if (true || \Request::getRemoteAddress() == '106.245.188.238') { // gd_debug($memberCouponInfo); // ์‚ฌ์šฉ ์กฐ๊ฑด ๊ฒ€์‚ฌ๋ถ€ํ„ฐ ๋จผ์ €.. if ($memberCouponInfo['couponApplyProductType'] == 'all') { } else if ($memberCouponInfo['couponApplyProductType'] == 'provider') { $arr = explode(INT_DIVISION, $memberCouponInfo['couponApplyProvider']); if (! gd_in_array($gVal['scmNo'], $arr)) { // gd_debug('couponApplyProvider ' . $gVal['scmNo']); continue; } } else if ($memberCouponInfo['couponApplyProductType'] == 'category') { $arr = explode(INT_DIVISION, $memberCouponInfo['couponApplyCategory']); // 20250425 byc category check // if ( 0 == count(array_intersect($gVal['cateCd'], $arr))) { // 20250425 byc category check // // gd_debug('couponApplyProductType ' . $gVal['cateCd']); // 20250425 byc category check // continue; // 20250425 byc category check // } // 20250425 byc category check [[ ๋Œ€ํ‘œ ์นดํ…Œ๊ณ ๋ฆฌ๋งŒ ํ™•์ธํ•˜๋˜ ์˜ค๋ฅ˜ ์ˆ˜์ • $tmpCategoryList = $cate->getCateCd($gVal['goodsNo']); if ( 0 == gd_count(gd_array_intersect($tmpCategoryList, $arr))) { // gd_debug('couponApplyProductType ' . $gVal['cateCd']); continue; } // 20250425 byc category check ]] } else if ($memberCouponInfo['couponApplyProductType'] == 'brand') { $arr = explode(INT_DIVISION, $memberCouponInfo['couponApplyBrand']); if (! gd_in_array($gVal['brandCd'], $arr)) { // gd_debug('couponApplyProductType ' . $gVal['scmbrandNo']); continue; } } else if ($memberCouponInfo['couponApplyProductType'] == 'goods') { $arr = explode(INT_DIVISION, $memberCouponInfo['couponApplyGoods']); if (! gd_in_array($gVal['goodsNo'], $arr)) { // gd_debug('couponApplyProductType ' . $gVal['goodsNo']); continue; } } } // 20241122 beston orderCoupon apply ]] //๋ธŒ๋žœ๋“œ ์‚ฌ์šฉ๋ถˆ๊ฐ€ ์ฟ ํฐ์ด ์žˆ๋‹ค๋ฉด if($memberCouponInfo['couponExceptBrandType'] == 'y') { if (gd_in_array($gVal['brandCd'], explode(INT_DIVISION, $memberCouponInfo['couponExceptBrand']))) { // $exceptOrder[$gVal['sno']] = $couponVal; // gd_Debug('couponExceptBrandType continue'); continue; } } else if($memberCouponInfo['couponExceptGoodsType'] == 'y') { // ์ƒํ’ˆ ์‚ฌ์šฉ๋ถˆ๊ฐ€ ์ฟ ํฐ์ด ์žˆ๋‹ค๋ฉด if (gd_in_array($gVal['goodsNo'], explode(INT_DIVISION, $memberCouponInfo['couponExceptGoods']))) { // $exceptOrder[$gVal['sno']] = $couponVal; // gd_Debug('couponExceptGoodsType continue'); continue; } } else if($memberCouponInfo['couponExceptCategoryType'] == 'y') { //์นดํ…Œ๊ณ ๋ฆฌ ์‚ฌ์šฉ๋ถˆ๊ฐ€ ์ฟ ํฐ์ด ์žˆ๋‹ค๋ฉด // 20250425 byc category check // if (in_array($gVal['cateCd'], explode(INT_DIVISION, $memberCouponInfo['couponExceptCategory']))) { // 20250425 byc category check // // $exceptOrder[$gVal['sno']] = $couponVal; // 20250425 byc category check // // gd_Debug('couponExceptCategoryType continue'); // 20250425 byc category check // continue; // 20250425 byc category check // } // 20250425 byc category check [[ ๋Œ€ํ‘œ ์นดํ…Œ๊ณ ๋ฆฌ๋งŒ ํ™•์ธํ•˜๋˜ ์˜ค๋ฅ˜ ์ˆ˜์ • $arr = explode(INT_DIVISION, $memberCouponInfo['couponExceptCategory']); $tmpCategoryList = $cate->getCateCd($gVal['goodsNo']); if ( 0 < gd_count(gd_array_intersect($tmpCategoryList, $arr))) { continue; } // 20250425 byc category check ]] } else { } // // ์ฟ ํฐ์ด ํ•ด๋‹น ์ƒํ’ˆ์— ๋Œ€ํ•ด ์ ์šฉ ์ œ์™ธ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ํ• ์ธ์„ ๊ณ„์‚ฐํ•ด ์ฃผ๋ฌธ์ฟ ํฐ์•ˆ๋ถ„๊ธˆ์•ก์— ๊ณ„์‚ฐ๋œ ๊ธˆ์•ก์„ ๋„ฃ๋Š”๋‹ค. // $couponPrice = $coupon->getMemberCouponPrice($gVal['price'], $memberCouponInfo['memberCouponNo']); // $tmpTotalDc += $couponPrice['memberCouponSalePrice'][$memberCouponInfo['memberCouponNo']]; // $cartInfo[$sKey][$dKey][$gKey]['price']['divisionCouponOrderDcPrice'] += $couponPrice['memberCouponSalePrice'][$memberCouponInfo['memberCouponNo']]; // // ์ตœ์ข…์ ์œผ๋กœ ์•ˆ๋ถ„๊ธˆ์•ก์ด ์ฐจ์ด ๋‚  ๊ฒฝ์šฐ ๋งˆ์ง€๋ง‰ ์ƒํ’ˆ์„ ๊ธฐ์–ตํ–ˆ๋‹ค๊ฐ€ ๊ทธ๊ณณ์— +/- ํ•ด์ฃผ๊ธฐ ์œ„ํ•ด ๋งˆ์ง€๋ง‰ ์ƒํ’ˆ ์œ„์น˜ ๊ธฐ์–ต // $sKeyLast = $sKey; // $dKeyLast = $dKey; // $gKeyLast = $gKey; $tmpCartInfo[$gKey] = $gVal; $tmpTotalGoodsPriceSum += $gVal['price']['goodsPriceSubtotal']; // gd_Debug($gVal['goodsNo']. ' ' .$gVal['price']['goodsPriceSubtotal']); } } // gd_debug('$tmpTotalGoodsPriceSum '.$tmpTotalGoodsPriceSum); // 2. ์ด์•ก ๋Œ€๋น„ ํ• ์ธ ๊ธˆ์•ก์ด ์ฟ ํฐ ์ œํ•œ ๊ธˆ์•ก์„ ์ดˆ๊ณผํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ  $tmpCouponDcPriceSum = $tmpTotalGoodsPriceSum * $memberCouponInfo['couponBenefit'] * 1 / 100; // gd_debug('$tmpCouponDcPriceSum '.$tmpCouponDcPriceSum); // 3.1 ์ฟ ํฐ ํ• ์ธ ๊ธˆ์•ก์ด ์ œํ•œ๊ธˆ์•ก์„ ๋„˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ๊ธˆ์•ก์ œํ•œ ์—†๋Š” ์ฟ ํฐ๊ณผ ๊ฐ™์ด ์ƒํ’ˆ๋ณ„๋กœ ์•ˆ๋ถ„ if ($tmpCouponDcPriceSum <= $memberCouponInfo['couponMaxBenefit']) { // gd_Debug('์ผ๋ฐ˜ ๊ณ„์‚ฐ2'); foreach ($tmpCartInfo as $gKey => $gVal) { $couponPrice = $coupon->getMemberCouponPrice($gVal['price'], $memberCouponInfo['memberCouponNo']); $aCartData[$gKey]['price']['divisionCouponOrderDcPrice'] += $couponPrice['memberCouponSalePrice'][$memberCouponInfo['memberCouponNo']]; $tmpTotalDc += $couponPrice['memberCouponSalePrice'][$memberCouponInfo['memberCouponNo']]; // ์ตœ์ข…์ ์œผ๋กœ ์•ˆ๋ถ„๊ธˆ์•ก์ด ์ฐจ์ด ๋‚  ๊ฒฝ์šฐ ๋งˆ์ง€๋ง‰ ์ƒํ’ˆ์„ ๊ธฐ์–ตํ–ˆ๋‹ค๊ฐ€ ๊ทธ๊ณณ์— +/- ํ•ด์ฃผ๊ธฐ ์œ„ํ•ด ๋งˆ์ง€๋ง‰ ์ƒํ’ˆ ์œ„์น˜ ๊ธฐ์–ต // $sKeyLast = $sKey; // $dKeyLast = $dKey; $gKeyLast = $gKey; } } // 3.2 ์ฟ ํฐ ํ• ์ธ ๊ธˆ์•ก์ด ์ œํ•œ๊ธˆ์•ก์„ ๋„˜์„ ๊ฒฝ์šฐ ์ œํ•œ๊ธˆ์•ก๋งŒ์œผ๋กœ ์ƒํ’ˆ๋ณ„ ์•ˆ๋ถ„ else { // gd_Debug('๊ฐœ๋ณ„ ๊ณ„์‚ฐ'); foreach ($tmpCartInfo as $gKey => $gVal) { // ์ฟ ํฐ ํ• ์ธ์œจ ๊ณ„์‚ฐํ•  ํ•„์š” ์—†์ด ์ œํ•œ ๊ธˆ์•ก์„ ์ ์šฉ๋Œ€์ƒ ์ƒํ’ˆ์— ๊ธˆ์•ก๋น„์œจ๋กœ ์•ˆ๋ถ„์ฒ˜๋ฆฌ $tmpDcPrice = floor( ($gVal['price']['goodsPriceSubtotal'] / $tmpTotalGoodsPriceSum) * $memberCouponInfo['couponMaxBenefit'] ); $aCartData[$gKey]['price']['divisionCouponOrderDcPrice'] += $tmpDcPrice; $tmpTotalDc += $tmpDcPrice; // ์ตœ์ข…์ ์œผ๋กœ ์•ˆ๋ถ„๊ธˆ์•ก์ด ์ฐจ์ด ๋‚  ๊ฒฝ์šฐ ๋งˆ์ง€๋ง‰ ์ƒํ’ˆ์„ ๊ธฐ์–ตํ–ˆ๋‹ค๊ฐ€ ๊ทธ๊ณณ์— +/- ํ•ด์ฃผ๊ธฐ ์œ„ํ•ด ๋งˆ์ง€๋ง‰ ์ƒํ’ˆ ์œ„์น˜ ๊ธฐ์–ต $sKeyLast = $sKey; $dKeyLast = $dKey; $gKeyLast = $gKey; } } } } // gd_Debug('$tmpTotalDc '.$tmpTotalDc); // gd_Debug('$totalCouponOrderDcPrice '.$totalCouponOrderDcPrice); // foreach ($aCartData as $gKey => $gVal) { // ์•ˆ๋ถ„ ํ™•์ธ์šฉ ์ถœ๋ ฅ // gd_Debug($gVal['goodsNm']. ' ' . $gVal['goodsNo']. ' ' . $gVal['price']['divisionCouponOrderDcPrice']); // } if (($totalCouponOrderDcPrice - $tmpTotalDc) != 0) { // gd_debug('not same '.($totalCouponOrderDcPrice - $tmpTotalDc)); $aCartData[$gKeyLast]['price']['divisionCouponOrderDcPrice'] += ($totalCouponOrderDcPrice - $tmpTotalDc); } var_dump($tmpTotalDc); foreach ($aCartData as $gKey => $gVal) { // ์•ˆ๋ถ„ ๋‚˜๋จธ์ง€ ๊ธˆ์•ก ์ ์šฉ ํ›„ ํ™•์ธ์šฉ ์ถœ๋ ฅ gd_Debug($gVal['goodsNm']. ' ' . $gVal['goodsNo']. ' ' . $gVal['price']['divisionCouponOrderDcPrice']); } foreach ($aCartData as $gKey => $gVal) { $aCartData[$gKey]['couponOrderDcPrice'] = $aCartData[$gKey]['divisionCouponOrderDcPrice'] = $gVal['price']['divisionCouponOrderDcPrice']; } } // 20240802 byc divisionOrderCoupon ]] // 20240116 byc coupon except gd_Debug('exit!!!'); exit; return [$postValue, $orderPrice, $memberData, $deliveryInfo, $aCartData, $history, $couponInfo, $taxPrice]; } public function saveOrder($orderInfo, $order, $memberData, $deliveryInfo, $aCartData, $history, $couponInfo, $taxPrice) { if (\Request::getRemoteAddress() == '106.245.188.238') { // gd_Debug(1234); } // byc comboGoods [[ cart์—์„œ ๊ฐ€์ ธ์˜จ kmComboGoods๊ฐ€ ๋ฐฐ์—ด์ผ ๊ฒฝ์šฐ db์— ๊ธฐ๋กํ•  ์ˆ˜ ์žˆ๊ฒŒ json์œผ๋กœ ๋ณ€ํ™˜ foreach ($aCartData as $k => $gVal) { if (is_array($gVal['kmComboGoods'])) { $aCartData[$k]['kmComboGoods'] = json_encode($gVal['kmComboGoods'], JSON_UNESCAPED_UNICODE); } if (is_array($gVal['kmComboParent'])) { $aCartData[$k]['kmComboParent'] = json_encode($gVal['kmComboParent'], JSON_UNESCAPED_UNICODE); } } // byc comboGoods ]] if (\Request::getRemoteAddress() == '106.245.188.238' && \Session::get('member.memId') == 'kaimen5' ) { // $result = $this->saveOrder_test($orderInfo, $order, $memberData, $deliveryInfo, $aCartData, $history, $couponInfo, $taxPrice); // return $result; } // $result = parent:: saveOrder($orderInfo, $order, $memberData, $deliveryInfo, $aCartData, $history, $couponInfo, $taxPrice); $result = $this->saveOrder_parent($orderInfo, $order, $memberData, $deliveryInfo, $aCartData, $history, $couponInfo, $taxPrice); // byc api [[ // ์ฃผ๋ฌธ ์ƒ์„ฑ ์‹œ asp์„œ๋ฒ„์— ์ €์žฅํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฐ์ดํ„ฐ ์ „์†ก // try { // $api = \App::load('Component\\Kaimen\\BycApi'); // $api->saveOrder($this->orderNo); // } catch (\Exception $e) { // // throw new Exception('์ฃผ๋ฌธ์˜ค๋ฅ˜'); // return false; // } // byc api ]] return $result; } /** * ์ฃผ๋ฌธ ํ”„๋กœ์„ธ์Šค * * @param array $cartInfo * @param array $orderInfo * @param array $order * @param boolean $isWrite * * @throws Exception * @author Jong-tae Ahn * @author su */ public function saveOrder_parent($orderInfo, $order, $memberData, $deliveryInfo, $aCartData, $history, $couponInfo, $taxPrice) { //์ƒํ’ˆ ํ˜ธ์ถœ $goods = \App::load('\\Component\\Goods\\Goods'); // $orderStatusPre ๊ฐ’ ์ฒ˜๋ฆฌ $orderStatusPre = $order['orderStatus']; // ์ฃผ๋ฌธ์ž/์ˆ˜์ทจ์ธ ์ •๋ณด ์ €์žฅ $orderInfo['orderNo'] = $this->orderNo; // ๋กœ๊ทธ ์ €์žฅ \Logger::channel('order')->info('INSERT orderInfo : ' . $this->orderNo, $orderInfo); $arrBind = $this->db->get_binding(DBTableField::tableOrderInfo(), $orderInfo, 'insert'); $this->db->set_insert_db(DB_ORDER_INFO, $arrBind['param'], $arrBind['bind'], 'y', false); $orderInfoSno = $this->db->insert_id(); // ์„ ๋ฌผํ•˜๊ธฐ ์ฃผ๋ฌธ ๋ฐ์ดํ„ฐ ์ค€๋น„ $presentOrder = \App::getInstance(PresentOrder::class); $presentOrderData = $presentOrder->preparePresentOrder($aCartData, $orderInfo, $this->orderNo); $isPresentOrder = $presentOrderData['isPresentOrder']; $receiverInfo = $presentOrderData['receiverInfo']; $aCartData = $presentOrderData['preparedCartData']; // ์žฅ๋ฐ”๊ตฌ๋‹ˆ ์ƒํ’ˆ ์ •๋ณด ์ €์žฅ ์„ค์ •์„ ์œ„ํ•œ ์ดˆ๊ธฐํ™” $arrOrderGoodsSno = []; $deliveryInfoSno = []; // ๋กœ๊ทธ ์ €์žฅ \Logger::channel('order')->info('INSERT orderDelivery : ' . $this->orderNo, $deliveryInfo); // ์ •์ฑ…๋ณ„ ๋ฐฐ์†ก ์ •๋ณด ์ €์žฅ foreach ($deliveryInfo as $k => $v) { $v['orderInfoSno'] = $orderInfoSno; $arrBind = $this->db->get_binding(DBTableField::tableOrderDelivery(), $v, 'insert'); $this->db->set_insert_db(DB_ORDER_DELIVERY, $arrBind['param'], $arrBind['bind'], 'y', false); $deliveryInfoSno[$k]['orderDeliverySno'] = $this->db->insert_id(); unset($arrBind); } // ๋กœ๊ทธ ์ €์žฅ \Logger::channel('order')->info('INSERT orderGoods : ' . $this->orderNo, $aCartData); $receiverIndex = 0; foreach ($aCartData as $gVal) { // deliverySno ์ €์žฅ $gVal['orderDeliverySno'] = $deliveryInfoSno[$gVal['deliveryInfoKey']]['orderDeliverySno']; // 20260112 byc orderDetail [[ $kmOrg['taxSupplyGoodsPrice'] = $gVal['taxSupplyGoodsPrice']; $kmOrg['taxVatGoodsPrice'] = $gVal['taxVatGoodsPrice']; $kmOrg['taxFreeGoodsPrice'] = $gVal['taxFreeGoodsPrice']; $kmOrg['realTaxSupplyGoodsPrice'] = $gVal['realTaxSupplyGoodsPrice']; $kmOrg['realTaxVatGoodsPrice'] = $gVal['realTaxVatGoodsPrice']; $kmOrg['realTaxFreeGoodsPrice'] = $gVal['realTaxFreeGoodsPrice']; $kmOrg['divisionUseDeposit'] = $gVal['divisionUseDeposit']; $kmOrg['divisionUseMileage'] = $gVal['divisionUseMileage']; $kmOrg['divisionGoodsDeliveryUseDeposit'] = $gVal['divisionGoodsDeliveryUseDeposit']; $kmOrg['divisionGoodsDeliveryUseMileage'] = $gVal['divisionGoodsDeliveryUseMileage']; $kmOrg['divisionCouponOrderDcPrice'] = $gVal['divisionCouponOrderDcPrice']; $kmOrg['divisionCouponOrderMileage'] = $gVal['divisionCouponOrderMileage']; $kmOrg['goodsDcPrice'] = $gVal['goodsDcPrice']; $kmOrg['memberDcPrice'] = $gVal['memberDcPrice']; $kmOrg['memberOverlapDcPrice'] = $gVal['memberOverlapDcPrice']; $kmOrg['couponGoodsDcPrice'] = $gVal['couponGoodsDcPrice']; $kmOrg['timeSalePrice'] = $gVal['timeSalePrice']; $kmOrg['myappDcPrice'] = $gVal['myappDcPrice']; $kmOrg['goodsMileage'] = $gVal['goodsMileage']; $kmOrg['memberMileage'] = $gVal['memberMileage']; $kmOrg['couponGoodsMileage'] = $gVal['couponGoodsMileage']; $kmOrg['couponGoodsDcPrice'] = $gVal['couponGoodsDcPrice']; $gVal['kmOrg'] = json_encode($kmOrg, JSON_UNESCAPED_UNICODE); // 20260112 byc orderDetail ]] // ์žฅ๋ฐ”๊ตฌ๋‹ˆ ์ƒํ’ˆ ์ •๋ณด ์ €์žฅ $arrBind = $this->db->get_binding(DBTableField::tableOrderGoods(), $gVal, 'insert'); $this->db->set_insert_db(DB_ORDER_GOODS, $arrBind['param'], $arrBind['bind'], 'y', false); // ์ €์žฅ๋œ ์ฃผ๋ฌธ์ƒํ’ˆ(order_goods) SNO ๊ฐ’ $arrOrderGoodsSno['sno'][] = $this->db->insert_id(); $tmpDbInsertId = $this->db->insert_id(); $orderGoodsNo = $tmpDbInsertId; // ์„ ๋ฌผํ•˜๊ธฐ ์ฃผ๋ฌธ์ธ ๊ฒฝ์šฐ ์ˆ˜๋ น์ž ์ •๋ณด ์ €์žฅ (1:1 ๋งค์นญ) $receiverIndex = $presentOrder->processReceiver( $isPresentOrder, $receiverInfo, $receiverIndex, $this->orderNo, $orderGoodsNo ); //์ฃผ๋ฌธ์‹œ ๊ฒฐ์ œ์™„๋ฃŒ ์ƒํƒœ์ธ๊ฒฝ์šฐ์— ์ฃผ๋ฌธ์นด์šดํŠธ ์ˆ˜์ •(์ฃผ๋ฌธ์‹œ ๊ฒฐ์ œ ์™„๋ฃŒ์ธ๊ฒฝ์šฐ๊ฐ€ gz๋ง๊ณ  ๋˜ ์žˆ๋‚˜?) if ($orderInfo['settleKind'] == self::SETTLE_KIND_ZERO) { $arrOrderGoodsSno['mq'][] = $tmpDbInsertId; } // ์ฃผ๋ฌธ ๋กœ๊ทธ ์ €์žฅ $this->orderLog($gVal['orderNo'], $tmpDbInsertId, null, $this->getOrderStatusAdmin($gVal['orderStatus']) . '(' . $gVal['orderStatus'] . ')', '์ดˆ๊ธฐ์ฃผ๋ฌธ', true); } $kafka = new ProducerUtils(); $mqData = []; $mqData['orderGoodsNos'] = $arrOrderGoodsSno['mq']; // ์ฃผ๋ฌธ์นด์šดํŠธ ๋Œ€์ƒ์ด ์žˆ์„ ๋•Œ๋งŒ ๋ฐœํ–‰ (์—†์œผ๋ฉด orderGoodsNos null ๋ฉ”์‹œ์ง€ ๋ฐฉ์ง€) if (!empty($mqData['orderGoodsNos'])) { $mqData['mode'] = 'standardOrder'; $result = $kafka->send($kafka::TOPIC_PRODUCT_ORDER_COUNT, $kafka->makeData($mqData, 'p'), $kafka::MODE_RESULT_CALLLBACK, true); \Logger::channel('kafka')->info('process sendMQ - return :', $result); } unset($mqData); unset($arrOrderGoodsSno['mq']); $arrOrderGoodsSno['GoodsSno'] = $arrOrderGoodsSno['sno']; // ํšŒ์›: ์ตœ๊ทผ์ฃผ๋ฌธ์ผ์ž ๋ฐ˜์˜ ๋ฐ ํšŒ์›์ •๋ณด ๋ฐ˜์˜ if (MemberUtil::checkLogin() == 'member') { // ์ตœ์ดˆ ์ฃผ๋ฌธ์—ฌ๋ถ€ ํ™•์ธ if ($this->isFirstSale($order['memNo'])) { $order['firstSaleFl'] = 'y'; } $memData = array(); if ($orderInfo['simpleJoin'] === 'y') { $memData['memNo'] = $order['memNo']; $memData['memNm'] = $orderInfo['orderName']; $memData['phone'] = $orderInfo['orderPhone']; $memData['cellPhone'] = $orderInfo['orderCellPhone']; $otherValue = [ 'reflectApplyMemberInfo' => [ 'orderNo' => $order['orderNo'] ], 'simpleJoin' => 'y', ]; $session = \App::getInstance('session'); $before = $memberData; $session->set(Member::SESSION_MODIFY_MEMBER_INFO, $before); $session->set('member.memNm', $orderInfo['orderName']); $request = \App::getInstance('request'); $historyFilter = gd_array_keys($memData); $historyService = \App::load('Component\\Member\\History'); $historyService->setMemNo($memData['memNo']); $historyService->setProcessor('member'); $historyService->setProcessorIp($request->getRemoteAddress()); $historyService->initBeforeAndAfter(); $historyService->setOtherValue($otherValue); $historyService->addFilter($historyFilter); $historyService->writeHistory(); unset($historyFilter); unset($historyService); } if ($orderInfo['reflectApplyMember'] === 'y' || $orderInfo['reflectApplyDirectMember'] === 'y' || $orderInfo['reflectApplyShippingMember'] === 'y') { $memData['memNo'] = $order[ ์š”์ฒญํ•˜์‹  ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
์š”์ฒญํ•˜์‹  ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์˜ค๋ฅ˜ ๊ด€๋ จ ๋ฌธ์˜๋Š” 070-7430-8503๋กœ ์—ฐ๋ฝํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.
์„œ๋น„์Šค ์ด์šฉ์— ๋ถˆํŽธ์„ ๋“œ๋ ค์„œ ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค.