본문으로 건너뛰기

특정 회원등급 할인 가격 적용 개선

PHP 8 · GODO25
변경 파일 수: 7개
변경 파일 목록
총 7개
변경 파일 코드
추가삭제
Admin/goods/goods_batch_mileage.php+3-3
변경 전goods_batch_mileage.php
<td>
<div class="goods-discount-all form-inline">
<span class="goods-title">구매금액의</span>
<input type="text" name="goodsDiscount" class="form-control width-sm">
<select name="goodsDiscountUnit" class="goods-unit form-control width-2xs">
<option value="percent" selected="selected">%</option>
<option value="price"><?=gd_currency_default(); ?></option>
<td><?php echo gd_select_box(null, "goodsDiscountGroupMemberInfo['groupSno'][]", $groupList, null, null, '=회원등급 선택='); ?></td>
<td class="form-inline">
<span class="goods-title">구매금액의</span>
<input type="text" name="goodsDiscountGroupMemberInfo['goodsDiscount'][]" value="" class="form-control width-sm">
<select name="goodsDiscountGroupMemberInfo['goodsDiscountUnit'][]" class="goods-unit form-control width-2xs">
<option value="percent" selected="selected">%</option>
<option value="price"><?=gd_currency_default();?></option>
 
var html = '<tr>' +
'<td>' + groupSnoInfo + '</td>' +
'<td class="form-inline"><span class="goods-title">구매금액의</span> <input type="text" name="' + inputName + '" value="" class="form-control width-sm"> ' + goodsUnitInfo + ' <input type="button" value="삭제" class="btn btn-sm btn-white btn-icon-minus del-groupSno"></td>' +
'</tr>';
$('.' + appendClassName + ' table').append(html);
});
 
변경 후goods_batch_mileage.php
<td>
<div class="goods-discount-all form-inline">
<span class="goods-title">구매금액의</span>
<input type="number" step="any" name="goodsDiscount" class="form-control width-sm">
<select name="goodsDiscountUnit" class="goods-unit form-control width-2xs">
<option value="percent" selected="selected">%</option>
<option value="price"><?=gd_currency_default(); ?></option>
<td><?php echo gd_select_box(null, "goodsDiscountGroupMemberInfo['groupSno'][]", $groupList, null, null, '=회원등급 선택='); ?></td>
<td class="form-inline">
<span class="goods-title">구매금액의</span>
<input type="number" step="any" name="goodsDiscountGroupMemberInfo['goodsDiscount'][]" value="" class="form-control width-sm">
<select name="goodsDiscountGroupMemberInfo['goodsDiscountUnit'][]" class="goods-unit form-control width-2xs">
<option value="percent" selected="selected">%</option>
<option value="price"><?=gd_currency_default();?></option>
 
var html = '<tr>' +
'<td>' + groupSnoInfo + '</td>' +
'<td class="form-inline"><span class="goods-title">구매금액의</span> <input type="number" step="any" name="' + inputName + '" value="" class="form-control width-sm"> ' + goodsUnitInfo + ' <input type="button" value="삭제" class="btn btn-sm btn-white btn-icon-minus del-groupSno"></td>' +
'</tr>';
$('.' + appendClassName + ' table').append(html);
});
 
Admin/goods/goods_benefit_register.php+11-4
변경 전goods_benefit_register.php
}
});
 
 
 
 
 
 
 
