feat: 接入旧站管理端并完整迁移后台能力

This commit is contained in:
yml
2026-11-12 22:03:01 +08:00
parent e5f923706b
commit a4441bba9a
509 changed files with 140714 additions and 1068 deletions
@@ -103,6 +103,9 @@ func (r *Repository) Create(ctx context.Context, renterID uint64, req CreateRequ
DiscountBps: rentergrowth.DefaultDiscountBps,
}
}
if listing.IsPremium && !rentergrowth.CanViewPremiumLevel(growthSnapshot.LevelCode) {
return ErrPremiumLevelRequired
}
rentDiscountAmountCent := rentergrowth.CalculateDiscountCent(pricing.PureCoinAmountCent, pricing.PureCoinPlatformFeeCent, growthSnapshot.DiscountBps)
if rentDiscountAmountCent > 0 {
pricing.PlatformFeeCent -= rentDiscountAmountCent
@@ -151,6 +154,9 @@ func (r *Repository) Create(ctx context.Context, renterID uint64, req CreateRequ
AccountSnapshot: snapshot,
AccountSource: accountSource,
SourceChannel: sourceChannel,
IsPremium: listing.IsPremium,
CompensationPlan: normalizedCompensationPlan(listing.CompensationPlan),
InsuranceFeeBps: listing.InsuranceFeeBps,
Status: orderStatusPendingPayment,
HandoffStatus: handoffStatusNone,
HandoffMode: listingHandoffMode(listing),
@@ -194,6 +200,13 @@ func (r *Repository) Create(ctx context.Context, renterID uint64, req CreateRequ
return r.FindForUser(ctx, renterID, createdID, req.DistributionSiteCode)
}
func normalizedCompensationPlan(plan string) string {
if plan == "insurance" {
return "insurance"
}
return "normal"
}
func loadShelfRatioTx(tx *gorm.DB, siteCode string, listingID uint64) (float64, uint64, error) {
siteCode = strings.TrimSpace(siteCode)
if siteCode == "" || listingID == 0 {