后台完成修复,初始化项目
This commit is contained in:
137
src/main/java/com/org/flashsalesystem/dto/OrderDTO.java
Normal file
137
src/main/java/com/org/flashsalesystem/dto/OrderDTO.java
Normal file
@@ -0,0 +1,137 @@
|
||||
package com.org.flashsalesystem.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.Min;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 订单数据传输对象
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class OrderDTO {
|
||||
|
||||
private Long id;
|
||||
private Long userId;
|
||||
private String username;
|
||||
private Long productId;
|
||||
private String productName;
|
||||
private String productImageUrl;
|
||||
private Integer quantity;
|
||||
private BigDecimal totalPrice;
|
||||
private Integer status;
|
||||
private String statusDescription;
|
||||
private Integer orderType;
|
||||
private String orderTypeDescription;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createdAt;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime updatedAt;
|
||||
|
||||
/**
|
||||
* 创建订单DTO
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class CreateDTO {
|
||||
@NotNull(message = "商品ID不能为空")
|
||||
private Long productId;
|
||||
|
||||
@Min(value = 1, message = "商品数量必须大于0")
|
||||
private Integer quantity;
|
||||
|
||||
// 收货地址信息
|
||||
private String receiverName;
|
||||
private String receiverPhone;
|
||||
private String receiverAddress;
|
||||
|
||||
// 备注
|
||||
private String remark;
|
||||
}
|
||||
|
||||
/**
|
||||
* 订单查询DTO
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class QueryDTO {
|
||||
private Long userId;
|
||||
private Integer status;
|
||||
private Integer orderType;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime endTime;
|
||||
private Integer page = 0;
|
||||
private Integer size = 10;
|
||||
private String sortBy = "createdAt";
|
||||
private String sortDirection = "desc";
|
||||
}
|
||||
|
||||
/**
|
||||
* 订单状态更新DTO
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class StatusUpdateDTO {
|
||||
@NotNull(message = "订单ID不能为空")
|
||||
private Long orderId;
|
||||
|
||||
@NotNull(message = "订单状态不能为空")
|
||||
private Integer status;
|
||||
|
||||
private String remark;
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量订单操作DTO
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class BatchOperationDTO {
|
||||
@NotNull(message = "订单ID列表不能为空")
|
||||
private java.util.List<Long> orderIds;
|
||||
|
||||
/**
|
||||
* 操作类型:cancel-取消,pay-支付,ship-发货,complete-完成
|
||||
*/
|
||||
@NotNull(message = "操作类型不能为空")
|
||||
private String operation;
|
||||
|
||||
private String remark;
|
||||
}
|
||||
|
||||
/**
|
||||
* 订单统计DTO
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class StatisticsDTO {
|
||||
private Long totalOrders;
|
||||
private Long pendingPaymentOrders;
|
||||
private Long paidOrders;
|
||||
private Long shippedOrders;
|
||||
private Long completedOrders;
|
||||
private Long cancelledOrders;
|
||||
private BigDecimal totalAmount;
|
||||
private BigDecimal todayAmount;
|
||||
private Long flashSaleOrders;
|
||||
private Long normalOrders;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user