You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
1.8 KiB

package shop
import (
"recook/internal/model/user"
"time"
"github.com/shopspring/decimal"
)
// 初始化
func PerformanceInit(userInfo user.Information) (ua UserAmount) {
ua = NewUserAmount(userInfo.ID)
ua.GetGroupIds()
return
}
// 获取单天团队销售额
func DatePerformance(ua UserAmount, date time.Time, userInfo *user.Information) (sum decimal.Decimal) {
beginDate, _ := time.Parse("2006-01-02", date.Format("2006-01-02"))
endDate, _ := time.Parse("2006-01-02", date.AddDate(0, 0, 1).Format("2006-01-02"))
sum = ua.SumAmount(beginDate, endDate, ua.GroupID)
return
}
// 上季度的团队销售额
func LastSeasonPerformance(ua UserAmount, userInfo *user.Information) (sum decimal.Decimal) {
var beginDate = isFirst(userInfo)
var endDate = userInfo.AssessEnd
sum = ua.SumAmount(beginDate, endDate.Time, ua.GroupID)
return
}
// 本季度的团队收益
func ThisSeasonPerformance(ua UserAmount, userInfo *user.Information) (sum decimal.Decimal) {
var beginDate = userInfo.AssessBegin
var endDate = userInfo.AssessEnd
sum = ua.SumAmount(beginDate.Time, endDate.Time, ua.GroupID)
return
}
// 本季度的下单总额
func ThisSeasonSubmitPerformance(ua UserAmount, userInfo *user.Information) (sum decimal.Decimal) {
var beginDate = userInfo.AssessBegin
var endDate = userInfo.AssessEnd
sum = ua.SumSubmitAmount(beginDate.Time, endDate.Time, ua.GroupID)
return
}
// 开始时间有个特殊的第一次,是超过三个月的
// 需要拿create_time 判断
func isFirst(userInfo *user.Information) (beginDate time.Time) {
//if formatime.NewDateFrom(comFunc.NextAssessTime(userInfo.CreatedAt.Time)).Time == userInfo.AssessBegin.Time {
// beginDate = userInfo.CreatedAt.Time
//} else {
// beginDate = comFunc.BeforeThreeMonth(userInfo.AssessBegin.Time)
//}
beginDate = userInfo.AssessBegin.Time
return
}