api_list_long_page.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package route
  2. import "opennamu/route/tool"
  3. func Api_list_long_page(config tool.Config, num string, set_type string) map[string]any {
  4. db := tool.DB_connect()
  5. defer tool.DB_close(db)
  6. page_int := tool.Str_to_int(num)
  7. if page_int > 0 {
  8. page_int = (page_int * 50) - 50
  9. } else {
  10. page_int = 0
  11. }
  12. query := ""
  13. if set_type == "long" {
  14. query = "select doc_name, set_data from data_set where set_name = 'length' and doc_rev = '' and " + tool.Get_except_document_name_SQL("doc_name") + " order by set_data + 0 desc limit ?, 50"
  15. } else {
  16. query = "select doc_name, set_data from data_set where set_name = 'length' and doc_rev = '' and " + tool.Get_except_document_name_SQL("doc_name") + " order by set_data + 0 asc limit ?, 50"
  17. }
  18. rows := tool.Query_DB(
  19. db,
  20. query,
  21. page_int,
  22. )
  23. defer rows.Close()
  24. data_list := [][]string{}
  25. for rows.Next() {
  26. var doc_name string
  27. var length string
  28. err := rows.Scan(&doc_name, &length)
  29. if err != nil {
  30. panic(err)
  31. }
  32. data_list = append(data_list, []string{ doc_name, length })
  33. }
  34. return_data := make(map[string]any)
  35. return_data["data"] = data_list
  36. return return_data
  37. }