From dd5bb9e27d2ac0a879ccb62df985d51ac9562198 Mon Sep 17 00:00:00 2001
From: 彭雪彬 <1724387007@qq.com>
Date: Mon, 14 Jul 2025 19:43:53 +0800
Subject: [PATCH] 骑手到店上报、已取商品

---
 oying-system/src/main/java/com/oying/modules/rider/service/impl/RiderOrderRecordServiceImpl.java |   14 ++++++-
 oying-system/src/main/java/com/oying/modules/rider/domain/vo/OrderRiderOperationVo.java          |   31 +++++++++++++++
 oying-system/src/main/java/com/oying/modules/rider/service/RiderOrderRecordService.java          |    8 ++++
 oying-system/src/main/java/com/oying/modules/rider/utils/Constants.java                          |    5 +-
 oying-system/src/main/java/com/oying/modules/rider/domain/RiderOrderRecord.java                  |    2 
 oying-system/src/main/java/com/oying/modules/rider/rest/WxRiderController.java                   |   25 ++++++++++++
 6 files changed, 80 insertions(+), 5 deletions(-)

diff --git a/oying-system/src/main/java/com/oying/modules/rider/domain/RiderOrderRecord.java b/oying-system/src/main/java/com/oying/modules/rider/domain/RiderOrderRecord.java
index 56f2344..51998f3 100644
--- a/oying-system/src/main/java/com/oying/modules/rider/domain/RiderOrderRecord.java
+++ b/oying-system/src/main/java/com/oying/modules/rider/domain/RiderOrderRecord.java
@@ -45,7 +45,7 @@
     @ApiModelProperty(value = "收货地址")
     private String receiverAddress;
 
-    @ApiModelProperty(value = "订单状态: 1-待取货 2-配送中 3-已完成 4-商家取消 5-骑手取消 6-客户取消 7-系统取消")
+    @ApiModelProperty(value = "订单状态: 0-已接单 1-已到店 2-配送中 3-已完成 4-商家取消 5-骑手取消 6-客户取消 7-系统取消")
     private String orderStatus;
 
     @ApiModelProperty(value = "接单时间")
diff --git a/oying-system/src/main/java/com/oying/modules/rider/domain/vo/OrderRiderOperationVo.java b/oying-system/src/main/java/com/oying/modules/rider/domain/vo/OrderRiderOperationVo.java
new file mode 100644
index 0000000..e766bce
--- /dev/null
+++ b/oying-system/src/main/java/com/oying/modules/rider/domain/vo/OrderRiderOperationVo.java
@@ -0,0 +1,31 @@
+package com.oying.modules.rider.domain.vo;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.bean.copier.CopyOptions;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.oying.base.BaseEntity;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+* @description /
+* @author pxb
+* @date 2025-06-18
+**/
+@Getter
+@Setter
+public class OrderRiderOperationVo implements Serializable {
+
+
+    @ApiModelProperty(value = "订单号")
+    private String orderNum;
+
+    @ApiModelProperty(value = "骑手操作类型 1-上报到店 2-上报已取商品")
+    private String operationType;
+
+}
diff --git a/oying-system/src/main/java/com/oying/modules/rider/rest/WxRiderController.java b/oying-system/src/main/java/com/oying/modules/rider/rest/WxRiderController.java
index 9def780..06ec841 100644
--- a/oying-system/src/main/java/com/oying/modules/rider/rest/WxRiderController.java
+++ b/oying-system/src/main/java/com/oying/modules/rider/rest/WxRiderController.java
@@ -5,6 +5,7 @@
 import com.oying.modules.rider.domain.dto.RiderIncomeDetailQueryCriteria;
 import com.oying.modules.rider.domain.dto.RiderOrderRecordQueryCriteria;
 import com.oying.modules.rider.domain.dto.RiderWithdrawalRecordQueryCriteria;
+import com.oying.modules.rider.domain.vo.OrderRiderOperationVo;
 import com.oying.modules.rider.service.*;
 import com.oying.modules.rider.utils.Constants;
 import com.oying.utils.PageResult;
@@ -126,4 +127,28 @@
     //     return ResponseEntity.ok(R.success(result));
     // }
 
