2019-04-22 02:59:20 +00:00

83 lines
2.0 KiB
Go
Raw Permalink 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")
}