15fb73791f
## 需求背景 将比价、短信与登录、广告、引导与账号、风控免告警等限制统一配置,并支持按手机号或设备设置有有效期的临时白名单。 ## 主要改动 - 新增统一限制策略注册表、全局 JSON 配置与白名单覆盖表 - 新增白名单管理、设备检索、批量追加与主体统一编辑接口 - 接入比价、短信登录、广告奖励、引导视频、账号换绑及风险告警调用链 - 保留旧配置接口兼容,并同步统一策略全局值 - 增加单主体唯一有效期、恢复全局、审计日志和风险事件自动处理 - 增加数据库迁移及完整回归测试 ## 验证 - 白名单、权限、配置及风控测试 50 项通过 - 短信、登录、比价、广告关联测试 98 项通过 - Ruff 与 Python 编译检查通过 - Alembic 保持单一 head - 已同步最新 main --------- Co-authored-by: unknown <798648091@qq.com> Reviewed-on: #207 Co-authored-by: linkeyu <linkeyu@wonderable.ai> Co-committed-by: linkeyu <linkeyu@wonderable.ai>
61 lines
3.0 KiB
Python
61 lines
3.0 KiB
Python
"""所有 ORM model 必须在这里 import 一次,Alembic / metadata 才能扫到。"""
|
|
from app.models.ad_ecpm import AdEcpmRecord # noqa: F401
|
|
from app.models.ad_feed_reward import AdFeedRewardRecord # noqa: F401
|
|
from app.models.ad_pangle_revenue import AdPangleDailyRevenue # noqa: F401
|
|
from app.models.ad_reward import AdRewardRecord # noqa: F401
|
|
from app.models.ad_watch_log import AdWatchLog # noqa: F401
|
|
from app.models.admin import AdminAuditLog, AdminUser # noqa: F401
|
|
from app.models.admin_role import AdminRole # noqa: F401
|
|
from app.models.analytics_event import AnalyticsEvent # noqa: F401
|
|
from app.models.analytics_selfstat import ( # noqa: F401
|
|
AnalyticsSelfStat,
|
|
AnalyticsSelfStatEvent,
|
|
)
|
|
from app.models.app_config import AppConfig # noqa: F401
|
|
from app.models.comparison import ComparisonRecord # noqa: F401
|
|
from app.models.comparison_milestone import ComparisonMilestoneClaim # noqa: F401
|
|
from app.models.coupon_state import ( # noqa: F401
|
|
CouponClaimEvent,
|
|
CouponClaimRecord,
|
|
CouponDailyCompletion,
|
|
CouponPromptEngagement,
|
|
CouponSession,
|
|
)
|
|
from app.models.cps_activity import CpsActivity # noqa: F401
|
|
from app.models.cps_group import CpsGroup # noqa: F401
|
|
from app.models.cps_link import CpsClick, CpsLink # noqa: F401
|
|
from app.models.cps_order import CpsOrder # noqa: F401
|
|
from app.models.cps_wx_user import CpsWxUser # noqa: F401
|
|
from app.models.device import DeviceLiveness # noqa: F401
|
|
from app.models.feedback import Feedback # noqa: F401
|
|
from app.models.guide_video import GuideVideoPlay # noqa: F401
|
|
from app.models.inactivity import ( # noqa: F401
|
|
InactivityNotificationLog,
|
|
InactivityResetLog,
|
|
)
|
|
from app.models.invite import InviteRelation # noqa: F401
|
|
from app.models.invite_fingerprint import InviteFingerprint # noqa: F401
|
|
from app.models.launch_confirm_sample import LaunchConfirmSample # noqa: F401
|
|
from app.models.limit_policy import LimitPolicyOverride # noqa: F401
|
|
from app.models.meituan_coupon import MeituanCoupon # noqa: F401
|
|
from app.models.notification import Notification # noqa: F401
|
|
from app.models.onboarding import OnboardingCompletion # noqa: F401
|
|
from app.models.ops_marquee_seed import OpsMarqueeSeed # noqa: F401
|
|
from app.models.ops_stat_config import OpsStatConfig # noqa: F401
|
|
from app.models.phone_rebind_log import PhoneRebindLog # noqa: F401
|
|
from app.models.price_observation import PriceObservation # noqa: F401
|
|
from app.models.price_report import PriceReport # noqa: F401
|
|
from app.models.risk import BehaviorEvent, RiskIncident, SubjectRestriction # noqa: F401
|
|
from app.models.savings import SavingsRecord # noqa: F401
|
|
from app.models.signin import SigninRecord # noqa: F401
|
|
from app.models.store_mapping import StoreMapping # noqa: F401
|
|
from app.models.task import UserTask # noqa: F401
|
|
from app.models.user import User # noqa: F401
|
|
from app.models.wallet import ( # noqa: F401
|
|
CashTransaction,
|
|
CoinAccount,
|
|
CoinTransaction,
|
|
InviteCashTransaction,
|
|
WithdrawOrder,
|
|
)
|