bilibili-backup/app/admin/main/growup/service/income/const.go
2019-04-22 02:59:20 +00:00

202 lines
4.7 KiB
Go

package income
import (
"time"
)
var (
_layout = "2006-01-02"
_layoutMonth = "2006-01"
)
const (
_upIncome = "up_income"
_upIncomeWeekly = "up_income_weekly"
_upIncomeMonthly = "up_income_monthly"
_avDailyStatis = "av_income_daily_statis"
_avWeeklyStatis = "av_income_weekly_statis"
_avMonthlyStatis = "av_income_monthly_statis"
_cmDailyStatis = "column_income_daily_statis"
_cmWeeklyStatis = "column_income_weekly_statis"
_cmMonthlyStatis = "column_income_monthly_statis"
_bgmDailyStatis = "bgm_income_daily_statis"
_bgmWeeklyStatis = "bgm_income_weekly_statis"
_bgmMonthlyStatis = "bgm_income_monthly_statis"
_avChargeDailyStatis = "av_charge_daily_statis"
_avChargeWeeklyStatis = "av_charge_weekly_statis"
_avChargeMonthlyStatis = "av_charge_monthly_statis"
_cmChargeDailyStatis = "column_charge_daily_statis"
_cmChargeWeeklyStatis = "column_charge_weekly_statis"
_cmChargeMonthlyStatis = "column_charge_monthly_statis"
_bgmChargeDailyStatis = "bgm_charge_daily_statis"
_bgmChargeWeeklyStatis = "bgm_charge_weekly_statis"
_bgmChargeMonthlyStatis = "bgm_charge_monthly_statis"
_upIncomeDailyStatis = "up_income_daily_statis"
_upAvDailyStatis = "up_av_daily_statis"
_upColumnDailyStatis = "up_column_daily_statis"
_upBgmDailyStatis = "up_bgm_daily_statis"
_groupDay = 1
_groupWeek = 2
_groupMonth = 3
_video = 0
// _audio = 1
_column = 2
_bgm = 3
_up = 4
_lottery = 5 // 动态抽奖
_leastAvIncome = 30000
// add blacklist reason
_avBlack = 1
_avBreach = 2
)
func getUpInfoTable(typ int) (table string) {
switch typ {
case _video:
table = "up_info_video"
case _column:
table = "up_info_column"
case _bgm:
table = "up_info_bgm"
}
return
}
func getUpInfoByType(typ int) (table string, incomeType string) {
switch typ {
case _video:
table, incomeType = _upAvDailyStatis, "av_income"
case _column:
table, incomeType = _upColumnDailyStatis, "column_income"
case _bgm:
table, incomeType = _upBgmDailyStatis, "bgm_income"
case _up:
table, incomeType = _upIncomeDailyStatis, "income"
}
return
}
func getUpFieldByType(typ int) (field string) {
switch typ {
case _video:
field = "av_income,av_tax,av_base_income,av_total_income"
case _column:
field = "column_income,column_tax,column_base_income,column_total_income"
case _bgm:
field = "bgm_income,bgm_tax,bgm_base_income,bgm_total_income"
case _up:
field = "income,tax_money,base_income,total_income"
}
return
}
func setUpTableByGroup(groupType int) string {
table := _upIncome
if groupType == _groupWeek {
table = _upIncomeWeekly
} else if groupType == _groupMonth {
table = _upIncomeMonthly
}
return table
}
func setArchiveTableByGroup(typ, groupType int) string {
table := ""
switch typ {
case _video:
table = _avDailyStatis
if groupType == _groupWeek {
table = _avWeeklyStatis
} else if groupType == _groupMonth {
table = _avMonthlyStatis
}
case _column:
table = _cmDailyStatis
if groupType == _groupWeek {
table = _cmWeeklyStatis
} else if groupType == _groupMonth {
table = _cmMonthlyStatis
}
case _bgm:
table = _bgmDailyStatis
if groupType == _groupWeek {
table = _bgmWeeklyStatis
} else if groupType == _groupMonth {
table = _bgmMonthlyStatis
}
}
return table
}
func setChargeTableByGroup(typ, groupType int) string {
table := ""
switch typ {
case _video:
table = _avChargeDailyStatis
if groupType == _groupWeek {
table = _avChargeWeeklyStatis
} else if groupType == _groupMonth {
table = _avChargeMonthlyStatis
}
case _column:
table = _cmChargeDailyStatis
if groupType == _groupWeek {
table = _cmChargeWeeklyStatis
} else if groupType == _groupMonth {
table = _cmChargeMonthlyStatis
}
case _bgm:
table = _bgmChargeDailyStatis
if groupType == _groupWeek {
table = _bgmChargeWeeklyStatis
} else if groupType == _groupMonth {
table = _bgmChargeMonthlyStatis
}
}
return table
}
func getDateByGroup(groupType int, date time.Time) time.Time {
if groupType == _groupWeek {
return getStartWeekDate(date)
} else if groupType == _groupMonth {
return getStartMonthDate(date)
}
return date
}
func addDayByGroup(groupType int, date time.Time) time.Time {
if groupType == _groupWeek {
return date.AddDate(0, 0, 7)
} else if groupType == _groupMonth {
return date.AddDate(0, 1, 0)
}
return date.AddDate(0, 0, 1)
}
func getStartWeekDate(date time.Time) time.Time {
for date.Weekday() != time.Monday {
date = date.AddDate(0, 0, -1)
}
return date
}
func getStartMonthDate(date time.Time) time.Time {
return time.Date(date.Year(), date.Month(), 1, 0, 0, 0, 0, time.Local)
}
func fromYuanToFen(d int64) float64 {
return float64(d) / float64(100)
}