From 0a62e19d514481bb217b188ebb903051c8e424fc Mon Sep 17 00:00:00 2001 From: Agent Date: Wed, 1 Apr 2026 14:01:55 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=AE=A2=E5=8D=95=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=95=BF=E5=BA=A6=E3=80=81=E5=AE=BD=E5=BA=A6?= =?UTF-8?q?=E3=80=81=E9=9D=A2=E7=A7=AF=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/building/dto/CreateOrderRequest.java | 15 +++++++++++++++ .../com/example/building/entity/OrderItem.java | 15 +++++++++++++++ .../building/service/impl/OrderServiceImpl.java | 6 ++++++ .../migration/V13__add_order_item_size_fields.sql | 4 ++++ 4 files changed, 40 insertions(+) create mode 100644 src/main/resources/db/migration/V13__add_order_item_size_fields.sql diff --git a/src/main/java/com/example/building/dto/CreateOrderRequest.java b/src/main/java/com/example/building/dto/CreateOrderRequest.java index 4db6a29..34b450b 100644 --- a/src/main/java/com/example/building/dto/CreateOrderRequest.java +++ b/src/main/java/com/example/building/dto/CreateOrderRequest.java @@ -70,5 +70,20 @@ public class CreateOrderRequest { * 销售单价(用户可自定义) */ private BigDecimal price; + + /** + * 长度(cm) + */ + private BigDecimal length; + + /** + * 宽度(cm) + */ + private BigDecimal width; + + /** + * 面积(m²) + */ + private BigDecimal area; } } diff --git a/src/main/java/com/example/building/entity/OrderItem.java b/src/main/java/com/example/building/entity/OrderItem.java index fd8214a..3cafa71 100644 --- a/src/main/java/com/example/building/entity/OrderItem.java +++ b/src/main/java/com/example/building/entity/OrderItem.java @@ -86,6 +86,21 @@ public class OrderItem { */ private BigDecimal subtotal; + /** + * 长度(cm) + */ + private BigDecimal length; + + /** + * 宽度(cm) + */ + private BigDecimal width; + + /** + * 面积(m²) + */ + private BigDecimal area; + @TableField(fill = FieldFill.INSERT) private LocalDateTime createdAt; } diff --git a/src/main/java/com/example/building/service/impl/OrderServiceImpl.java b/src/main/java/com/example/building/service/impl/OrderServiceImpl.java index 3508fd1..9ef0bce 100644 --- a/src/main/java/com/example/building/service/impl/OrderServiceImpl.java +++ b/src/main/java/com/example/building/service/impl/OrderServiceImpl.java @@ -113,6 +113,9 @@ public class OrderServiceImpl implements OrderService { item.setDescription(product.getDescription()); item.setPrice(price); item.setQuantity(itemDTO.getQuantity()); + item.setLength(itemDTO.getLength()); + item.setWidth(itemDTO.getWidth()); + item.setArea(itemDTO.getArea()); item.setSubtotal(subtotal); orderItems.add(item); @@ -364,6 +367,9 @@ public class OrderServiceImpl implements OrderService { item.setDescription(product.getDescription()); item.setPrice(price); item.setQuantity(itemDTO.getQuantity()); + item.setLength(itemDTO.getLength()); + item.setWidth(itemDTO.getWidth()); + item.setArea(itemDTO.getArea()); item.setSubtotal(subtotal); orderItems.add(item); orderItemMapper.insert(item); diff --git a/src/main/resources/db/migration/V13__add_order_item_size_fields.sql b/src/main/resources/db/migration/V13__add_order_item_size_fields.sql new file mode 100644 index 0000000..1f7b97b --- /dev/null +++ b/src/main/resources/db/migration/V13__add_order_item_size_fields.sql @@ -0,0 +1,4 @@ +-- 添加商品长度、宽度、面积字段 +ALTER TABLE order_items ADD COLUMN length DECIMAL(10,2) COMMENT '长度(cm)'; +ALTER TABLE order_items ADD COLUMN width DECIMAL(10,2) COMMENT '宽度(cm)'; +ALTER TABLE order_items ADD COLUMN area DECIMAL(10,4) COMMENT '面积(m²)'; \ No newline at end of file