package com.ruoyi.order.dto; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; /** * 企业用户充电分析 —— 逆反查聚合的中间行。 * *
原实现(enterpriseChargingAnalysis 等)把 t_order_invoice(10 片/app_user_id)、 * t_order_invoice_detail(20 片/order_invoice_id)、t_charging_order(50 片/app_user_id) * 在 MyCat 代理层做跨分片 JOIN,分片键不一致导致只能全量广播拉取,无筛选时必超时。 * 改为分表单查 + 按各自分片键 IN 路由,再在 Service 层聚合(与 enterpriseChargingDetail 同模式)。 */ public class EnterpriseChargingAggRow { @Data public static class Invoice { private Long id; private String companyName; private String socialCreditCode; private String companyAddress; private String companyPhone; private BigDecimal totalAmount; } @Data public static class Detail { private Long invoiceId; private Long orderId; private BigDecimal invoiceAmount; } @Data public static class Order { private Long orderId; private LocalDateTime startTime; private Long siteId; } @Data public static class Site { private Long siteId; private String siteName; } private EnterpriseChargingAggRow() { } }