go-common/app/job/main/ugcpay/service/elec_syncdb.go
2019-04-22 18:49:16 +08:00

83 lines
2.0 KiB
Go
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package service
import (
"context"
"runtime/debug"
"time"
"go-common/app/job/main/ugcpay/model"
"go-common/library/log"
)
// SyncElecOrderList 同步老充电订单
func (s *Service) SyncElecOrderList(c context.Context) {
defer func() {
if x := recover(); x != nil {
log.Error("syncElecOrderSync panic(%+v) :\n %s", x, debug.Stack())
}
}()
var (
limit = 100
list = make([]*model.DBOldElecPayOrder, limit)
startID = int64(0)
err error
)
log.Info("Start syncElecOrderSync from elec_pay_order")
for len(list) >= limit {
log.Info("sync progress elec_pay_order fromID (%d)", startID)
// 1. load old data
if startID, list, err = s.dao.OldElecOrderList(_ctx, startID, limit); err != nil {
log.Error("%+v", err)
return
}
// 2. save new data
for _, ele := range list {
if err = s.handleElecOrder(_ctx, ele); err != nil {
log.Error("s.handleElecOrder: %+v, err: %+v", ele, err)
return
}
}
// 3. give db a break time
time.Sleep(time.Millisecond * 20)
}
log.Info("End syncElecOrderSync from elec_pay_order")
}
// SyncElecMessageList 同步老充电留言
func (s *Service) SyncElecMessageList(c context.Context) {
defer func() {
if x := recover(); x != nil {
log.Error("syncElecMessageList panic(%+v) :\n %s", x, debug.Stack())
}
}()
var (
limit = 100
list = make([]*model.DBOldElecMessage, limit)
startID = int64(0)
err error
)
log.Info("Start syncElecMessageList from elec_message")
for len(list) >= limit {
log.Info("sync progress elec_message fromID (%d)", startID)
// 1. load old data
if startID, list, err = s.dao.OldElecMessageList(_ctx, startID, limit); err != nil {
log.Error("%+v", err)
return
}
// 2. save new data
for _, ele := range list {
if err = s.handleOldElecMessage(_ctx, ele); err != nil {
log.Error("s.handleOldElecMessage: %+v, err: %+v", ele, err)
return
}
}
// 3. give db a break time
time.Sleep(time.Millisecond * 20)
}
log.Info("End syncElecMessageList from elec_message")
}