From a0183fb16e63b51449072b6160b8e4fce16cf9a6 Mon Sep 17 00:00:00 2001
From: 彭雪彬 <1724387007@qq.com>
Date: Wed, 16 Jul 2025 11:53:27 +0800
Subject: [PATCH] 骑手同步数接口修改
---
oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderOrderRecordServiceImpl.java | 28 ++++++++++++++++++++++++----
oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderInfoServiceImpl.java | 8 ++++----
2 files changed, 28 insertions(+), 8 deletions(-)
diff --git a/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderInfoServiceImpl.java b/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderInfoServiceImpl.java
index 0ffe8ab..455d421 100644
--- a/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderInfoServiceImpl.java
+++ b/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderInfoServiceImpl.java
@@ -108,14 +108,14 @@
RiderSourceInfoHttp riderSourceInfoHttp = RiderSourceHttpUtils.getRiderSourceInfoHttp(phoneList, sourcePlatform);
// 请求成功
if (riderSourceInfoHttp.getCode().equals(Constants.HTTP_CODE_SUCCESS)) {
+ // 检查是否存在该平台的骑手信息
+ QueryWrapper<RiderInfo> riderInfoQueryWrapper = new QueryWrapper<>();
+ riderInfoQueryWrapper.eq(RiderInfo.COL_RIDER_ID, riderId);
+ RiderInfo riderInfo = riderInfoMapper.selectOne(riderInfoQueryWrapper);
// 获取骑手信息等于空
if (!riderSourceInfoHttp.getData().isEmpty()) {
// 单个骑手信息同步只取第一条数据
RiderSourceInfo infoHttpData = riderSourceInfoHttp.getData().get(0);
- // 检查是否存在该平台的骑手信息
- QueryWrapper<RiderInfo> riderInfoQueryWrapper = new QueryWrapper<>();
- riderInfoQueryWrapper.eq(RiderInfo.COL_RIDER_ID, riderId);
- RiderInfo riderInfo = riderInfoMapper.selectOne(riderInfoQueryWrapper);
// 如果存在该平台的骑手信息
if (null == riderInfo) {
// 如果不存在,则创建新的骑手三方信息
diff --git a/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderOrderRecordServiceImpl.java b/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderOrderRecordServiceImpl.java
index 993f8eb..9dddb3c 100644
--- a/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderOrderRecordServiceImpl.java
+++ b/oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderOrderRecordServiceImpl.java
@@ -145,9 +145,17 @@
}
// 查询当前订单 检查订单是否已经被其他骑手抢到或取消 直接返回
OrderResponse orderResponse = orderService.getByOrderNum(orderNum);
+ if (orderResponse == null || orderResponse.getOrder() == null) {
+ return R.fail(400, "订单信息不存在,请稍后重试");
+ }
+ int orderStatus = orderResponse.getOrder().getOrderStatus();
// 2商家已接单 4商家已备货 这两个状态可以接单
- if (null == orderResponse || (orderResponse.getOrder().getOrderStatus() != 2 && orderResponse.getOrder().getOrderStatus() != 4)) {
- return R.fail(400, "订单已经被其他骑手接单或顾客取消,请稍后重试");
+ if (orderStatus != 2 && orderStatus != 4) {
+ return R.fail(400, "订单状态异常,不允许接单");
+ }
+ // 商家备货状态 查看是否存在骑手信息
+ if (orderStatus == 4 && orderResponse.getOrder().getRiderId() == null) {
+ return R.fail(400, "该订单已备货,但未分配骑手,请联系商家确认");
}
// 订单没有被接单或取消的情况下,进行接单操作
// 1.新增骑手接单记录
@@ -181,7 +189,13 @@
riderOrderRecord.setMerchantId(orderResponse.getOrder().getStoreId());
riderOrderRecord.setMerchantName(orderResponse.getOrder().getStoreName());
riderOrderRecord.setMerchantAddress(orderResponse.getOrder().getStoreAddress());
- riderOrderRecord.setReceiverAddress(orderResponse.getAddress().getDetail());
+ // 收货地址 拼接地址
+ String receiverAddress = orderResponse.getAddress().getCity()
+ + orderResponse.getAddress().getDistrict()
+ + orderResponse.getAddress().getStreet()
+ + orderResponse.getAddress().getShortAddress()
+ + orderResponse.getAddress().getDetail();
+ riderOrderRecord.setReceiverAddress(receiverAddress);
// 当前为接单 设置为待取货状态 0-已接单 1-已到店 2-配送中 3-已完成 4-商家取消 5-骑手取消 6-客户取消 7-系统取消
riderOrderRecord.setOrderStatus(Constants.ORDER_STATUS_OK);
riderOrderRecord.setAcceptTime(new Timestamp(System.currentTimeMillis()));
@@ -272,7 +286,13 @@
riderIncomeDetail.setDeliveryTime(new Timestamp(System.currentTimeMillis()));
riderIncomeDetail.setOrderStatus(Constants.ORDER_STATUS_FINISH);
riderIncomeDetail.setStartAddress(orderResponse.getOrder().getStoreAddress());
- riderIncomeDetail.setEndAddress(orderResponse.getAddress().getDetail());
+ // 收货地址 拼接地址
+ String receiverAddress = orderResponse.getAddress().getCity()
+ + orderResponse.getAddress().getDistrict()
+ + orderResponse.getAddress().getStreet()
+ + orderResponse.getAddress().getShortAddress()
+ + orderResponse.getAddress().getDetail();
+ riderIncomeDetail.setEndAddress(receiverAddress);
riderIncomeDetailService.save(riderIncomeDetail);
return R.success(orderResponse);
}
--
Gitblit v1.9.3