新增点单隐藏式商品类型(shenhezhuangtai=4):扫管事码后点单可见,抢单池展示3+4,商家端仍仅3。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
XingQue
2026-07-21 22:12:33 +08:00
parent 9656973923
commit c865b51cdb
8 changed files with 90 additions and 15 deletions

View File

@@ -0,0 +1,21 @@
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('yonghu', '0026_xiugaijilu_zuzhang_and_indexes'),
]
operations = [
migrations.AddField(
model_name='usermain',
name='guanshi_saoma',
field=models.PositiveSmallIntegerField(
db_index=True,
default=0,
help_text='0=未扫 1=已扫',
verbose_name='是否扫过管事二维码',
),
),
]

View File

@@ -47,6 +47,14 @@ class UserMain(AbstractBaseUser):
create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间')
# 是否扫过管事二维码0未扫 1已扫扫过后点单端展示隐藏式商品(shenhezhuangtai=4)
guanshi_saoma = models.PositiveSmallIntegerField(
default=0,
db_index=True,
verbose_name='是否扫过管事二维码',
help_text='0=未扫 1=已扫',
)
# 邀请码字段
#yaoqingma = models.CharField(max_length=20, blank=True, null=True, verbose_name='邀请码')

View File

@@ -1376,6 +1376,7 @@ class DashouZhuceView(APIView):
try:
from utils.dashou_register_service import (
create_dashou_for_user,
mark_guanshi_qr_scanned,
resolve_guanshi_for_dashou_register,
)
@@ -1389,6 +1390,9 @@ class DashouZhuceView(APIView):
'data': None
}, status=status.HTTP_404_NOT_FOUND)
# 真实扫码(带了邀请码)才标记,空码走默认不标记
mark_guanshi_qr_scanned(current_user, yaoqingma)
# 2. 检查用户是否已是打手 (使用反向查询,性能最优)
try:
dashou_profile = current_user.dashou_profile
@@ -6650,6 +6654,7 @@ class WechatLoginAndDashouRegisterView(APIView):
from utils.dashou_register_service import (
create_dashou_for_user,
ensure_guanshi_profile_for_user,
mark_guanshi_qr_scanned,
resolve_guanshi_for_dashou_register,
)
@@ -6696,6 +6701,9 @@ class WechatLoginAndDashouRegisterView(APIView):
# 新用户:创建老板扩展表
UserBoss.objects.create(user=user_main, nickname='微信用户')
# 真实扫码(带了邀请码)才标记
mark_guanshi_qr_scanned(user_main, yaoqingma)
# 验证管事状态
if guanshi_profile.zhuangtai != 1:
return self.fanhuiZhihouDengluXinxi(user_main, guanshi_jinyong=True)