diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java index f83424b..efe8661 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java @@ -1,5 +1,6 @@ package com.chaozhanggui.system.cashierservice.service; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; @@ -448,6 +449,12 @@ public class OrderService { } public Object orderDetail(Integer shopId, Integer orderId) { + + TbShopInfo tbShopInfo = tbShopInfoMapper.selectByPrimaryKey(shopId); + if (tbShopInfo == null) { + return Result.fail("店铺不存在"); + } + TbOrderInfo orderInfo = mpOrderInfoMapper.selectOne(new LambdaQueryWrapper() .eq(TbOrderInfo::getId, orderId) .eq(TbOrderInfo::getShopId, shopId)); @@ -486,11 +493,39 @@ public class OrderService { }); + + TbShopTable tbShopTable = shopTableMapper.selectQRcode(orderInfo.getTableId()); + + OrderVo orderVo = new OrderVo(); + orderVo.setName(tbShopInfo.getShopName()); + orderVo.setStatus(orderInfo.getStatus()); + //TODO 增加商家二维码 + orderVo.setShopQrcode(tbShopInfo.getShopQrcode()); + orderVo.setDetails(list); + orderVo.setOrderNo(orderInfo.getOrderNo()); + orderVo.setTime(orderInfo.getCreatedAt()); + if (orderInfo.getStatus().equals("paying") || orderInfo.getStatus().equals("unpaid")) { + long totalSeconds = orderInfo.getCreatedAt() + 15 * 60 * 1000l - System.currentTimeMillis(); + if(totalSeconds>0){ + orderVo.setExpiredMinutes(totalSeconds/1000 / 60); + orderVo.setExpiredSeconds(totalSeconds/1000 % 60); + } + } + orderVo.setPayAmount(orderInfo.getOrderAmount()); + orderVo.setTableName(tbShopTable == null ? "" : tbShopTable.getName()); + orderVo.setOrderType(orderInfo.getOrderType()); + orderVo.setOrderId(orderInfo.getId()); + orderVo.setSendType(orderInfo.getSendType()); + orderVo.setOutNumber(orderInfo.getOutNumber()); + orderVo.setUseType(orderInfo.getUseType()); + orderVo.setShopId(Integer.valueOf(orderInfo.getShopId())); + Map map = new HashMap<>(); // 餐位费 map.put("seatFee", mealCashierCart); map.put("detailList", dataList); map.put("orderInfo", orderInfo); + map.putAll(BeanUtil.beanToMap(orderVo, false, false)); return map; } }