feat(adminfinance): 新增预计收入指标并优化明细查询性能
- 财务看板增加预计收入与待结算订单数统计 - 明细列表 COUNT 改为仅扫描 rental_orders 主表,避免 5-JOIN 子查询 - 统一前后端结算差异判定阈值为常量 5 分 - 修复日期选择器使用 UTC 日期导致东八区凌晨偏移前一天的问题
This commit is contained in:
@@ -7,6 +7,11 @@ import (
|
||||
"hfb_sys/backend/internal/timeutil"
|
||||
)
|
||||
|
||||
// settlementDiffThresholdCent 是判定"结算差异"的最小绝对金额(分)。
|
||||
// 号主应得与实际入账的差额绝对值达到此阈值,才视为财务异常。
|
||||
// SQL、presenter、前端展示统一引用此口径,避免多处硬编码不一致。
|
||||
const settlementDiffThresholdCent = 5
|
||||
|
||||
func refundBizTypes() []string {
|
||||
return []string{
|
||||
"cancel_refund",
|
||||
@@ -19,6 +24,18 @@ func refundBizTypes() []string {
|
||||
}
|
||||
}
|
||||
|
||||
// settledSettlementStatuses 是视为"已完成结算"的结算状态集合。
|
||||
// 预计收入只统计尚未结算的订单,这些状态需从预计口径中排除。
|
||||
func settledSettlementStatuses() []string {
|
||||
return []string{"settled", "closed"}
|
||||
}
|
||||
|
||||
// nonBillableOrderStatuses 是不产生平台收入的订单状态集合(待支付、已取消、已关闭)。
|
||||
// 预计收入排除这些状态,只保留进行中/待结算且未来会产生手续费的订单。
|
||||
func nonBillableOrderStatuses() []string {
|
||||
return []string{"pending_payment", "cancelled", "closed"}
|
||||
}
|
||||
|
||||
func dayStart(value time.Time) time.Time {
|
||||
loc := timeutil.ShanghaiLocation()
|
||||
local := value.In(loc)
|
||||
|
||||
Reference in New Issue
Block a user