구간별 배송비의 종료값이 구간에 포함되지 않아 경계값이 무료배송으로 새고, 상품 옵션의 g/cm³ 저장값을 정책의 kg/L 로 환산하지 않아 금액이 1000배로 청구되던 문제를 수정한다. - 구간 매칭을 종료값 오름차순 사다리로 교체 — 시작값은 표시 전용이 되어 기존 저장 데이터의 두 형태 모두에서 정확히 계산된다 - 단위 환산을 배송비 계산 한 지점으로 모으고, 부피무게와 실무게를 같은 kg 단위로 비교하도록 교정 - 계산이 조용히 0원이 되는 설정(구간 미등록·단위값/기준금액 누락· 중간 구간 무제한·계산 API 폴백 0원)을 저장 시점에 차단하고, 런타임 잔여 경로에는 경고 로그를 남긴다 - 연속성 규칙을 정책 타입별로 분리해 소수 구간(2.5kg) 저장을 허용 - 상품 옵션 무게/부피 응답 왕복, 주문 총 무게/부피 실값 기록
22 lines
861 B
PHP
22 lines
861 B
PHP
<?php
|
|
|
|
namespace Modules\Sirsoft\Ecommerce\Upgrades;
|
|
|
|
use App\Extension\AbstractUpgradeStep;
|
|
|
|
/**
|
|
* Ecommerce 모듈 1.1.1 업그레이드 스텝
|
|
*
|
|
* 공개 #94 (배송비 구간 경계·단위) 후속 데이터 정리.
|
|
*
|
|
* 1. 연속형 구간(금액/무게/부피/부피무게)의 시작값을 직전 구간 종료값으로 정규화한다.
|
|
* 구(舊) 규칙(다음 min = max + 1)으로 저장된 정책은 계산에는 영향이 없지만
|
|
* (사다리 매칭은 시작값을 쓰지 않는다) 관리자 화면 요약이 "10001~30000" 처럼 표시된다.
|
|
* 2. 총 무게/부피가 0 으로 고정 기록된 기존 주문을 주문 옵션 소계 합으로 백필한다.
|
|
*
|
|
* 모든 비즈니스 로직은 data/1.1.1/migrations/ 로 격리(AbstractUpgradeStep 규약).
|
|
*
|
|
* @upgrade-path B
|
|
*/
|
|
class Upgrade_1_1_1 extends AbstractUpgradeStep {}
|