go-common/app/job/main/vip/service/salary_data.go

54 lines
1.1 KiB
Go
Raw Normal View History

2019-04-22 10:49:16 +00:00
package service
import (
"context"
"time"
"go-common/app/job/main/vip/model"
"go-common/library/log"
"github.com/pkg/errors"
)
//ScanSalaryLog scan salary log.
func (s *Service) ScanSalaryLog(c context.Context) (err error) {
var (
dv = time.Now().Format("2006_01")
olds []*model.OldSalaryLog
size = 1000
endID = 0
)
if endID, err = s.dao.SalaryLogMaxID(context.TODO(), dv); err != nil {
err = errors.WithStack(err)
return
}
page := endID / size
if endID%size != 0 {
page++
}
for i := 0; i < page; {
startID := i * size
eID := (i + 1) * size
if olds, err = s.dao.SelOldSalaryList(context.TODO(), startID, eID, dv); err != nil {
err = errors.WithStack(err)
return
}
i++
for _, v := range olds {
l := &model.VideoCouponSalaryLog{
Mid: v.Mid,
CouponCount: v.CouponCount,
State: v.State,
Type: v.Type,
CouponType: model.SalaryCouponType,
}
if err = s.dao.AddSalaryLog(context.TODO(), l, dv); err != nil {
err = errors.WithStack(err)
log.Error("+%v", err)
continue
}
}
}
return
}