苏州瑞玛APS项目web后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
1.6 KiB

package createVersion
import (
"leit.com/LAPP_CHEERSSON_BACKEND/global"
model "leit.com/LAPP_CHEERSSON_BACKEND/models/base"
svr "leit.com/LAPP_CHEERSSON_BACKEND/services/base"
apSvr "leit.com/LAPP_CHEERSSON_BACKEND/services/ap"
"leit.com/LAPP_CHEERSSON_BACKEND/web/middleware/glog"
"time"
"context"
)
//仓库
var custChan = make(chan model.Customer) //定义一个调度任务通道
/****查询要打印的任务**********/
func CreateVersionTask() {
for {
//创建继承Baxkground的子节点Context
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
go doTaskVersion(ctx)
data := make([]model.Customer, 0)
//第一步,查询客户信息的数据
var serviceOfCust = svr.NewCustomerService()
user := new(global.User)
user.PlantNr = model.PlantNr
user.UserId = "auto"
data, err := serviceOfCust.Select(user, nil)
if err != nil {
continue
}
//第二步,把所有的服务调度放到channel
for _, v := range data {
custChan <- v
}
time.Sleep(1 * time.Hour)
}
}
/********打印逻辑************/
func doTaskVersion(ctx context.Context) {
//第三步,启动协程,从channel里读取数据
for {
select {
case <-ctx.Done():
return
case task, ok := <-custChan:
if !ok {
return //停机退出
}
var serviceOfCustVerHead = apSvr.NewCustDemandVerHeadService()
user := new(global.User)
user.PlantNr = model.PlantNr
user.UserId = "auto"
err := serviceOfCustVerHead.SelectOneByCustTask(user, task)
if err != nil {
glog.InfoExtln("创建错误记录", "err:", err)
continue
}
}
}
}