feat(记账): 比价省钱记账后端 + 此前未提交的归因订单基础 #9
Open
marco
wants to merge 1 commits from
feat/savings-accounting-m1 into main
pull from: feat/savings-accounting-m1
merge into: WonderableAI:main
WonderableAI:main
WonderableAI:feature/direct-vendor-push-main-20260702
WonderableAI:feat/wechat-login
WonderableAI:feat/llm-token-cost
WonderableAI:fix/withdraw-repeat-login-state
WonderableAI:feat/per-session-ad-revenue
WonderableAI:79ljh
WonderableAI:dev0708
WonderableAI:feat/coupon-success-rate
WonderableAI:feat/analytics-success-rate
WonderableAI:admin-custom-perms
WonderableAI:fix/dashboard-reward-coin-feed-scene
WonderableAI:7-6ljh
WonderableAI:feat/marquee-real-shuffle-and-browse
WonderableAI:origin/intern/chenshuobo/dashboard-jd-cps-20260628
WonderableAI:feat/marquee-preview-mode-and-default-nickname
WonderableAI:fix/invite-cash-ledger-reconcile
WonderableAI:feat/admin-dashboard-metrics
WonderableAI:feat/openobserve-api-metrics
WonderableAI:feat/ad-report-period-dau-arpu
WonderableAI:feat/admin-rbac-config-compare
WonderableAI:feat/meituan-cps-city-geo
WonderableAI:7-4ljh
WonderableAI:feat/compare-record-backend-harvest
WonderableAI:7-1ljh-invite-reward-notest
WonderableAI:7-3-ljh-testlab
WonderableAI:feat/api-docs-reorg
WonderableAI:refactor/simplify-login-ratelimit
WonderableAI:feature/direct-vendor-push-20260702
WonderableAI:7-1ljh
WonderableAI:fix/heartbeat-timeout-1h
WonderableAI:feat/h5-sgbridge
WonderableAI:feat/h5-offline-pool
WonderableAI:feat/feedback-type-reply-withdraw-type
WonderableAI:feat/ad-revenue-trace-aggregate
WonderableAI:fix/alembic-merge-heads
WonderableAI:intern/chenshuobo/dashboard-jd-cps-20260628
WonderableAI:chore/pangle-revenue-timer
WonderableAI:feat/coupon-data-dashboard
WonderableAI:6-29ljh
WonderableAI:feat/admin-adjust-cash-account
WonderableAI:feat/h5-sgbridge-gk
WonderableAI:feat/admin-feedback-pricereport-api
WonderableAI:fix/ad-revenue-ecpm-cap-appenv
WonderableAI:intern/chenshuobo/wechat-login-20260629
WonderableAI:feat/pangle-report-revenue
WonderableAI:feat/launch-confirm-self-evolution
WonderableAI:intern/chenshuobo/meituan-feed-improve-20260610
WonderableAI:feat/mine-h5
WonderableAI:perf/pricebot-shared-httpx-client
WonderableAI:feat/wysiwyg-display-coin
WonderableAI:fix/ad-ecpm-dedup-500
WonderableAI:feat/ad-revenue-report-paging-audit
WonderableAI:feature/draw-feed-ad
WonderableAI:feat/invite-v2-cash-reward
WonderableAI:feat/analytics-events
WonderableAI:feat/cps-day-user-drilldown
WonderableAI:feat/sms-login-rate-limit
WonderableAI:feat/admin-device-liveness
WonderableAI:fix/ad-reward-env-isolation
WonderableAI:feat/cps-wx-userinfo-auth
WonderableAI:feat/wx-cps-meituan-jd-uinfo-auth
WonderableAI:feat/withdrawal-rewarded-ad
WonderableAI:fix/wx-cps-click-dup-insert
WonderableAI:feat/ad-revenue-per-event
WonderableAI:intern/chenshuobo/alembic-merge-heads-20260623
WonderableAI:intern/chenshuobo/meituan-coupon-image-size-20260623
WonderableAI:feat/default-nickname-user-prefix
WonderableAI:feat/test-account
WonderableAI:feat/marquee-nickname-mask
WonderableAI:feat/a11y-liveness-pull
WonderableAI:fix/ad-config-default-feed-slot
WonderableAI:feat/withdraw-detail-tweaks
WonderableAI:intern/chenshuobo/feedback-review-20260622
WonderableAI:feat/compare-record-status
WonderableAI:feat/feed-ad-realcoin-orb
WonderableAI:feat/cps-distribution
WonderableAI:feat/ops-config-ad-flags-reconcile
WonderableAI:intern/chenshuobo/meituan-etl-nul-fix-20260616
WonderableAI:intern/chenshuobo/meituan-multi-city-etl-20260616
WonderableAI:feat/jd-and-launch-confirm
WonderableAI:feat/ad-revenue-report
WonderableAI:feat/a11y-liveness-heartbeat
WonderableAI:feat/jd-deeplink-invalid-share-switch
WonderableAI:integration/0615
WonderableAI:feature/6.14-coupon
WonderableAI:feat/feedback-iteration
WonderableAI:fix/admin-review-hardening
WonderableAI:feat/taobao-shopid-store-mapping
WonderableAI:fix/marquee-mask-deterministic
WonderableAI:feat/unbind-wechat-reviewing-confirm
WonderableAI:feat/nickname-maxlength-20
WonderableAI:feat/daily-auto-exchange
WonderableAI:coupon-checkout-funnel
WonderableAI:feat/home-facade-stats-and-marquee
WonderableAI:feat/meituan-precoupon
WonderableAI:feat/onboarding-completion
WonderableAI:intern/chenshuobo/meituan-etl-feed-20260610
WonderableAI:coupon_home_ui
WonderableAI:docs/coupon-tables
WonderableAI:fix/alembic-linearize-debug-trace
WonderableAI:feat/invite-landing-store
WonderableAI:feat/debug-trace-link
WonderableAI:feat/admin-price-report-review
WonderableAI:intern/chenshuobo/meituan-feed-tabs-20260609
WonderableAI:feat/home-feed-sort-tabs
WonderableAI:feat/ad-coin-ecpm-unit-audit
WonderableAI:feat/invite-display
WonderableAI:chore/merge-alembic-heads
WonderableAI:feat/coupon-flow-improvements
WonderableAI:feat/coin-system-phase2-ad-ecpm
WonderableAI:feature/withdraw-review-ops
WonderableAI:fix/created-at-beijing-tz
WonderableAI:feat/invite-mvp
WonderableAI:feat/coupon-daily-claim-gate
WonderableAI:intern/chenshuobo/meituan-coupon-etl-20260606
WonderableAI:feat/platform-stats-display
WonderableAI:feature/coupon-claim-integration
WonderableAI:feat/price-observation-pipeline
WonderableAI:feat/concurrency-multi-instance
WonderableAI:feat/sls-json-logging
WonderableAI:feat/wxpay-transfer-auth
WonderableAI:feat/admin-api-db-docs
WonderableAI:feat/wip-20260606
WonderableAI:feat/pricebot-native-async
WonderableAI:feat/admin-app-config
WonderableAI:feat/recompare-deeplink
WonderableAI:feat/price-report
WonderableAI:feat/signin-remark-and-milestone-no-coin
WonderableAI:feat/ad-ecpm-and-cooldown
WonderableAI:feat/savings-accounting-clean
WonderableAI:feat/user-profile-feedback-api
WonderableAI:dev/integration
WonderableAI:feat/postgres-migration-and-bootstrap-script
WonderableAI:feat/welfare-video-round-cooldown
WonderableAI:feat/home-feed-ranking-mvp
WonderableAI:feature/welfare-withdraw-ad
WonderableAI:feat/user-order-records
No Reviewers
Labels
No items
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
gaomengzhuo
guke
kongderong
liujiahui
marco
wangyaoguang
wanlangjie
wusiyi
zhuzihao
zuochenyong
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: WonderableAI/shaguabijia-app-server#9
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "feat/savings-accounting-m1"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
本次(M1 记账): savings_record 升级为记账唯一真相表(新增 源平台原价/比价价/支付渠道/平台包名/源平台名/源链接/幂等键/device_id, 加 user_id+client_event_id 唯一约束); /api/v1/order/report 改为写 savings_record(source=compare), 省额=源平台原价 减 实付, 按 client_event_id 幂等; 统计与明细改为 有真实记录用真实、否则 demo 兜底; 修复 dishes 列 JSONB 改 with_variant 兼容 SQLite 测试库; 新增 tests/test_order_savings.py, 全量 pytest 54 passed
一并纳入(此前工作区已有、未提交, 非本次改动): order_record 归因订单 模型/repo/api/迁移, 及 main.py、models/init 注册等改动
Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.