display_goods_discount_set();
display_toggle_class('goodsDiscountFl', 'goodsDiscountConfig');
var html = '<tr>' +
'<td>' + groupSnoInfo + '</td>' +
'<td class="form-inline"><span class="goods-title">구매금액의</span> <input type="text" name="' + inputName + '" value="" class="form-control width-sm"> ' + goodsUnitInfo + ' <input type="button" value="삭제" class="btn btn-sm btn-white btn-icon-minus del-groupSno"></td>' +
'</tr>';
$('.' + appendClassName + ' table').append(html);
});
<td>
<div class="goods-discount-all hide form-inline">
<span class="goods-title">구매금액의</span>
<input type="text" name="goodsDiscount" value="<?=$data['goodsDiscountUnit'] == 'percent' ? $data['goodsDiscount'] : gd_money_format($data['goodsDiscount'], false);?>" class="form-control width-sm">
<select name="goodsDiscountUnit" class="goods-unit form-control width-2xs">
<option value="percent" <?=gd_isset($selected['goodsDiscountUnit']['percent']); ?>>%</option>
<option value="price" <?=gd_isset($selected['goodsDiscountUnit']['price']); ?>><?=gd_currency_default(); ?></option>
<td><?php echo gd_select_box(null, "goodsDiscountGroupMemberInfo['groupSno'][]", $groupList, null, $val, '=회원등급 선택='); ?></td>
<td class="form-inline">
<span class="goods-title">구매금액의</span>
<input type="text" name="goodsDiscountGroupMemberInfo['goodsDiscount'][]" value="<?php echo $data['goodsDiscountGroupMemberInfo']['goodsDiscountUnit'][$key] == 'percent' ? $data['goodsDiscountGroupMemberInfo']['goodsDiscount'][$key] : gd_money_format($data['goodsDiscountGroupMemberInfo']['goodsDiscount'][$key], false);?>" class="form-control width-sm">
<select name="goodsDiscountGroupMemberInfo['goodsDiscountUnit'][]" class="goods-unit form-control width-2xs">
<option value="percent" <?=gd_isset($selected['goodsDiscountGroupMemberInfo']['goodsDiscountUnit'][$key]['percent']); ?>>%</option>
<option value="price" <?=gd_isset($selected['goodsDiscountGroupMemberInfo']['goodsDiscountUnit'][$key]['price']); ?>><?=gd_currency_default(); ?></option>
<td><?php echo gd_select_box(null, "goodsDiscountGroupMemberInfo['groupSno'][]", $groupList, null, null, '=회원등급 선택='); ?></td>
<td class="form-inline">
<span class="goods-title">구매금액의</span>
<input type="text" name="goodsDiscountGroupMemberInfo['goodsDiscount'][]" value="" class="form-control width-sm">
<select name="goodsDiscountGroupMemberInfo['goodsDiscountUnit'][]" class="goods-unit form-control width-2xs">
<option value="percent" selected="selected">%</option>
<option value="price"><?=gd_currency_default(); ?></option>
 
변경 후goods_benefit_register.php
}
});
//number 에서 validator가 문제가 되어, ajax로 넘어가지 않아서, 여기서는 name으로 비교하도록 수정
$('#frmBenefit').data('validator').findByName = function (name) {
return $(this.currentForm).find('input, select, textarea').filter(function () {
return this.name === name;
});
};
display_goods_discount_set();
display_toggle_class('goodsDiscountFl', 'goodsDiscountConfig');
var html = '<tr>' +
'<td>' + groupSnoInfo + '</td>' +
'<td class="form-inline"><span class="goods-title">구매금액의</span> <input type="number" step="any" name="' + inputName + '" value="" class="form-control width-sm"> ' + goodsUnitInfo + ' <input type="button" value="삭제" class="btn btn-sm btn-white btn-icon-minus del-groupSno"></td>' +
'</tr>';
$('.' + appendClassName + ' table').append(html);
});
<td>
<div class="goods-discount-all hide form-inline">
<span class="goods-title">구매금액의</span>
<input type="number" step="any" name="goodsDiscount" value="<?=$data['goodsDiscountUnit'] == 'percent' ? str_replace(',', '', $data['goodsDiscount']) : gd_money_format($data['goodsDiscount'], false);?>" class="form-control width-sm">
<select name="goodsDiscountUnit" class="goods-unit form-control width-2xs">
<option value="percent" <?=gd_isset($selected['goodsDiscountUnit']['percent']); ?>>%</option>
<option value="price" <?=gd_isset($selected['goodsDiscountUnit']['price']); ?>><?=gd_currency_default(); ?></option>
<td><?php echo gd_select_box(null, "goodsDiscountGroupMemberInfo['groupSno'][]", $groupList, null, $val, '=회원등급 선택='); ?></td>
<td class="form-inline">
<span class="goods-title">구매금액의</span>
<input type="number" step="any" name="goodsDiscountGroupMemberInfo['goodsDiscount'][]" value="<?php echo $data['goodsDiscountGroupMemberInfo']['goodsDiscountUnit'][$key] == 'percent' ? str_replace(',', '', $data['goodsDiscountGroupMemberInfo']['goodsDiscount'][$key]) : gd_money_format($data['goodsDiscountGroupMemberInfo']['goodsDiscount'][$key], false);?>" class="form-control width-sm">
<select name="goodsDiscountGroupMemberInfo['goodsDiscountUnit'][]" class="goods-unit form-control width-2xs">
<option value="percent" <?=gd_isset($selected['goodsDiscountGroupMemberInfo']['goodsDiscountUnit'][$key]['percent']); ?>>%</option>
<option value="price" <?=gd_isset($selected['goodsDiscountGroupMemberInfo']['goodsDiscountUnit'][$key]['price']); ?>><?=gd_currency_default(); ?></option>
<td><?php echo gd_select_box(null, "goodsDiscountGroupMemberInfo['groupSno'][]", $groupList, null, null, '=회원등급 선택='); ?></td>
<td class="form-inline">
<span class="goods-title">구매금액의</span>
<input type="number" step="any" name="goodsDiscountGroupMemberInfo['goodsDiscount'][]" value="" class="form-control width-sm">
<select name="goodsDiscountGroupMemberInfo['goodsDiscountUnit'][]" class="goods-unit form-control width-2xs">
<option value="percent" selected="selected">%</option>
<option value="price"><?=gd_currency_default(); ?></option>
 
