平台内部配送费的逻辑新增。日志打印
This commit is contained in:
parent
78dce9f77b
commit
c96983ec72
@ -417,7 +417,6 @@ public class AccountBaseConfigServiceImpl extends BaseServiceImpl<AccountBaseCon
|
|||||||
// 调用通用计算方法
|
// 调用通用计算方法
|
||||||
Integer innerDeliveryFee = calculateInnerMinDeliveryFee(
|
Integer innerDeliveryFee = calculateInnerMinDeliveryFee(
|
||||||
args.getStore_id(),
|
args.getStore_id(),
|
||||||
args.getDelivery_type_id(),
|
|
||||||
args.getDa_longitude(),
|
args.getDa_longitude(),
|
||||||
args.getDa_latitude(),
|
args.getDa_latitude(),
|
||||||
args.getOrder_weight_gram(),
|
args.getOrder_weight_gram(),
|
||||||
@ -451,6 +450,9 @@ public class AccountBaseConfigServiceImpl extends BaseServiceImpl<AccountBaseCon
|
|||||||
public Integer getInnerMinDeliveryFee(Integer deliveryTypeId, Integer storeId, String orderLongitude,
|
public Integer getInnerMinDeliveryFee(Integer deliveryTypeId, Integer storeId, String orderLongitude,
|
||||||
String orderLatitude, Integer orderWeightGram, BigDecimal orderProductAmount,
|
String orderLatitude, Integer orderWeightGram, BigDecimal orderProductAmount,
|
||||||
BigDecimal orderDiscountAmount, BigDecimal orderPayAmount) {
|
BigDecimal orderDiscountAmount, BigDecimal orderPayAmount) {
|
||||||
|
log.debug("[内部配送费] 计算开始,deliveryTypeId: {}, storeId: {}, orderLongitude: {}, orderLatitude: {}, orderWeightGram: {}, orderProductAmount: {}, orderDiscountAmount: {}, orderPayAmount: {}",
|
||||||
|
deliveryTypeId, storeId, orderLongitude, orderLatitude, orderWeightGram, orderProductAmount, orderDiscountAmount, orderPayAmount);
|
||||||
|
|
||||||
// 参数校验
|
// 参数校验
|
||||||
if (deliveryTypeId == null || storeId == null) {
|
if (deliveryTypeId == null || storeId == null) {
|
||||||
log.warn("[内部配送费] 参数校验失败,deliveryTypeId: {},storeId: {}", deliveryTypeId, storeId);
|
log.warn("[内部配送费] 参数校验失败,deliveryTypeId: {},storeId: {}", deliveryTypeId, storeId);
|
||||||
@ -467,7 +469,6 @@ public class AccountBaseConfigServiceImpl extends BaseServiceImpl<AccountBaseCon
|
|||||||
// 调用通用计算方法
|
// 调用通用计算方法
|
||||||
Integer innerDeliveryFee = calculateInnerMinDeliveryFee(
|
Integer innerDeliveryFee = calculateInnerMinDeliveryFee(
|
||||||
storeId,
|
storeId,
|
||||||
deliveryTypeId,
|
|
||||||
orderLongitude,
|
orderLongitude,
|
||||||
orderLatitude,
|
orderLatitude,
|
||||||
orderWeightGram,
|
orderWeightGram,
|
||||||
@ -488,7 +489,6 @@ public class AccountBaseConfigServiceImpl extends BaseServiceImpl<AccountBaseCon
|
|||||||
* 通用内部最低配送费计算方法
|
* 通用内部最低配送费计算方法
|
||||||
*
|
*
|
||||||
* @param storeId 店铺ID
|
* @param storeId 店铺ID
|
||||||
* @param deliveryTypeId 配送方式ID
|
|
||||||
* @param orderLongitude 订单经度
|
* @param orderLongitude 订单经度
|
||||||
* @param orderLatitude 订单纬度
|
* @param orderLatitude 订单纬度
|
||||||
* @param orderWeightGram 订单重量(克)
|
* @param orderWeightGram 订单重量(克)
|
||||||
@ -497,7 +497,7 @@ public class AccountBaseConfigServiceImpl extends BaseServiceImpl<AccountBaseCon
|
|||||||
* @param orderPayAmount 订单支付金额
|
* @param orderPayAmount 订单支付金额
|
||||||
* @return 内部配送费(单位 : 分)
|
* @return 内部配送费(单位 : 分)
|
||||||
*/
|
*/
|
||||||
private Integer calculateInnerMinDeliveryFee(Integer storeId, Integer deliveryTypeId, String orderLongitude,
|
private Integer calculateInnerMinDeliveryFee(Integer storeId, String orderLongitude,
|
||||||
String orderLatitude, Integer orderWeightGram, BigDecimal orderProductAmount,
|
String orderLatitude, Integer orderWeightGram, BigDecimal orderProductAmount,
|
||||||
BigDecimal orderDiscountAmount, BigDecimal orderPayAmount) {
|
BigDecimal orderDiscountAmount, BigDecimal orderPayAmount) {
|
||||||
// 根据配置计算平台配送费
|
// 根据配置计算平台配送费
|
||||||
|
|||||||
@ -768,7 +768,7 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
|
|||||||
throw new ApiException(I18nUtil._("无该订单访问权限!"));
|
throw new ApiException(I18nUtil._("无该订单访问权限!"));
|
||||||
}
|
}
|
||||||
|
|
||||||
// 是否禁止退款
|
// 订单是否禁止退款
|
||||||
int isOrderDenyReturn = shopOrderReturnService.isOrderDenyReturn(order_id) ? 1 : 2;
|
int isOrderDenyReturn = shopOrderReturnService.isOrderDenyReturn(order_id) ? 1 : 2;
|
||||||
data.put("is_deny_return", isOrderDenyReturn);
|
data.put("is_deny_return", isOrderDenyReturn);
|
||||||
|
|
||||||
@ -963,8 +963,8 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
|
|||||||
item_row.put("product_number", product_number);
|
item_row.put("product_number", product_number);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 不支持退货
|
// 订单是否禁止退货
|
||||||
is_denyreturn = shopOrderReturnService.ifDenyReturn(order_item_id);
|
is_denyreturn = shopOrderReturnService.isOrderDenyReturn(order_id); //shopOrderReturnService.ifDenyReturn(order_item_id);
|
||||||
item_row.put("contains", is_denyreturn);
|
item_row.put("contains", is_denyreturn);
|
||||||
item_row.put("is_denyreturn", is_denyreturn);
|
item_row.put("is_denyreturn", is_denyreturn);
|
||||||
|
|
||||||
@ -7865,6 +7865,8 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
|
|||||||
String longitude = Convert.toStr(address.get("ud_longitude"));
|
String longitude = Convert.toStr(address.get("ud_longitude"));
|
||||||
String latitude = Convert.toStr(address.get("ud_latitude"));
|
String latitude = Convert.toStr(address.get("ud_latitude"));
|
||||||
|
|
||||||
|
log.info("平台内部配送费计算:经纬度:{}", longitude + ":" + latitude);
|
||||||
|
|
||||||
// 检查经纬度是否有效
|
// 检查经纬度是否有效
|
||||||
if (StrUtil.isNotBlank(longitude) && StrUtil.isNotBlank(latitude)) {
|
if (StrUtil.isNotBlank(longitude) && StrUtil.isNotBlank(latitude)) {
|
||||||
// 平台最低配送费,单位(分)
|
// 平台最低配送费,单位(分)
|
||||||
@ -8419,7 +8421,8 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
|
|||||||
Integer payment_type_id = Convert.toInt(order_info_row.get("payment_type_id"));
|
Integer payment_type_id = Convert.toInt(order_info_row.get("payment_type_id"));
|
||||||
Integer order_is_paid = Convert.toInt(order_info_row.get("order_is_paid"));
|
Integer order_is_paid = Convert.toInt(order_info_row.get("order_is_paid"));
|
||||||
|
|
||||||
boolean is_denyreturn = shopOrderReturnService.ifDenyReturn(Convert.toLong(order_info_row.get("order_item_id")));
|
// 订单是否禁止退货?
|
||||||
|
boolean is_denyreturn = shopOrderReturnService.isOrderDenyReturn(Convert.toStr(order_info_row.get("order_id"))); //shopOrderReturnService.ifDenyReturn(Convert.toLong(order_info_row.get("order_item_id")));
|
||||||
order_info_row.put("if_buyer_cancel", isOrderCancelable(order_state_id, order_is_paid) || !is_denyreturn);
|
order_info_row.put("if_buyer_cancel", isOrderCancelable(order_state_id, order_is_paid) || !is_denyreturn);
|
||||||
order_info_row.put("if_logistics", ifLogistics(order_state_id));
|
order_info_row.put("if_logistics", ifLogistics(order_state_id));
|
||||||
order_info_row.put("order_shipping_fee", order_data_row.get("order_shipping_fee"));
|
order_info_row.put("order_shipping_fee", order_data_row.get("order_shipping_fee"));
|
||||||
|
|||||||
@ -2693,26 +2693,52 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl<ShopOrderReturnM
|
|||||||
* 若商品索引为空,抛出异常;
|
* 若商品索引为空,抛出异常;
|
||||||
* 调用另一个重载方法 ifDenyReturn(...) 进行具体的退货规则判断。
|
* 调用另一个重载方法 ifDenyReturn(...) 进行具体的退货规则判断。
|
||||||
*
|
*
|
||||||
* @param order_item_id
|
* @param order_item_id 订单商品ID
|
||||||
* @return
|
* @return 是否禁止退货
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean ifDenyReturn(Long order_item_id) {
|
public boolean ifDenyReturn(Long order_item_id) {
|
||||||
ShopOrderItem shopOrderItem = shopOrderItemService.get(order_item_id);
|
// 参数校验
|
||||||
if (shopOrderItem == null) {
|
if (order_item_id == null) {
|
||||||
throw new ApiException(I18nUtil._("此订单商品订单数据有误!"));
|
logger.warn("[禁止退货检查] 订单商品ID为空");
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
String order_id = shopOrderItem.getOrder_id();
|
try {
|
||||||
|
ShopOrderItem shopOrderItem = shopOrderItemService.get(order_item_id);
|
||||||
|
if (shopOrderItem == null) {
|
||||||
|
logger.warn("[禁止退货检查] 订单商品不存在,orderItemId: {}", order_item_id);
|
||||||
|
// throw new ApiException(I18nUtil._("此订单商品订单数据有误!"));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
ShopOrderInfo shopOrderInfo = shopOrderInfoService.get(order_id);
|
String order_id = shopOrderItem.getOrder_id();
|
||||||
ShopProductIndex shopProductIndex = shopProductIndexService.get(shopOrderItem.getProduct_id());
|
if (StrUtil.isBlank(order_id)) {
|
||||||
|
logger.warn("[禁止退货检查] 订单ID为空,orderItemId: {}", order_item_id);
|
||||||
|
// throw new ApiException(I18nUtil._("订单信息异常!"));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
if (shopProductIndex == null) {
|
ShopOrderInfo shopOrderInfo = shopOrderInfoService.get(order_id);
|
||||||
throw new ApiException(I18nUtil._("此订单商品数据有误!"));
|
if (shopOrderInfo == null) {
|
||||||
|
logger.warn("[禁止退货检查] 订单信息不存在,orderId: {}", order_id);
|
||||||
|
// throw new ApiException(I18nUtil._("订单信息不存在!"));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
ShopProductIndex shopProductIndex = shopProductIndexService.get(shopOrderItem.getProduct_id());
|
||||||
|
if (shopProductIndex == null) {
|
||||||
|
logger.warn("[禁止退货检查] 商品索引信息不存在,productId: {}", shopOrderItem.getProduct_id());
|
||||||
|
// throw new ApiException(I18nUtil._("此订单商品数据有误!"));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ifDenyReturn(shopOrderInfo, shopOrderItem, shopProductIndex);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("[禁止退货检查] 处理异常,orderItemId: {}", order_item_id, e);
|
||||||
|
// 为保证系统稳定性,异常情况下默认禁止退货
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ifDenyReturn(shopOrderInfo, shopOrderItem, shopProductIndex);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user