我的订单点击跳转订单详情页;订单详情页展示订单总金额;立即下单可以选择商品数量
This commit is contained in:
@@ -4,6 +4,7 @@ import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
@@ -14,4 +15,6 @@ public class Order {
|
||||
private Integer userId;
|
||||
private LocalDateTime orderDate;
|
||||
private String orderStatus;
|
||||
private BigDecimal orderPrice;
|
||||
private LocalDateTime payDate;
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import lombok.experimental.Accessors;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.RoundingMode;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -23,6 +24,9 @@ public class OrderVO implements Serializable {
|
||||
private Integer userId;
|
||||
private LocalDateTime orderDate;
|
||||
private String orderStatus;
|
||||
private String orderStatusCode;
|
||||
private String orderPrice;
|
||||
private LocalDateTime payDate;
|
||||
|
||||
public static OrderVO convertFrom(Order order) {
|
||||
if (order == null) {
|
||||
@@ -34,6 +38,9 @@ public class OrderVO implements Serializable {
|
||||
orderVO.setId(String.valueOf(order.getId())); // 转成字符串 避免前端丢失精度
|
||||
OrderStatus orderStatus = OrderStatus.get(order.getOrderStatus());
|
||||
orderVO.setOrderStatus(orderStatus.toString());
|
||||
orderVO.setOrderStatusCode(order.getOrderStatus());
|
||||
String price = order.getOrderPrice().setScale(2, RoundingMode.FLOOR).toPlainString();
|
||||
orderVO.setOrderPrice(price);
|
||||
return orderVO;
|
||||
}
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@@ -40,13 +41,16 @@ public class OrderService {
|
||||
SnowflakeManager snowflakeManager = new SnowflakeManager(1L, 1L);
|
||||
long orderId = snowflakeManager.nextValue();
|
||||
|
||||
|
||||
// 订单总金额
|
||||
BigDecimal totalPrice = new BigDecimal(0);
|
||||
|
||||
// 创建订单
|
||||
Order order = new Order();
|
||||
order.setId(orderId);
|
||||
order.setUserId(userId);
|
||||
order.setOrderDate(LocalDateTime.now());
|
||||
order.setOrderStatus(OrderStatus.PENDING.getValue());
|
||||
orderDao.insertOrder(order);
|
||||
|
||||
// 创建订单详情
|
||||
for (OrderDetail orderItem : orderItemList) {
|
||||
@@ -66,7 +70,16 @@ public class OrderService {
|
||||
orderItem.setId(null);
|
||||
orderItem.setOrderId(orderId);
|
||||
orderItem.setUnitPrice(retailPrice);
|
||||
|
||||
// 计入订单总价
|
||||
BigDecimal goodPrice = BigDecimal.valueOf(retailPrice * orderItem.getGoodCount());
|
||||
totalPrice = totalPrice.add(goodPrice);
|
||||
}
|
||||
|
||||
// 订单总价
|
||||
order.setOrderPrice(totalPrice);
|
||||
|
||||
orderDao.insertOrder(order);
|
||||
orderDao.batchInsertOrderDetail(orderItemList);
|
||||
return orderId;
|
||||
}
|
||||
|
||||
@@ -46,8 +46,8 @@
|
||||
<!-- 创建订单 -->
|
||||
<insert id="insertOrder" parameterType="com.cxyxiaomo.epp.common.pojo.Order" useGeneratedKeys="true"
|
||||
keyProperty="orderId">
|
||||
INSERT INTO `order` (id, user_id, order_date, order_status)
|
||||
VALUES (#{id}, #{userId}, #{orderDate,javaType=java.time.LocalDateTime,jdbcType=TIMESTAMP}, #{orderStatus})
|
||||
INSERT INTO `order` (id, user_id, order_date, order_status, order_price)
|
||||
VALUES (#{id}, #{userId}, #{orderDate,javaType=java.time.LocalDateTime,jdbcType=TIMESTAMP}, #{orderStatus}, #{orderPrice})
|
||||
</insert>
|
||||
|
||||
<!-- 批量插入订单详情 -->
|
||||
|
||||
Reference in New Issue
Block a user