Admin/goods/goods_register_option_stock.php+11-4
변경 전goods_register_option_stock.php
}
});
 
 
 
 
 
 
 
 
 
$('#imageStorage').trigger('click');
image_storage_selector('<?=$data['imageStorage'];?>');
<td>
<div class="goods-discount-all hide form-inline">
<span class="goods-title">구매금액의</span>
<input type="text" name="goodsDiscount" value="<?=$data['goodsDiscountUnit'] == 'percent' ? $data['goodsDiscount'] : gd_money_format($data['goodsDiscount'], false);?>" class="form-control width-sm">
<select name="goodsDiscountUnit" class="goods-unit form-control width-2xs">
<option value="percent" <?=gd_isset($selected['goodsDiscountUnit']['percent']); ?>>%</option>
<option value="price" <?=gd_isset($selected['goodsDiscountUnit']['price']); ?>><?=gd_currency_default(); ?></option>
<td><?php echo gd_select_box(null, "goodsDiscountGroupMemberInfo['groupSno'][]", $groupList, null, $val, '=회원등급 선택='); ?></td>
<td class="form-inline">
<span class="goods-title">구매금액의</span>
<input type="text" name="goodsDiscountGroupMemberInfo['goodsDiscount'][]" value="<?php echo $data['goodsDiscountGroupMemberInfo']['goodsDiscountUnit'][$key] == 'percent' ? $data['goodsDiscountGroupMemberInfo']['goodsDiscount'][$key] : gd_money_format($data['goodsDiscountGroupMemberInfo']['goodsDiscount'][$key], false);?>" class="form-control width-sm">
<select name="goodsDiscountGroupMemberInfo['goodsDiscountUnit'][]" class="goods-unit form-control width-2xs">
<option value="percent" <?=gd_isset($selected['goodsDiscountGroupMemberInfo']['goodsDiscountUnit'][$key]['percent']); ?>>%</option>
<option value="price" <?=gd_isset($selected['goodsDiscountGroupMemberInfo']['goodsDiscountUnit'][$key]['price']); ?>><?=gd_currency_default(); ?></option>
<td><?php echo gd_select_box(null, "goodsDiscountGroupMemberInfo['groupSno'][]", $groupList, null, null, '=회원등급 선택='); ?></td>
<td class="form-inline">
<span class="goods-title">구매금액의</span>
<input type="text" name="goodsDiscountGroupMemberInfo['goodsDiscount'][]" value="" class="form-control width-sm">
<select name="goodsDiscountGroupMemberInfo['goodsDiscountUnit'][]" class="goods-unit form-control width-2xs">
<option value="percent" selected="selected">%</option>
<option value="price"><?=gd_currency_default(); ?></option>
 
