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
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
|
|
}
|