+    @GetMapping("riderOperationOrder")
+    @ApiOperation("骑手上报到店")
+    @PreAuthorize("@el.check('riderOrderRecord:list')")
+    public ResponseEntity<?> riderOperationOrder(OrderRiderOperationVo orderRiderOperation) {
+        // 订单号不能为空
+        if (orderRiderOperation.getOrderNum() == null || orderRiderOperation.getOrderNum().equals("")) {
+            return ResponseEntity.ok(R.fail(Constants.HTTP_CODE_FAIL, "订单号不能为空"));
+        }
+        R result = riderOrderRecordService.riderOperationOrder(orderRiderOperation);
+        return ResponseEntity.ok(R.success(result));
+    }
+
+    // @GetMapping("riderCancelOrder/{orderNum}")
+    // @ApiOperation("骑手已取餐")
+    // @PreAuthorize("@el.check('riderOrderRecord:list')")
+    // public ResponseEntity<?> riderCancelOrder(@PathVariable String orderNum) {
+    //     // 订单号不能为空
+    //     if (orderNum == null || orderNum.equals("")) {
+    //         return ResponseEntity.ok(R.fail(Constants.HTTP_CODE_FAIL, "订单号不能为空"));
+    //     }
+    //     R result = riderOrderRecordService.riderCancelOrder(orderNum);
+    //     return ResponseEntity.ok(R.success(result));
+    // }
+
 }
diff --git a/oying-system/src/main/java/com/oying/modules/rider/service/RiderOrderRecordService.java b/oying-system/src/main/java/com/oying/modules/rider/service/RiderOrderRecordService.java
index 60336e9..b7e36e8 100644
--- a/oying-system/src/main/java/com/oying/modules/rider/service/RiderOrderRecordService.java
+++ b/oying-system/src/main/java/com/oying/modules/rider/service/RiderOrderRecordService.java
@@ -7,6 +7,7 @@
 import javax.servlet.http.HttpServletResponse;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.oying.modules.rider.domain.vo.OrderRiderOperationVo;
 import com.oying.utils.PageResult;
 import com.oying.utils.R;
 import org.springframework.transaction.annotation.Transactional;
@@ -79,4 +80,11 @@
      * @throws IOException /
      */
     void updateRiderOrderStatus(String orderNum, String orderStatus);
+
+    /**
+     * 骑手订单状态修改
+     * @param orderRiderOperation
+     * @throws IOException /
+     */
+    R riderOperationOrder(OrderRiderOperationVo orderRiderOperation);
 }
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 78e2ea8..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
@@ -7,6 +7,7 @@
 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.rider.utils.Constants;
 import com.oying.modules.sh.domain.vo.OrderResponse;
@@ -171,8 +172,8 @@
         riderOrderRecord.setMerchantName(orderResponse.getOrder().getStoreName());
         riderOrderRecord.setMerchantAddress(store.getAddress());
         riderOrderRecord.setReceiverAddress(orderResponse.getAddress().getDetail());
-        // 当前为接单 设置为待取货状态 1-待取货 2-配送中 3-已完成 4-商家取消 5-骑手取消 6-客户取消 7-系统取消
-        riderOrderRecord.setOrderStatus(Constants.ORDER_STATUS_WAIT);
+        // 当前为接单 设置为待取货状态 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());
@@ -206,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();
+    }
 
 }
diff --git a/oying-system/src/main/java/com/oying/modules/rider/utils/Constants.java b/oying-system/src/main/java/com/oying/modules/rider/utils/Constants.java
index c8c2fbd..04da98c 100644
--- a/oying-system/src/main/java/com/oying/modules/rider/utils/Constants.java
+++ b/oying-system/src/main/java/com/oying/modules/rider/utils/Constants.java
@@ -53,9 +53,10 @@
     String ORDER_SOURCE_OTHER = "4";
 
     /**
-     * 订单状态: 1-待取货 2-配送中 3-已完成 4-商家取消 5-骑手取消 6-客户取消 7-系统取消
+     * 订单状态:0-已接单 1-已到店 2-配送中 3-已完成 4-商家取消 5-骑手取消 6-客户取消 7-系统取消
      */
-    String ORDER_STATUS_WAIT = "1";
+    String ORDER_STATUS_OK = "0";
+    String ORDER_STATUS_StORE = "1";
     String ORDER_STATUS_DELIVERY = "2";
     String ORDER_STATUS_FINISH = "3";
     String ORDER_STATUS_CANCEL_MERCHANT = "4";

--
Gitblit v1.9.3