fix: 会员充值链路加固(体验资格、积分分红、czjilu审计、余额抵扣)

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
XingQue
2026-07-08 00:07:54 +08:00
parent 1e3d65e0e4
commit 7dc78acb73
6 changed files with 428 additions and 131 deletions

View File

@@ -168,8 +168,15 @@ class HuiyuanGoumai(APIView):
try:
pay_openid, _ = get_payment_openid(request)
if not pay_openid:
chongzhi_jilu.delete()
return Response({'code': 400, 'message': '用户openid不存在'}, status=status.HTTP_400_BAD_REQUEST)
from jituan.services.member_recharge import MEMBER_CANCELLED_STATUS
chongzhi_jilu.zhuangtai = MEMBER_CANCELLED_STATUS
chongzhi_jilu.shuoming = f"{shuoming} | 下单失败:openid不存在"[:100]
chongzhi_jilu.save(update_fields=['zhuangtai', 'shuoming'])
return Response({
'code': 400,
'message': '用户openid不存在',
'dingdanid': dingdanid,
}, status=status.HTTP_400_BAD_REQUEST)
pay_params = self.generate_wechat_pay_params(
dingdanid=dingdanid,
jine=jine,
@@ -177,8 +184,10 @@ class HuiyuanGoumai(APIView):
pay_type='huiyuan'
)
except Exception as e:
# 支付参数生成失败,删除订单记录
chongzhi_jilu.delete()
from jituan.services.member_recharge import MEMBER_CANCELLED_STATUS
chongzhi_jilu.zhuangtai = MEMBER_CANCELLED_STATUS
chongzhi_jilu.shuoming = f"{shuoming} | 下单失败:{str(e)[:40]}"[:100]
chongzhi_jilu.save(update_fields=['zhuangtai', 'shuoming'])
logger.error(f"生成会员支付参数失败: {str(e)}")
return Response({
'code': 500,