小程序一些功能更新

This commit is contained in:
李琦
2026-09-29 10:57:01 +08:00
parent 0cb70a7618
commit 3bb7fa8db3
96 changed files with 13890 additions and 213 deletions

View File

@@ -0,0 +1,75 @@
package v1
import (
"github.com/gogf/gf/v2/frame/g"
userv1 "tool-api/api/user/v1"
)
// ============================================================================
// 管理端「用户详情抽屉」聚合契约(A-new1):GET /user/detail
//
// 一次拉全:基础信息 / 额度 / 订单 / 笔记(仅标题·时间·提醒态) / 等级变更 / 优惠券。
// 复用用户端已定义的 QuotaToolOut 与 UserCouponItem(跨包 import,无循环依赖)。
// ============================================================================
// UserDetailBase 用户基础信息
type UserDetailBase struct {
Id int64 `json:"id"`
Nickname string `json:"nickname"`
AvatarUrl string `json:"avatar_url"`
Openid string `json:"openid"`
LevelKey string `json:"level_key"`
LevelName string `json:"level_name"`
LevelExpireAt string `json:"level_expire_at"` // 空 = 永久
Status int `json:"status"`
UsageCount int64 `json:"usage_count"`
CreatedAt string `json:"created_at"`
}
// OrderBrief 订单摘要(含优惠凭证字段)
type OrderBrief struct {
OutTradeNo string `json:"out_trade_no"`
Title string `json:"title"`
OrderType int `json:"order_type"`
OriginPriceCents int64 `json:"origin_price_cents"`
PaidPriceCents int64 `json:"paid_price_cents"`
DiscountCents int64 `json:"discount_cents"`
PromoKind int `json:"promo_kind"`
Status int `json:"status"`
StatusText string `json:"status_text"`
CreatedAt string `json:"created_at"`
DeliveredAt string `json:"delivered_at"`
}
// NoteBrief 笔记摘要(**不含正文**)
type NoteBrief struct {
Id int64 `json:"id"`
Title string `json:"title"`
RemindStatus int `json:"remind_status"`
RemindAt string `json:"remind_at"`
CreatedAt string `json:"created_at"`
}
// LevelLogItem 等级变更记录(取自操作审计)
type LevelLogItem struct {
At string `json:"at"`
BeforeLevel string `json:"before_level"`
AfterLevel string `json:"after_level"`
Operator string `json:"operator"`
Remark string `json:"remark"`
}
// UserDetailReq 用户详情聚合
type UserDetailReq struct {
g.Meta `path:"/user/detail" method:"get" tags:"admin" summary:"用户详情(额度/订单/笔记/等级变更/券)"`
UserId int64 `v:"required" json:"userId"`
}
type UserDetailRes struct {
User UserDetailBase `json:"user"`
Quotas []userv1.QuotaToolOut `json:"quotas"`
Orders []OrderBrief `json:"orders"`
Notes []NoteBrief `json:"notes"`
LevelLogs []LevelLogItem `json:"level_logs"`
Coupons []userv1.UserCouponItem `json:"coupons"`
}