var html = '<tr>' +
'<td>' + groupSnoInfo + '</td>' +
'<td class="form-inline"><span class="goods-title">구매금액의</span> <input type="text" name="' + inputName + '" value="" class="form-control width-sm"> ' + goodsUnitInfo + ' <input type="button" value="삭제" class="btn btn-sm btn-white btn-icon-minus del-groupSno"></td>' +
'</tr>';
$('.' + appendClassName + ' table').append(html);
});
 
변경 후goods_register_option_stock.php
}
});
 
//number 에서 validator가 문제가 되어, ajax로 넘어가지 않아서, 여기서는 name으로 비교하도록 수정
$('#frmGoods').data('validator').findByName = function (name) {
return $(this.currentForm).find('input, select, textarea').filter(function () {
return this.name === name;
});
};
 
 
$('#imageStorage').trigger('click');
image_storage_selector('<?=$data['imageStorage'];?>');
<td>
<div class="goods-discount-all hide form-inline">
<span class="goods-title">구매금액의</span>
<input type="number" step="any" name="goodsDiscount" value="<?=$data['goodsDiscountUnit'] == 'percent' ? str_replace(',', '', $data['goodsDiscount']) : gd_money_format($data['goodsDiscount'], false);?>" class="form-control width-sm">
<select name="goodsDiscountUnit" class="goods-unit form-control width-2xs">
<option value="percent" <?=gd_isset($selected['goodsDiscountUnit']['percent']); ?>>%</option>
<option value="price" <?=gd_isset($selected['goodsDiscountUnit']['price']); ?>><?=gd_currency_default(); ?></option>
<td><?php echo gd_select_box(null, "goodsDiscountGroupMemberInfo['groupSno'][]", $groupList, null, $val, '=회원등급 선택='); ?></td>
<td class="form-inline">
<span class="goods-title">구매금액의</span>
<input type="number" step="any" name="goodsDiscountGroupMemberInfo['goodsDiscount'][]" value="<?php echo $data['goodsDiscountGroupMemberInfo']['goodsDiscountUnit'][$key] == 'percent' ? str_replace(',', '', $data['goodsDiscountGroupMemberInfo']['goodsDiscount'][$key]) : gd_money_format($data['goodsDiscountGroupMemberInfo']['goodsDiscount'][$key], false);?>" class="form-control width-sm">
<select name="goodsDiscountGroupMemberInfo['goodsDiscountUnit'][]" class="goods-unit form-control width-2xs">
<option value="percent" <?=gd_isset($selected['goodsDiscountGroupMemberInfo']['goodsDiscountUnit'][$key]['percent']); ?>>%</option>
<option value="price" <?=gd_isset($selected['goodsDiscountGroupMemberInfo']['goodsDiscountUnit'][$key]['price']); ?>><?=gd_currency_default(); ?></option>
<td><?php echo gd_select_box(null, "goodsDiscountGroupMemberInfo['groupSno'][]", $groupList, null, null, '=회원등급 선택='); ?></td>
<td class="form-inline">
<span class="goods-title">구매금액의</span>
<input type="number" step="any" name="goodsDiscountGroupMemberInfo['goodsDiscount'][]" value="" class="form-control width-sm">
<select name="goodsDiscountGroupMemberInfo['goodsDiscountUnit'][]" class="goods-unit form-control width-2xs">
<option value="percent" selected="selected">%</option>
<option value="price"><?=gd_currency_default(); ?></option>
 
var html = '<tr>' +
'<td>' + groupSnoInfo + '</td>' +
'<td class="form-inline"><span class="goods-title">구매금액의</span> <input type="number" step="any" name="' + inputName + '" value="" class="form-control width-sm"> ' + goodsUnitInfo + ' <input type="button" value="삭제" class="btn btn-sm btn-white btn-icon-minus del-groupSno"></td>' +
'</tr>';
$('.' + appendClassName + ' table').append(html);
});
 
Admin/goods/goods_register.php+11-4
변경 전goods_register.php
}
});
 
 
 
 
 
 
 
 
 
