From a5a0a3c29a97c807cda8846994d1d8df6adeb9e5 Mon Sep 17 00:00:00 2001 From: xin <1099200748@qq.com> Date: Mon, 14 Jul 2025 21:09:57 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/pxb' into xin --- oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderOrderRecordServiceImpl.java | 37 ++++++++++++++++++++++++++++++------- 1 files changed, 30 insertions(+), 7 deletions(-) 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 cbbf0cd..4065fe9 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 @@ -1,15 +1,16 @@ package com.oying.modules.rider.service.impl; import cn.hutool.core.lang.UUID; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.oying.exception.BadRequestException; import com.oying.modules.pc.store.domain.Store; import com.oying.modules.pc.store.service.StoreService; import com.oying.modules.rider.domain.RiderInfo; import com.oying.modules.rider.domain.RiderOrderRecord; +import com.oying.modules.rider.domain.vo.OrderRiderOperationVo; import com.oying.modules.rider.service.RiderInfoService; -import com.oying.modules.sh.domain.OrderOperationLog; +import com.oying.modules.rider.utils.Constants; import com.oying.modules.sh.domain.vo.OrderResponse; -import com.oying.modules.sh.service.OrderOperationLogService; import com.oying.modules.sh.service.OrderService; import com.oying.utils.*; import lombok.RequiredArgsConstructor; @@ -104,6 +105,19 @@ @Override @Transactional(rollbackFor = Exception.class) + public void updateRiderOrderStatus(String orderNum, String orderStatus) { + // 当前为接单 设置为待取货状态 1-待取货 2-配送中 3-已完成 4-商家取消 5-骑手取消 6-客户取消 7-系统取消 + RiderOrderRecord riderOrderRecord = new RiderOrderRecord(); + riderOrderRecord.setOrderNum(orderNum); + riderOrderRecord.setOrderStatus(orderStatus); + QueryWrapper<RiderOrderRecord> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(RiderOrderRecord.COL_ORDER_NUM, orderNum); + // 更新订单状态 + riderOrderRecordMapper.update(riderOrderRecord, queryWrapper); + } + + @Override + @Transactional(rollbackFor = Exception.class) public R riderGrabOrder(String orderNum) { // 唯一标识当前线程/客户端 String clientId = UUID.randomUUID().toString(); @@ -117,7 +131,7 @@ } // 查询当前订单 检查订单是否已经被其他骑手抢到或取消 直接返回 OrderResponse orderResponse = orderService.getByOrderNum(orderNum); - // 商家已接单 商家已备货 这两个状态可以接单 + // 2商家已接单 4商家已备货 这两个状态可以接单 if (orderResponse == null || orderResponse.getOrder().getOrderStatus() != 2 || orderResponse.getOrder().getOrderStatus() != 4) { return R.fail(400, "订单已经被其他骑手接单或顾客取消,请稍后重试"); } @@ -158,15 +172,15 @@ riderOrderRecord.setMerchantName(orderResponse.getOrder().getStoreName()); riderOrderRecord.setMerchantAddress(store.getAddress()); riderOrderRecord.setReceiverAddress(orderResponse.getAddress().getDetail()); - // 当前为接单 设置为待取货状态 1-待取货 2-配送中 3-已完成 4-商家取消 5-骑手取消 6-客户取消 7-系统取消 - riderOrderRecord.setOrderStatus("1"); + // 当前为接单 设置为待取货状态 0-已接单 1-已到店 2-配送中 3-已完成 4-商家取消 5-骑手取消 6-客户取消 7-系统取消 + riderOrderRecord.setOrderStatus(Constants.ORDER_STATUS_OK); riderOrderRecord.setAcceptTime(new Timestamp(System.currentTimeMillis())); // 取单编号 riderOrderRecord.setAcceptNum(orderResponse.getOrder().getOrderStoreNum()); // 是否超时:1-是 0-否 - riderOrderRecord.setIsOvertime("0"); + riderOrderRecord.setIsOvertime(Constants.IS_OVERTIME_NO); // 订单来源: 1-平台派单 2-骑手抢单 3-商家直派 4-其他 - riderOrderRecord.setOrderSource("3"); + riderOrderRecord.setOrderSource(Constants.ORDER_SOURCE_DIRECT); riderOrderRecord.setRiderId(riderInfo.getRiderId()); riderOrderRecord.setRiderName(riderInfo.getCardName()); riderOrderRecord.setPhone(riderInfo.getPhone()); @@ -193,5 +207,14 @@ return null; } + @Override + @Transactional(rollbackFor = Exception.class) + public R riderOperationOrder(OrderRiderOperationVo orderRiderOperationVo){ + // 判断骑手操作类型 + // 添加订单操作记录 + // 修改骑手端的订单状态 + updateRiderOrderStatus(orderRiderOperationVo.getOrderNum(), Constants.ORDER_STATUS_StORE); + return R.success(); + } } -- Gitblit v1.9.3