fix: 恢复refund_balance定义,手动打款同意补齐每日提现统计
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -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:按实际到账 shijidaozhang(tixian.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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user