변경 파일 목록
총 2개
변경 파일 코드
추가삭제
변경 전GoodsAdmin.php
| const ECT_INVALID_ARG = 'GoodsAdmin.ECT_INVALID_ARG'; | |
| const TEXT_REQUIRE_VALUE = '%s은(는) 필수 항목 입니다.'; | |
| const TEXT_USELESS_VALUE = '%s은(는) 사용할 수 없습니다.'; | |
| */ | |
| // | |
| $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']); | |
변경 후GoodsAdmin.php
| const ECT_INVALID_ARG = 'GoodsAdmin.ECT_INVALID_ARG'; | |
| /** @var string[] 천 단위 콤마 입력이 허용되어 저장 전 정제가 필요한 금액 필드 */ | |
| protected const COMMA_REMOVABLE_AMOUNT_FIELDS = ['goodsPrice', 'fixedPrice', 'costPrice', 'goodsDiscount', 'mileageGoods']; | |
| const TEXT_REQUIRE_VALUE = '%s은(는) 필수 항목 입니다.'; | |
| const TEXT_USELESS_VALUE = '%s은(는) 사용할 수 없습니다.'; | |
| */ | |
| // | |
| // 회원등급별 마일리지도 회원등급별 할인과 같이 별도 배열이라, 인코딩 전에 정제해야 한다 | |
| $arrData['mileageGroupMemberInfo'] = NumberUtils::removeCommaByField($arrData['mileageGroupMemberInfo'], 'mileageGoods'); | |
| $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']); | |
| // 금액값의 천 단위 콤마 제거 (미제거 시 DB 저장 과정에서 콤마 앞자리만 남고, 할인가 숫자 연산도 깨짐) | |
| foreach (self::COMMA_REMOVABLE_AMOUNT_FIELDS as $amountField) { | |
| $arrData = NumberUtils::removeCommaByField($arrData, $amountField); | |
| } | |
| // 회원등급별 할인은 별도 배열에 담겨 와 위 루프 대상이 아니다 | |
| $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']); | |
변경 전GoodsBenefit.php
| // 상품할인금액 | |
| $goodsDcPrice = $goodsData['goodsPrice'] - gd_number_figure(($goodsData['goodsPrice'] * $discountPercent), $goodsConfigTrunc['unitPrecision'], $goodsConfigTrunc['unitRound']); | |
| } else { | |
| // 상품금액보다 상품할인금액이 클 경우 상품금액으로 변경 | |
| if ($goodsData['goodsDiscount'] > $goodsData['goodsPrice']) $goodsDiscount = $goodsData['goodsPrice']; | |
| // 상품할인금액 (정액인 경우 해당 설정된 금액으로) | |
| $goodsDcPrice = $goodsData['goodsPrice'] - $goodsDiscount; | |
| } | |
변경 후GoodsBenefit.php
| // 상품할인금액 | |
| $goodsDcPrice = $goodsData['goodsPrice'] - gd_number_figure(($goodsData['goodsPrice'] * $discountPercent), $goodsConfigTrunc['unitPrecision'], $goodsConfigTrunc['unitRound']); | |
| } else { | |
| // 할인금액 초기화 (미초기화 시 null 이라 할인이 반영되지 않음) | |
| $goodsDiscount = NumberUtils::numberFormatToFloat($goodsData['goodsDiscount']) ?: 0; | |
| // 상품금액보다 상품할인금액이 클 경우 상품금액으로 변경 | |
| if ($goodsDiscount > $goodsData['goodsPrice']) $goodsDiscount = $goodsData['goodsPrice']; | |
| // 상품할인금액 (정액인 경우 해당 설정된 금액으로) | |
| $goodsDcPrice = $goodsData['goodsPrice'] - $goodsDiscount; | |
| } | |