$('#imageStorage').trigger('click');
image_storage_selector('<?=$data['imageStorage'];?>');
<td>
<div class="goods-discount-all hide form-inline">
<span class="goods-title">구매금액의</span>
<input type="text" name="goodsDiscount" value="<?=$data['goodsDiscountUnit'] == 'percent' ? $data['goodsDiscount'] : gd_money_format($data['goodsDiscount'], false);?>" class="form-control width-sm">
<select name="goodsDiscountUnit" class="goods-unit form-control width-2xs">
<option value="percent" <?=gd_isset($selected['goodsDiscountUnit']['percent']); ?>>%</option>
<option value="price" <?=gd_isset($selected['goodsDiscountUnit']['price']); ?>><?=gd_currency_default(); ?></option>
<td><?php echo gd_select_box(null, "goodsDiscountGroupMemberInfo['groupSno'][]", $groupList, null, $val, '=회원등급 선택='); ?></td>
<td class="form-inline">
<span class="goods-title">구매금액의</span>
<input type="text" name="goodsDiscountGroupMemberInfo['goodsDiscount'][]" value="<?php echo $data['goodsDiscountGroupMemberInfo']['goodsDiscountUnit'][$key] == 'percent' ? $data['goodsDiscountGroupMemberInfo']['goodsDiscount'][$key] : gd_money_format($data['goodsDiscountGroupMemberInfo']['goodsDiscount'][$key], false);?>" class="form-control width-sm">
<select name="goodsDiscountGroupMemberInfo['goodsDiscountUnit'][]" class="goods-unit form-control width-2xs">
<option value="percent" <?=gd_isset($selected['goodsDiscountGroupMemberInfo']['goodsDiscountUnit'][$key]['percent']); ?>>%</option>
<option value="price" <?=gd_isset($selected['goodsDiscountGroupMemberInfo']['goodsDiscountUnit'][$key]['price']); ?>><?=gd_currency_default(); ?></option>
<td><?php echo gd_select_box(null, "goodsDiscountGroupMemberInfo['groupSno'][]", $groupList, null, null, '=회원등급 선택='); ?></td>
<td class="form-inline">
<span class="goods-title">구매금액의</span>
<input type="text" name="goodsDiscountGroupMemberInfo['goodsDiscount'][]" value="" class="form-control width-sm">
<select name="goodsDiscountGroupMemberInfo['goodsDiscountUnit'][]" class="goods-unit form-control width-2xs">
<option value="percent" selected="selected">%</option>
<option value="price"><?=gd_currency_default(); ?></option>
 
var html = '<tr>' +
'<td>' + groupSnoInfo + '</td>' +
'<td class="form-inline"><span class="goods-title">구매금액의</span> <input type="text" name="' + inputName + '" value="" class="form-control width-sm"> ' + goodsUnitInfo + ' <input type="button" value="삭제" class="btn btn-sm btn-white btn-icon-minus del-groupSno"></td>' +
'</tr>';
$('.' + appendClassName + ' table').append(html);
});
 
변경 후goods_register.php
}
});
 
//number 에서 validator가 문제가 되어, ajax로 넘어가지 않아서, 여기서는 name으로 비교하도록 수정
$('#frmGoods').data('validator').findByName = function (name) {
return $(this.currentForm).find('input, select, textarea').filter(function () {
return this.name === name;
});
};
 
 
$('#imageStorage').trigger('click');
image_storage_selector('<?=$data['imageStorage'];?>');
<td>
<div class="goods-discount-all hide form-inline">
<span class="goods-title">구매금액의</span>
<input type="number" step="any" name="goodsDiscount" value="<?=$data['goodsDiscountUnit'] == 'percent' ? str_replace(',', '', $data['goodsDiscount']) : gd_money_format($data['goodsDiscount'], false);?>" class="form-control width-sm">
<select name="goodsDiscountUnit" class="goods-unit form-control width-2xs">
<option value="percent" <?=gd_isset($selected['goodsDiscountUnit']['percent']); ?>>%</option>
<option value="price" <?=gd_isset($selected['goodsDiscountUnit']['price']); ?>><?=gd_currency_default(); ?></option>
<td><?php echo gd_select_box(null, "goodsDiscountGroupMemberInfo['groupSno'][]", $groupList, null, $val, '=회원등급 선택='); ?></td>
<td class="form-inline">
<span class="goods-title">구매금액의</span>
<input type="number" step="any" name="goodsDiscountGroupMemberInfo['goodsDiscount'][]" value="<?php echo $data['goodsDiscountGroupMemberInfo']['goodsDiscountUnit'][$key] == 'percent' ? str_replace(',', '', $data['goodsDiscountGroupMemberInfo']['goodsDiscount'][$key]) : gd_money_format($data['goodsDiscountGroupMemberInfo']['goodsDiscount'][$key], false);?>" class="form-control width-sm">
<select name="goodsDiscountGroupMemberInfo['goodsDiscountUnit'][]" class="goods-unit form-control width-2xs">
<option value="percent" <?=gd_isset($selected['goodsDiscountGroupMemberInfo']['goodsDiscountUnit'][$key]['percent']); ?>>%</option>
<option value="price" <?=gd_isset($selected['goodsDiscountGroupMemberInfo']['goodsDiscountUnit'][$key]['price']); ?>><?=gd_currency_default(); ?></option>
<td><?php echo gd_select_box(null, "goodsDiscountGroupMemberInfo['groupSno'][]", $groupList, null, null, '=회원등급 선택='); ?></td>
<td class="form-inline">
<span class="goods-title">구매금액의</span>
<input type="number" step="any" name="goodsDiscountGroupMemberInfo['goodsDiscount'][]" value="" class="form-control width-sm">
<select name="goodsDiscountGroupMemberInfo['goodsDiscountUnit'][]" class="goods-unit form-control width-2xs">
<option value="percent" selected="selected">%</option>
<option value="price"><?=gd_currency_default(); ?></option>
 
