Files
junhong_cmp_fiber/internal/model/dto/my_commission_dto.go
huang 0627ffec42
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m10s
feat: 代理商资金可见性重构(agent-fund-visibility)
- 将 GET /shops/commission-summary 重命名为 GET /shops/fund-summary,
  响应新增 main_balance、main_frozen_balance 两个预充值钱包字段
- 新增 GET /shops/:id/main-wallet/transactions 预充值钱包流水接口
- 将佣金统计、每日统计、发起提现从 /my/ 路径迁移至 /shops/:id/ 路径:
  GET /shops/:id/commission-stats
  GET /shops/:id/commission-daily-stats
  POST /shops/:id/withdrawal-requests
- 删除 MyCommissionService、MyCommissionHandler 及全部 /my/ 路由
- 补齐 ListShopWithdrawalRequests、ListShopCommissionRecords 的
  CanManageShop 越权校验(安全修复)
- 提现接口增加严格权限:仅代理账号本人可为自己店铺发起提现

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 14:40:39 +08:00

24 lines
1.5 KiB
Go

package dto
// CreateMyWithdrawalReq 发起提现申请请求(由 POST /shops/:id/withdrawal-requests 复用)
type CreateMyWithdrawalReq struct {
ShopID uint `json:"-" path:"shop_id" description:"店铺ID" required:"true"`
Amount int64 `json:"amount" validate:"required,min=1" required:"true" minimum:"1" description:"提现金额(分)"`
WithdrawalMethod string `json:"withdrawal_method" validate:"required,oneof=alipay" required:"true" enum:"alipay" description:"收款类型"`
AccountName string `json:"account_name" validate:"required,max=50" required:"true" maximum:"50" description:"收款人姓名"`
AccountNumber string `json:"account_number" validate:"required,max=100" required:"true" maximum:"100" description:"收款账号"`
}
// CreateMyWithdrawalResp 发起提现申请响应(由 POST /shops/:id/withdrawal-requests 复用)
type CreateMyWithdrawalResp struct {
ID uint `json:"id" description:"提现申请ID"`
WithdrawalNo string `json:"withdrawal_no" description:"提现单号"`
Amount int64 `json:"amount" description:"提现金额(分)"`
FeeRate int64 `json:"fee_rate" description:"手续费比率(基点)"`
Fee int64 `json:"fee" description:"手续费(分)"`
ActualAmount int64 `json:"actual_amount" description:"实际到账金额(分)"`
Status int `json:"status" description:"状态"`
StatusName string `json:"status_name" description:"状态名称"`
CreatedAt string `json:"created_at" description:"申请时间"`
}