From f6b99f96a4bc3cecda5198bebc5f2e4839e674df Mon Sep 17 00:00:00 2001 From: XingQue Date: Fri, 26 Jun 2026 02:22:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=9A=E5=91=98=E6=B0=B8=E4=B9=85?= =?UTF-8?q?=E5=88=86=E7=BA=A2=E7=94=9F=E6=95=88=EF=BC=8C=E7=AE=A1=E4=BA=8B?= =?UTF-8?q?/=E7=BB=84=E9=95=BF=E5=88=86=E7=BA=A2=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=8C=89=E4=BF=B1=E4=B9=90=E9=83=A8=E8=AF=BB=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/view.py | 17 ++++++++++++----- jituan/services/member_recharge.py | 16 ++++++++++++++++ 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/backend/view.py b/backend/view.py index 94d887e..d6877d7 100644 --- a/backend/view.py +++ b/backend/view.py @@ -3205,9 +3205,12 @@ class GetGuanliDetailView(APIView): m['jiage'] = str(m['jiage']) m['guanshifc'] = str(m['guanshifc']) - # 获取多次分红配置(按次数和会员组织) - # 查询该管事的所有多次分红记录 - duoci_records = DuociFenhong.query.filter(yonghuid=yonghuid).order_by('cishu') + # 获取多次分红配置(按次数和会员组织,按俱乐部隔离) + from jituan.services.club_penalty import resolve_gsfenhong_club_id + guanshi_club = resolve_gsfenhong_club_id(dashouid=yonghuid) + duoci_records = DuociFenhong.query.filter( + yonghuid=yonghuid, club_id=guanshi_club, + ).order_by('cishu') custom_first = {} # 首次分红定制(cishu=1) extra_map = {} # 其他次数 { cishu: { huiyuan_id: { guanshi_fenhong, jieshao, jiage } } } @@ -3947,8 +3950,12 @@ class GetZuzhangDetailView(APIView): m['jiage'] = str(m['jiage']) m['zuzhangfc'] = str(m['zuzhangfc']) - # 获取多次分红配置(按次数和会员组织) - duoci_records = DuociFenhong.query.filter(yonghuid=yonghuid).order_by('cishu') + # 获取多次分红配置(按次数和会员组织,按俱乐部隔离) + from jituan.services.club_penalty import resolve_gsfenhong_club_id + zuzhang_club = resolve_gsfenhong_club_id(dashouid=yonghuid) + duoci_records = DuociFenhong.query.filter( + yonghuid=yonghuid, club_id=zuzhang_club, + ).order_by('cishu') custom_first = {} # 首次分红定制(cishu=1) extra_map = {} # 其他次数 { cishu: { huiyuan_id: { zuzhang_fenhong, jieshao, jiage } } } diff --git a/jituan/services/member_recharge.py b/jituan/services/member_recharge.py index 71ec00c..a138791 100644 --- a/jituan/services/member_recharge.py +++ b/jituan/services/member_recharge.py @@ -227,6 +227,14 @@ def calc_guanshi_member_fenhong(huiyuan_id, guanshi_id, cishu, club_id, default_ if cishu == 1: base = default_guanshi_fc if default_guanshi_fc is not None else Decimal('0') return base if base > 0 else None + try: + guanshi = UserGuanshi.query.get(user__UserUID=guanshi_id) + if guanshi.fenghong_erci_enabled: + permanent = Decimal(str(guanshi.fenghong_erci or 0)) + if permanent > 0: + return permanent + except UserGuanshi.DoesNotExist: + pass return None @@ -240,6 +248,14 @@ def calc_zuzhang_member_fenhong(huiyuan_id, zuzhang_id, cishu, club_id, default_ if cishu == 1: base = default_zuzhang_fc if default_zuzhang_fc is not None else Decimal('0') return base if base > 0 else None + try: + zuzhang = UserZuzhang.query.get(user__UserUID=zuzhang_id) + if zuzhang.kaioi_ewai_fenhong: + permanent = Decimal(str(zuzhang.ewai_fenhong_jine or 0)) + if permanent > 0: + return permanent + except UserZuzhang.DoesNotExist: + pass return None