var html = '<tr>' +
'<td>' + groupSnoInfo + '</td>' +
'<td class="form-inline"><span class="goods-title">구매금액의</span> <input type="number" step="any" name="' + inputName + '" value="" class="form-control width-sm"> ' + goodsUnitInfo + ' <input type="button" value="삭제" class="btn btn-sm btn-white btn-icon-minus del-groupSno"></td>' +
'</tr>';
$('.' + appendClassName + ' table').append(html);
});
 
Component/Goods/GoodsAdmin.php+7
변경 전GoodsAdmin.php
use Framework\Debug\Exception\AlertOnlyException;
use Framework\File\FileHandler;
use Framework\ObjectStorage\Service\ImageUploadService;
 
use Framework\Utility\ProducerUtils;
use Framework\Utility\StringUtils;
use Framework\Utility\ArrayUtils;
$arrData['mileageGroupMemberInfo'] = str_replace('\'', '', json_encode($arrData['mileageGroupMemberInfo'], JSON_UNESCAPED_UNICODE));
$arrData['mileageGroupInfo'] = @gd_implode(INT_DIVISION, $arrData['mileageGroupInfo']);
$arrData['fixedGoodsDiscount'] = @gd_implode(STR_DIVISION, $arrData['fixedGoodsDiscount']);
 
 
 
$arrData['goodsDiscountGroupMemberInfo'] = str_replace('\'', '', json_encode($arrData['goodsDiscountGroupMemberInfo'], JSON_UNESCAPED_UNICODE));
$arrData['exceptBenefit'] = @gd_implode(STR_DIVISION, $arrData['exceptBenefit']);
if (empty($arrData['exceptBenefit']) === true) $arrData['exceptBenefitGroup'] = '';
$setData['goodsDiscountFl'] = $getData['goodsDiscountFl'];
$setData['fixedGoodsDiscount'] = @gd_implode(STR_DIVISION, $getData['fixedGoodsDiscount']);
$setData['goodsDiscountGroup'] = $getData['goodsDiscountGroup'];
 
 
$setData['goodsDiscount'] = $getData['goodsDiscount'];
$setData['goodsDiscountUnit'] = $getData['goodsDiscountUnit'];
 
