12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package crontab
- import (
- "context"
- "fmt"
- "kpt-pasture/model"
- "kpt-pasture/util"
- "time"
- "gitee.com/xuyiping_admin/pkg/logger/zaplog"
- "go.uber.org/zap"
- pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
- )
- func (e *Entry) demo() error {
- fmt.Println("demo crontab ok")
- return nil
- }
- // UpdateCowDayAge 更新牛的日龄
- func (e *Entry) UpdateCowDayAge() error {
- cowList := make([]*model.Cow, 0)
- if err := e.DB.Where("is_remove = ?", pasturePb.IsShow_Ok).Find(&cowList).Error; err != nil {
- return err
- }
- for _, cow := range cowList {
- dayAge := cow.GetDayAge()
- if err := e.DB.Where("id = ?", cow.Id).Update("day_age", dayAge).Error; err != nil {
- zaplog.Error("Crontab", zap.Any("UpdateCowDayAge", err))
- }
- }
- return nil
- }
- // GenerateWorkOrder 生成工作单
- func (e *Entry) GenerateWorkOrder() error {
- workOrderList := make([]*model.WorkOrderMaster, 0)
- if err := e.DB.Where("is_show = ?", pasturePb.IsShow_Ok).Find(&workOrderList).Error; err != nil {
- return err
- }
- for _, workOrder := range workOrderList {
- timeUnix, err := util.ConvertParseLocalUnix(workOrder.ExecTime)
- if timeUnix <= 0 || err != nil {
- zaplog.Error("crontab", zap.Any("GenerateWorkOrder", err), zap.Any("execTime", workOrder.ExecTime))
- continue
- }
- execTime := time.Now().Unix() - timeUnix
- if _, err := e.AsynqClient.CtxEnqueue(context.Background(), model.NewTaskWorkOrderPayload(workOrder.Id, time.Duration(execTime)*time.Second)); err != nil {
- zaplog.Error("PushMessage CtxEnqueue", zap.Any("Err", err))
- }
- }
- return nil
- }
|