feat: 订单列表/详情返回自动结算倒计时字段,并加小程序结算率接口

仅 eligible 结算中订单下发预计时间;支持 auto_settle_pending 筛选;新增 /dingdan/wo-de-deal-stat。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
XingQue
2026-07-27 02:08:32 +08:00
parent 9ac0a3a5ad
commit 1b733d21cc
8 changed files with 192 additions and 3 deletions

View File

@@ -679,6 +679,11 @@ class DashouDingdanHuoquView1(APIView):
keyword_query = Q(OrderID__icontains=keyword) | Q(Description__icontains=keyword)
query &= keyword_query
from orders.services.merchant_order_list_filters import wants_auto_settle_pending
# 待自动结算筛:强制落在结算中且 eligible
if wants_auto_settle_pending(data):
query &= Q(Status=8, AutoSettleEligible=True, AutoExpireAt__isnull=False)
# 5. 执行查询,按创建时间倒序
dingdan_query = Order.query.filter(query).order_by('-CreateTime')
@@ -690,7 +695,9 @@ class DashouDingdanHuoquView1(APIView):
'Description',
'ImageURL',
'Nickname',
'CreateTime'
'CreateTime',
'AutoSettleEligible',
'AutoExpireAt',
)
total_count = dingdan_query.count()
@@ -702,6 +709,7 @@ class DashouDingdanHuoquView1(APIView):
current_page_count = len(current_page_orders)
# 7. 构建返回数据列表
from jituan.services.order_deal import order_auto_settle_payload
order_list = []
for order in current_page_orders:
order_data = {
@@ -713,6 +721,7 @@ class DashouDingdanHuoquView1(APIView):
'nicheng': order.Nickname or '',
**datetime_aliases(order.CreateTime),
}
order_data.update(order_auto_settle_payload(order))
order_list.append(order_data)
# 8. 判断是否还有更多数据
@@ -1278,6 +1287,11 @@ class DashouDingdanXiangqingView(APIView):
'fuwudashou_id': dingdan.PlayerID or '',
'fadanpingtai': dingdan.Platform or ''
}
try:
from jituan.services.order_deal import order_auto_settle_payload
dingdan_data.update(order_auto_settle_payload(dingdan))
except Exception:
pass
# 6. 查询打手提交的图片
dashou_tupian_list = PlayerDeliveryImage.query.filter(