api_bbs_w_comment.go 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package route
  2. import (
  3. "database/sql"
  4. "encoding/json"
  5. "log"
  6. "opennamu/route/tool"
  7. "strconv"
  8. )
  9. func Api_bbs_w_comment(call_arg []string) string {
  10. db_set := map[string]string{}
  11. json.Unmarshal([]byte(call_arg[0]), &db_set)
  12. other_set := map[string]string{}
  13. json.Unmarshal([]byte(call_arg[1]), &other_set)
  14. db := tool.DB_connect(db_set)
  15. defer db.Close()
  16. if other_set["tool"] == "length" {
  17. stmt, err := db.Prepare(tool.DB_change(db_set, "select count(*) from bbs_data where set_name = 'comment_date' and set_id = ? order by set_code + 0 desc"))
  18. if err != nil {
  19. log.Fatal(err)
  20. }
  21. defer stmt.Close()
  22. var comment_length string
  23. bbs_and_post_num := other_set["bbs_num"] + "-" + other_set["post_num"]
  24. err = stmt.QueryRow(bbs_and_post_num).Scan(&comment_length)
  25. if err != nil {
  26. if err == sql.ErrNoRows {
  27. comment_length = "0"
  28. } else {
  29. log.Fatal(err)
  30. }
  31. }
  32. stmt, err = db.Prepare(tool.DB_change(db_set, "select count(*) from bbs_data where set_name = 'comment_date' and set_id like ? order by set_code + 0 desc"))
  33. if err != nil {
  34. log.Fatal(err)
  35. }
  36. defer stmt.Close()
  37. var reply_length string
  38. err = stmt.QueryRow(bbs_and_post_num + "-%").Scan(&reply_length)
  39. if err != nil {
  40. if err == sql.ErrNoRows {
  41. reply_length = "0"
  42. } else {
  43. log.Fatal(err)
  44. }
  45. }
  46. comment_length_int, _ := strconv.Atoi(comment_length)
  47. reply_length_int, _ := strconv.Atoi(reply_length)
  48. length_int := comment_length_int + reply_length_int
  49. length_str := strconv.Itoa(length_int)
  50. data_list := map[string]string{
  51. "comment": comment_length,
  52. "reply": reply_length,
  53. "data": length_str,
  54. }
  55. json_data, _ := json.Marshal(data_list)
  56. return string(json_data)
  57. } else {
  58. return ""
  59. }
  60. }