Compare commits
merge into: WonderableAI/shaguabijia-app-server:main
WonderableAI/shaguabijia-app-server:main
WonderableAI/shaguabijia-app-server:feat/inactivity-reset
WonderableAI/shaguabijia-app-server:poc/wx-kf-compare
WonderableAI/shaguabijia-app-server:ljh-dev
WonderableAI/shaguabijia-app-server:fix/newbie-tier-restore-on-refund
WonderableAI/shaguabijia-app-server:feat/device-info-table
WonderableAI/shaguabijia-app-server:feat/wechat-login
WonderableAI/shaguabijia-app-server:poc/wx-screenshot-compare
WonderableAI/shaguabijia-app-server:feat/oppo-withdraw-push
WonderableAI/shaguabijia-app-server:fix/sms-send-quota-count-success
WonderableAI/shaguabijia-app-server:feat/inactive-account-clear
WonderableAI/shaguabijia-app-server:fix/ad-reward-result-by-session
WonderableAI/shaguabijia-app-server:feature/direct-vendor-push-main-20260702
WonderableAI/shaguabijia-app-server:feat/llm-token-cost
WonderableAI/shaguabijia-app-server:fix/withdraw-repeat-login-state
WonderableAI/shaguabijia-app-server:feat/per-session-ad-revenue
WonderableAI/shaguabijia-app-server:79ljh
WonderableAI/shaguabijia-app-server:dev0708
WonderableAI/shaguabijia-app-server:feat/coupon-success-rate
WonderableAI/shaguabijia-app-server:feat/analytics-success-rate
WonderableAI/shaguabijia-app-server:admin-custom-perms
WonderableAI/shaguabijia-app-server:fix/dashboard-reward-coin-feed-scene
WonderableAI/shaguabijia-app-server:7-6ljh
WonderableAI/shaguabijia-app-server:feat/marquee-real-shuffle-and-browse
WonderableAI/shaguabijia-app-server:origin/intern/chenshuobo/dashboard-jd-cps-20260628
WonderableAI/shaguabijia-app-server:feat/marquee-preview-mode-and-default-nickname
WonderableAI/shaguabijia-app-server:fix/invite-cash-ledger-reconcile
WonderableAI/shaguabijia-app-server:feat/admin-dashboard-metrics
WonderableAI/shaguabijia-app-server:feat/openobserve-api-metrics
WonderableAI/shaguabijia-app-server:feat/ad-report-period-dau-arpu
WonderableAI/shaguabijia-app-server:feat/admin-rbac-config-compare
WonderableAI/shaguabijia-app-server:feat/meituan-cps-city-geo
WonderableAI/shaguabijia-app-server:7-4ljh
WonderableAI/shaguabijia-app-server:feat/compare-record-backend-harvest
WonderableAI/shaguabijia-app-server:7-1ljh-invite-reward-notest
WonderableAI/shaguabijia-app-server:7-3-ljh-testlab
WonderableAI/shaguabijia-app-server:feat/api-docs-reorg
WonderableAI/shaguabijia-app-server:refactor/simplify-login-ratelimit
WonderableAI/shaguabijia-app-server:feature/direct-vendor-push-20260702
WonderableAI/shaguabijia-app-server:7-1ljh
WonderableAI/shaguabijia-app-server:fix/heartbeat-timeout-1h
WonderableAI/shaguabijia-app-server:feat/h5-sgbridge
WonderableAI/shaguabijia-app-server:feat/h5-offline-pool
WonderableAI/shaguabijia-app-server:feat/feedback-type-reply-withdraw-type
WonderableAI/shaguabijia-app-server:feat/ad-revenue-trace-aggregate
WonderableAI/shaguabijia-app-server:fix/alembic-merge-heads
WonderableAI/shaguabijia-app-server:intern/chenshuobo/dashboard-jd-cps-20260628
WonderableAI/shaguabijia-app-server:chore/pangle-revenue-timer
WonderableAI/shaguabijia-app-server:feat/coupon-data-dashboard
WonderableAI/shaguabijia-app-server:6-29ljh
WonderableAI/shaguabijia-app-server:feat/admin-adjust-cash-account
WonderableAI/shaguabijia-app-server:feat/h5-sgbridge-gk
WonderableAI/shaguabijia-app-server:feat/admin-feedback-pricereport-api
WonderableAI/shaguabijia-app-server:fix/ad-revenue-ecpm-cap-appenv
WonderableAI/shaguabijia-app-server:intern/chenshuobo/wechat-login-20260629
WonderableAI/shaguabijia-app-server:feat/pangle-report-revenue
WonderableAI/shaguabijia-app-server:feat/launch-confirm-self-evolution
WonderableAI/shaguabijia-app-server:intern/chenshuobo/meituan-feed-improve-20260610
WonderableAI/shaguabijia-app-server:feat/mine-h5
WonderableAI/shaguabijia-app-server:perf/pricebot-shared-httpx-client
WonderableAI/shaguabijia-app-server:feat/wysiwyg-display-coin
WonderableAI/shaguabijia-app-server:fix/ad-ecpm-dedup-500
WonderableAI/shaguabijia-app-server:feat/ad-revenue-report-paging-audit
WonderableAI/shaguabijia-app-server:feature/draw-feed-ad
WonderableAI/shaguabijia-app-server:feat/invite-v2-cash-reward
WonderableAI/shaguabijia-app-server:feat/analytics-events
WonderableAI/shaguabijia-app-server:feat/cps-day-user-drilldown
WonderableAI/shaguabijia-app-server:feat/sms-login-rate-limit
WonderableAI/shaguabijia-app-server:feat/admin-device-liveness
WonderableAI/shaguabijia-app-server:fix/ad-reward-env-isolation
WonderableAI/shaguabijia-app-server:feat/cps-wx-userinfo-auth
WonderableAI/shaguabijia-app-server:feat/wx-cps-meituan-jd-uinfo-auth
WonderableAI/shaguabijia-app-server:feat/withdrawal-rewarded-ad
WonderableAI/shaguabijia-app-server:fix/wx-cps-click-dup-insert
WonderableAI/shaguabijia-app-server:feat/ad-revenue-per-event
WonderableAI/shaguabijia-app-server:intern/chenshuobo/alembic-merge-heads-20260623
WonderableAI/shaguabijia-app-server:intern/chenshuobo/meituan-coupon-image-size-20260623
WonderableAI/shaguabijia-app-server:feat/default-nickname-user-prefix
WonderableAI/shaguabijia-app-server:feat/test-account
WonderableAI/shaguabijia-app-server:feat/marquee-nickname-mask
WonderableAI/shaguabijia-app-server:feat/a11y-liveness-pull
WonderableAI/shaguabijia-app-server:fix/ad-config-default-feed-slot
WonderableAI/shaguabijia-app-server:feat/withdraw-detail-tweaks
WonderableAI/shaguabijia-app-server:intern/chenshuobo/feedback-review-20260622
WonderableAI/shaguabijia-app-server:feat/compare-record-status
WonderableAI/shaguabijia-app-server:feat/feed-ad-realcoin-orb
WonderableAI/shaguabijia-app-server:feat/cps-distribution
WonderableAI/shaguabijia-app-server:feat/ops-config-ad-flags-reconcile
WonderableAI/shaguabijia-app-server:intern/chenshuobo/meituan-etl-nul-fix-20260616
WonderableAI/shaguabijia-app-server:intern/chenshuobo/meituan-multi-city-etl-20260616
WonderableAI/shaguabijia-app-server:feat/jd-and-launch-confirm
WonderableAI/shaguabijia-app-server:feat/ad-revenue-report
WonderableAI/shaguabijia-app-server:feat/a11y-liveness-heartbeat
WonderableAI/shaguabijia-app-server:feat/jd-deeplink-invalid-share-switch
WonderableAI/shaguabijia-app-server:integration/0615
WonderableAI/shaguabijia-app-server:feature/6.14-coupon
WonderableAI/shaguabijia-app-server:feat/feedback-iteration
WonderableAI/shaguabijia-app-server:fix/admin-review-hardening
WonderableAI/shaguabijia-app-server:feat/taobao-shopid-store-mapping
WonderableAI/shaguabijia-app-server:fix/marquee-mask-deterministic
WonderableAI/shaguabijia-app-server:feat/unbind-wechat-reviewing-confirm
WonderableAI/shaguabijia-app-server:feat/nickname-maxlength-20
WonderableAI/shaguabijia-app-server:feat/daily-auto-exchange
WonderableAI/shaguabijia-app-server:coupon-checkout-funnel
WonderableAI/shaguabijia-app-server:feat/home-facade-stats-and-marquee
WonderableAI/shaguabijia-app-server:feat/meituan-precoupon
WonderableAI/shaguabijia-app-server:feat/onboarding-completion
WonderableAI/shaguabijia-app-server:intern/chenshuobo/meituan-etl-feed-20260610
WonderableAI/shaguabijia-app-server:coupon_home_ui
WonderableAI/shaguabijia-app-server:docs/coupon-tables
WonderableAI/shaguabijia-app-server:fix/alembic-linearize-debug-trace
WonderableAI/shaguabijia-app-server:feat/invite-landing-store
WonderableAI/shaguabijia-app-server:feat/debug-trace-link
WonderableAI/shaguabijia-app-server:feat/admin-price-report-review
WonderableAI/shaguabijia-app-server:intern/chenshuobo/meituan-feed-tabs-20260609
WonderableAI/shaguabijia-app-server:feat/home-feed-sort-tabs
WonderableAI/shaguabijia-app-server:feat/ad-coin-ecpm-unit-audit
WonderableAI/shaguabijia-app-server:feat/invite-display
WonderableAI/shaguabijia-app-server:chore/merge-alembic-heads
WonderableAI/shaguabijia-app-server:feat/coupon-flow-improvements
WonderableAI/shaguabijia-app-server:feat/coin-system-phase2-ad-ecpm
WonderableAI/shaguabijia-app-server:feature/withdraw-review-ops
WonderableAI/shaguabijia-app-server:fix/created-at-beijing-tz
WonderableAI/shaguabijia-app-server:feat/invite-mvp
WonderableAI/shaguabijia-app-server:feat/coupon-daily-claim-gate
WonderableAI/shaguabijia-app-server:intern/chenshuobo/meituan-coupon-etl-20260606
WonderableAI/shaguabijia-app-server:feat/platform-stats-display
WonderableAI/shaguabijia-app-server:feature/coupon-claim-integration
WonderableAI/shaguabijia-app-server:feat/price-observation-pipeline
WonderableAI/shaguabijia-app-server:feat/concurrency-multi-instance
WonderableAI/shaguabijia-app-server:feat/sls-json-logging
WonderableAI/shaguabijia-app-server:feat/wxpay-transfer-auth
WonderableAI/shaguabijia-app-server:feat/admin-api-db-docs
WonderableAI/shaguabijia-app-server:feat/wip-20260606
WonderableAI/shaguabijia-app-server:feat/pricebot-native-async
WonderableAI/shaguabijia-app-server:feat/admin-app-config
WonderableAI/shaguabijia-app-server:feat/recompare-deeplink
WonderableAI/shaguabijia-app-server:feat/price-report
WonderableAI/shaguabijia-app-server:feat/signin-remark-and-milestone-no-coin
WonderableAI/shaguabijia-app-server:feat/ad-ecpm-and-cooldown
WonderableAI/shaguabijia-app-server:feat/savings-accounting-clean
WonderableAI/shaguabijia-app-server:feat/savings-accounting-m1
WonderableAI/shaguabijia-app-server:feat/user-profile-feedback-api
WonderableAI/shaguabijia-app-server:dev/integration
WonderableAI/shaguabijia-app-server:feat/postgres-migration-and-bootstrap-script
WonderableAI/shaguabijia-app-server:feat/welfare-video-round-cooldown
WonderableAI/shaguabijia-app-server:feat/home-feed-ranking-mvp
WonderableAI/shaguabijia-app-server:feature/welfare-withdraw-ad
WonderableAI/shaguabijia-app-server:feat/user-order-records
WonderableAI/shaguabijia-app-server:0.4.0
WonderableAI/shaguabijia-app-server:0.3.6
WonderableAI/shaguabijia-app-server:0.3.5
WonderableAI/shaguabijia-app-server:0.3.4
WonderableAI/shaguabijia-app-server:0.3.3
WonderableAI/shaguabijia-app-server:0.3.2
WonderableAI/shaguabijia-app-server:0.3.1
WonderableAI/shaguabijia-app-server:0.3.0
WonderableAI/shaguabijia-app-server:0.2.15
WonderableAI/shaguabijia-app-server:0.2.14
WonderableAI/shaguabijia-app-server:0.2.13
WonderableAI/shaguabijia-app-server:0.2.12
WonderableAI/shaguabijia-app-server:0.2.11
WonderableAI/shaguabijia-app-server:0.2.10
WonderableAI/shaguabijia-app-server:0.2.9
WonderableAI/shaguabijia-app-server:0.2.8
WonderableAI/shaguabijia-app-server:0.2.7
WonderableAI/shaguabijia-app-server:0.2.6
WonderableAI/shaguabijia-app-server:0.2.5
WonderableAI/shaguabijia-app-server:0.2.4
WonderableAI/shaguabijia-app-server:0.2.3
WonderableAI/shaguabijia-app-server:0.2.2
WonderableAI/shaguabijia-app-server:0.2.1
WonderableAI/shaguabijia-app-server:0.2.0
WonderableAI/shaguabijia-app-server:0.1.23
WonderableAI/shaguabijia-app-server:0.1.22
WonderableAI/shaguabijia-app-server:0.1.21
WonderableAI/shaguabijia-app-server:0.1.20
WonderableAI/shaguabijia-app-server:0.1.18
WonderableAI/shaguabijia-app-server:0.1.17
WonderableAI/shaguabijia-app-server:0.1.16
WonderableAI/shaguabijia-app-server:0.1.15
WonderableAI/shaguabijia-app-server:0.1.14
WonderableAI/shaguabijia-app-server:0.1.13
WonderableAI/shaguabijia-app-server:0.1.12
WonderableAI/shaguabijia-app-server:0.1.11
WonderableAI/shaguabijia-app-server:0.1.10
WonderableAI/shaguabijia-app-server:0.1.9
WonderableAI/shaguabijia-app-server:0.1.8
WonderableAI/shaguabijia-app-server:0.1.7
WonderableAI/shaguabijia-app-server:0.1.6
WonderableAI/shaguabijia-app-server:0.1.5
WonderableAI/shaguabijia-app-server:0.1.3
WonderableAI/shaguabijia-app-server:0.1.2
WonderableAI/shaguabijia-app-server:0.1.1
..
pull from: WonderableAI/shaguabijia-app-server:feat/inactivity-reset
WonderableAI/shaguabijia-app-server:main
WonderableAI/shaguabijia-app-server:feat/inactivity-reset
WonderableAI/shaguabijia-app-server:poc/wx-kf-compare
WonderableAI/shaguabijia-app-server:ljh-dev
WonderableAI/shaguabijia-app-server:fix/newbie-tier-restore-on-refund
WonderableAI/shaguabijia-app-server:feat/device-info-table
WonderableAI/shaguabijia-app-server:feat/wechat-login
WonderableAI/shaguabijia-app-server:poc/wx-screenshot-compare
WonderableAI/shaguabijia-app-server:feat/oppo-withdraw-push
WonderableAI/shaguabijia-app-server:fix/sms-send-quota-count-success
WonderableAI/shaguabijia-app-server:feat/inactive-account-clear
WonderableAI/shaguabijia-app-server:fix/ad-reward-result-by-session
WonderableAI/shaguabijia-app-server:feature/direct-vendor-push-main-20260702
WonderableAI/shaguabijia-app-server:feat/llm-token-cost
WonderableAI/shaguabijia-app-server:fix/withdraw-repeat-login-state
WonderableAI/shaguabijia-app-server:feat/per-session-ad-revenue
WonderableAI/shaguabijia-app-server:79ljh
WonderableAI/shaguabijia-app-server:dev0708
WonderableAI/shaguabijia-app-server:feat/coupon-success-rate
WonderableAI/shaguabijia-app-server:feat/analytics-success-rate
WonderableAI/shaguabijia-app-server:admin-custom-perms
WonderableAI/shaguabijia-app-server:fix/dashboard-reward-coin-feed-scene
WonderableAI/shaguabijia-app-server:7-6ljh
WonderableAI/shaguabijia-app-server:feat/marquee-real-shuffle-and-browse
WonderableAI/shaguabijia-app-server:origin/intern/chenshuobo/dashboard-jd-cps-20260628
WonderableAI/shaguabijia-app-server:feat/marquee-preview-mode-and-default-nickname
WonderableAI/shaguabijia-app-server:fix/invite-cash-ledger-reconcile
WonderableAI/shaguabijia-app-server:feat/admin-dashboard-metrics
WonderableAI/shaguabijia-app-server:feat/openobserve-api-metrics
WonderableAI/shaguabijia-app-server:feat/ad-report-period-dau-arpu
WonderableAI/shaguabijia-app-server:feat/admin-rbac-config-compare
WonderableAI/shaguabijia-app-server:feat/meituan-cps-city-geo
WonderableAI/shaguabijia-app-server:7-4ljh
WonderableAI/shaguabijia-app-server:feat/compare-record-backend-harvest
WonderableAI/shaguabijia-app-server:7-1ljh-invite-reward-notest
WonderableAI/shaguabijia-app-server:7-3-ljh-testlab
WonderableAI/shaguabijia-app-server:feat/api-docs-reorg
WonderableAI/shaguabijia-app-server:refactor/simplify-login-ratelimit
WonderableAI/shaguabijia-app-server:feature/direct-vendor-push-20260702
WonderableAI/shaguabijia-app-server:7-1ljh
WonderableAI/shaguabijia-app-server:fix/heartbeat-timeout-1h
WonderableAI/shaguabijia-app-server:feat/h5-sgbridge
WonderableAI/shaguabijia-app-server:feat/h5-offline-pool
WonderableAI/shaguabijia-app-server:feat/feedback-type-reply-withdraw-type
WonderableAI/shaguabijia-app-server:feat/ad-revenue-trace-aggregate
WonderableAI/shaguabijia-app-server:fix/alembic-merge-heads
WonderableAI/shaguabijia-app-server:intern/chenshuobo/dashboard-jd-cps-20260628
WonderableAI/shaguabijia-app-server:chore/pangle-revenue-timer
WonderableAI/shaguabijia-app-server:feat/coupon-data-dashboard
WonderableAI/shaguabijia-app-server:6-29ljh
WonderableAI/shaguabijia-app-server:feat/admin-adjust-cash-account
WonderableAI/shaguabijia-app-server:feat/h5-sgbridge-gk
WonderableAI/shaguabijia-app-server:feat/admin-feedback-pricereport-api
WonderableAI/shaguabijia-app-server:fix/ad-revenue-ecpm-cap-appenv
WonderableAI/shaguabijia-app-server:intern/chenshuobo/wechat-login-20260629
WonderableAI/shaguabijia-app-server:feat/pangle-report-revenue
WonderableAI/shaguabijia-app-server:feat/launch-confirm-self-evolution
WonderableAI/shaguabijia-app-server:intern/chenshuobo/meituan-feed-improve-20260610
WonderableAI/shaguabijia-app-server:feat/mine-h5
WonderableAI/shaguabijia-app-server:perf/pricebot-shared-httpx-client
WonderableAI/shaguabijia-app-server:feat/wysiwyg-display-coin
WonderableAI/shaguabijia-app-server:fix/ad-ecpm-dedup-500
WonderableAI/shaguabijia-app-server:feat/ad-revenue-report-paging-audit
WonderableAI/shaguabijia-app-server:feature/draw-feed-ad
WonderableAI/shaguabijia-app-server:feat/invite-v2-cash-reward
WonderableAI/shaguabijia-app-server:feat/analytics-events
WonderableAI/shaguabijia-app-server:feat/cps-day-user-drilldown
WonderableAI/shaguabijia-app-server:feat/sms-login-rate-limit
WonderableAI/shaguabijia-app-server:feat/admin-device-liveness
WonderableAI/shaguabijia-app-server:fix/ad-reward-env-isolation
WonderableAI/shaguabijia-app-server:feat/cps-wx-userinfo-auth
WonderableAI/shaguabijia-app-server:feat/wx-cps-meituan-jd-uinfo-auth
WonderableAI/shaguabijia-app-server:feat/withdrawal-rewarded-ad
WonderableAI/shaguabijia-app-server:fix/wx-cps-click-dup-insert
WonderableAI/shaguabijia-app-server:feat/ad-revenue-per-event
WonderableAI/shaguabijia-app-server:intern/chenshuobo/alembic-merge-heads-20260623
WonderableAI/shaguabijia-app-server:intern/chenshuobo/meituan-coupon-image-size-20260623
WonderableAI/shaguabijia-app-server:feat/default-nickname-user-prefix
WonderableAI/shaguabijia-app-server:feat/test-account
WonderableAI/shaguabijia-app-server:feat/marquee-nickname-mask
WonderableAI/shaguabijia-app-server:feat/a11y-liveness-pull
WonderableAI/shaguabijia-app-server:fix/ad-config-default-feed-slot
WonderableAI/shaguabijia-app-server:feat/withdraw-detail-tweaks
WonderableAI/shaguabijia-app-server:intern/chenshuobo/feedback-review-20260622
WonderableAI/shaguabijia-app-server:feat/compare-record-status
WonderableAI/shaguabijia-app-server:feat/feed-ad-realcoin-orb
WonderableAI/shaguabijia-app-server:feat/cps-distribution
WonderableAI/shaguabijia-app-server:feat/ops-config-ad-flags-reconcile
WonderableAI/shaguabijia-app-server:intern/chenshuobo/meituan-etl-nul-fix-20260616
WonderableAI/shaguabijia-app-server:intern/chenshuobo/meituan-multi-city-etl-20260616
WonderableAI/shaguabijia-app-server:feat/jd-and-launch-confirm
WonderableAI/shaguabijia-app-server:feat/ad-revenue-report
WonderableAI/shaguabijia-app-server:feat/a11y-liveness-heartbeat
WonderableAI/shaguabijia-app-server:feat/jd-deeplink-invalid-share-switch
WonderableAI/shaguabijia-app-server:integration/0615
WonderableAI/shaguabijia-app-server:feature/6.14-coupon
WonderableAI/shaguabijia-app-server:feat/feedback-iteration
WonderableAI/shaguabijia-app-server:fix/admin-review-hardening
WonderableAI/shaguabijia-app-server:feat/taobao-shopid-store-mapping
WonderableAI/shaguabijia-app-server:fix/marquee-mask-deterministic
WonderableAI/shaguabijia-app-server:feat/unbind-wechat-reviewing-confirm
WonderableAI/shaguabijia-app-server:feat/nickname-maxlength-20
WonderableAI/shaguabijia-app-server:feat/daily-auto-exchange
WonderableAI/shaguabijia-app-server:coupon-checkout-funnel
WonderableAI/shaguabijia-app-server:feat/home-facade-stats-and-marquee
WonderableAI/shaguabijia-app-server:feat/meituan-precoupon
WonderableAI/shaguabijia-app-server:feat/onboarding-completion
WonderableAI/shaguabijia-app-server:intern/chenshuobo/meituan-etl-feed-20260610
WonderableAI/shaguabijia-app-server:coupon_home_ui
WonderableAI/shaguabijia-app-server:docs/coupon-tables
WonderableAI/shaguabijia-app-server:fix/alembic-linearize-debug-trace
WonderableAI/shaguabijia-app-server:feat/invite-landing-store
WonderableAI/shaguabijia-app-server:feat/debug-trace-link
WonderableAI/shaguabijia-app-server:feat/admin-price-report-review
WonderableAI/shaguabijia-app-server:intern/chenshuobo/meituan-feed-tabs-20260609
WonderableAI/shaguabijia-app-server:feat/home-feed-sort-tabs
WonderableAI/shaguabijia-app-server:feat/ad-coin-ecpm-unit-audit
WonderableAI/shaguabijia-app-server:feat/invite-display
WonderableAI/shaguabijia-app-server:chore/merge-alembic-heads
WonderableAI/shaguabijia-app-server:feat/coupon-flow-improvements
WonderableAI/shaguabijia-app-server:feat/coin-system-phase2-ad-ecpm
WonderableAI/shaguabijia-app-server:feature/withdraw-review-ops
WonderableAI/shaguabijia-app-server:fix/created-at-beijing-tz
WonderableAI/shaguabijia-app-server:feat/invite-mvp
WonderableAI/shaguabijia-app-server:feat/coupon-daily-claim-gate
WonderableAI/shaguabijia-app-server:intern/chenshuobo/meituan-coupon-etl-20260606
WonderableAI/shaguabijia-app-server:feat/platform-stats-display
WonderableAI/shaguabijia-app-server:feature/coupon-claim-integration
WonderableAI/shaguabijia-app-server:feat/price-observation-pipeline
WonderableAI/shaguabijia-app-server:feat/concurrency-multi-instance
WonderableAI/shaguabijia-app-server:feat/sls-json-logging
WonderableAI/shaguabijia-app-server:feat/wxpay-transfer-auth
WonderableAI/shaguabijia-app-server:feat/admin-api-db-docs
WonderableAI/shaguabijia-app-server:feat/wip-20260606
WonderableAI/shaguabijia-app-server:feat/pricebot-native-async
WonderableAI/shaguabijia-app-server:feat/admin-app-config
WonderableAI/shaguabijia-app-server:feat/recompare-deeplink
WonderableAI/shaguabijia-app-server:feat/price-report
WonderableAI/shaguabijia-app-server:feat/signin-remark-and-milestone-no-coin
WonderableAI/shaguabijia-app-server:feat/ad-ecpm-and-cooldown
WonderableAI/shaguabijia-app-server:feat/savings-accounting-clean
WonderableAI/shaguabijia-app-server:feat/savings-accounting-m1
WonderableAI/shaguabijia-app-server:feat/user-profile-feedback-api
WonderableAI/shaguabijia-app-server:dev/integration
WonderableAI/shaguabijia-app-server:feat/postgres-migration-and-bootstrap-script
WonderableAI/shaguabijia-app-server:feat/welfare-video-round-cooldown
WonderableAI/shaguabijia-app-server:feat/home-feed-ranking-mvp
WonderableAI/shaguabijia-app-server:feature/welfare-withdraw-ad
WonderableAI/shaguabijia-app-server:feat/user-order-records
WonderableAI/shaguabijia-app-server:0.4.0
WonderableAI/shaguabijia-app-server:0.3.6
WonderableAI/shaguabijia-app-server:0.3.5
WonderableAI/shaguabijia-app-server:0.3.4
WonderableAI/shaguabijia-app-server:0.3.3
WonderableAI/shaguabijia-app-server:0.3.2
WonderableAI/shaguabijia-app-server:0.3.1
WonderableAI/shaguabijia-app-server:0.3.0
WonderableAI/shaguabijia-app-server:0.2.15
WonderableAI/shaguabijia-app-server:0.2.14
WonderableAI/shaguabijia-app-server:0.2.13
WonderableAI/shaguabijia-app-server:0.2.12
WonderableAI/shaguabijia-app-server:0.2.11
WonderableAI/shaguabijia-app-server:0.2.10
WonderableAI/shaguabijia-app-server:0.2.9
WonderableAI/shaguabijia-app-server:0.2.8
WonderableAI/shaguabijia-app-server:0.2.7
WonderableAI/shaguabijia-app-server:0.2.6
WonderableAI/shaguabijia-app-server:0.2.5
WonderableAI/shaguabijia-app-server:0.2.4
WonderableAI/shaguabijia-app-server:0.2.3
WonderableAI/shaguabijia-app-server:0.2.2
WonderableAI/shaguabijia-app-server:0.2.1
WonderableAI/shaguabijia-app-server:0.2.0
WonderableAI/shaguabijia-app-server:0.1.23
WonderableAI/shaguabijia-app-server:0.1.22
WonderableAI/shaguabijia-app-server:0.1.21
WonderableAI/shaguabijia-app-server:0.1.20
WonderableAI/shaguabijia-app-server:0.1.18
WonderableAI/shaguabijia-app-server:0.1.17
WonderableAI/shaguabijia-app-server:0.1.16
WonderableAI/shaguabijia-app-server:0.1.15
WonderableAI/shaguabijia-app-server:0.1.14
WonderableAI/shaguabijia-app-server:0.1.13
WonderableAI/shaguabijia-app-server:0.1.12
WonderableAI/shaguabijia-app-server:0.1.11
WonderableAI/shaguabijia-app-server:0.1.10
WonderableAI/shaguabijia-app-server:0.1.9
WonderableAI/shaguabijia-app-server:0.1.8
WonderableAI/shaguabijia-app-server:0.1.7
WonderableAI/shaguabijia-app-server:0.1.6
WonderableAI/shaguabijia-app-server:0.1.5
WonderableAI/shaguabijia-app-server:0.1.3
WonderableAI/shaguabijia-app-server:0.1.2
WonderableAI/shaguabijia-app-server:0.1.1
21 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
16414f1744 |
Merge branch 'main' into feat/inactivity-reset
main 已通过 #143 合入本功能的早期版本;拉 main 时功能文件(config / worker / inactivity / tests / spec)冲突,一律以本分支为准(含 home_view→show+page=home、活跃口径复合索引、 迁移多头 merge、worker 常驻 + 默认 dry-run 等最新改动)。无关代码走 main 的自动合并。 alembic 单头、全量测试无新增失败。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|
|
0cc2e9dec8 |
feat(welfare): 不活跃清零 worker 常驻 + 默认 dry-run(ENABLED=false 只记审计不清)
改 INACTIVITY_RESET_ENABLED 语义:worker 不再"关=不启动"、改为**常驻**;ENABLED 只控是否**真清**—— false(默认)= 只写审计名单(reason=inactive_Nd_dryrun)、不动钱不写流水、不预警(dry-run 灰度看名单); true = 真清金币+现金 + 预警。 - clear_user(dry_run):写审计跳出账,按 streak 去重(reset_at>last_active)不重复记 - run_reset_once/run_once:透传 dry_run;dry-run 抑制预警(不通知一个不会发生的清零) - worker:start 常驻(去掉 ENABLED 启动闸);_run_once_entry dry_run=not ENABLED;启动日志标 mode - 测试:dry-run 只记审计/不清/不预警/dedup + worker ENABLED=false→dry-run;去掉过时 disabled 用例 - config/worker 注释 + spec §6/§13/误清防护 同步新语义 测试安全:lifespan 在测试里不跑(TestClient 非 with 形式),worker 常驻不影响用例。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|
|
5fdf2b1ad3 |
chore(alembic): 合并 analytics_active_idx + phone_rebind_log 两 head(修复多头)
既有多头——135e79414fd0(不活跃两表)与 phone_rebind_log 同从 comparison_llm_cost 分叉—— 导致 `alembic upgrade head` 多头报错。加一个空 merge 修订汇合两头,upgrade head 恢复单头正常。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|
|
fd1c1a5abc |
perf(analytics): analytics_event 活跃口径复合索引 (event,page,user_id,created_at)
active_event_condition 按 (event=show & page=home) ∪ 比价 ∪ 领券 过滤后 group by user_id、 max(created_at),是 worker 清零/预警 + admin 最近活跃的热点聚合;page 原无索引、show 又高频。 加覆盖索引 ix_analytics_event_active 让该聚合走 index-only。 ⚠️ 分支迁移树既有多头(135e79414fd0 与 phone_rebind_log 同从 comparison_llm_cost 分叉, `alembic upgrade head` 会多头报错)——既有问题、与本次无关。本迁移挂在 135e79414fd0 一侧, dev 用 `alembic upgrade analytics_active_idx` 应用;集成 main 时需 alembic merge 合并 phone_rebind_log 头。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|
|
b4fe20aaca |
feat(welfare): 首页可见活跃信号定名 event=show + page=home(替换 home_view 占位)
前端确定"首页可见"埋点为 event=show + page=home(组合,非单一 event 名),故活跃口径 不能只改一个常量: - activity.active_event_condition():首页可见(event=show & page=home)∪ 比价 ∪ 领券, worker 子查询(last_active_subqueries)与 admin _attach_last_active 共用(单一真源); ACTIVE_EVENTS 收窄为仅两个纯 event 名,HOME_VIEW_EVENT="show" + 新增 HOME_VIEW_PAGE="home" - 测试:新增 show/home 算活跃、show/其他页不算的用例;_add_event 支持 page;口径常量断言更新 - seed 脚本 / spec / plan 同步 home_view → show+page=home Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|
|
69a79f9852 | Merge branch 'main' of https://gitea.shaguabijia.com/WonderableAI/shaguabijia-app-server into feat/inactivity-reset | ||
|
|
aeaf4b1fd1 |
chore(scripts): 不活跃清零 人工验证造号脚本(排列组合 + 审计核对)
按金币/现金/邀请排列组合 + 活跃/新用户对照造号;--check 核对 worker 清零/预警结果、 --clean 清理。仅本地验证用,不参与生产逻辑。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|
|
ece498876f |
docs(welfare): 不活跃清零 设计/计划对齐"邀请金不清" + inactivity 两表字典
- spec/plan:清零范围改两桶、run_warn 逐用户隔离不阻塞清零、stats 增 warn_failed - docs/database:新增 inactivity_reset_log / inactivity_notification_log 条目 + README 索引 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|
|
40c99afd92 |
feat(welfare): 完成不活跃清零-邀请金不清 + 预警编排 + worker + admin口径统一
- 清零改两桶(金币 + 折算现金);邀请奖励金物理隔离、不清(产品红线),仅快照入审计 - 预警编排 select_warn_candidates / run_warn_once / run_once(分档 + streak 去重); notifier.warn 去掉 invite 参数(邀请金不清、不预警) - 预警逐用户 try/except 隔离 + run_once 保证预警故障绝不阻塞清零(接真推送前必备) - 每日 worker inactivity_reset_worker(文件锁 + 北京日守卫 + RUN_HOUR 门槛 + 总闸默认关) + main.py lifespan 接线 - admin 最近活跃口径改用共享 activity(移除 last_login_at、纳入 home_view 占位) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|
|
eb15018322 |
test(welfare): 不活跃测试加 autouse 隔离夹具(清零余额+清活跃事件/审计),去掉临时 band-aid
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|
|
a6cfef64a8 | feat(welfare): 不活跃清零-选取与逐用户清零(三桶归零+审计+流水) | ||
|
|
7802aeb163 |
feat(welfare): 可插拔不活跃预警通知器 + LogNotifier 占位
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|
|
f843e68d0f |
feat(welfare): INACTIVITY_* 配置项 + warn stages 解析
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|
|
108c175142 | feat(welfare): 活跃口径共享模块-子查询与 last_active_expr | ||
|
|
e6f467a935 | feat(welfare): 活跃口径共享模块-常量与北京0点cutoff助手 | ||
|
|
708e454959 |
feat(welfare): 迁移新增 inactivity_reset_log / inactivity_notification_log 两表
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|
|
0ec6b2bc56 | feat(welfare): inactivity_reset_log + inactivity_notification_log 模型 | ||
|
|
23e4671312 |
docs(welfare): 15天不活跃清零 实现计划(11 任务, TDD 分解)
从已定稿 spec 拆出可执行计划:模型/迁移/活跃口径共享模块/配置/通知器/清零+预警业务逻辑/ 每日 worker/admin 重构/表字典。每任务含失败测试→实现→通过→提交的 bite-sized 步骤,含完整代码。 活跃口径 = created_at 基线 + home_view/比价/领券(不含 last_login_at);home_view 事件名以 HOME_VIEW_EVENT 常量占位(前端明天定名);总闸默认关。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|
|
b3ed66d4eb |
docs(welfare): 活跃口径移除 last_login_at 改用 created_at 基线;home_view 事件名待定
按评审结论定稿: - ① 彻底移除 last_login_at:活跃口径 = max(home_view, 比价, 领券);登录/re-login 不再计为活跃 - 连带:用 User.created_at 接替"恒非空基线"位(注册即第1日活跃,只有真实使用才推进)。 无任何信号的用户 = 注册满 15 天即清,新用户有 15 天宽限 - ② home_view 事件名待前端明天加埋点时定,后端以 HOME_VIEW_EVENT 常量占位 - 连带影响:共享口径 admin 侧同步(移除 last_login_at + created_at 基线 + 纳入 home_view), admin 最近活跃/DAU 口径随之变化,回归测试按新口径更新预期 - 同步 §3/§4/§9/§10/§11/§12/§13/§14 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|
|
c9c35a4350 |
docs(welfare): 明确不活跃清零的时间边界(北京自然日, 第16日0点)
补充清零日界定义:末次活跃日记为第1日,从末次活跃起「第16日0点」(北京)清零 = 北京 00:00 of (last_active_date + 15天),按自然日 0 点对齐,非从末次活跃时刻滚动 15×24h。 - 应清零 ⟺ (cn_today() − last_active_date).days ≥ RESET_DAYS - SQL cutoff = 北京 00:00 of (cn_today() − (RESET_DAYS−1)),新增 activity.reset_cutoff() 辅助 - 资格边界(第16日0点)与 worker 执行点 RUN_HOUR 解耦;inactive_days 改按北京自然日 - 同步更新 §4/§6/§8/§10 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|
|
5f1d1a5e5f |
docs(welfare): 15天不活跃清零金币/现金 设计文档(spec)
连续15天不活跃自动清零金币+折算现金+邀请现金,清零前可配置节奏预警,全程留审计以备纠纷排查。 关键决策: - 活跃口径复用"用户管理"并抽共享模块 activity.py(admin 一并重构);新增 home_view 埋点代表"进首页",last_login_at 仅作灰度期兜底 - 审计双写:inactivity_reset_log 专表(记清零前三桶余额)+ 钱包流水 biz_type=inactivity_reset - 预警:可插拔通知器 + 日志占位(v1),后续接 JPush/短信 - 触发:进程内每日 worker(仿 daily_exchange_worker),总闸默认关 仅设计文档,尚未实现。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |