fix: 换打手继承拼多多订单号;优化后台添加会员提示
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
"""后台会员管理:全局 Huiyuan 定义 + 各俱乐部 ClubHuiyuanPrice 售价/分成。"""
|
||||
import logging
|
||||
import random
|
||||
import string
|
||||
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.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 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):
|
||||
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):
|
||||
if resolve_club_scope(request) == DATA_SCOPE_ALL:
|
||||
return None, '集团汇总视图下不可修改,请切换到具体俱乐部'
|
||||
if club_write_blocked(request):
|
||||
return None, CLUB_WRITE_SCOPE_MSG
|
||||
|
||||
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):
|
||||
if resolve_club_scope(request) == DATA_SCOPE_ALL:
|
||||
return None, '集团汇总视图下不可添加,请切换到具体俱乐部'
|
||||
if club_write_blocked(request):
|
||||
return None, CLUB_WRITE_SCOPE_MSG
|
||||
|
||||
club_id = club_id_for_write(request)
|
||||
|
||||
@@ -136,26 +145,35 @@ def add_member_for_club(request, jieshao, jiage, guanshifc, zuzhangfc, jtjieshao
|
||||
if not Huiyuan.query.filter(huiyuan_id=new_id).exists():
|
||||
return new_id
|
||||
|
||||
with transaction.atomic():
|
||||
new_id = generate_huiyuan_id()
|
||||
member = Huiyuan.query.create(
|
||||
huiyuan_id=new_id,
|
||||
jieshao=jieshao,
|
||||
jiage=jiage,
|
||||
guanshifc=guanshifc,
|
||||
zuzhangfc=zuzhangfc,
|
||||
jtjieshao=jtjieshao,
|
||||
goumai_cishu=0,
|
||||
bankuai_id=bankuai_id,
|
||||
)
|
||||
ClubHuiyuanPrice.query.create(
|
||||
club_id=club_id,
|
||||
huiyuan_id=new_id,
|
||||
jiage=jiage,
|
||||
guanshifc=guanshifc,
|
||||
zuzhangfc=zuzhangfc,
|
||||
is_enabled=True,
|
||||
bankuai_id=bankuai_id,
|
||||
)
|
||||
try:
|
||||
with transaction.atomic():
|
||||
new_id = generate_huiyuan_id()
|
||||
create_kwargs = dict(
|
||||
huiyuan_id=new_id,
|
||||
jieshao=jieshao,
|
||||
jiage=jiage,
|
||||
guanshifc=guanshifc,
|
||||
zuzhangfc=zuzhangfc,
|
||||
jtjieshao=jtjieshao or '',
|
||||
goumai_cishu=0,
|
||||
)
|
||||
if bankuai_id is not None:
|
||||
create_kwargs['bankuai_id'] = bankuai_id
|
||||
member = Huiyuan.query.create(**create_kwargs)
|
||||
ClubHuiyuanPrice.query.create(
|
||||
club_id=club_id,
|
||||
huiyuan_id=new_id,
|
||||
jiage=jiage,
|
||||
guanshifc=guanshifc,
|
||||
zuzhangfc=zuzhangfc,
|
||||
is_enabled=True,
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user