From 654fd82cf6c235bbdb9cad8c7bf6a919aa6641e2 Mon Sep 17 00:00:00 2001 From: Jack <46790855@qq.com> Date: Sun, 26 Oct 2025 01:57:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8B=E5=8D=95=E5=A2=9E=E5=8A=A0=20item=5Fb?= =?UTF-8?q?arcode=20=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/modules/order/ShopOrderItem.java | 5 +- .../impl/ShopOrderBaseServiceImpl.java | 138 ++++++++---------- .../impl/ShopOrderInfoServiceImpl.java | 6 +- .../mapper/order/ShopOrderItemMapper.xml | 8 +- 4 files changed, 70 insertions(+), 87 deletions(-) diff --git a/mall-common/src/main/java/com/suisung/mall/common/modules/order/ShopOrderItem.java b/mall-common/src/main/java/com/suisung/mall/common/modules/order/ShopOrderItem.java index 850aa92d..a44a70aa 100644 --- a/mall-common/src/main/java/com/suisung/mall/common/modules/order/ShopOrderItem.java +++ b/mall-common/src/main/java/com/suisung/mall/common/modules/order/ShopOrderItem.java @@ -45,10 +45,13 @@ public class ShopOrderItem implements Serializable { @ApiModelProperty(value = "产品编号") private Long product_id; - + @ApiModelProperty(value = "货品编号") private Long item_id; + @ApiModelProperty(value = "产品条形码(唯一码)") + private String item_barcode; + @ApiModelProperty(value = "商品名称") private String item_name; diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java index 9e463def..6581e3ed 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java @@ -1610,20 +1610,22 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl pair = shopOrderInfoService.checkBookingOrderArgs(checkedStore, bookingState, bookingBeginTime, bookingEndTime); - if (!pair.getFirst()) { - throw new ApiException(I18nUtil._(pair.getSecond())); - } - - cartData.put("booking_state", bookingState); - cartData.put("booking_begin_time", bookingBeginTime); - cartData.put("booking_end_time", bookingEndTime); - } +// // 预约订单检测 +// Integer bookingState = Convert.toInt(getParameter("booking_state")); +// if (CheckUtil.isNotEmpty(bookingState) && CommonConstant.Order_Booking_State_YY.equals(bookingState)) { +// String bookingBeginTime = getParameter("booking_begin_time"); +// String bookingEndTime = getParameter("booking_end_time"); +// Long bookingAt = getParameter("booking_at", 0L); +// Pair pair = shopOrderInfoService.checkBookingOrderArgs(checkedStore, bookingState, bookingBeginTime, bookingEndTime); +// if (!pair.getFirst()) { +// throw new ApiException(I18nUtil._(pair.getSecond())); +// } +// +// cartData.put("booking_state", bookingState); +// cartData.put("booking_begin_time", bookingBeginTime); +// cartData.put("booking_end_time", bookingEndTime); +// cartData.put("booking_at", bookingAt); +// } // 添加保存订单(关键方法) List orderIdRow = addOrder(cartData, true, false, null); @@ -6306,6 +6308,7 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl item_items = (List) store_item.get("items"); Map activitys = (Map) ObjectUtil.defaultIfNull(store_item.get("activitys"), new HashMap()); @@ -6324,6 +6328,7 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl kinds = Arrays.asList(StateCode.PRODUCT_KIND_FUWU, StateCode.PRODUCT_KIND_CARD); // 是否为虚拟商品订单 boolean isVirtualGoods = kinds.contains(kind_id); @@ -6636,23 +6641,46 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl pair = shopOrderInfoService.checkBookingOrderArgs(info_row.getStore_id(), bookingState, bookingBeginTimeStr, bookingEndTimeStr); + if (!pair.getFirst()) { + throw new ApiException(I18nUtil._(pair.getSecond())); + } + + Date bookingBeginTime = DateTimeUtils.tryParseDateTimeToDate(bookingBeginTimeStr); + Date bookingEndTime = DateTimeUtils.tryParseDateTimeToDate(bookingEndTimeStr); + if (bookingBeginTime == null) { + throw new ApiException(I18nUtil._("预约下单时间格式有误!")); + } + + // 设置预约时间戳 + if (CheckUtil.isEmpty(bookingAt)) { + bookingAt = bookingBeginTime.getTime() / 1000; // 预订单到达时间戳(秒) + } + info_row.setBooking_state(bookingState); - info_row.setBooking_at(bookingBeginTime.getTime() / 1000); // 预订单到达时间戳(秒) + info_row.setBooking_at(bookingAt); info_row.setBooking_begin_time(bookingBeginTime); info_row.setBooking_end_time(bookingEndTime); // 重要:预约订单任务创建处理 - Boolean isSuccess = shopOrderBookingService.setupRedisBookingTask(info_row.getOrder_id(), info_row.getBooking_at()); - if (!isSuccess) { + if (!shopOrderBookingService.setupRedisBookingTask(info_row.getOrder_id(), info_row.getBooking_at())) { throw new ApiException(I18nUtil._("保存预约订单任务失败!")); } } + info_row.setActivity_json(JSONUtil.toJsonStr(store_item.get("discount_detail_rows"))); info_row.setPayment_form_id(payment_form_id); UserDto user = getCurrentUser(); @@ -6886,13 +6914,13 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl + +