diff --git a/jituan/services/dashou_exam.py b/jituan/services/dashou_exam.py index 22e563f..faffd5f 100644 --- a/jituan/services/dashou_exam.py +++ b/jituan/services/dashou_exam.py @@ -7,6 +7,7 @@ import uuid from django.utils import timezone from jituan.services.admin_context import build_admin_club_context + from jituan.constants import CLUB_ID_DEFAULT, DATA_SCOPE_ALL from jituan.models import ( Club, @@ -103,8 +104,9 @@ def config_to_dict(row): } -def user_has_active_member(yonghuid, club_id): - for r in Huiyuangoumai.query.filter(yonghu_id=yonghuid, club_id=club_id): +def user_has_active_member(yonghuid, club_id=None): + """是否有任意有效会员(与 /yonghu/dashouxinxi 的 clumber 逻辑一致)。""" + for r in Huiyuangoumai.query.filter(yonghu_id=yonghuid): if r.huiyuan_zhuangtai == 1 and not r.jiance_shifou_daoqi(): return True return False diff --git a/users/views.py b/users/views.py index 9163118..bd9da83 100644 --- a/users/views.py +++ b/users/views.py @@ -761,10 +761,9 @@ class DashouXinxiAPIView(APIView): ).select_related() for record in huiyuan_records: - # 检查会员是否过期 - is_expired = record.jiance_shifou_daoqi() - - # 只返回未过期的会员(huiyuan_zhuangtai = 1) + # 过期检测会同步更新 huiyuan_zhuangtai + if record.jiance_shifou_daoqi(): + continue if record.huiyuan_zhuangtai == 1: huiyuan_list.append({ 'huiyuanid': record.huiyuan_id,