H5订单详情初步完成

pull/1/head
chuzhichao 2 years ago
parent a3202364a3
commit 261614e2d6

@ -67,4 +67,13 @@ public class H5OrderController {
Member member = (Member) LocalDataUtil.getVar(Constants.MEMBER_INFO); Member member = (Member) LocalDataUtil.getVar(Constants.MEMBER_INFO);
return ResponseEntity.ok(service.orderPage(status, member.getId(), pageable)); return ResponseEntity.ok(service.orderPage(status, member.getId(), pageable));
} }
@ApiOperation("订单详情")
@GetMapping("/orderDetail")
public ResponseEntity<H5OrderVO> orderDetail(@RequestParam(required = false) Long orderId){
if (orderId == null){
throw new RuntimeException("系统繁忙");
}
return ResponseEntity.ok(service.orderDetail(orderId));
}
} }

@ -1,6 +1,7 @@
package com.cyl.h5.pojo.vo; package com.cyl.h5.pojo.vo;
import com.cyl.manager.oms.domain.OrderItem; import com.cyl.manager.oms.domain.OrderItem;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -42,6 +43,31 @@ public class H5OrderVO {
private String deliverySn; private String deliverySn;
@ApiModelProperty("下单时间") @ApiModelProperty("下单时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime; 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;
} }

@ -38,6 +38,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -275,4 +276,26 @@ public class H5OrderService {
}); });
return new PageImpl<>(orderList, pageable, total); return new PageImpl<>(orderList, pageable, total);
} }
public H5OrderVO orderDetail(Long orderId) {
H5OrderVO order = orderMapper.selectOrderDetail(orderId);
if (order == null){
throw new RuntimeException("未查询到该订单");
}
// 组装item
QueryWrapper<OrderItem> orderItemQw = new QueryWrapper<>();
orderItemQw.eq("order_id", orderId);
List<OrderItem> 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;
}
} }

@ -25,4 +25,6 @@ public interface OrderMapper extends BaseMapper<Order> {
List<ManagerOrderVO> selectManagerOrderPage(ManagerOrderQueryRequest request); List<ManagerOrderVO> selectManagerOrderPage(ManagerOrderQueryRequest request);
List<H5OrderVO> orderPage(@Param("status") Integer status, @Param("memberId")Long memberId); List<H5OrderVO> orderPage(@Param("status") Integer status, @Param("memberId")Long memberId);
H5OrderVO selectOrderDetail(Long orderId);
} }

@ -156,7 +156,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
aftersale_status, aftersale_status,
note, note,
delivery_sn, delivery_sn,
create_time create_time,
payment_time,
receiver_name,
receiver_phone,
receiver_province,
receiver_city,
receiver_district,
receiver_detail_address
from oms_order from oms_order
where where
delete_status=0 delete_status=0
@ -173,4 +180,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</if> </if>
order by create_time desc order by create_time desc
</select> </select>
<select id="selectOrderDetail" resultType="com.cyl.h5.pojo.vo.H5OrderVO">
select
id orderId,
order_sn,
member_id,
total_amount,
pay_amount,
status,
aftersale_status,
note,
delivery_sn,
create_time,
payment_time,
receiver_name,
receiver_phone,
receiver_province,
receiver_city,
receiver_district,
receiver_detail_address
from oms_order
where
delete_status=0
and id=#{orderId}
</select>
</mapper> </mapper>

Loading…
Cancel
Save