task.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. //任务管理
  2. //编辑、启动、停止、测试
  3. package task
  4. import (
  5. . "jy/admin"
  6. . "jy/extract"
  7. . "jy/mongodbutil"
  8. "time"
  9. "github.com/gin-contrib/sessions"
  10. "github.com/gin-gonic/gin"
  11. )
  12. func init() {
  13. //首页
  14. Admin.GET("/task", func(c *gin.Context) {
  15. c.HTML(200, "task_list.html", nil)
  16. })
  17. //获取任务列表
  18. Admin.POST("/task/list", func(c *gin.Context) {
  19. data, _ := Mgo.Find("task", ``, `{"_id":-1}`, nil, false, -1, -1)
  20. c.JSON(200, gin.H{"data": data})
  21. })
  22. //新增任务、编辑任务
  23. Admin.POST("/task/save", func(c *gin.Context) {
  24. data := GetPostForm(c)
  25. _id, _ := c.GetPostForm("_id")
  26. b := false
  27. if _id == "" {
  28. data["l_createtime"] = time.Now().Unix()
  29. data["s_username"] = sessions.Default(c).Get("username")
  30. b = Mgo.Save("task", data) != ""
  31. } else {
  32. data["l_lasttime"] = time.Now().Unix()
  33. b = Mgo.Update("task", `{"_id":"`+_id+`"}`, map[string]interface{}{
  34. "$set": data,
  35. }, false, false)
  36. }
  37. c.JSON(200, gin.H{"rep": b})
  38. })
  39. //获取版本列表
  40. Admin.POST("/task/getversion", func(c *gin.Context) {
  41. list, b := Mgo.Find("version", `{}`, `{"_id":-1}`, `{"version":1}`, false, -1, -1)
  42. if b && list != nil {
  43. for _, v := range *list {
  44. v["_id"] = v["version"]
  45. v["s_name"] = v["version"]
  46. }
  47. }
  48. c.JSON(200, gin.H{"data": list})
  49. })
  50. //任务测试
  51. Admin.POST("/task/test", func(c *gin.Context) {
  52. startid, _ := c.GetPostForm("startid")
  53. num, _ := c.GetPostForm("num")
  54. taskid, _ := c.GetPostForm("taskid")
  55. b := StartExtractTestTask(taskid, startid, num)
  56. c.JSON(200, gin.H{"rep": b})
  57. })
  58. }