diff --git a/ruoyi-mall/src/main/java/com/cyl/h5/controller/H5OrderController.java b/ruoyi-mall/src/main/java/com/cyl/h5/controller/H5OrderController.java index 93730e5..5b6ee1b 100644 --- a/ruoyi-mall/src/main/java/com/cyl/h5/controller/H5OrderController.java +++ b/ruoyi-mall/src/main/java/com/cyl/h5/controller/H5OrderController.java @@ -67,4 +67,13 @@ public class H5OrderController { Member member = (Member) LocalDataUtil.getVar(Constants.MEMBER_INFO); return ResponseEntity.ok(service.orderPage(status, member.getId(), pageable)); } + + @ApiOperation("订单详情") + @GetMapping("/orderDetail") + public ResponseEntity orderDetail(@RequestParam(required = false) Long orderId){ + if (orderId == null){ + throw new RuntimeException("系统繁忙"); + } + return ResponseEntity.ok(service.orderDetail(orderId)); + } } diff --git a/ruoyi-mall/src/main/java/com/cyl/h5/pojo/vo/H5OrderVO.java b/ruoyi-mall/src/main/java/com/cyl/h5/pojo/vo/H5OrderVO.java index a70dc4a..5141e1d 100644 --- a/ruoyi-mall/src/main/java/com/cyl/h5/pojo/vo/H5OrderVO.java +++ b/ruoyi-mall/src/main/java/com/cyl/h5/pojo/vo/H5OrderVO.java @@ -1,6 +1,7 @@ package com.cyl.h5.pojo.vo; import com.cyl.manager.oms.domain.OrderItem; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -42,6 +43,31 @@ public class H5OrderVO { private String deliverySn; @ApiModelProperty("下单时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("支付时间") + private LocalDateTime paymentTime; + + @ApiModelProperty("收货人姓名") + private String receiverName; + + @ApiModelProperty("收货人手机号") + private String receiverPhone; + + @ApiModelProperty("省份/直辖市") + private String receiverProvince; + + @ApiModelProperty("城市") + private String receiverCity; + + @ApiModelProperty("区") + private String receiverDistrict; + + @ApiModelProperty("详细地址") + private String receiverDetailAddress; + + @ApiModelProperty("支付倒计时") + private Long timeToPay; } diff --git a/ruoyi-mall/src/main/java/com/cyl/h5/service/H5OrderService.java b/ruoyi-mall/src/main/java/com/cyl/h5/service/H5OrderService.java index 56ad456..857caf4 100644 --- a/ruoyi-mall/src/main/java/com/cyl/h5/service/H5OrderService.java +++ b/ruoyi-mall/src/main/java/com/cyl/h5/service/H5OrderService.java @@ -38,6 +38,7 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.*; import java.util.stream.Collectors; @@ -275,4 +276,26 @@ public class H5OrderService { }); return new PageImpl<>(orderList, pageable, total); } + + public H5OrderVO orderDetail(Long orderId) { + H5OrderVO order = orderMapper.selectOrderDetail(orderId); + if (order == null){ + throw new RuntimeException("未查询到该订单"); + } + // 组装item + QueryWrapper orderItemQw = new QueryWrapper<>(); + orderItemQw.eq("order_id", orderId); + List orderItemList = orderItemMapper.selectList(orderItemQw); + order.setOrderItemList(orderItemList); + // 如果未付款,计算倒计时 + if (Constants.OrderStatus.NOTPAID.equals(order.getStatus())){ + // 订单超时时间900s,后面可以配置到字典等 + Integer time = 900; + Date addDate = Date.from(order.getCreateTime().plusSeconds(time).atZone(ZoneId.systemDefault()).toInstant()); + if (addDate.after(new Date())) { + order.setTimeToPay(addDate.getTime()); + } + } + return order; + } } diff --git a/ruoyi-mall/src/main/java/com/cyl/manager/oms/mapper/OrderMapper.java b/ruoyi-mall/src/main/java/com/cyl/manager/oms/mapper/OrderMapper.java index 3a5c42b..5d34415 100644 --- a/ruoyi-mall/src/main/java/com/cyl/manager/oms/mapper/OrderMapper.java +++ b/ruoyi-mall/src/main/java/com/cyl/manager/oms/mapper/OrderMapper.java @@ -25,4 +25,6 @@ public interface OrderMapper extends BaseMapper { List selectManagerOrderPage(ManagerOrderQueryRequest request); List orderPage(@Param("status") Integer status, @Param("memberId")Long memberId); + + H5OrderVO selectOrderDetail(Long orderId); } diff --git a/ruoyi-mall/src/main/resources/mapper/oms/OrderMapper.xml b/ruoyi-mall/src/main/resources/mapper/oms/OrderMapper.xml index ef1ea28..189a432 100644 --- a/ruoyi-mall/src/main/resources/mapper/oms/OrderMapper.xml +++ b/ruoyi-mall/src/main/resources/mapper/oms/OrderMapper.xml @@ -156,7 +156,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" aftersale_status, note, delivery_sn, - create_time + create_time, + payment_time, + receiver_name, + receiver_phone, + receiver_province, + receiver_city, + receiver_district, + receiver_detail_address from oms_order where delete_status=0 @@ -173,4 +180,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" order by create_time desc +