fix: 体验/总会员抢单池显示与接单权限
统一 clumber 返回 huiyuanid 并展开总会员子类型;抢单池接口对已具备会员权限的用户将 yaoqiuleixing 置 0,使小程序无需发版即可正常显示分佣并抢单。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -653,20 +653,11 @@ class DashouZhuceView(APIView):
|
||||
}
|
||||
|
||||
# 查询并处理会员列表 (clumber)
|
||||
# 使用当前用户的yonghuid进行查询
|
||||
huiyuan_goumai_list = []
|
||||
if not is_new: # 如果是新用户,直接返回空列表,无需查询
|
||||
goumai_records = Huiyuangoumai.query.filter(yonghu_id=current_user.UserUID)
|
||||
for record in goumai_records:
|
||||
# 调用方法检查是否到期,此方法内部会更新状态
|
||||
shifou_daoqi = record.jiance_shifou_daoqi()
|
||||
huiyuan_goumai_list.append({
|
||||
'huiyuan_id': record.huiyuan_id,
|
||||
'huiyuan_zhuangtai': record.huiyuan_zhuangtai,
|
||||
'daoqi_time': record.daoqi_time.isoformat() if record.daoqi_time else None,
|
||||
'shifou_daoqi': shifou_daoqi,
|
||||
'jieshao': record.jieshao
|
||||
})
|
||||
from jituan.services.huiyuan_bundle import build_auth_clumber
|
||||
if is_new:
|
||||
huiyuan_goumai_list = []
|
||||
else:
|
||||
huiyuan_goumai_list = build_auth_clumber(current_user.UserUID)
|
||||
|
||||
data['clumber'] = huiyuan_goumai_list
|
||||
return data
|
||||
@@ -1234,19 +1225,8 @@ class WechatLoginAndDashouRegisterView(APIView):
|
||||
}
|
||||
|
||||
# 查询并处理会员列表 (clumber)
|
||||
# 使用当前用户的yonghuid进行查询
|
||||
huiyuan_goumai_list = []
|
||||
goumai_records = Huiyuangoumai.query.filter(yonghu_id=dashou_profile.user.UserUID)
|
||||
for record in goumai_records:
|
||||
# 调用方法检查是否到期,此方法内部会更新状态
|
||||
shifou_daoqi = record.jiance_shifou_daoqi()
|
||||
huiyuan_goumai_list.append({
|
||||
'huiyuan_id': record.huiyuan_id,
|
||||
'huiyuan_zhuangtai': record.huiyuan_zhuangtai,
|
||||
'daoqi_time': record.daoqi_time.isoformat() if record.daoqi_time else None,
|
||||
'shifou_daoqi': shifou_daoqi,
|
||||
'jieshao': record.jieshao
|
||||
})
|
||||
from jituan.services.huiyuan_bundle import build_auth_clumber
|
||||
huiyuan_goumai_list = build_auth_clumber(dashou_profile.user.UserUID)
|
||||
|
||||
data['clumber'] = huiyuan_goumai_list
|
||||
return data
|
||||
@@ -1442,20 +1422,12 @@ class WechatLoginAndGuanshiRegisterView(APIView):
|
||||
'zaixianzhuangtai': dashou_profile.zaixianzhuangtai,
|
||||
'dashouzhuangtai': dashou_profile.zhuangtai,
|
||||
}
|
||||
huiyuan_list = []
|
||||
from jituan.services.huiyuan_bundle import build_auth_clumber
|
||||
try:
|
||||
records = Huiyuangoumai.query.filter(yonghu_id=dashou_profile.user.UserUID)
|
||||
for record in records:
|
||||
shifou_daoqi = record.jiance_shifou_daoqi()
|
||||
huiyuan_list.append({
|
||||
'huiyuan_id': record.huiyuan_id,
|
||||
'huiyuan_zhuangtai': record.huiyuan_zhuangtai,
|
||||
'daoqi_time': record.daoqi_time.isoformat() if record.daoqi_time else None,
|
||||
'shifou_daoqi': shifou_daoqi,
|
||||
'jieshao': record.jieshao
|
||||
})
|
||||
huiyuan_list = build_auth_clumber(dashou_profile.user.UserUID)
|
||||
except Exception as e:
|
||||
logger.warning(f"获取会员列表失败: {e}")
|
||||
huiyuan_list = []
|
||||
data['clumber'] = huiyuan_list
|
||||
return data
|
||||
|
||||
@@ -1676,20 +1648,12 @@ class GuanshiRegisterView(APIView):
|
||||
}
|
||||
|
||||
# 会员列表
|
||||
huiyuan_list = []
|
||||
from jituan.services.huiyuan_bundle import build_auth_clumber
|
||||
try:
|
||||
records = Huiyuangoumai.query.filter(yonghu_id=dashou_profile.user.UserUID)
|
||||
for record in records:
|
||||
shifou_daoqi = record.jiance_shifou_daoqi()
|
||||
huiyuan_list.append({
|
||||
'huiyuan_id': record.huiyuan_id,
|
||||
'huiyuan_zhuangtai': record.huiyuan_zhuangtai,
|
||||
'daoqi_time': record.daoqi_time.isoformat() if record.daoqi_time else None,
|
||||
'shifou_daoqi': shifou_daoqi,
|
||||
'jieshao': record.jieshao
|
||||
})
|
||||
huiyuan_list = build_auth_clumber(dashou_profile.user.UserUID)
|
||||
except Exception as e:
|
||||
logger.warning(f"获取会员列表失败: {e}")
|
||||
huiyuan_list = []
|
||||
data['clumber'] = huiyuan_list
|
||||
return data
|
||||
|
||||
|
||||
@@ -337,22 +337,11 @@ class DashouXinxiAPIView(APIView):
|
||||
'chenghao': dashou_profile.chenghao or '',
|
||||
}
|
||||
|
||||
# 4. 查询会员信息(原有逻辑)
|
||||
huiyuan_list = []
|
||||
# 4. 查询会员信息(含体验会员、总会员子类型展开)
|
||||
try:
|
||||
huiyuan_records = Huiyuangoumai.query.filter(
|
||||
yonghu_id=yonghuid
|
||||
).select_related()
|
||||
|
||||
for record in huiyuan_records:
|
||||
# 过期检测会同步更新 huiyuan_zhuangtai
|
||||
if record.jiance_shifou_daoqi():
|
||||
continue
|
||||
if record.huiyuan_zhuangtai == 1:
|
||||
from jituan.services.huiyuan_bundle import enrich_clumber_item
|
||||
huiyuan_list.append(enrich_clumber_item(record))
|
||||
except Exception as e:
|
||||
# 会员信息查询失败不影响主要功能,返回空列表
|
||||
from jituan.services.huiyuan_bundle import build_user_clumber
|
||||
huiyuan_list = build_user_clumber(yonghuid)
|
||||
except Exception:
|
||||
huiyuan_list = []
|
||||
|
||||
data['clumber'] = huiyuan_list
|
||||
|
||||
Reference in New Issue
Block a user