feat: 提现审核按俱乐部隔离并加固打款商户号,新增小溪审核目录复制脚本

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
XingQue
2026-07-26 01:20:42 +08:00
parent 332c42c85d
commit 280d8742c9
10 changed files with 661 additions and 38 deletions

View File

@@ -2285,6 +2285,8 @@ class AddtxshView(APIView):
# 🔴【修改】排序改为按申请时间升序(最早申请排最前)
queryset = Tixianjilu.query.filter(query).order_by('CreateTime')
from jituan.services.tixian_club import filter_tixianjilu_by_request
queryset = filter_tixianjilu_by_request(queryset, request)
# 🔴【修改】分页逻辑:如果是搜索模式,不分页,返回所有匹配记录
if search_uid:
@@ -2297,8 +2299,11 @@ class AddtxshView(APIView):
current_count = len(records)
has_more = (offset + current_count) < total_count
# 获取状态统计(统计与搜索无关,依然按筛选条件统计)
_agg = Tixianjilu.query.filter(leixing=leixing).aggregate(
# 获取状态统计(统计与搜索无关,依然按筛选条件统计;按俱乐部隔离
_status_qs = filter_tixianjilu_by_request(
Tixianjilu.query.filter(leixing=leixing), request,
)
_agg = _status_qs.aggregate(
awaiting=Count('id', filter=Q(zhuangtai=1)),
processed=Count('id', filter=Q(zhuangtai__in=[2, 3])),
)
@@ -2393,6 +2398,11 @@ class AdtixianqkView(APIView):
'data': None
}, status=status.HTTP_404_NOT_FOUND)
from jituan.services.tixian_club import forbid_if_tixian_out_of_scope
deny = forbid_if_tixian_out_of_scope(request, withdrawal)
if deny:
return deny
# 检查状态,只有待审核的可以处理
if withdrawal.zhuangtai != 1:
return Response({
@@ -2418,9 +2428,10 @@ class AdtixianqkView(APIView):
try:
from jituan.services.szjilu_accounting import apply_szjilu_expense
tixian_jine = withdrawal.jine
from jituan.services.club_user import get_user_club_id
payout_club = get_user_club_id(
User.query.filter(UserUID=withdrawal.yonghuid).first()
from jituan.services.tixian_club import resolve_payout_club_id
payout_club = resolve_payout_club_id(
jilu=withdrawal,
user=User.query.filter(UserUID=withdrawal.yonghuid).first(),
)
update_daily_payout(tixian_jine, payout_club)
apply_szjilu_expense(tixian_jine, payout_club)

View File

@@ -699,14 +699,15 @@ class KefuWithdrawActionView(APIView):
except User.DoesNotExist:
raise ValueError(f'用户{tixian.yonghuid}不存在')
from jituan.services.club_user import get_user_club_id
from jituan.services.tixian_club import resolve_payout_club_id
if action == 1:
tixian.zhuangtai = 2
try:
from jituan.services.szjilu_accounting import apply_szjilu_expense
update_daily_payout(tixian.jine, get_user_club_id(user))
apply_szjilu_expense(tixian.jine, get_user_club_id(user))
payout_club = resolve_payout_club_id(jilu=tixian, user=user)
update_daily_payout(tixian.jine, payout_club)
apply_szjilu_expense(tixian.jine, payout_club)
except Exception as e:
logger.error(f'更新收支记录失败: {e}')
else: