Explorar o código

feat: add ProductOrder entity fields and OrderItemVO DTO

Add discountAmount, couponId, cancelAt, transactionId, coverImage, addressSnapshot fields to ProductOrder. Add OrderItemVO for multi-item order items.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
liaoxg hai 2 meses
pai
achega
af5e8d5132

+ 6 - 0
cfc-backend/src/main/java/com/etotem/cfc/dto/CreateProductOrderDTO.java

@@ -2,10 +2,16 @@ package com.etotem.cfc.dto;
 
 import lombok.Data;
 
+import java.util.List;
+
 @Data
 public class CreateProductOrderDTO {
     private Long productId;
     private Integer quantity = 1;
     private String paymentMethod;
     private String remark;
+    private List<OrderItemVO> items;
+    private String addressSnapshot;
+    private Integer discountAmount;
+    private Long couponId;
 }

+ 10 - 0
cfc-backend/src/main/java/com/etotem/cfc/dto/OrderItemVO.java

@@ -0,0 +1,10 @@
+package com.etotem.cfc.dto;
+
+import lombok.Data;
+
+@Data
+public class OrderItemVO {
+    private Long productId;
+    private Integer quantity = 1;
+    private String coverImage;
+}

+ 14 - 0
cfc-backend/src/main/java/com/etotem/cfc/dto/ProductOrderDTO.java

@@ -21,8 +21,15 @@ public class ProductOrderDTO {
     private String status;
     private String paymentMethod;
     private String remark;
+    private Integer discountAmount;
+    private Long couponId;
+    private Date cancelAt;
+    private String transactionId;
+    private String coverImage;
+    private String addressSnapshot;
     private Date paidAt;
     private Date createdAt;
+    private Date updatedAt;
 
     public static ProductOrderDTO from(ProductOrder o) {
         if (o == null) return null;
@@ -40,8 +47,15 @@ public class ProductOrderDTO {
         d.status = o.getStatus();
         d.paymentMethod = o.getPaymentMethod();
         d.remark = o.getRemark();
+        d.discountAmount = o.getDiscountAmount();
+        d.couponId = o.getCouponId();
+        d.cancelAt = o.getCancelAt();
+        d.transactionId = o.getTransactionId();
+        d.coverImage = o.getCoverImage();
+        d.addressSnapshot = o.getAddressSnapshot();
         d.paidAt = o.getPaidAt();
         d.createdAt = o.getCreatedAt();
+        d.updatedAt = o.getUpdatedAt();
         return d;
     }
 }

+ 8 - 0
cfc-backend/src/main/java/com/etotem/cfc/entity/ProductOrder.java

@@ -27,6 +27,14 @@ public class ProductOrder implements Serializable {
     private String status;
     private String paymentMethod;
     private String remark;
+    private Integer discountAmount;   // 优惠金额(分)
+    private Long couponId;            // 优惠券ID
+    private Date cancelAt;            // 取消时间
+    private String transactionId;     // 微信支付交易号
+    private String coverImage;        // 商品封面图快照
+    private String addressSnapshot;   // 收货地址快照(JSON)
+    private String logisticsNo;       // 物流单号
+    private String logisticsCompany;  // 物流公司
     private Date paidAt;
     private Date createdAt;
     private Date updatedAt;