平台内部配送费的逻辑新增。日志打印

This commit is contained in:
Jack 2025-12-11 17:49:16 +08:00
parent 78dce9f77b
commit c96983ec72
3 changed files with 49 additions and 20 deletions

View File

@ -417,7 +417,6 @@ public class AccountBaseConfigServiceImpl extends BaseServiceImpl<AccountBaseCon
// 调用通用计算方法
Integer innerDeliveryFee = calculateInnerMinDeliveryFee(
args.getStore_id(),
args.getDelivery_type_id(),
args.getDa_longitude(),
args.getDa_latitude(),
args.getOrder_weight_gram(),
@ -451,6 +450,9 @@ public class AccountBaseConfigServiceImpl extends BaseServiceImpl<AccountBaseCon
public Integer getInnerMinDeliveryFee(Integer deliveryTypeId, Integer storeId, String orderLongitude,
String orderLatitude, Integer orderWeightGram, BigDecimal orderProductAmount,
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) {
log.warn("[内部配送费] 参数校验失败deliveryTypeId: {}storeId: {}", deliveryTypeId, storeId);
@ -467,7 +469,6 @@ public class AccountBaseConfigServiceImpl extends BaseServiceImpl<AccountBaseCon
// 调用通用计算方法
Integer innerDeliveryFee = calculateInnerMinDeliveryFee(
storeId,
deliveryTypeId,
orderLongitude,
orderLatitude,
orderWeightGram,
@ -488,7 +489,6 @@ public class AccountBaseConfigServiceImpl extends BaseServiceImpl<AccountBaseCon
* 通用内部最低配送费计算方法
*
* @param storeId 店铺ID
* @param deliveryTypeId 配送方式ID
* @param orderLongitude 订单经度
* @param orderLatitude 订单纬度
* @param orderWeightGram 订单重量()
@ -497,7 +497,7 @@ public class AccountBaseConfigServiceImpl extends BaseServiceImpl<AccountBaseCon
* @param orderPayAmount 订单支付金额
* @return 内部配送费(单位 : )
*/
private Integer calculateInnerMinDeliveryFee(Integer storeId, Integer deliveryTypeId, String orderLongitude,
private Integer calculateInnerMinDeliveryFee(Integer storeId, String orderLongitude,
String orderLatitude, Integer orderWeightGram, BigDecimal orderProductAmount,
BigDecimal orderDiscountAmount, BigDecimal orderPayAmount) {
// 根据配置计算平台配送费

View File

@ -768,7 +768,7 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
throw new ApiException(I18nUtil._("无该订单访问权限!"));
}
// 是否禁止退款
// 订单是否禁止退款
int isOrderDenyReturn = shopOrderReturnService.isOrderDenyReturn(order_id) ? 1 : 2;
data.put("is_deny_return", isOrderDenyReturn);
@ -963,8 +963,8 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
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("is_denyreturn", is_denyreturn);
@ -7865,6 +7865,8 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
String longitude = Convert.toStr(address.get("ud_longitude"));
String latitude = Convert.toStr(address.get("ud_latitude"));
log.info("平台内部配送费计算:经纬度:{}", longitude + ":" + 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 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_logistics", ifLogistics(order_state_id));
order_info_row.put("order_shipping_fee", order_data_row.get("order_shipping_fee"));

View File

@ -2693,26 +2693,52 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl<ShopOrderReturnM
* 若商品索引为空抛出异常
* 调用另一个重载方法 ifDenyReturn(...) 进行具体的退货规则判断
*
* @param order_item_id
* @return
* @param order_item_id 订单商品ID
* @return 是否禁止退货
*/
@Override
public boolean ifDenyReturn(Long order_item_id) {
ShopOrderItem shopOrderItem = shopOrderItemService.get(order_item_id);
if (shopOrderItem == null) {
throw new ApiException(I18nUtil._("此订单商品订单数据有误!"));
// 参数校验
if (order_item_id == null) {
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);
ShopProductIndex shopProductIndex = shopProductIndexService.get(shopOrderItem.getProduct_id());
String order_id = shopOrderItem.getOrder_id();
if (StrUtil.isBlank(order_id)) {
logger.warn("[禁止退货检查] 订单ID为空orderItemId: {}", order_item_id);
// throw new ApiException(I18nUtil._("订单信息异常!"));
return true;
}
if (shopProductIndex == null) {
throw new ApiException(I18nUtil._("此订单商品数据有误!"));
ShopOrderInfo shopOrderInfo = shopOrderInfoService.get(order_id);
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);
}
/**