123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- package controllers
- import (
- "fmt"
- "rtzh_elec_temperature/rtelec_app_public_lib/service"
- "time"
- "github.com/wxnacy/wgo/arrays"
- "git.rtzhtech.cn/iss/public-lib/model"
- "github.com/spf13/cast"
- )
- //计划任务相关服务
- type TaskController struct {
- BaseController
- }
- //编辑任务(添加或修改)
- // @router /edit [post]
- func (c *TaskController) EditTask() {
- var parameter model.DevTask
- parameter.Taskid, _ = c.GetInt64("taskid")
- parameter.Appid = cast.ToInt32(service.RtelecManageApp().RegAppID)
- parameter.Taskdesc = c.GetString("taskdesc")
- parameter.Tasktype, _ = c.GetInt32("tasktype")
- startTime := c.GetString("starttime")
- if startTime != "" {
- startDate, parseErr := time.ParseInLocation("2006-01-02 15:04:05", startTime, time.Local)
- if parseErr == nil {
- parameter.Starttime = startDate
- } else {
- c.Data["json"] = c.ApiError("请输入正确的计划任务开始时间!")
- c.ServeJSON()
- return
- }
- } else {
- c.Data["json"] = c.ApiError("计划任务开始时间不允许为空!")
- c.ServeJSON()
- return
- }
- if parameter.Taskdesc == "" {
- c.Data["json"] = c.ApiError("计划任务描述不允许为空!")
- c.ServeJSON()
- return
- }
- parameter.Runtime, _ = c.GetInt32("runtime")
- parameter.Period, _ = c.GetInt32("period")
- parameter.Actid, _ = c.GetInt64("actid")
- parameter.Status = 3 //默认计时中。只有计时中的任务才会进入等待执行队列
- parameter.Pause = 1
- taskObj := new(service.TaskService)
- taskObj.UserInfo = c.GetCurrentUserInfo_rt()
- err := taskObj.EditTask(parameter)
- if err == nil {
- c.Data["json"] = c.ApiOK("编辑计划任务成功!")
- } else {
- c.Data["json"] = c.ApiError(err.Error())
- }
- c.ServeJSON()
- }
- //编辑任务(添加或修改)
- // @router /delete [post]
- func (c *TaskController) DeleteTask() {
- taskObj := new(service.TaskService)
- taskObj.UserInfo = c.GetCurrentUserInfo_rt()
- taskId, _ := c.GetInt64("taskid")
- if taskId == 0 {
- c.Data["json"] = c.ApiError("计划任务id不允许为空(0)!")
- } else {
- err := taskObj.DeleteTask(taskId)
- if err != nil {
- c.Data["json"] = c.ApiError(err.Error())
- } else {
- c.Data["json"] = c.ApiOK("")
- }
- }
- c.ServeJSON()
- }
- //编辑任务(添加或修改)
- // @router /list [get]
- func (c *TaskController) TaskList() {
- tasktype, _ := c.GetInt("tasktype")
- pageIndex, _ := c.GetInt("pageindex", 1)
- pageSize, _ := c.GetInt("pagesize", 20)
- taskObj := new(service.TaskService)
- taskObj.UserInfo = c.GetCurrentUserInfo_rt()
- list, err := taskObj.TaskList(tasktype, pageIndex, pageSize)
- if err != nil {
- c.Data["json"] = c.ApiError(err.Error())
- } else {
- c.Data["json"] = c.ApiOK(list)
- }
- c.ServeJSON()
- }
- //任务暂停或恢复
- // @router /pause [post]
- func (c *TaskController) TaskPause() {
- taskId, _ := c.GetInt64("taskid")
- pause, _ := c.GetInt("pause")
- if taskId == 0 {
- c.Data["json"] = c.ApiError("任务id不允许为空")
- c.ServeJSON()
- return
- }
- if pause == 0 {
- c.Data["json"] = c.ApiError("暂停或恢复不不允许为空")
- c.ServeJSON()
- return
- } else if pause > 0 {
- var pausestatus = []int64{1, 2}
- if arrays.ContainsInt(pausestatus, int64(pause)) == -1 {
- c.Data["json"] = c.ApiError("任务暂停或恢复状态只允许为1或2")
- c.ServeJSON()
- return
- }
- }
- var status = 0
- if pause == 2 {
- status = 4
- } else {
- status = 3
- }
- taskObj := new(service.TaskService)
- taskObj.UserInfo = c.GetCurrentUserInfo_rt()
- err := taskObj.TaskPause(taskId, pause, status)
- if err != nil {
- c.Data["json"] = c.ApiError(err.Error())
- } else {
- taskObj.GetTaskInfo()
- c.Data["json"] = c.ApiOK("")
- if pause == 2 {
- new(service.LogService).SaveLog(fmt.Sprintf("任务%d暂停成功", taskId))
- } else {
- new(service.LogService).SaveLog(fmt.Sprintf("任务%d恢复成功", taskId))
- }
- }
- c.ServeJSON()
- }
|