feat: 商品/专区/店铺按俱乐部分离,工单统计与点单手机号认证

商品与专区、店铺增加 club_id(历史默认 xq);列表按俱乐部过滤;工单列表返回待办统计;新增 hqshouji/rzwlsjh 手机号查询与认证接口。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
XingQue
2026-07-21 01:55:14 +08:00
parent 7c6e14db01
commit d5b8ff5b8a
15 changed files with 332 additions and 80 deletions

View File

@@ -142,8 +142,10 @@ class ShopListView(APIView):
zhengqu_zonge_min = request.data.get('zhengqu_zonge_min')
zhengqu_zonge_max = request.data.get('zhengqu_zonge_max')
# 4. 构建查询集(先查店铺,预加载关联凭证)
# 4. 构建查询集(先查店铺,预加载关联凭证;按俱乐部隔离
from jituan.services.club_context import filter_club_char_field
queryset = Dianpu.query.select_related('pingzheng').all()
queryset = filter_club_char_field(queryset, request, field='club_id')
if dianpu_mingcheng:
queryset = queryset.filter(dianpu_mingcheng__icontains=dianpu_mingcheng)
@@ -189,6 +191,7 @@ class ShopListView(APIView):
'kaiqi_meiri_xiane': dianpu.kaiqi_meiri_xiane,
'pingzheng__yonghu': pingzheng.yonghu, # 用户ID
'pingzheng__zhanghao': pingzheng.zhanghao, # 登录账号
'club_id': getattr(dianpu, 'club_id', '') or '',
})
# 获取默认配置ID=1不存在则创建
@@ -327,6 +330,7 @@ class ShopModifyView(APIView):
mima=mima,
is_active=True
)
from jituan.services.club_write import resolve_club_id_for_write
dianpu = Dianpu.query.create(
pingzheng=pingzheng,
dianpu_mingcheng=dianpu_mingcheng,
@@ -336,6 +340,7 @@ class ShopModifyView(APIView):
shouyi_choucheng_feilv=request.data.get('shouyi_choucheng_feilv', 0),
kaiqi_meiri_xiane=request.data.get('kaiqi_meiri_xiane', False),
meiri_tixian_xiane=request.data.get('meiri_tixian_xiane', 0),
club_id=resolve_club_id_for_write(request),
)
return Response({'code': 0, 'msg': '店铺创建成功', 'dianpu_id': dianpu.id})
except IntegrityError as e:
@@ -458,8 +463,10 @@ class ShopListForProductView(APIView):
# 店铺状态筛选1正常0封禁不传则全部
zhuangtai = request.data.get('zhuangtai')
# ---------- 构建查询集关联凭证表获取用户ID ----------
# ---------- 构建查询集关联凭证表获取用户ID;按俱乐部隔离 ----------
from jituan.services.club_context import filter_club_char_field
shops = Dianpu.query.select_related('pingzheng').all()
shops = filter_club_char_field(shops, request, field='club_id')
# 状态筛选:只接受 0 或 1
if zhuangtai is not None: