点单商品仅按 guanshi_saoma 扫码标记筛选隐藏式,去掉邀请人校验。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -7,7 +7,7 @@ from django.db import models
|
||||
from shangpin.models import ShangpinLeixing, ShangpinZhuanqu, Shangpin
|
||||
from utils.xcx_sys_config import get_shangpin_shenhe_zhuangtai
|
||||
from utils.jwt_auth import OptionalYonghuidJWTAuthentication, YonghuidJWTAuthentication
|
||||
from yonghu.models import UserMain, UserDashou
|
||||
from yonghu.models import UserMain
|
||||
import logging
|
||||
from rest_framework.permissions import AllowAny # 新增这行
|
||||
|
||||
@@ -22,9 +22,8 @@ class ShangpinHuoquView(APIView):
|
||||
一次性返回商品类型、商品专区、商品列表
|
||||
|
||||
筛选规则:
|
||||
- 已登录且满足任一条件,只返回 shenhezhuangtai=4(隐藏式),与体验开关无关:
|
||||
1) 扫过管事二维码 guanshi_saoma=1
|
||||
2) 已是打手且有邀请人 yaoqingren
|
||||
- 已登录且扫过管事二维码(guanshi_saoma=1):只返回 shenhezhuangtai=4(隐藏式),
|
||||
与后台「点单商品展示/体验」开关无关
|
||||
- 其它:按全局审核开关返回 1 或 2(原逻辑不变)
|
||||
"""
|
||||
|
||||
@@ -73,7 +72,7 @@ class ShangpinHuoquView(APIView):
|
||||
return None
|
||||
|
||||
def _resolve_shenhe_filter(self, request):
|
||||
"""扫码标记或打手有邀请人 → 强制隐藏式4;否则走体验开关。"""
|
||||
"""仅看是否扫过管事码;扫过则强制隐藏式4,否则走体验开关。"""
|
||||
user = self._resolve_request_user(request)
|
||||
if user is not None:
|
||||
yonghuid = getattr(user, 'yonghuid', '')
|
||||
@@ -84,22 +83,10 @@ class ShangpinHuoquView(APIView):
|
||||
yonghuid,
|
||||
)
|
||||
return 4
|
||||
# 打手且有邀请人:与扫码同等效果;顺带补写扫码标记,避免下次再漏
|
||||
dashou = UserDashou.objects.filter(user_id=user.pk).only('yaoqingren').first()
|
||||
inviter = (dashou.yaoqingren or '').strip() if dashou else ''
|
||||
if inviter:
|
||||
UserMain.objects.filter(pk=user.pk).exclude(guanshi_saoma=1).update(guanshi_saoma=1)
|
||||
logger.info(
|
||||
'点单商品:打手有邀请人(%s),强制隐藏式4 yonghuid=%s',
|
||||
inviter,
|
||||
yonghuid,
|
||||
)
|
||||
return 4
|
||||
logger.info(
|
||||
'点单商品:已识别用户但未扫码且无打手邀请人 guanshi_saoma=%s yonghuid=%s dashou=%s',
|
||||
'点单商品:已识别用户但未扫管事码 guanshi_saoma=%s yonghuid=%s',
|
||||
saoma,
|
||||
yonghuid,
|
||||
bool(dashou),
|
||||
)
|
||||
shenhe = get_shangpin_shenhe_zhuangtai()
|
||||
logger.info('点单商品:按体验开关 shenhezhuangtai=%s', shenhe)
|
||||
|
||||
Reference in New Issue
Block a user