package cn.iocoder.yudao.module.aftersales.controller.admin.returnobj.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; /** * 售后退货申请响应 VO */ @Schema(description = "售后退货申请 - 响应 VO") @Data public class AfterSaleReturnRespVO { @Schema(description = "退货申请编号", example = "1") private Long id; @Schema(description = "退货单号", example = "RT20240101000001") private String no; @Schema(description = "关联工单编号", example = "1") private Long ticketId; @Schema(description = "客户编号", example = "1") private Long customerId; @Schema(description = "客户名称") private String customerName; @Schema(description = "关联销售订单编号", example = "1") private Long saleOrderId; @Schema(description = "退货类型: 1-退款退货 2-换货 3-仅退款", example = "1") private Integer returnType; @Schema(description = "退货原因", example = "产品外观缺陷") private String returnReason; @Schema(description = "缺陷分类", example = "外观缺陷") private String defectCategory; @Schema(description = "应退总金额", example = "1000.00") private BigDecimal totalReturnPrice; @Schema(description = "实退金额", example = "950.00") private BigDecimal actualRefundPrice; @Schema(description = "状态", example = "10") private Integer status; @Schema(description = "审核人", example = "1") private Long auditUserId; @Schema(description = "审核时间") private LocalDateTime auditTime; @Schema(description = "MES退货单编号", example = "1") private Long mesReturnId; @Schema(description = "MES退货单号", example = "MES-RT-001") private String mesReturnCode; @Schema(description = "质检结论", example = "合格") private String qualityResult; @Schema(description = "质检报告附件URL") private String qualityReportUrl; @Schema(description = "退货入库完成时间") private LocalDateTime returnInboundTime; @Schema(description = "退款/换货完成时间") private LocalDateTime refundTime; @Schema(description = "备注") private String remark; @Schema(description = "创建者") private String creator; @Schema(description = "创建时间") private LocalDateTime createTime; @Schema(description = "更新者") private String updater; @Schema(description = "更新时间") private LocalDateTime updateTime; @Schema(description = "退货明细行列表") private List items; @Schema(description = "退货明细行") @Data public static class Item { @Schema(description = "编号", example = "1") private Long id; @Schema(description = "退货申请编号", example = "1") private Long returnId; @Schema(description = "工单明细行编号", example = "1") private Long ticketItemId; @Schema(description = "MDM物料编号", example = "1") private Long itemId; @Schema(description = "物料编码", example = "MAT-001") private String itemCode; @Schema(description = "物料名称", example = "电子元器件") private String itemName; @Schema(description = "批次编号", example = "1") private Long batchId; @Schema(description = "批次号", example = "BATCH-2024-001") private String batchCode; @Schema(description = "退货数量", example = "10.000") private BigDecimal returnQuantity; @Schema(description = "销售单价", example = "100.00") private BigDecimal unitPrice; @Schema(description = "退货金额", example = "1000.00") private BigDecimal returnPrice; @Schema(description = "MES退货单行编号", example = "1") private Long mesReturnLineId; @Schema(description = "备注") private String remark; } }