Create & Init Project...
This commit is contained in:
62
app/job/main/ugcpay/service/tool.go
Normal file
62
app/job/main/ugcpay/service/tool.go
Normal file
@ -0,0 +1,62 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"go-common/app/job/main/ugcpay/conf"
|
||||
"go-common/library/log"
|
||||
)
|
||||
|
||||
func dayRange(offset int) (from, to time.Time) {
|
||||
tmp := time.Now().AddDate(0, 0, offset)
|
||||
from = time.Date(tmp.Year(), tmp.Month(), tmp.Day(), 0, 0, 0, 0, time.Local)
|
||||
to = from.Add(24*time.Hour - 1)
|
||||
return
|
||||
}
|
||||
|
||||
func monthRange(offset int) (from, to time.Time) {
|
||||
tmp := time.Now().AddDate(0, offset, 0)
|
||||
from = time.Date(tmp.Year(), tmp.Month(), 1, 0, 0, 0, 0, time.Local)
|
||||
to = from.AddDate(0, 1, 0).Add(-1)
|
||||
return
|
||||
}
|
||||
|
||||
func dailyBillVer(t time.Time) int64 {
|
||||
// 2006-01-02 15:04:05
|
||||
return int64(t.Year()*10000 + int(t.Month())*100 + t.Day())
|
||||
}
|
||||
|
||||
func monthlyBillVer(t time.Time) int64 {
|
||||
return int64(t.Year()*100 + int(t.Month()))
|
||||
}
|
||||
|
||||
func runCAS(ctx context.Context, fn func(ctx context.Context) (effected bool, err error)) (err error) {
|
||||
times := conf.Conf.Biz.RunCASTimes
|
||||
if times <= 0 {
|
||||
times = 2
|
||||
}
|
||||
effected := false
|
||||
for times > 0 {
|
||||
times--
|
||||
if effected, err = fn(ctx); err != nil {
|
||||
return
|
||||
}
|
||||
if effected {
|
||||
return
|
||||
}
|
||||
}
|
||||
if times <= 0 {
|
||||
log.Error("runCAS failed!!!")
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func calcAssetIncome(fee int64) (userIncome int64, bizIncome int64) {
|
||||
if fee <= 0 {
|
||||
return 0, 0
|
||||
}
|
||||
userIncome = int64((1.0 - conf.Conf.Biz.Tax.AssetRate) * float64(fee))
|
||||
bizIncome = fee - userIncome
|
||||
return
|
||||
}
|
Reference in New Issue
Block a user