Task.go 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335
  1. package controllers
  2. import (
  3. "bzd_server/conf"
  4. "bzd_server/lib"
  5. "bzd_server/models/System"
  6. "bzd_server/models/Task"
  7. beego "github.com/beego/beego/v2/server/web"
  8. "math"
  9. )
  10. type TaskController struct {
  11. beego.Controller
  12. }
  13. // 列表 -
  14. func (c *TaskController) List() {
  15. // 验证登录 User_is, User_r
  16. _, User_is := lib.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  17. if !User_is {
  18. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  19. c.ServeJSON()
  20. return
  21. }
  22. var r_jsons lib.R_JSONS
  23. page, _ := c.GetInt("page")
  24. if page < 1 {
  25. page = 1
  26. }
  27. page_z, _ := c.GetInt("page_z")
  28. if page_z < 1 {
  29. page_z = conf.Page_size
  30. }
  31. T_name := c.GetString("T_name")
  32. T_uuid := c.GetString("T_uuid")
  33. var cnt int
  34. List, cnt := Task.Read_UserTask_List(T_uuid, T_name, page, page_z)
  35. page_size := math.Ceil(float64(cnt) / float64(page_z))
  36. r_jsons.List = List
  37. r_jsons.Page = page
  38. r_jsons.Page_size = int(page_size)
  39. r_jsons.Pages = lib.Func_page(int64(page), int64(page_size))
  40. r_jsons.Num = cnt
  41. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  42. c.ServeJSON()
  43. return
  44. }
  45. // 列表 -
  46. func (c *TaskController) UserTaskList() {
  47. // 验证登录 User_is, User_r
  48. User_r, User_is := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  49. if !User_is {
  50. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  51. c.ServeJSON()
  52. return
  53. }
  54. var r_jsons lib.R_JSONS
  55. page, _ := c.GetInt("page")
  56. if page < 1 {
  57. page = 1
  58. }
  59. page_z, _ := c.GetInt("page_z")
  60. if page_z < 1 {
  61. page_z = conf.Page_size
  62. }
  63. T_name := c.GetString("T_name")
  64. var cnt int
  65. List, cnt := Task.Read_UserTask_List(User_r.T_uuid, T_name, page, page_z)
  66. page_size := math.Ceil(float64(cnt) / float64(page_z))
  67. r_jsons.List = List
  68. r_jsons.Page = page
  69. r_jsons.Page_size = int(page_size)
  70. r_jsons.Pages = lib.Func_page(int64(page), int64(page_size))
  71. r_jsons.Num = cnt
  72. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  73. c.ServeJSON()
  74. return
  75. }
  76. // 获取-
  77. func (c *TaskController) Get() {
  78. // 验证登录 User_is, User_r
  79. _, User_is := lib.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  80. if !User_is {
  81. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  82. c.ServeJSON()
  83. return
  84. }
  85. T_task_id := c.GetString("T_task_id")
  86. r, is := Task.Read_Task(T_task_id)
  87. if !is {
  88. c.Data["json"] = lib.JSONS{Code: 201, Msg: "Id 错误!"}
  89. c.ServeJSON()
  90. return
  91. }
  92. // 添加浏览量
  93. _ = Task.Add_Task_Visit(r)
  94. r.T_Visit += 1
  95. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Task.TaskToTask_R(r)}
  96. c.ServeJSON()
  97. return
  98. }
  99. // 添加-
  100. func (c *TaskController) Add() {
  101. // 验证登录 User_is, User_r
  102. User_r, User_is := lib.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  103. if !User_is {
  104. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  105. c.ServeJSON()
  106. return
  107. }
  108. T_name := c.GetString("T_name")
  109. T_uuid := c.GetString("T_uuid") // 用户uuid
  110. T_VerifyTemplate_id := c.GetString("T_VerifyTemplate_id")
  111. T_deadline := c.GetString("T_deadline")
  112. T_collection := c.GetString("T_collection")
  113. T_reporting := c.GetString("T_reporting")
  114. T_delivery := c.GetString("T_delivery")
  115. //var_ := Task.Task{
  116. // T_uuid: T_uuid,
  117. // T_name: T_name,
  118. // T_VerifyTemplate_id: T_VerifyTemplate_id,
  119. // T_deadline: T_deadline,
  120. // T_collection: Task.TaskInfo{T_uuid: T_collection},
  121. // T_reporting: Task.TaskInfo{T_uuid: T_reporting},
  122. // T_delivery: Task.TaskInfo{T_uuid: T_delivery},
  123. // T_Show: 1,
  124. // T_State: 1,
  125. //}
  126. var_ := Task.Task{
  127. T_uuid: T_uuid,
  128. T_name: T_name,
  129. T_VerifyTemplate_id: T_VerifyTemplate_id,
  130. T_deadline: T_deadline,
  131. T_collection: T_collection,
  132. T_reporting: T_reporting,
  133. T_delivery: T_delivery,
  134. T_Show: 1,
  135. T_State: 1,
  136. }
  137. T_task_id, is := Task.Add_Task(var_)
  138. if !is {
  139. c.Data["json"] = lib.JSONS{Code: 301, Msg: "添加失败!"}
  140. c.ServeJSON()
  141. return
  142. }
  143. Task.Add_TaskLogs_T(User_r.T_uuid, T_task_id, "任务管理", "添加", var_)
  144. System.Add_UserLogs_T(User_r.T_uuid, "任务管理", "添加", var_)
  145. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: T_task_id}
  146. c.ServeJSON()
  147. return
  148. }
  149. // 修改-
  150. func (c *TaskController) Up() {
  151. // 验证登录 User_is, User_r
  152. User_r, User_is := lib.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  153. if !User_is {
  154. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  155. c.ServeJSON()
  156. return
  157. }
  158. T_name := c.GetString("T_name")
  159. T_Show, T_Show_err := c.GetInt("T_Show")
  160. T_VerifyTemplate_id := c.GetString("T_VerifyTemplate_id")
  161. T_deadline := c.GetString("T_deadline")
  162. T_collection := c.GetString("T_collection")
  163. T_collection_state, T_collection_err := c.GetInt("T_collection_state")
  164. T_reporting := c.GetString("T_reporting")
  165. T_reporting_state, T_reporting_err := c.GetInt("T_reporting_state")
  166. T_delivery := c.GetString("T_delivery")
  167. T_delivery_state, T_delivery_err := c.GetInt("T_delivery_state")
  168. T_doc1 := c.GetString("T_doc1")
  169. T_pdf1 := c.GetString("T_pdf1")
  170. T_doc2 := c.GetString("T_doc2")
  171. T_pdf2 := c.GetString("T_pdf2")
  172. T_doc3 := c.GetString("T_doc3")
  173. T_pdf3 := c.GetString("T_pdf3")
  174. T_task_id := c.GetString("T_task_id")
  175. r, is := Task.Read_Task(T_task_id)
  176. if !is {
  177. c.Data["json"] = lib.JSONS{Code: 201, Msg: "Id 错误!"}
  178. c.ServeJSON()
  179. return
  180. }
  181. // .......
  182. if len(T_name) > 0 {
  183. r.T_name = T_name
  184. }
  185. if T_Show_err == nil {
  186. r.T_Show = T_Show
  187. }
  188. if len(T_VerifyTemplate_id) > 0 {
  189. r.T_VerifyTemplate_id = T_VerifyTemplate_id
  190. }
  191. if len(T_deadline) > 0 {
  192. r.T_deadline = T_deadline
  193. }
  194. if len(T_collection) > 0 {
  195. r.T_collection = T_collection
  196. }
  197. if len(T_reporting) > 0 {
  198. r.T_reporting = T_reporting
  199. }
  200. if len(T_delivery) > 0 {
  201. r.T_delivery = T_delivery
  202. }
  203. if T_collection_err == nil {
  204. r.T_collection_state = T_collection_state
  205. }
  206. if T_reporting_err == nil {
  207. r.T_reporting_state = T_reporting_state
  208. }
  209. if T_delivery_err == nil {
  210. r.T_delivery_state = T_delivery_state
  211. }
  212. if len(T_doc1) > 0 {
  213. r.T_doc1 = T_doc1
  214. }
  215. if len(T_pdf1) > 0 {
  216. r.T_pdf1 = T_pdf1
  217. }
  218. if len(T_doc2) > 0 {
  219. r.T_doc2 = T_doc2
  220. }
  221. if len(T_pdf2) > 0 {
  222. r.T_pdf2 = T_pdf2
  223. }
  224. if len(T_doc3) > 0 {
  225. r.T_doc3 = T_doc3
  226. }
  227. if len(T_pdf3) > 0 {
  228. r.T_pdf3 = T_pdf3
  229. }
  230. // .......
  231. if !Task.Update_Task(r, "T_name", "T_Show", "T_VerifyTemplate_id", "T_deadline",
  232. "T_collection", "T_reporting", "T_delivery",
  233. "T_collection_state", "T_reporting_state", "T_delivery_state",
  234. "T_doc1", "T_pdf1", "T_doc2", "T_pdf2", "T_doc3", "T_pdf3") {
  235. c.Data["json"] = lib.JSONS{Code: 202, Msg: "修改失败!"}
  236. c.ServeJSON()
  237. return
  238. }
  239. Task.Add_TaskLogs_T(User_r.T_uuid, T_task_id, "任务管理", "修改", r)
  240. System.Add_UserLogs_T(User_r.T_uuid, "任务管理", "修改", r)
  241. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  242. c.ServeJSON()
  243. return
  244. }
  245. // 删除-
  246. func (c *TaskController) Del() {
  247. // 验证登录 User_is, User_r
  248. User_r, User_is := lib.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  249. if !User_is {
  250. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  251. c.ServeJSON()
  252. return
  253. }
  254. T_task_id := c.GetString("T_task_id")
  255. if r, is := Task.Read_Task(T_task_id); is {
  256. if !Task.Delete_Task_(r) {
  257. c.Data["json"] = lib.JSONS{Code: 202, Msg: "删除失败!"}
  258. c.ServeJSON()
  259. return
  260. }
  261. Task.Add_TaskLogs_T(User_r.T_uuid, T_task_id, "任务管理", "删除", r)
  262. System.Add_UserLogs_T(User_r.T_uuid, "任务管理", "删除", r)
  263. }
  264. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  265. c.ServeJSON()
  266. return
  267. }
  268. // 列表 -
  269. func (c *TaskController) Logs_List() {
  270. // 验证登录 User_is, User_r
  271. _, User_is := lib.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  272. if !User_is {
  273. c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
  274. c.ServeJSON()
  275. return
  276. }
  277. var r_jsons lib.R_JSONS
  278. page, _ := c.GetInt("page")
  279. if page < 1 {
  280. page = 1
  281. }
  282. page_z, _ := c.GetInt("page_z")
  283. if page_z < 1 {
  284. page_z = conf.Page_size
  285. }
  286. T_task_id := c.GetString("T_task_id")
  287. //AdminList := Account.Read_Admin_List_ALL()
  288. //AdminMap := Account.AdminListToAdminMap(AdminList)
  289. var cnt int
  290. List, cnt := Task.Read_TaskLogs_List(T_task_id, page, page_z)
  291. page_size := math.Ceil(float64(cnt) / float64(page_z))
  292. r_jsons.List = List
  293. r_jsons.Page = page
  294. r_jsons.Page_size = int(page_size)
  295. r_jsons.Pages = lib.Func_page(int64(page), int64(page_size))
  296. r_jsons.Num = cnt
  297. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  298. c.ServeJSON()
  299. return
  300. }