fix: 微信支付入账补记 + 财务按俱乐部分组
This commit is contained in:
@@ -11928,7 +11928,15 @@ class FaKuanHuitiaoView(View):
|
||||
# 5. 检查订单状态是否为未支付(9)
|
||||
if order.zhuangtai != 9:
|
||||
logger.warning(f"订单状态不是未支付: {order.dingdan_id}, 当前状态: {order.zhuangtai}")
|
||||
# 已处理过的订单直接返回成功,避免微信重复回调
|
||||
try:
|
||||
from jituan.services.szjilu_accounting import repair_wechat_income_if_missing
|
||||
repair_wechat_income_if_missing(
|
||||
Decimal(str(order.jine)),
|
||||
getattr(order, 'club_id', None),
|
||||
biz_ref=f'cz:{out_trade_no}',
|
||||
)
|
||||
except Exception as exc:
|
||||
logger.error('罚款回调补记收支失败 %s: %s', out_trade_no, exc, exc_info=True)
|
||||
return self.wechat_response('SUCCESS', 'OK')
|
||||
|
||||
# 6. 验证金额(微信返回的是分,需要转换)
|
||||
@@ -11970,8 +11978,8 @@ class FaKuanHuitiaoView(View):
|
||||
# 9. 更新收支记录表
|
||||
try:
|
||||
jine_decimal = Decimal(str(order.jine)) if not isinstance(order.jine, Decimal) else order.jine
|
||||
from jituan.services.szjilu_accounting import record_wechat_income_once
|
||||
record_wechat_income_once(
|
||||
from jituan.services.szjilu_accounting import repair_wechat_income_if_missing
|
||||
repair_wechat_income_if_missing(
|
||||
jine_decimal,
|
||||
getattr(order, 'club_id', None),
|
||||
biz_ref=f'cz:{order.dingdan_id}',
|
||||
@@ -12475,9 +12483,17 @@ class KaohePayCallbackView(View):
|
||||
|
||||
if order.zhuangtai != 9:
|
||||
logger.warning(f"订单状态非未支付: {order.zhuangtai}, 订单号: {out_trade_no}")
|
||||
# 已支付的订单直接返回成功,避免微信重复回调
|
||||
if order.zhuangtai == 3:
|
||||
logger.info(f"订单已支付,直接返回成功: {out_trade_no}")
|
||||
logger.info(f"订单已支付,补试收支记账: {out_trade_no}")
|
||||
try:
|
||||
from jituan.services.szjilu_accounting import repair_wechat_income_if_missing
|
||||
repair_wechat_income_if_missing(
|
||||
Decimal(str(order.jine)),
|
||||
getattr(order, 'club_id', None),
|
||||
biz_ref=f'cz:{out_trade_no}',
|
||||
)
|
||||
except Exception as exc:
|
||||
logger.error('考核回调补记收支失败 %s: %s', out_trade_no, exc, exc_info=True)
|
||||
return self.wechat_response('SUCCESS', 'OK')
|
||||
return self.wechat_response('FAIL', '订单状态异常')
|
||||
|
||||
@@ -12532,8 +12548,8 @@ class KaohePayCallbackView(View):
|
||||
# 更新收支记录
|
||||
try:
|
||||
jine_decimal = Decimal(str(order.jine))
|
||||
from jituan.services.szjilu_accounting import record_wechat_income_once
|
||||
record_wechat_income_once(
|
||||
from jituan.services.szjilu_accounting import repair_wechat_income_if_missing
|
||||
repair_wechat_income_if_missing(
|
||||
jine_decimal,
|
||||
getattr(order, 'club_id', None),
|
||||
biz_ref=f'cz:{order.dingdan_id}',
|
||||
|
||||
Reference in New Issue
Block a user