fix: 恢复refund_balance定义,手动打款同意补齐每日提现统计

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
XingQue
2026-07-03 14:20:36 +08:00
parent bdc94d6daa
commit b56e87b0fd
2 changed files with 54 additions and 6 deletions

View File

@@ -849,6 +849,53 @@ def refund_manual_tixianjilu(user_main, tixian):
refund_balance(user_main, tixian.leixing, amount)
def record_manual_withdraw_success_stats(user_main, tixian):
"""
手动打款同意时累加每日限额统计(须在 transaction.atomic 内)。
- 平台 TixianRiTongji按实际到账 shijidaozhangtixian.jine
- 个人今日已提:按申请扣款 shenqing_jine打手/管事/组长)
"""
from houtai.models import TixianRiTongji
leixing = tixian.leixing
shenqing_jine = get_tixianjilu_refund_amount(tixian)
shijidaozhang = decimal.Decimal(str(tixian.jine or 0))
today = date.today()
platform_stat, _ = TixianRiTongji.objects.select_for_update().get_or_create(
riqi=today,
leixing=leixing,
defaults={'total_amount': decimal.Decimal('0.00')},
)
platform_stat.total_amount += shijidaozhang
platform_stat.save(update_fields=['total_amount'])
if leixing == 1:
dashou = UserDashou.objects.select_for_update().get(user=user_main)
if dashou.last_tixian_date != today:
dashou.jinritixian_jine = decimal.Decimal('0.00')
dashou.last_tixian_date = today
dashou.jinritixian_jine += shenqing_jine
dashou.save(update_fields=['jinritixian_jine', 'last_tixian_date'])
elif leixing == 2:
guanshi = UserGuanshi.objects.select_for_update().get(user=user_main)
if guanshi.last_tixian_date != today:
guanshi.jinritixian_jine = decimal.Decimal('0.00')
guanshi.last_tixian_date = today
guanshi.jinritixian_jine += shenqing_jine
guanshi.save(update_fields=['jinritixian_jine', 'last_tixian_date'])
elif leixing == 3:
zuzhang = UserZuzhang.objects.select_for_update().get(user=user_main)
if zuzhang.last_tixian_time and zuzhang.last_tixian_time.date() != today:
zuzhang.jinri_tixian = decimal.Decimal('0.00')
elif not zuzhang.last_tixian_time:
zuzhang.jinri_tixian = decimal.Decimal('0.00')
zuzhang.jinri_tixian += shenqing_jine
zuzhang.last_tixian_time = timezone.now()
zuzhang.save(update_fields=['jinri_tixian', 'last_tixian_time'])
def refund_balance(user_main, leixing, jine):
"""审核驳回时退还申请扣款额 shenqing_jine须在 transaction.atomic 内)"""
if leixing == 1:
dashou = UserDashou.objects.select_for_update().get(user=user_main)

View File

@@ -5761,17 +5761,16 @@ class AdtixianqkView(APIView):
# 🟢 新增如果同意提现result=2更新收支记录表
if result == 2:
try:
# 查询收支记录表id=1的记录
tixian_jine = withdrawal.jine
szjilu_record = Szjilu.objects.get(id=1)
from dingdan.utils import update_daily_payout
from yonghu.tixian_shenhe_services import record_manual_withdraw_success_stats
update_daily_payout(tixian_jine)
user_main = UserMain.objects.get(yonghuid=withdrawal.yonghuid)
record_manual_withdraw_success_stats(user_main, withdrawal)
# 获取提现金额
tixian_jine = withdrawal.jine # 假设提现记录模型中有jine字段
# 更新收支记录
szjilu_record.zongsy -= tixian_jine # 总收益减去提现金额
szjilu_record.zongsy -= tixian_jine
szjilu_record.zongzc += tixian_jine # 总支出加上提现金额
szjilu_record.jrzc += tixian_jine # 今日支出加上提现金额
szjilu_record.update_time = timezone.now()
@@ -12135,7 +12134,9 @@ class KefuWithdrawActionView(APIView):
tixian.zhuangtai = 2
try:
from dingdan.utils import update_daily_payout
from .tixian_shenhe_services import record_manual_withdraw_success_stats
update_daily_payout(tixian.jine)
record_manual_withdraw_success_stats(user, tixian)
from peizhi.models import Szjilu
szjilu, _ = Szjilu.objects.get_or_create(id=1)
szjilu.zongsy -= tixian.jine