task.go 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. package task
  2. import (
  3. qu "qfw/util"
  4. "strings"
  5. "time"
  6. . "util"
  7. "github.com/go-xweb/xweb"
  8. "gopkg.in/mgo.v2/bson"
  9. )
  10. type Task struct {
  11. *xweb.Action
  12. taskList xweb.Mapper `xweb:"/task/list"` //查询所有任务
  13. taskSave xweb.Mapper `xweb:"/task/save"` //保存任务
  14. taskDel xweb.Mapper `xweb:"/task/del"` //删除任务
  15. taskStope xweb.Mapper `xweb:"/task/start"` //启动任务
  16. taskStop xweb.Mapper `xweb:"/task/stop"` //停止任务
  17. //逻辑配置
  18. taskPreProcessLogic xweb.Mapper `xweb:"/task/logic/preProcess"` //预处理逻辑
  19. taskPreProcessSave xweb.Mapper `xweb:"/task/preprocess/save"` //预处理逻辑保存
  20. askPreProcessDel xweb.Mapper `xweb:"/task/preprocess/del"` //预处理逻辑删除
  21. taskMatchLogic xweb.Mapper `xweb:"/task/logic/match"` //匹配逻辑
  22. taskfieldLogic xweb.Mapper `xweb:"/task/logic/field"` //字段逻辑
  23. }
  24. func (t *Task) TaskList() {
  25. defer qu.Catch()
  26. if t.Method() == "POST" {
  27. data, _ := Mgo.Find("task", `{"delete":false}`, nil, nil, false, -1, -1)
  28. t.ServeJson(map[string]interface{}{
  29. "data": data,
  30. })
  31. } else {
  32. t.Render("com/task_list.html")
  33. }
  34. }
  35. func (t *Task) TaskSave() {
  36. //判断存储配置是否完整
  37. s_mgosavecoll := t.GetString("s_mgosavecoll")
  38. strs := strings.Split(s_mgosavecoll, "/")
  39. if len(strs) < 3 {
  40. t.ServeJson(map[string]interface{}{
  41. "rep": false,
  42. "msg": "保存表输入地址不正确!",
  43. })
  44. return
  45. }
  46. _id := t.GetString("_id")
  47. data := GetPostForm(t.Request)
  48. b := false
  49. if _id == "" {
  50. data["delete"] = false
  51. data["l_comeintime"] = time.Now().Unix()
  52. session := t.GetSession("user").(map[string]interface{})
  53. data["s_username"] = session["name"].(string)
  54. data["s_userid"] = session["id"].(string)
  55. data["i_runstate"] = 0
  56. b = Mgo.Save("task", data) != ""
  57. } else {
  58. data["l_lasttime"] = time.Now().Unix()
  59. b = Mgo.Update("task", `{"_id":"`+_id+`"}`, map[string]interface{}{
  60. "$set": data,
  61. }, false, false)
  62. }
  63. t.ServeJson(map[string]interface{}{
  64. "rep": b,
  65. })
  66. }
  67. func (t *Task) TaskDel() {
  68. _id := t.GetString("_id")
  69. query := bson.M{
  70. "_id": qu.StringTOBsonId(_id),
  71. }
  72. set := bson.M{
  73. "$set": bson.M{
  74. "delete": true,
  75. },
  76. }
  77. b := Mgo.Update("task", query, set, false, false)
  78. t.ServeJson(map[string]interface{}{
  79. "rep": b,
  80. })
  81. }
  82. func (t *Task) TaskPreProcessLogic() {
  83. defer qu.Catch()
  84. taskid := t.GetString("taskid")
  85. if t.Method() == "POST" {
  86. data, _ := Mgo.Find("task", `{"delete":false}`, nil, nil, false, -1, -1)
  87. t.ServeJson(map[string]interface{}{
  88. "data": data,
  89. })
  90. } else {
  91. t.T["taskid"] = taskid
  92. t.Render("com/task_preprocess_list.html", &t.T)
  93. }
  94. }
  95. func (t *Task) TaskMatchLogic() {
  96. defer qu.Catch()
  97. taskid := t.GetString("taskid")
  98. if t.Method() == "POST" {
  99. data, _ := Mgo.Find("task", `{"delete":false}`, nil, nil, false, -1, -1)
  100. t.ServeJson(map[string]interface{}{
  101. "data": data,
  102. })
  103. } else {
  104. t.T["taskid"] = taskid
  105. t.Render("com/task_match_list.html", &t.T)
  106. }
  107. }
  108. func (t *Task) TaskfieldLogic() {
  109. defer qu.Catch()
  110. taskid := t.GetString("taskid")
  111. if t.Method() == "POST" {
  112. data, _ := Mgo.Find("task", `{"delete":false}`, nil, nil, false, -1, -1)
  113. t.ServeJson(map[string]interface{}{
  114. "data": data,
  115. })
  116. } else {
  117. t.T["taskid"] = taskid
  118. t.Render("com/task_field_list.html", &t.T)
  119. }
  120. }