Files
dukang/.cursor/skills/dukang-coding/reference-backend.md
T

4.9 KiB
Raw Blame History

后端速查(杜康好客 v3.1

完整 DDL/API 以 V2 手册 §五/§六 为准。

API Base

  • Prefix: /api/v1
  • Response: { code: 0, message: 'ok', data }
  • JWT: actorType + actorId + clientApp
  • 请求头:AuthorizationX-Client-App

clientApp → actorType → 表

preV1 clientApp V2 clientApp actorType 账号表
USER_H5 USER_MINI USER user_user
SHOP_H5 SHOP_H5 STORE store_account
PARTNER_H5 PARTNER_MINI PARTNER partner_account
HQ_WEB HQ_MINI HQ hq_account

Guard 对照

Guard 用途
JwtAuthGuard 需登录
PhoneVerifiedGuard (已废弃强制)C 端手机号改为下单页可选绑定
OptionalJwtAuthGuard 可选登录(bootstrap

Admin 路由在 modules/ops/ 下,前缀 /admin/*

Module → API 前缀

Module 前缀示例 负责人
iam /auth, /user jacy-dukang
catalog /catalog, /admin/cities, /admin/products jacy-dukang
trade /trade, /partner/orders, /admin/orders jacy-dukang
benefit /benefit jacy-dukang
store /stores, /partner/stores, /admin/store-audits 刘景尧
redeem /redeem, /shop/redeem 刘景尧
settlement /settlement, /partner/settlement, /admin/settlement jacy-dukang
ops /admin/dashboard, /admin/reports jacy-dukang
analytics /analytics, /promo/touch jacy-dukang
callbacks /callbacks/wechat/pay, /callbacks/xfx/delivery jacy-dukang

表前缀 → Module 写 OWNER

前缀 示例表 负责人
user_ user_user, user_order, user_benefit_coupon jacy-dukang
store_ store_store, store_account, store_payout 刘景尧 / jacy-dukangsettlement
partner_ partner_partner, partner_bill 刘景尧 / jacy-dukangsettlement
hq_ hq_account jacy-dukang
common_ common_product_item, common_event, common_city jacy-dukang
log_ log_third_party, log_user_analytics 写入方 Module

无以下 V1 表payments、user_order_item、redeem_tokensDB)。

Controller 路由(当前实现)

iam

路径 Controller
POST /auth/session/bootstrap UserAuthController
POST /auth/sms/send UserAuthController
POST /auth/sms/login UserAuthController
GET /user/me UserAuthController
GET/POST/PUT/DELETE /user/addresses UserAddressController
POST /shop/auth/* ShopAuthController
POST /partner/auth/* PartnerAuthController
POST /admin/auth/login AdminAuthController

catalog / trade / benefit / redeem

路径 Module
GET /catalog/* catalog
POST/GET /trade/orders trade
GET/POST /benefit/* benefit
POST /redeem/* redeemC 端)
POST /shop/redeem/* redeem(门店)

store / settlement

路径 Module
GET /stores storeC 端门店列表)
GET/POST /partner/stores store
GET /partner/dashboard store
GET /shop/store store
GET /shop/dashboard store
GET /partner/settlement/* settlement
GET /partner/me settlement
GET /partner/orders trade

opsadmin-web

路径 说明
/admin/dashboard 看板
/admin/users C 端用户
/admin/orders 订单
/admin/stores 门店
/admin/store-accounts 门店账号
/admin/store-media 门店媒体
/admin/partners 合伙人
/admin/partner-accounts 合伙人账号
/admin/cities 开城
/admin/hq-accounts 总部账号
/admin/benefit/coupons 权益券
/admin/benefit/ledgers 权益流水
/admin/redeem-records 核销记录
/admin/deliveries 配送

analytics / health

路径 Module
POST /analytics/* analytics
GET /health health

关键跨模块调用链

Mock/真实支付成功

PayProvider → TradeService.handlePaySuccess()
  → BenefitService.grantOnOrderPaid(orderId)
  → OrderDelivery 预创建
  → common_event(ORDER_STATUS)

核销确认

RedeemService.confirm()
  → BenefitService.deduct(couponId)
  → SettlementService.createStorePayout(redeemRecordId)

禁止依赖(PR 拒绝)

# 禁止
F1 redeem 直写 order
F2 store → trade/benefit
F3 benefit → trade/redeem
F4 trade → redeem
F5 benefit → redeem
F6 catalog → trade/settlement
F9 apps import server 源码

integrationspreV1

Flag Provider 行为
MOCK_SMS=true sms.mock 固定码 123456
MOCK_PAY=true pay.mock 同步 PAID + 发券
MOCK_DELIVERY_AUTO=true delivery.mock BullMQ 自动推进状态