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