运费设置 fix bug

This commit is contained in:
Jack 2024-12-14 16:50:36 +08:00
parent e04b693f5d
commit 4cbb05b0a0
6 changed files with 75 additions and 18 deletions

View File

@ -8305,18 +8305,18 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
* 2商家的详细地址电话和经纬度
* 3收货人的姓名电话详细地址经纬度
*
* @param orderId
* @param shopOrderId 商城订单id
* @return
*/
public SFCreateOrderReq buildSFOrderData(Integer devId, String orderId, Long orderPickupNum) {
if (StrUtil.isBlank(orderId)) {
public SFCreateOrderReq buildSFOrderData(Integer devId, String shopOrderId, Long orderPickupNum) {
if (StrUtil.isBlank(shopOrderId)) {
logger.error("缺少订单Id");
return null;
}
ShopOrderBase shopOrderBase = shopOrderBaseService.getById(orderId);
ShopOrderBase shopOrderBase = shopOrderBaseService.getById(shopOrderId);
QueryWrapper<ShopOrderItem> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("order_id", orderId);
queryWrapper.eq("order_id", shopOrderId);
List<ShopOrderItem> shopOrderItemList = shopOrderItemService.list(queryWrapper);
if (shopOrderBase == null || CollUtil.isEmpty(shopOrderItemList)) {
logger.error("无法获取订单信息!");
@ -8331,7 +8331,7 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
ShopStoreBase shopStoreBase = shopStoreBaseService.get(storeId);
ShopStoreInfo shopStoreInfo = shopStoreInfoService.get(storeId);
ShopOrderDeliveryAddress shopOrderDeliveryAddress = shopOrderDeliveryAddressService.selectByOrderId(orderId);
ShopOrderDeliveryAddress shopOrderDeliveryAddress = shopOrderDeliveryAddressService.selectByOrderId(shopOrderId);
ShopStoreSameCityTransportBase shopStoreSameCityTransportBase = shopStoreSameCityTransportBaseService.getShopStoreSameCityTransportBaseById(storeId.longValue());
if (shopStoreBase == null || shopStoreInfo == null || shopOrderDeliveryAddress == null || shopStoreSameCityTransportBase == null) {
logger.error("无法获取店铺信息!");
@ -8355,7 +8355,7 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
sfCreateOrderReq.setDev_id(devId);
sfCreateOrderReq.setShop_id(shopId); // TODO 顺丰同城业务员给的店铺id
sfCreateOrderReq.setPush_time(DateUtil.currentSeconds());
sfCreateOrderReq.setShop_order_id(orderId);
sfCreateOrderReq.setShop_order_id(shopOrderId);
sfCreateOrderReq.setOrder_time(shopOrderBase.getOrder_time().getTime() / 1000);
sfCreateOrderReq.setOrder_source("小发同城"); //订单来源
sfCreateOrderReq.setOrder_sequence(orderPickupNumStr); //拣货编号

View File

@ -260,7 +260,10 @@ public class ShopOrderInfoServiceImpl extends BaseServiceImpl<ShopOrderInfoMappe
}
// 远程调用 更改交易订单状态
payService.changePayConsumeTradeState(orderId, orderStatus, 0);
if (!payService.changePayConsumeTradeState(orderId, orderStatus, 0)) {
logger.error("远程调用更改交易订单状态失败!");
return false;
}
// 写入订单状态更改日志
ShopOrderStateLog shopOrderStateLog = new ShopOrderStateLog();

View File

@ -140,15 +140,24 @@ public class SFExpressApiServiceImpl implements SFExpressApiService {
/**
* 内部顺丰同城订单下单
*
* @param orderId
* @param shopOrderId
* @param orderPickupNum
* @return
*/
@Transactional
@Override
public Pair<Boolean, String> innerCreateSfExpressOrder(String orderId, Long orderPickupNum) {
public Pair<Boolean, String> innerCreateSfExpressOrder(String shopOrderId, Long orderPickupNum) {
if(StrUtil.isBlank(shopOrderId) || orderPickupNum == null|| orderPickupNum <=0) {
return Pair.of(false, "顺丰同城下单时,缺少必要参数!");
}
// 检查 shop_store_sf_order 订单是否已存在
if(shopStoreSfOrderService.exists(devId,shopOrderId)){
return Pair.of(false, "顺丰同城下单时,发现订单已存在!");
}
// 从商家订单中组件顺丰的订单信息关键的函数
SFCreateOrderReq sfCreateOrderReq = shopOrderBaseService.buildSFOrderData(devId, orderId, orderPickupNum);
SFCreateOrderReq sfCreateOrderReq = shopOrderBaseService.buildSFOrderData(devId, shopOrderId, orderPickupNum);
if (sfCreateOrderReq == null) {
logger.error("顺丰同城下单异常,无法获取下单记录!");
return Pair.of(false, "顺丰同城下单异常,无法获取下单记录!");
@ -194,7 +203,7 @@ public class SFExpressApiServiceImpl implements SFExpressApiService {
// String pickupCode = shopStoreSfOrder.getPickup_code() != null ? shopStoreSfOrder.getPickup_code().toString() : "";
// 商城订单状态 2020-待配货/待出库审核 2030-待发货
shopOrderInfoService.changeOrderStatus(orderId, StateCode.ORDER_STATE_WAIT_SHIPPING, 0, 0);
shopOrderInfoService.changeOrderStatus(shopOrderId, StateCode.ORDER_STATE_WAIT_SHIPPING, 0, 0);
return Pair.of(true, "顺丰同城下单成功!");
}

View File

@ -38,5 +38,13 @@ public interface ShopStoreSfOrderService extends IBaseService<ShopStoreSfOrder>
* @return
*/
Boolean updateShopStoreSfOrderStatus(ShopStoreSfOrder record);
/**
* 检查顺丰同城开发者id下某个订单是否已经存在
* @param devId
* @param shopOrderId 商城订单号
* @return
*/
Boolean exists(Integer devId, String shopOrderId);
}

View File

@ -250,16 +250,33 @@ public class ShopStoreSameCityTransportBaseServiceImpl extends BaseServiceImpl<S
return Pair.of(0L, "缺少店铺Id必要参数");
}
if (transportBase.getDistance_base() == null || transportBase.getDistance_base() <= 0) {
return Pair.of(0L, "请输入距离!");
if (transportBase.getDistance_base() == null || transportBase.getDistance_base() < 0) {
transportBase.setDistance_base(0);
// return Pair.of(0L, "请输入距离!");
}
if (transportBase.getWeight_base() == null || transportBase.getWeight_base() <= 0) {
return Pair.of(0L, "请输入重量!");
if (transportBase.getWeight_base() == null || transportBase.getWeight_base() < 0) {
// return Pair.of(0L, "请输入重量!");
transportBase.setWeight_base(0);
}
if (transportBase.getDelivery_base_fee() == null || BigDecimal.ZERO.compareTo(transportBase.getDelivery_base_fee()) >= 0) {
return Pair.of(0L, "请输入配送运费!");
if (transportBase.getDelivery_base_fee() == null || BigDecimal.ZERO.compareTo(transportBase.getDelivery_base_fee()) > 0) {
// return Pair.of(0L, "请输入配送运费!");
transportBase.setDelivery_base_fee(BigDecimal.ZERO);
}
if (transportBase.getDistance_increase_km() == null || transportBase.getDistance_increase_km() < 0) {
transportBase.setDistance_increase_km(0);
}
if (transportBase.getDistance_increase_fee() == null || BigDecimal.ZERO.compareTo(transportBase.getDistance_increase_fee()) > 0) {
transportBase.setDistance_increase_fee(BigDecimal.ZERO);
}
if (transportBase.getWeight_increase_kg() == null || transportBase.getWeight_increase_kg() < 0) {
transportBase.setWeight_increase_kg(0);
}
if (transportBase.getWeight_increase_fee() == null || BigDecimal.ZERO.compareTo(transportBase.getWeight_increase_fee()) > 0) {
transportBase.setWeight_increase_fee(BigDecimal.ZERO);
}
QueryWrapper<ShopStoreSameCityTransportBase> queryWrapper = new QueryWrapper<>();

View File

@ -176,4 +176,24 @@ public class ShopStoreSfOrderServiceImpl extends BaseServiceImpl<ShopStoreSfOrde
return update(updateWrapper);
}
/**
* 检查顺丰同城开发者id下某个订单是否已经存在
*
* @param devId
* @param shopOrderId 商城订单号
* @return
*/
@Override
public Boolean exists(Integer devId, String shopOrderId) {
if (StrUtil.isBlank(shopOrderId) || devId == null || devId <= 0) {
return true;
}
QueryWrapper<ShopStoreSfOrder> wrapper = new QueryWrapper<>();
wrapper.eq("sf_order_id", shopOrderId);
wrapper.eq("dev_id", devId);
return count(wrapper) > 0;
}
}