feat:订单导出优化

feat:分账统计模块
This commit is contained in:
dzc committed 2026-08-26 15:44:15 +08:00
1 parent 14c2acb6c2
commit 4bf5930e64
22 files changed
+1892 -392

No files matched your search

@@ -38,6 +38,9 @@ public class HardOrderDto extends HardOrderEntity implements BaseIsIncludeTreeIn
private List<String> mchTypeCodes;
/** 页面选择的商户类型编码集合;与服务端注入的商户类型权限范围同时生效。 */
private List<String> merchantTypeCodes;
private List<String> orderStatusCodes;
private LocalDateTime[] createTimeList;
@@ -82,6 +85,9 @@ public class HardOrderDto extends HardOrderEntity implements BaseIsIncludeTreeIn
private List<String> hardTypeCodes;
/** 用餐时间段字典编码集合;为空表示不限制餐段。 */
private List<String> hourTypeCodes;
private List<String> refundStatusCodes;
/**
@@ -0,0 +1,166 @@
package com.bsd.pjcloud.hard.api.vo.order.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.NumberFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentFontStyle;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDate;
/**
* 硬件订单明细导出行,按订单业务域组织二级表头。
*
* <p>仅保留业务核对所需的用户、身份、订单、支付、核销和退款信息,隐藏内部主键及审计字段;
* 金额字段统一使用元。该对象仅用于导出展示,不参与数据库持久化和接口入参。</p>
*/
@Data
@ColumnWidth(15)
@HeadRowHeight(15)
@HeadFontStyle(fontHeightInPoints = 10)
@ContentFontStyle(fontHeightInPoints = 10)
public class HardOrderExportExcelVo {
/** 当前订单在本次导出结果中的一基序号;合计行为空。 */
@ExcelProperty({"订单", "序号"})
private String lineNumber;
/** 订单类型中文名称;未知历史编码保留原始值。 */
@ExcelProperty({"订单", "订单类型"})
private String orderType;
/** 订单状态中文名称;未知历史编码保留原始值。 */
@ExcelProperty({"订单", "订单状态"})
private String orderStatus;
/** 统计场景中的订单来源名称;不属于统计来源时为空。 */
@ExcelProperty({"订单", "订单来源"})
private String saleSourceName;
/** 订单创建时间,格式为 yyyy-MM-dd HH:mm:ss。 */
@ExcelProperty({"订单", "下单时间"})
@ColumnWidth(22)
private String createTime;
/** 用户姓名,优先取 UPMS 姓名,其次取昵称、账号和订单历史展示名。 */
@ExcelProperty({"用户", "姓名"})
private String userName;
/** 用户默认身份手机号;UPMS 资料缺失时回退订单历史手机号。 */
@ExcelProperty({"用户", "手机号"})
private String phone;
/** 用户当前所属部门名称;UPMS 资料缺失时回退订单历史部门名称。 */
@ExcelProperty({"用户", "部门"})
private String deptName;
/** 用户岗位名称,多个岗位使用中文逗号分隔。 */
@ExcelProperty({"用户", "岗位"})
private String postNames;
/** 用户拥有的身份中文名称,多个身份使用中文逗号分隔。 */
@ExcelProperty({"身份", "身份类型"})
private String identityTypeNames;
/** 学生身份学号;没有学生身份时为空。 */
@ExcelProperty({"身份", "学号"})
private String studentNo;
/** 学生身份学校名称;没有学生身份时为空。 */
@ExcelProperty({"身份", "学校"})
private String schoolName;
/** 学生身份班级名称;没有学生身份时为空。 */
@ExcelProperty({"身份", "班级"})
private String className;
/** 学生身份监护人手机号,多个号码沿用业务存储格式。 */
@ExcelProperty({"身份", "监护人手机号"})
private String guardianPhones;
/** 老师身份工号或学号;没有老师身份时为空。 */
@ExcelProperty({"身份", "老师学号"})
private String teacherNo;
/** 钱包服务返回的商户名称;历史商户不存在时回退订单查询结果。 */
@ExcelProperty({"商户设备", "商户"})
private String merchantName;
/** 订单关联设备名称;预约核销订单中用于识别核销机器。 */
@ExcelProperty({"商户设备", "核销机器"})
private String hardName;
/** 实际关联设备的设备类型中文名称;未知历史编码保留原始值。 */
@ExcelProperty({"商户设备", "设备类型"})
private String hardType;
/** 订单商品摘要,来源于下单时保存的商品描述。 */
@ExcelProperty({"订单", "商品内容"})
@ColumnWidth(24)
private String productDesc;
/** 用餐时间段中文名称;未知历史编码保留原始值。 */
@ExcelProperty({"订单", "用餐时段"})
private String hourType;
/** 预约目标用餐日期;非预约订单可能为下单日期或空值,页面统一称为预约时间。 */
@ExcelProperty({"订单", "预约时间"})
@ColumnWidth(22)
private LocalDate apptUseDate;
/** 支付方式中文名称;未知历史编码保留原始值。 */
@ExcelProperty({"支付", "支付方式"})
private String payType;
/** 商品总价,单位为元并保留两位小数。 */
@ExcelProperty({"支付", "商品总价(元)"})
@NumberFormat("#,##0.00")
private BigDecimal totalPrice;
/** 额外费用,单位为元并保留两位小数。 */
@ExcelProperty({"支付", "额外支付(元)"})
@NumberFormat("#,##0.00")
private BigDecimal extraPrice;
/** 配送费用,单位为元并保留两位小数。 */
@ExcelProperty({"支付", "配送费(元)"})
@NumberFormat("#,##0.00")
private BigDecimal deliveryPrice;
/** 实际支付金额,单位为元并保留两位小数。 */
@ExcelProperty({"支付", "实际支付(元)"})
@NumberFormat("#,##0.00")
private BigDecimal payPrice;
/** 订单实际金额,单位为元,按实际支付金额扣除退款金额计算。 */
@ExcelProperty({"支付", "订单实际(元)"})
@NumberFormat("#,##0.00")
private BigDecimal orderActualPrice;
/** 支付完成时间,格式为 yyyy-MM-dd HH:mm:ss;未支付时为空。 */
@ExcelProperty({"支付", "支付时间"})
@ColumnWidth(22)
private String payTime;
/** 订单实际核销完成时间,格式为 yyyy-MM-dd HH:mm:ss。 */
@ExcelProperty({"核销", "核销时间"})
@ColumnWidth(22)
private String verificationTime;
/** 订单退款状态中文名称;未记录时为空,未知历史编码保留原始值。 */
@ExcelProperty({"退款", "退款状态"})
private String refundStatus;
/** 已退款金额,单位为元并保留两位小数。 */
@ExcelProperty({"退款", "退款金额(元)"})
@NumberFormat("#,##0.00")
private BigDecimal refundPrice;
/** 退款完成时间,格式为 yyyy-MM-dd HH:mm:ss。 */
@ExcelProperty({"退款", "退款完成时间"})
@ColumnWidth(22)
private String refundTime;
}