feat: update profit sharing

This commit is contained in:
efrilm
2026-10-04 21:54:13 +07:00
parent b59b7b4ddd
commit 117e3529aa
23 changed files with 521 additions and 95 deletions
+12 -12
View File
@@ -545,6 +545,7 @@ func (p *AnalyticsProcessorImpl) GetParentCategoryAnalyticsDetail(ctx context.Co
// The block covers a single parent category, so it reports that category's own fee
if detail.Summary != nil {
budget.Percentages.Owner = detail.Summary.OwnerFeePercent
budget.Percentages.Team = 100 - detail.Summary.OwnerFeePercent
}
return &models.ParentCategoryAnalyticsDetailResponse{
@@ -597,17 +598,17 @@ func endOfWeek(t time.Time) time.Time {
return startOfWeek(t).AddDate(0, 0, 7).Add(-time.Nanosecond)
}
// newBudgetPeriod splits a period's revenue into the spending limits. The owner limit
// is passed in because a parent category can carry its own owner fee percent.
// newBudgetPeriod splits a period's revenue between the owner and the team. The owner
// share is passed in because a parent category can carry its own owner fee percent,
// and the team takes whatever the owner does not.
func newBudgetPeriod(start, end time.Time, revenue, sdl float64, orderCount int64) models.BudgetPeriod {
return models.BudgetPeriod{
PeriodStart: start,
PeriodEnd: end,
Revenue: revenue,
OrderCount: orderCount,
LimitPurchase: revenue * constants.BudgetLimitPurchasePercent / 100,
SDL: sdl,
LimitTeam: revenue * constants.BudgetLimitTeamPercent / 100,
PeriodStart: start,
PeriodEnd: end,
Revenue: revenue,
OrderCount: orderCount,
SDL: sdl,
LimitTeam: revenue - sdl,
}
}
@@ -621,9 +622,8 @@ func (p *AnalyticsProcessorImpl) buildBudgetCutOff(ctx context.Context, organiza
budget := models.BudgetCutOff{
Percentages: models.BudgetPercentages{
Purchase: constants.BudgetLimitPurchasePercent,
Owner: constants.BudgetLimitOwnerPercent,
Team: constants.BudgetLimitTeamPercent,
Owner: constants.BudgetLimitOwnerPercent,
Team: 100 - constants.BudgetLimitOwnerPercent,
},
CutOffFrom: cutOffFrom,
CutOffTo: cutOffTo,