api_list_recent_edit_request.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package route
  2. import (
  3. "opennamu/route/tool"
  4. )
  5. func Api_list_recent_edit_request(config tool.Config) string {
  6. db := tool.DB_connect()
  7. defer tool.DB_close(db)
  8. other_set := map[string]string{}
  9. json.Unmarshal([]byte(config.Other_set), &other_set)
  10. limit_int := tool.Str_to_int(other_set["limit"])
  11. if limit_int > 50 || limit_int < 0 {
  12. limit_int = 50
  13. }
  14. rows := tool.Query_DB(
  15. db,
  16. "select doc_name, doc_rev, set_data from data_set where set_name = 'edit_request_doing' order by set_data desc limit ?",
  17. limit_int,
  18. )
  19. defer rows.Close()
  20. var doc_name string
  21. var doc_rev string
  22. var date string
  23. data_list := [][]string{}
  24. for rows.Next() {
  25. err := rows.Scan(&doc_name, &doc_rev, &date)
  26. if err != nil {
  27. panic(err)
  28. }
  29. ip := ""
  30. tool.QueryRow_DB(
  31. db,
  32. "select set_data from data_set where set_name = 'edit_request_user' and doc_rev = ? and doc_name = ?",
  33. []any{ &ip },
  34. doc_rev, doc_name,
  35. )
  36. send := ""
  37. tool.QueryRow_DB(
  38. db,
  39. "select set_data from data_set where set_name = 'edit_request_send' and doc_rev = ? and doc_name = ?",
  40. []any{ &send },
  41. doc_rev, doc_name,
  42. )
  43. leng := ""
  44. tool.QueryRow_DB(
  45. db,
  46. "select set_data from data_set where set_name = 'edit_request_leng' and doc_rev = ? and doc_name = ?",
  47. []any{ &leng },
  48. doc_rev, doc_name,
  49. )
  50. data_list = append(data_list, []string{
  51. doc_name,
  52. doc_rev,
  53. date,
  54. tool.IP_preprocess(db, ip, config.IP)[0],
  55. send,
  56. leng,
  57. tool.IP_parser(db, ip, config.IP),
  58. })
  59. }
  60. json_data, _ := json.Marshal(data_list)
  61. return string(json_data)
  62. }