feat(quality-owner): 增加优质号主、极品专区与无忧租号保险

- 支持保证金余额支付、在线支付开通及后台手动设置审计
- 新增极品专区发布权限、赔付方案与保险结算费率快照
- 优化首页、商品卡和个人中心的优质号主身份展示
This commit is contained in:
yml2213
2026-11-04 15:04:35 +08:00
parent 812e95e7d1
commit 98174c0e33
90 changed files with 3478 additions and 64 deletions
@@ -185,7 +185,7 @@ func (r *Repository) publicZoneCountsCached(ctx context.Context) (map[string]int
var rows []publicZoneRow
err := r.db.WithContext(ctx).Table("rental_listings AS l").
Select("a.login_platform, a.haf_coin_amount, a.asset_summary").
Select("a.login_platform, a.haf_coin_amount, a.asset_summary, l.is_premium").
Joins("JOIN game_accounts AS a ON a.id = l.account_id").
Where("l.status = ? AND l.review_status = ? AND l.in_transaction = ?", "published", "approved", false).
Scan(&rows).Error
@@ -199,6 +199,7 @@ func (r *Repository) publicZoneCountsCached(ctx context.Context) (map[string]int
"night": 0,
"password": 0,
"highCoin": 0,
"premium": 0,
}
for _, row := range rows {
summary := decodeAssetSummary(row.AssetSummary)
@@ -217,6 +218,9 @@ func (r *Repository) publicZoneCountsCached(ctx context.Context) (map[string]int
if float64(row.HafCoinAmount)/1000000 >= 100 {
counts["highCoin"]++
}
if row.IsPremium {
counts["premium"]++
}
}
r.publicZoneCounts = publicZoneCountCache{
Counts: counts,
@@ -319,4 +323,5 @@ type publicZoneRow struct {
LoginPlatform string
HafCoinAmount int64
AssetSummary datatypes.JSON `gorm:"column:asset_summary"`
IsPremium bool `gorm:"column:is_premium"`
}