diff --git a/src/bean/vo/request/work_order.go b/src/bean/vo/request/work_order.go index 5a2534713d6669aa856d087e23dc59b66f0f18a4..e28859f455cecc7696c395cf5a0b66b426cf0a83 100644 --- a/src/bean/vo/request/work_order.go +++ b/src/bean/vo/request/work_order.go @@ -36,7 +36,7 @@ type TimingCustom struct { } type EditWorkOrderReq struct { - IsPush int `json:"is_push" binding:"required"` // 是否立刻下发(0否 1是) + IsPush int `json:"is_push" binding:"oneof=0 1"` // 是否立刻下发(0否 1是) Id int `json:"id" binding:"required"` // 主键id OrderLevel int `json:"order_level" binding:"oneof=1 2 3"` // 工单等级(1紧急任务 2重要任务 3一般任务) OrderDesc string `json:"order_desc" binding:"required"` // 工单描述 diff --git a/src/service/work_order.go b/src/service/work_order.go index 44cc172c7bae601204c3d4fb114cf844041dd7af..2ad043ed69b8e7dbde6aa621cea8a51714dabe63 100644 --- a/src/service/work_order.go +++ b/src/service/work_order.go @@ -21,6 +21,8 @@ import ( "time" ) +var workOrderCron = cron.New(cron.WithSeconds()) + type WorkOrderManageSvc struct { User entity.SystemUserInfo } @@ -169,10 +171,9 @@ func (w *WorkOrderManageSvc) StateWorkOrderManage(req request.StateWorkOrderReq) return } - if req.TimingState == 1 { - //创建定时任务 - CronPushWorkOrder() - } + //创建定时任务 + CronPushWorkOrder() + return } @@ -764,8 +765,6 @@ func PushObjMsg(obj, orderName string, orderLevel int) (err error) { return } -var c = cron.New(cron.WithSeconds()) - // CronPushWorkOrder 创建工单下发定时任务 func CronPushWorkOrder() { db, err := client.GetDbClient() @@ -784,8 +783,8 @@ func CronPushWorkOrder() { return } - c.Stop() - defer c.Start() + workOrderCron.Stop() + defer workOrderCron.Start() for _, v := range workOrderList { var pushObj request.PushObj err = json.Unmarshal([]byte(v.PushObj), &pushObj) @@ -815,7 +814,7 @@ func CronPushWorkOrder() { expr := fmt.Sprintf("%d %d %d * * %s", t.Second(), t.Minute(), t.Hour(), strings.Join(util.IntsToStrings(timingWeekly.Week), ",")) //创建定时任务 - c.AddFunc(expr, func() { + workOrderCron.AddFunc(expr, func() { err = svc.PushWorkOrderManage(request.PushWorkOrderReq{Id: v.Id, PushObj: pushObj}) //err = PushObjMsg(v.PushObj, v.OrderName, v.OrderLevel) if err != nil { @@ -849,7 +848,7 @@ func CronPushWorkOrder() { for d := dateFrom; d.Before(dateTo); d = d.AddDate(0, 0, 1) { expr := fmt.Sprintf("%d %d %d %d %d %d", t.Second(), t.Minute(), t.Hour(), d.Day(), d.Month(), d.Year()) //创建定时任务 - c.AddFunc(expr, func() { + workOrderCron.AddFunc(expr, func() { err = svc.PushWorkOrderManage(request.PushWorkOrderReq{Id: v.Id, PushObj: pushObj}) //err = PushObjMsg(v.PushObj, v.OrderName, v.OrderLevel) if err != nil {