diff --git a/TODOs.md b/TODOs.md index e86578e..ac84600 100644 --- a/TODOs.md +++ b/TODOs.md @@ -21,6 +21,7 @@ 后台订单管理页 +每个人创建账号的时候填充一些测试数据进去 门禁端左侧提示文字修改 diff --git a/backend/microservice-common/src/main/java/com/cxyxiaomo/epp/common/vo/OrderVO.java b/backend/microservice-common/src/main/java/com/cxyxiaomo/epp/common/vo/OrderVO.java index 8610f87..b2bc585 100644 --- a/backend/microservice-common/src/main/java/com/cxyxiaomo/epp/common/vo/OrderVO.java +++ b/backend/microservice-common/src/main/java/com/cxyxiaomo/epp/common/vo/OrderVO.java @@ -47,8 +47,8 @@ public class OrderVO implements Serializable { String price = order.getOrderPrice().setScale(2, RoundingMode.FLOOR).toPlainString(); orderVO.setOrderPrice(price); - if (order.getOrderDate() != null) { - orderVO.setPayDate(order.getOrderDate().toString().replace("T", " ")); + if (order.getPayDate() != null) { + orderVO.setPayDate(order.getPayDate().toString().replace("T", " ")); } if (order.getCancelDate() != null) { orderVO.setCancelDate(order.getCancelDate().toString().replace("T", " ")); diff --git a/backend/microservice-provider-shop-8003/src/main/java/com/cxyxiaomo/epp/shop/controller/OrderController.java b/backend/microservice-provider-shop-8003/src/main/java/com/cxyxiaomo/epp/shop/controller/OrderController.java index 9ae493e..4af3a5d 100644 --- a/backend/microservice-provider-shop-8003/src/main/java/com/cxyxiaomo/epp/shop/controller/OrderController.java +++ b/backend/microservice-provider-shop-8003/src/main/java/com/cxyxiaomo/epp/shop/controller/OrderController.java @@ -223,4 +223,42 @@ public class OrderController { return Res.success(success ? "取消成功" : "取消失败"); } + + @PostMapping("/miniprogram/confirmOrder") + @ResponseBody + public Res confirmOrder(@RequestBody JSONObject params) { + Long orderId = params.getLong("orderId"); + if (orderId == null) { + return Res.error("参数错误"); + } + + // 查询订单详情 + Order order = orderService.getOrderById(orderId); + if (order == null) { + return Res.error("订单不存在"); + } + + //判断是否可以取消 + OrderStatus orderStatus = OrderStatus.get(order.getOrderStatus()); + switch (orderStatus) { + case PENDING: + return Res.error("订单尚未支付,不可确认收货"); + case PROCESSING: + return Res.error("订单尚未发货,不可确认收货"); + case SHIPPED: + // 可以确认收货 + break; + case DELIVERED: + return Res.error("您已确认收货,无需再次确认"); + case CANCELLED: + return Res.error("订单已取消,不可确认收货"); + default: + return Res.error("当前订单状态无法确认收货"); + } + + // 更新支付信息 + Boolean success = orderService.updateOrderStatus(orderId, OrderStatus.DELIVERED); + + return Res.success(success ? "确认收货成功" : "确认收货失败"); + } } diff --git a/weixin-miniprogram/pages/shop/orderDetail.js b/weixin-miniprogram/pages/shop/orderDetail.js index 3e3ec77..6ec80d4 100644 --- a/weixin-miniprogram/pages/shop/orderDetail.js +++ b/weixin-miniprogram/pages/shop/orderDetail.js @@ -188,6 +188,39 @@ Page({ }) }, + // 订单状态:已发货,点击确认收货 + confirmReceipt() { + // 点击确认收货按钮 + wx.showModal({ + title: '是否确认收货?', + content: '未收到货时请不要点击确认', + complete: (res) => { + if (res.confirm) { + (async () => { + this.clearPageData() + let confirmResult = await orderService.confirmOrder(this.data.orderId) + console.log("confirmResult", confirmResult) + this.onLoad(this.data._options) + this.refreshMyOrderPage() + wx.showModal({ + title: '操作结果', + content: confirmResult || "操作失败,请重试", + showCancel: false, + complete: (res) => { + // wx.navigateBack({ + // delta: getCurrentPages().length - 1 + // }) + // wx.navigateTo({ + // url: "/pages/shop/orderDetail?orderId=" + this.data.orderId, + // }) + } + }) + })(); + } + } + }) + }, + loadPageData() { (async () => { console.log("orderId", this.data.orderId) diff --git a/weixin-miniprogram/pages/shop/orderDetail.wxml b/weixin-miniprogram/pages/shop/orderDetail.wxml index 2bf8e00..4a1c45f 100644 --- a/weixin-miniprogram/pages/shop/orderDetail.wxml +++ b/weixin-miniprogram/pages/shop/orderDetail.wxml @@ -45,6 +45,8 @@ 订单取消时间:{{order.cancelDate}} 订单发货时间:{{order.shipDate}} 确认收货时间:{{order.deliverDate}} + 发货快递单号:{{order.expressId}} + 发货备注信息:{{order.comment}} 订单详情 @@ -86,10 +88,12 @@ ❕无法操作已取消订单 + 当前订单尚未发货,可以取消 取消订单 当前订单不可取消,请耐心等待 + 确认收货 ✅订单已送达 - \ No newline at end of file + diff --git a/weixin-miniprogram/services/order.js b/weixin-miniprogram/services/order.js index 5bdd32b..26a91fa 100644 --- a/weixin-miniprogram/services/order.js +++ b/weixin-miniprogram/services/order.js @@ -61,3 +61,14 @@ export function cancelOrder(orderId) { } }) } + +/** 确认收货 */ +export function confirmOrder(orderId) { + return send_request({ + url: '/shop/order/miniprogram/confirmOrder', + method: "POST", + data: { + "orderId": orderId, + } + }) +}