From fa73a0b5a81f9fa6c64d3a38101b841d9cb326ed Mon Sep 17 00:00:00 2001
From: jiask <1069621233@qq.com>
Date: Thu, 4 Dec 2025 10:53:45 +0800
Subject: [PATCH] =?UTF-8?q?jsk=20=20=E6=8F=90=E4=BA=A4=20=E9=A2=84?=
=?UTF-8?q?=E8=AE=A2=E9=80=80=E5=8D=95=E6=88=AA=E6=AD=A2=E6=97=B6=E9=97=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
bonus-modules/bonus-smart-canteen/pom.xml | 5 +++
.../account/v3/service/AccInfoService.java | 4 +++
.../order/common/mapper/OrderInfoMapper.java | 4 +++
.../impl/OrderInfoMobileBusinessImpl.java | 20 ++++++++++-
.../order/mobile/vo/OrderInfoMobileVO.java | 11 +++++++
.../mapper/order/OrderInfoMapper.xml | 33 +++++++++++++++++++
6 files changed, 76 insertions(+), 1 deletion(-)
diff --git a/bonus-modules/bonus-smart-canteen/pom.xml b/bonus-modules/bonus-smart-canteen/pom.xml
index fd9b7b6a..1336b5e5 100644
--- a/bonus-modules/bonus-smart-canteen/pom.xml
+++ b/bonus-modules/bonus-smart-canteen/pom.xml
@@ -180,6 +180,11 @@
redisson-spring-boot-starter
3.17.7
+
+ commons-httpclient
+ commons-httpclient
+ 3.1
+
diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/v3/service/AccInfoService.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/v3/service/AccInfoService.java
index 7f7dd641..5de58b85 100644
--- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/v3/service/AccInfoService.java
+++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/v3/service/AccInfoService.java
@@ -13,5 +13,9 @@ public interface AccInfoService {
AccInfoVO getAccInfoVoByCustId(Long custId);
+ /**
+ * 检查账户状态
+ * @param accInfoVO
+ */
void checkAccInfoAndStatus(AccInfoVO accInfoVO);
}
diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/order/common/mapper/OrderInfoMapper.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/order/common/mapper/OrderInfoMapper.java
index e0be3262..cfd95317 100644
--- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/order/common/mapper/OrderInfoMapper.java
+++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/order/common/mapper/OrderInfoMapper.java
@@ -2,10 +2,12 @@ package com.bonus.canteen.core.order.common.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.bonus.canteen.core.allocation.alloc.model.AllocMetadata;
import com.bonus.canteen.core.order.android.vo.OrderListAndroidVO;
import com.bonus.canteen.core.order.common.dto.OrderSearchParam;
import com.bonus.canteen.core.order.common.model.OrderInfo;
import com.bonus.canteen.core.order.common.vo.OrderIdDateVO;
+import com.bonus.canteen.core.order.mobile.vo.OrderInfoMobileVO;
import com.bonus.canteen.core.order.mobile.vo.OrderListMobileVO;
import com.bonus.canteen.core.order.web.dto.OrderUserPermissionDTO;
import org.apache.ibatis.annotations.Mapper;
@@ -43,6 +45,8 @@ public interface OrderInfoMapper extends BaseMapper {
//
// List getOrderRefundMobileList(@Param("orderIds") Collection orderIds, @Param("startDate") LocalDate startDate, @Param("endDate") LocalDate endDate);
+ AllocMetadata queryAllocMetadata(OrderInfoMobileVO vo);
+
List listOrderForAndroid(@Param("orderIds") Collection orderIds, @Param("startDate") LocalDate startDate, @Param("endDate") LocalDate endDate);
Integer getOrderCounterNum(@Param("orderDate") LocalDate orderDate, @Param("mealtimeType") Integer mealtimeType, @Param("counterId") Long counterId);
diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/order/mobile/service/impl/OrderInfoMobileBusinessImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/order/mobile/service/impl/OrderInfoMobileBusinessImpl.java
index 1b003970..4569a453 100644
--- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/order/mobile/service/impl/OrderInfoMobileBusinessImpl.java
+++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/order/mobile/service/impl/OrderInfoMobileBusinessImpl.java
@@ -5,11 +5,15 @@ import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.ObjectUtil;
+import com.bonus.canteen.core.allocation.alloc.model.AllocMetadata;
+import com.bonus.canteen.core.allocation.canteen.dto.AllocCanteenOrderDTO;
import com.bonus.canteen.core.common.redis.RedisUtil;
import com.bonus.canteen.core.common.utils.AesEncryptUtil;
import com.bonus.canteen.core.common.utils.TenantContextHolder;
+import com.bonus.canteen.core.menu.model.AllocMealtimeModel;
import com.bonus.canteen.core.order.common.business.OrderRefundBusiness;
import com.bonus.canteen.core.order.common.constants.*;
+import com.bonus.canteen.core.order.common.mapper.OrderInfoMapper;
import com.bonus.canteen.core.order.common.model.OrderInfo;
import com.bonus.canteen.core.pay.api.PayApi;
import com.bonus.canteen.core.pay.api.dto.UnifyPayCancelDTO;
@@ -47,6 +51,8 @@ import com.bonus.canteen.core.pay.api.vo.UnifyPaySelectVO;
import com.bonus.canteen.core.pay.common.model.TradeRecord;
import com.bonus.canteen.core.menu.model.MenuDishesTypeModel;
import com.bonus.common.houqin.i18n.I18n;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.github.pagehelper.page.PageMethod;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -56,6 +62,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDate;
+import java.time.LocalTime;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -105,6 +112,8 @@ public class OrderInfoMobileBusinessImpl implements OrderInfoMobileBusiness {
@Lazy
@Autowired
protected PayApi payApi;
+ @Autowired
+ private OrderInfoMapper orderInfoMapper;
@Override
public PageVO orderList(OrderListMobileDTO orderListDTO, RequestHeaderDTO headerDTO) {
@@ -191,10 +200,19 @@ public class OrderInfoMobileBusinessImpl implements OrderInfoMobileBusiness {
this.fillOrderDetailMobileCheckState(orderInfoVO, detailMobileList);
this.fillWeightPlateNum(orderInfoVO);
orderInfoVO = this.orderCustomBusiness.mobile().didQueryOrderInfo(orderInfoVO);
+ AllocMetadata vo=orderInfoMapper.queryAllocMetadata(orderInfoVO);
+ String modelValue=vo.getModelValue();
+ ObjectMapper objectMapper = new ObjectMapper();
+ AllocMealtimeModel am=new AllocMealtimeModel();
+ try{
+ am = objectMapper.readValue(modelValue, AllocMealtimeModel.class);
+ }catch (Exception e){}
+ if(am.getReserveRefundDeadline()!=null){
+ orderInfoVO.setReserveRefundDeadline(am.getReserveRefundDeadline());
+ }
return orderInfoVO;
}
}
-
protected void fillOrderInfoMobileDetail(OrderInfoMobileVO orderInfoVO, List detailMobileList) {
log.info("[移动端订单详情]查询配送信息:{}", orderInfoVO.getOrderId());
OrderDelivery deliveryInfo = this.orderDeliveryService.getByOrderId(orderInfoVO.getOrderId(), orderInfoVO.getOrderDate());
diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/order/mobile/vo/OrderInfoMobileVO.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/order/mobile/vo/OrderInfoMobileVO.java
index 6df321a9..f66fcc0a 100644
--- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/order/mobile/vo/OrderInfoMobileVO.java
+++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/order/mobile/vo/OrderInfoMobileVO.java
@@ -13,6 +13,7 @@ import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
+import java.time.LocalTime;
import java.util.List;
@ApiModel("移动端订单详情VO")
@@ -121,6 +122,8 @@ public class OrderInfoMobileVO {
private Integer orderStateMixMobile;
@ApiModelProperty("订单明细list")
private List orderDetailList;
+ //订单回退截止时间
+ private LocalTime reserveRefundDeadline;
public static OrderInfoMobileVO of(OrderInfo orderInfo) {
return (OrderInfoMobileVO)BeanUtil.copyProperties(orderInfo, OrderInfoMobileVO.class, new String[0]);
@@ -582,4 +585,12 @@ public class OrderInfoMobileVO {
public void setOrderDetailList(final List orderDetailList) {
this.orderDetailList = orderDetailList;
}
+
+ public LocalTime getReserveRefundDeadline() {
+ return reserveRefundDeadline;
+ }
+
+ public void setReserveRefundDeadline(LocalTime reserveRefundDeadline) {
+ this.reserveRefundDeadline = reserveRefundDeadline;
+ }
}
diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/order/OrderInfoMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/order/OrderInfoMapper.xml
index 13d6998f..2621cf89 100644
--- a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/order/OrderInfoMapper.xml
+++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/order/OrderInfoMapper.xml
@@ -1089,6 +1089,39 @@
ORDER BY oi.order_date DESC, oi.order_id DESC
+
+