feat:订单导出优化
feat:分账统计模块
This commit is contained in:
1 parent
14c2acb6c2
commit
4bf5930e64
22 files changed
+1892
-392
No files matched your search
+34
@@ -0,0 +1,34 @@
|
||||
package com.bsd.pjcloud.thirdparty.dto.pay;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 第三方支付统计查询条件。
|
||||
*
|
||||
* <p>统计始终按支付订单的支付时间归属,时间范围由管理端明确传入,避免空条件扫描全历史支付数据。</p>
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "第三方支付统计查询条件")
|
||||
public class ThirdPayTotalQueryDto {
|
||||
|
||||
/**
|
||||
* 支付所属商户主键;为空表示查询当前权限范围内全部商户。
|
||||
*/
|
||||
@Schema(description = "商户ID")
|
||||
private Long mchId;
|
||||
|
||||
/**
|
||||
* 支付平台类型编码,沿用 mini_platform_type 字典;为空表示全部支付方式。
|
||||
*/
|
||||
@Schema(description = "支付平台类型")
|
||||
private String payPlatformType;
|
||||
|
||||
/**
|
||||
* 支付时间范围,必须包含开始和结束两个时间点,最大跨度一年。
|
||||
*/
|
||||
@Schema(description = "支付时间范围")
|
||||
private LocalDateTime[] payTimeList;
|
||||
}
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
package com.bsd.pjcloud.thirdparty.vo.pay;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 第三方支付统计的商户与支付方式明细。
|
||||
*
|
||||
* <p>金额字段统一使用分传输;管理端展示时再转换为元。退款快照无法还原金额时,
|
||||
* 对应不可核对数量会增加且不会把未知金额当作零。</p>
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "第三方支付统计明细")
|
||||
public class ThirdPayTotalRowVo {
|
||||
|
||||
/** 商户主键;历史订单缺失商户时允许为空。 */
|
||||
private Long mchId;
|
||||
|
||||
/** 商户名称;远程商户服务不可用时返回商户信息不可用。 */
|
||||
private String mchName;
|
||||
|
||||
/** 支付平台类型编码,未知历史编码原样保留。 */
|
||||
private String payPlatformType;
|
||||
|
||||
/** 支付成功订单数,按支付订单主键去重。 */
|
||||
private Long payOrderCount = 0L;
|
||||
|
||||
/** 支付成功金额,单位分。 */
|
||||
private Long payAmount = 0L;
|
||||
|
||||
/** 退款成功订单数,按支付订单主键去重。 */
|
||||
private Long refundOrderCount = 0L;
|
||||
|
||||
/** 可从退款快照解析出的退款金额,单位分。 */
|
||||
private Long refundAmount = 0L;
|
||||
|
||||
/** 分账成功记录数。 */
|
||||
private Long fzSuccessCount = 0L;
|
||||
|
||||
/** 分账成功金额,单位分。 */
|
||||
private Long fzSuccessAmount = 0L;
|
||||
|
||||
/** 成功退分账记录数。 */
|
||||
private Long fzRefundSuccessCount = 0L;
|
||||
|
||||
/** 可从退分账快照解析出的金额,单位分。 */
|
||||
private Long fzRefundSuccessAmount = 0L;
|
||||
|
||||
/** 分账成功金额扣除已解析退分账金额后的平台净收款,单位分。 */
|
||||
private Long platformNetAmount;
|
||||
|
||||
/** 退分账金额是否全部可由历史快照核对。 */
|
||||
private boolean platformNetAmountComplete = true;
|
||||
|
||||
/** 退款成功但金额无法从历史快照解析的订单数。 */
|
||||
private Long refundAmountUnavailableCount = 0L;
|
||||
|
||||
/** 成功退分账但金额无法从历史快照解析的记录数。 */
|
||||
private Long fzRefundAmountUnavailableCount = 0L;
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
package com.bsd.pjcloud.thirdparty.vo.pay;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 第三方支付统计接口返回值。
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "第三方支付统计结果")
|
||||
public class ThirdPayTotalStatisticsVo {
|
||||
|
||||
/** 按商户和支付方式分组的明细,未知维度也必须保留。 */
|
||||
private List<ThirdPayTotalRowVo> rows = new ArrayList<>();
|
||||
|
||||
/** 当前查询范围内全部明细的合计。 */
|
||||
private ThirdPayTotalSummaryVo total = new ThirdPayTotalSummaryVo();
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
package com.bsd.pjcloud.thirdparty.vo.pay;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
/**
|
||||
* 第三方支付统计范围合计。
|
||||
*
|
||||
* <p>字段口径与明细一致,维度字段为空表示全部商户和支付方式。</p>
|
||||
*/
|
||||
@Schema(description = "第三方支付统计合计")
|
||||
public class ThirdPayTotalSummaryVo extends ThirdPayTotalRowVo {
|
||||
}
|
||||
Reference in new issue
Block a user