fix: 修复微信入账重复统计,入账幂等防双记

This commit is contained in:
XingQue
2026-06-24 17:46:37 +08:00
parent 04c54d0733
commit 83519ac67b
7 changed files with 120 additions and 45 deletions

View File

@@ -48,7 +48,7 @@ from users.fadan_fenhong_utils import process_fadan_fenhong
from orders.utils import (
update_daily_payout,
update_daily_income, settle_shangjia_order_guanshi_fenhong
settle_shangjia_order_guanshi_fenhong
)
from backend.utils import (
update_dashou_daily_by_action, update_guanshi_daily_by_action,
@@ -11967,13 +11967,13 @@ class FaKuanHuitiaoView(View):
# 9. 更新收支记录表
try:
# 获取订单金额确保是Decimal类型
jine_decimal = Decimal(str(order.jine)) if not isinstance(order.jine, Decimal) else order.jine
update_daily_income(jine_decimal, getattr(order, 'club_id', None))
from jituan.services.szjilu_accounting import apply_szjilu_income
apply_szjilu_income(jine_decimal, getattr(order, 'club_id', None))
from jituan.services.szjilu_accounting import record_wechat_income_once
record_wechat_income_once(
jine_decimal,
getattr(order, 'club_id', None),
biz_ref=f'cz:{order.dingdan_id}',
)
logger.info(f"收支记录更新成功: 订单{order.dingdan_id}, 金额{jine_decimal}")
@@ -12530,11 +12530,13 @@ class KaohePayCallbackView(View):
# 更新收支记录
try:
jine_decimal = Decimal(str(order.jine))
update_daily_income(jine_decimal, getattr(order, 'club_id', None))
logger.info(f"更新每日收入成功: {jine_decimal}")
from jituan.services.szjilu_accounting import apply_szjilu_income
apply_szjilu_income(jine_decimal, getattr(order, 'club_id', None))
logger.info(f"更新收支记录成功")
from jituan.services.szjilu_accounting import record_wechat_income_once
record_wechat_income_once(
jine_decimal,
getattr(order, 'club_id', None),
biz_ref=f'cz:{order.dingdan_id}',
)
logger.info(f"更新收支记录成功: {jine_decimal}")
except Exception as e:
logger.error(f"更新收支记录失败: {str(e)}", exc_info=True)