Co-authored-by: Cursor <cursoragent@cursor.com>
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
This commit is contained in:
XingQue
2026-07-10 15:39:37 +08:00
3 changed files with 61 additions and 3 deletions

View File

@@ -205,17 +205,33 @@ def fulfill_fakuan(dingdan_id, paid_amount_yuan=None):
fadan = None
m = re.search(r'#fadan:(\d+)', order.shuoming or '')
if m:
fadan_id_str = m.group(1)
fadan = Penalty.query.filter(
id=int(m.group(1)),
id=int(fadan_id_str),
PenalizedUserID=order.yonghuid,
Status__in=[1, 3],
).first()
if not fadan:
logger.warning(
'罚款订单 %s shuoming 标记罚单 %s 未找到(被处罚者=%s, 状态需为1/3)',
dingdan_id, fadan_id_str, order.yonghuid,
)
else:
logger.warning(
'罚款订单 %s shuoming 无 #fadan:xxx 标记,回退金额匹配: %s',
dingdan_id, order.shuoming,
)
if not fadan:
fadan = Penalty.query.filter(
PenalizedUserID=order.yonghuid,
FineAmount=order.jine,
Status__in=[1, 3],
).order_by('-CreateTime').first()
if fadan:
logger.warning(
'罚款订单 %s 回退金额匹配到罚单 %s(金额=%s',
dingdan_id, fadan.id, order.jine,
)
if fadan:
fadan.Status = 2
fadan.save(update_fields=['Status'])
@@ -224,6 +240,11 @@ def fulfill_fakuan(dingdan_id, paid_amount_yuan=None):
logger.error('罚单 %s 分红处理失败: %s', fadan.id, msg)
else:
logger.info('罚单 %s 分红处理完成: %s', fadan.id, msg)
else:
logger.error(
'罚款订单 %s 未找到对应罚单,罚单状态未更新(被处罚者=%s, 金额=%s)',
dingdan_id, order.yonghuid, order.jine,
)
except Exception as exc:
logger.error('罚款罚单状态更新失败 dingdan=%s: %s', dingdan_id, exc, exc_info=True)