fix: 换打手继承拼多多订单号;优化后台添加会员提示
This commit is contained in:
@@ -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
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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,26 +145,35 @@ 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
|
||||||
|
|
||||||
with transaction.atomic():
|
try:
|
||||||
new_id = generate_huiyuan_id()
|
with transaction.atomic():
|
||||||
member = Huiyuan.query.create(
|
new_id = generate_huiyuan_id()
|
||||||
huiyuan_id=new_id,
|
create_kwargs = dict(
|
||||||
jieshao=jieshao,
|
huiyuan_id=new_id,
|
||||||
jiage=jiage,
|
jieshao=jieshao,
|
||||||
guanshifc=guanshifc,
|
jiage=jiage,
|
||||||
zuzhangfc=zuzhangfc,
|
guanshifc=guanshifc,
|
||||||
jtjieshao=jtjieshao,
|
zuzhangfc=zuzhangfc,
|
||||||
goumai_cishu=0,
|
jtjieshao=jtjieshao or '',
|
||||||
bankuai_id=bankuai_id,
|
goumai_cishu=0,
|
||||||
)
|
)
|
||||||
ClubHuiyuanPrice.query.create(
|
if bankuai_id is not None:
|
||||||
club_id=club_id,
|
create_kwargs['bankuai_id'] = bankuai_id
|
||||||
huiyuan_id=new_id,
|
member = Huiyuan.query.create(**create_kwargs)
|
||||||
jiage=jiage,
|
ClubHuiyuanPrice.query.create(
|
||||||
guanshifc=guanshifc,
|
club_id=club_id,
|
||||||
zuzhangfc=zuzhangfc,
|
huiyuan_id=new_id,
|
||||||
is_enabled=True,
|
jiage=jiage,
|
||||||
bankuai_id=bankuai_id,
|
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
|
return {'huiyuan_id': member.huiyuan_id}, None
|
||||||
|
|||||||
@@ -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 等
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user