$setData['goodsDiscountGroupMemberInfo'] = str_replace('\'', '', json_encode($getData['goodsDiscountGroupMemberInfo'], JSON_UNESCAPED_UNICODE));
 
}else{ //상품 혜택 적용
 
변경 후GoodsAdmin.php
use Framework\Debug\Exception\AlertOnlyException;
use Framework\File\FileHandler;
use Framework\ObjectStorage\Service\ImageUploadService;
use Framework\Utility\NumberUtils;
use Framework\Utility\ProducerUtils;
use Framework\Utility\StringUtils;
use Framework\Utility\ArrayUtils;
$arrData['mileageGroupMemberInfo'] = str_replace('\'', '', json_encode($arrData['mileageGroupMemberInfo'], JSON_UNESCAPED_UNICODE));
$arrData['mileageGroupInfo'] = @gd_implode(INT_DIVISION, $arrData['mileageGroupInfo']);
$arrData['fixedGoodsDiscount'] = @gd_implode(STR_DIVISION, $arrData['fixedGoodsDiscount']);
// 할인값의 천 단위 콤마 제거 (미제거 시 할인가 숫자 연산이 깨짐)
$arrData = NumberUtils::removeCommaByField($arrData, 'goodsDiscount');
$arrData['goodsDiscountGroupMemberInfo'] = NumberUtils::removeCommaByField($arrData['goodsDiscountGroupMemberInfo'], 'goodsDiscount');
$arrData['goodsDiscountGroupMemberInfo'] = str_replace('\'', '', json_encode($arrData['goodsDiscountGroupMemberInfo'], JSON_UNESCAPED_UNICODE));
$arrData['exceptBenefit'] = @gd_implode(STR_DIVISION, $arrData['exceptBenefit']);
if (empty($arrData['exceptBenefit']) === true) $arrData['exceptBenefitGroup'] = '';
$setData['goodsDiscountFl'] = $getData['goodsDiscountFl'];
$setData['fixedGoodsDiscount'] = @gd_implode(STR_DIVISION, $getData['fixedGoodsDiscount']);
$setData['goodsDiscountGroup'] = $getData['goodsDiscountGroup'];
// 할인값의 천 단위 콤마 제거 (미제거 시 할인가 숫자 연산이 깨짐)
$getData = NumberUtils::removeCommaByField($getData, 'goodsDiscount');
$setData['goodsDiscount'] = $getData['goodsDiscount'];
$setData['goodsDiscountUnit'] = $getData['goodsDiscountUnit'];
$getData['goodsDiscountGroupMemberInfo'] = NumberUtils::removeCommaByField($getData['goodsDiscountGroupMemberInfo'], 'goodsDiscount');
$setData['goodsDiscountGroupMemberInfo'] = str_replace('\'', '', json_encode($getData['goodsDiscountGroupMemberInfo'], JSON_UNESCAPED_UNICODE));
 
}else{ //상품 혜택 적용
 
Component/Goods/GoodsBenefit.php+9
변경 전GoodsBenefit.php
use LogHandler;
use Request;
use Exception;
 
/**
* Class 상품 혜택 관리
//특정회원등급 등록시
$arrData['fixedGoodsDiscount'] = @gd_implode(STR_DIVISION, $arrData['fixedGoodsDiscount']);
 
 
 
$arrData['goodsDiscountGroupMemberInfo'] = str_replace('\'', '', json_encode($arrData['goodsDiscountGroupMemberInfo'], JSON_UNESCAPED_UNICODE));
$arrData['exceptBenefit'] = @gd_implode(STR_DIVISION, $arrData['exceptBenefit']);
if (empty($arrData['exceptBenefit']) === true) $arrData['exceptBenefitGroup'] = '';
$configTrunc = gd_policy('basic.trunc');
$goodsConfigTrunc = $configTrunc['goods']; // 상품금액절사
 
 
 
switch ($goodsData['goodsDiscountGroup']) {
case 'group':
$goodsDiscountGroupMemberInfoData = json_decode($goodsData['goodsDiscountGroupMemberInfo'], true);
 
 
$discountKey = gd_array_flip($goodsDiscountGroupMemberInfoData['groupSno'])[$memInfo['groupSno']];
if ($discountKey >= 0) {
 
변경 후GoodsBenefit.php
use LogHandler;
use Request;
use Exception;
use Framework\Utility\NumberUtils;
/**
* Class 상품 혜택 관리
//특정회원등급 등록시
$arrData['fixedGoodsDiscount'] = @gd_implode(STR_DIVISION, $arrData['fixedGoodsDiscount']);
// 할인값의 천 단위 콤마 제거 (미제거 시 할인가 숫자 연산이 깨짐)
$arrData = NumberUtils::removeCommaByField($arrData, 'goodsDiscount');
$arrData['goodsDiscountGroupMemberInfo'] = NumberUtils::removeCommaByField($arrData['goodsDiscountGroupMemberInfo'], 'goodsDiscount');
$arrData['goodsDiscountGroupMemberInfo'] = str_replace('\'', '', json_encode($arrData['goodsDiscountGroupMemberInfo'], JSON_UNESCAPED_UNICODE));
$arrData['exceptBenefit'] = @gd_implode(STR_DIVISION, $arrData['exceptBenefit']);
if (empty($arrData['exceptBenefit']) === true) $arrData['exceptBenefitGroup'] = '';
$configTrunc = gd_policy('basic.trunc');
$goodsConfigTrunc = $configTrunc['goods']; // 상품금액절사
// 콤마가 저장된 기존 할인 데이터 방어를 위해 조회 시점에도 콤마 제거
$goodsData = NumberUtils::removeCommaByField($goodsData, 'goodsDiscount');
switch ($goodsData['goodsDiscountGroup']) {
case 'group':
$goodsDiscountGroupMemberInfoData = json_decode($goodsData['goodsDiscountGroupMemberInfo'], true);
// 콤마가 저장된 기존 할인 데이터 방어를 위해 조회 시점에도 콤마 제거
$goodsDiscountGroupMemberInfoData = NumberUtils::removeCommaByField($goodsDiscountGroupMemberInfoData, 'goodsDiscount');
$discountKey = gd_array_flip($goodsDiscountGroupMemberInfoData['groupSno'])[$memInfo['groupSno']];
if ($discountKey >= 0) {
 
Component/Goods/Goods.php+5-5
변경 전Goods.php
* 상품의 상품할인가 반환
*
* @param array $aGoodsInfo 상품정보
* @return int 상품할인가반환
*/
public function getGoodsDcPrice($aGoodsInfo)
{
// 상품할인금액
$goodsDcPrice = gd_number_figure($tmp['discountByPrice'] * $discountPercent, $tmp['trunc']['unitPrecision'], $tmp['trunc']['unitRound']);
} else {
// 상품할인금액 (정액인 경우 해당 설정된 금액으로)
$goodsDcPrice = $goodsDiscountGroupMemberInfoData['goodsDiscount'][$discountKey];
}
}
break;
$discountPercent = $aGoodsInfo['goodsDiscount'] / 100;
$goodsDcPrice = gd_number_figure($tmp['discountByPrice'] * $discountPercent, $tmp['trunc']['unitPrecision'], $tmp['trunc']['unitRound']);
} else {
// 상품할인금액 (정액인 경우 해당 설정된 금액으로)
$goodsDcPrice = $aGoodsInfo['goodsDiscount'];
}
if ($aGoodsInfo['goodsDiscountGroup'] == 'member' && Session::has('member.memNo') === false) {
$goodsDcPrice = 0;
 
변경 후Goods.php
* 상품의 상품할인가 반환
*
* @param array $aGoodsInfo 상품정보
* @return int|float 상품할인가반환
*/
public function getGoodsDcPrice($aGoodsInfo)
{
// 상품할인금액
$goodsDcPrice = gd_number_figure($tmp['discountByPrice'] * $discountPercent, $tmp['trunc']['unitPrecision'], $tmp['trunc']['unitRound']);
} else {
// 상품할인금액 (정액인 경우 해당 설정된 금액으로, 콤마가 저장된 기존 데이터는 콤마 제거, null 등 숫자가 아닌 값은 0 처리)
$goodsDcPrice = NumberUtils::numberFormatToFloat($goodsDiscountGroupMemberInfoData['goodsDiscount'][$discountKey]) ?: 0;
}
}
break;
$discountPercent = $aGoodsInfo['goodsDiscount'] / 100;
$goodsDcPrice = gd_number_figure($tmp['discountByPrice'] * $discountPercent, $tmp['trunc']['unitPrecision'], $tmp['trunc']['unitRound']);
} else {
// 상품할인금액 (정액인 경우 해당 설정된 금액으로, 콤마가 저장된 기존 데이터는 콤마 제거, null 등 숫자가 아닌 값은 0 처리)
$goodsDcPrice = NumberUtils::numberFormatToFloat($aGoodsInfo['goodsDiscount']) ?: 0;
}
if ($aGoodsInfo['goodsDiscountGroup'] == 'member' && Session::has('member.memNo') === false) {
$goodsDcPrice = 0;