该商品不支持跨城配送,请更换为开城城市内的收货地址
This commit is contained in:
@@ -86,18 +86,21 @@ export class TradeService {
|
||||
}
|
||||
}
|
||||
|
||||
let addressOk = true;
|
||||
let addressMessage: string | null = null;
|
||||
if (!onSitePickup) {
|
||||
const allowOnline = product.allowOnlinePurchase !== false;
|
||||
const allowCross = product.allowCrossCityDelivery !== false;
|
||||
if (deliveryType === 'LOCAL' && !allowOnline) {
|
||||
throw new BadRequestException('该商品不支持线上购买');
|
||||
}
|
||||
if (deliveryType === 'CROSS_CITY') {
|
||||
addressOk = false;
|
||||
addressMessage = '该商品不支持线上购买';
|
||||
} else if (deliveryType === 'CROSS_CITY') {
|
||||
if (!allowOnline) {
|
||||
throw new BadRequestException('该商品不支持线上购买');
|
||||
}
|
||||
if (!allowCross) {
|
||||
throw new BadRequestException('该商品不支持跨城配送');
|
||||
addressOk = false;
|
||||
addressMessage = '该商品不支持线上购买';
|
||||
} else if (!allowCross) {
|
||||
addressOk = false;
|
||||
addressMessage = '该商品不支持跨城配送,请更换为开城城市内的收货地址';
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -137,8 +140,13 @@ export class TradeService {
|
||||
/** 起购未满足时仍返回预览,供确认页改数量;下单接口仍会硬校验 */
|
||||
quantityOk: check.ok,
|
||||
quantityMessage: check.ok ? null : (check.message ?? null),
|
||||
/** 地址/履约未满足时仍返回预览,供确认页提示换地址;下单接口仍会硬校验 */
|
||||
addressOk,
|
||||
addressMessage,
|
||||
minQty,
|
||||
onSitePickup,
|
||||
allowCrossCityDelivery: product.allowCrossCityDelivery !== false,
|
||||
allowOnlinePurchase: product.allowOnlinePurchase !== false,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -157,6 +165,9 @@ export class TradeService {
|
||||
if (preview.quantityOk === false) {
|
||||
throw new BadRequestException(preview.quantityMessage || '购买数量不满足起购要求');
|
||||
}
|
||||
if (preview.addressOk === false) {
|
||||
throw new BadRequestException(preview.addressMessage || '收货地址不可用');
|
||||
}
|
||||
|
||||
const onSitePickup = !!body.onSitePickup || preview.deliveryType === 'ON_SITE_PICKUP';
|
||||
let receiverName = '现场取货';
|
||||
|
||||
Reference in New Issue
Block a user