fix: 换打手继承拼多多订单号;优化后台添加会员提示

This commit is contained in:
XingQue
2026-06-25 22:47:19 +08:00
parent 93e68fe20f
commit deb1688d0c
3 changed files with 46 additions and 26 deletions

View File

@@ -8644,6 +8644,7 @@ class ZxkfghdsView(APIView):
Remark=old_order.Remark, Remark=old_order.Remark,
User1ID=old_order.User1ID, # 商家标识 User1ID=old_order.User1ID, # 商家标识
ImageURL=old_order.ImageURL, ImageURL=old_order.ImageURL,
ExternalOrderID=old_order.ExternalOrderID,
ClubID=getattr(old_order, 'ClubID', None) or 'xq', ClubID=getattr(old_order, 'ClubID', None) or 'xq',
# 注意:不继承 AssignedID、PlayerID # 注意:不继承 AssignedID、PlayerID
) )

View File

@@ -1,9 +1,10 @@
"""后台会员管理:全局 Huiyuan 定义 + 各俱乐部 ClubHuiyuanPrice 售价/分成。""" """后台会员管理:全局 Huiyuan 定义 + 各俱乐部 ClubHuiyuanPrice 售价/分成。"""
import logging
import random import random
import string import string
from decimal import Decimal from decimal import Decimal
from django.db import transaction from django.db import transaction, IntegrityError
from jituan.constants import CLUB_ID_DEFAULT, DATA_SCOPE_ALL from jituan.constants import CLUB_ID_DEFAULT, DATA_SCOPE_ALL
from jituan.models import ClubHuiyuanPrice from jituan.models import ClubHuiyuanPrice
@@ -11,6 +12,14 @@ from jituan.services.club_context import club_id_for_write, resolve_club_id_from
from jituan.services.club_user_access import list_response_meta from jituan.services.club_user_access import list_response_meta
from products.models import Huiyuan from products.models import Huiyuan
logger = logging.getLogger(__name__)
CLUB_WRITE_SCOPE_MSG = '当前为集团汇总视图,请先在顶栏切换到具体俱乐部(如星阙、星之界)后再操作'
def club_write_blocked(request):
return resolve_club_scope(request) == DATA_SCOPE_ALL
def _format_member(m, price_row=None): def _format_member(m, price_row=None):
global_jiage = str(m.jiage) global_jiage = str(m.jiage)
@@ -82,8 +91,8 @@ def build_member_list_payload(request):
def update_member_for_club(request, huiyuan_id, jieshao, jiage, guanshifc, zuzhangfc, jtjieshao): def update_member_for_club(request, huiyuan_id, jieshao, jiage, guanshifc, zuzhangfc, jtjieshao):
if resolve_club_scope(request) == DATA_SCOPE_ALL: if club_write_blocked(request):
return None, '集团汇总视图下不可修改,请切换到具体俱乐部' return None, CLUB_WRITE_SCOPE_MSG
club_id = club_id_for_write(request) club_id = club_id_for_write(request)
@@ -125,8 +134,8 @@ def update_member_for_club(request, huiyuan_id, jieshao, jiage, guanshifc, zuzha
def add_member_for_club(request, jieshao, jiage, guanshifc, zuzhangfc, jtjieshao, bankuai_id=None): def add_member_for_club(request, jieshao, jiage, guanshifc, zuzhangfc, jtjieshao, bankuai_id=None):
if resolve_club_scope(request) == DATA_SCOPE_ALL: if club_write_blocked(request):
return None, '集团汇总视图下不可添加,请切换到具体俱乐部' return None, CLUB_WRITE_SCOPE_MSG
club_id = club_id_for_write(request) club_id = club_id_for_write(request)
@@ -136,18 +145,21 @@ def add_member_for_club(request, jieshao, jiage, guanshifc, zuzhangfc, jtjieshao
if not Huiyuan.query.filter(huiyuan_id=new_id).exists(): if not Huiyuan.query.filter(huiyuan_id=new_id).exists():
return new_id return new_id
try:
with transaction.atomic(): with transaction.atomic():
new_id = generate_huiyuan_id() new_id = generate_huiyuan_id()
member = Huiyuan.query.create( create_kwargs = dict(
huiyuan_id=new_id, huiyuan_id=new_id,
jieshao=jieshao, jieshao=jieshao,
jiage=jiage, jiage=jiage,
guanshifc=guanshifc, guanshifc=guanshifc,
zuzhangfc=zuzhangfc, zuzhangfc=zuzhangfc,
jtjieshao=jtjieshao, jtjieshao=jtjieshao or '',
goumai_cishu=0, goumai_cishu=0,
bankuai_id=bankuai_id,
) )
if bankuai_id is not None:
create_kwargs['bankuai_id'] = bankuai_id
member = Huiyuan.query.create(**create_kwargs)
ClubHuiyuanPrice.query.create( ClubHuiyuanPrice.query.create(
club_id=club_id, club_id=club_id,
huiyuan_id=new_id, huiyuan_id=new_id,
@@ -157,5 +169,11 @@ def add_member_for_club(request, jieshao, jiage, guanshifc, zuzhangfc, jtjieshao
is_enabled=True, is_enabled=True,
bankuai_id=bankuai_id, bankuai_id=bankuai_id,
) )
except IntegrityError as e:
logger.exception('添加会员失败 club_id=%s', club_id)
return None, f'添加失败:数据冲突({e}'
except Exception as e:
logger.exception('添加会员失败 club_id=%s', club_id)
return None, f'添加失败:{e}'
return {'huiyuan_id': member.huiyuan_id}, None return {'huiyuan_id': member.huiyuan_id}, None

View File

@@ -6339,6 +6339,7 @@ class ZxsjghdsView(APIView):
User1ID=user1_id, # 商家标识 User1ID=user1_id, # 商家标识
ImageURL=tupian, ImageURL=tupian,
ExternalOrderID=waibu_dingdan_id, ExternalOrderID=waibu_dingdan_id,
ClubID=getattr(old_order, 'ClubID', None) or 'xq',
# 不继承zhiding_id, jiedan_dashou_id, dashou_liuyan 等 # 不继承zhiding_id, jiedan_dashou_id, dashou_liuyan 等
) )