diff --git a/shangpin/views.py b/shangpin/views.py index 2ab40b8..ce8d8b2 100644 --- a/shangpin/views.py +++ b/shangpin/views.py @@ -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)