movieSearch.go 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package model
  2. import (
  3. "crawler/config"
  4. "crawler/service"
  5. "database/sql"
  6. )
  7. type MovieSearchModel struct {
  8. MovieSearch
  9. MovieListParams
  10. DailyBoxOfficeParams
  11. WeeklyBoxOfficeListParams
  12. }
  13. type MovieSearch struct {
  14. SearchID string
  15. Params string
  16. IDs string
  17. }
  18. // 영화 목록 검색 변수
  19. type MovieListParams struct {
  20. CurPage any `json:"curPage"`
  21. ItemPerPage any `json:"itemPerPage"`
  22. MovieNm any `json:"movieNm"`
  23. DirectorNm any `json:"directorNm"`
  24. OpenStartDt any `json:"openStartDt"`
  25. OpenEndDt any `json:"openEndDt"`
  26. PrdtStartYear any `json:"prdtStartYear"`
  27. PrdtEndYear any `json:"prdtEndYear"`
  28. RepNationCd any `json:"repNationCd"`
  29. MovieTypeCd any `json:"movieTypeCd"`
  30. }
  31. // 일별 박스오피스 검색 변수
  32. type DailyBoxOfficeParams struct {
  33. TargetDt any `json:"targetDt"`
  34. ItemPerPage any `json:"itemPerPage"`
  35. MultiMovieYn any `json:"multiMovieYn"`
  36. RepNationCd any `json:"repNationCd"`
  37. WideAreaCd any `json:"wideAreaCd"`
  38. }
  39. // 주간/주말 박스오피스 검색 변수
  40. type WeeklyBoxOfficeListParams struct {
  41. TargetDt any `json:"targetDt"`
  42. WeekGb any `json:"weekGb"`
  43. ItemPerPage any `json:"itemPerPage"`
  44. MultiMovieYn any `json:"multiMovieYn"`
  45. RepNationCd any `json:"repNationCd"`
  46. WideAreaCd any `json:"wideAreaCd"`
  47. }
  48. func (this *MovieSearchModel) SelectIDs(params string) (string, error) {
  49. var (
  50. db = service.DB_MOVIEW
  51. conn = db.SQLDB
  52. ids string
  53. query = `SELECT ids FROM tb_movie_search WHERE params = ?`
  54. )
  55. err := conn.QueryRow(query, params).Scan(&ids)
  56. if err != nil && err != sql.ErrNoRows {
  57. db.SetErrorLog(err, query)
  58. return ids, err
  59. }
  60. db.SetGeneralLog(config.GL_ACTION_SELECT, query, "select ids movie search")
  61. return ids, nil
  62. }
  63. func (this *MovieSearchModel) Insert(row MovieSearch) error {
  64. var (
  65. db = service.DB_MOVIEW
  66. conn = db.SQLDB
  67. query = `
  68. INSERT INTO tb_movie_search (
  69. params, ids, created_at
  70. )
  71. VALUES
  72. (?, ?, NOW())
  73. ON DUPLICATE KEY UPDATE
  74. params = VALUES(params), ids = VALUES(ids), created_at = VALUES(created_at);
  75. `
  76. )
  77. _, err := conn.Exec(query, row.Params, row.IDs)
  78. if err != nil {
  79. db.SetErrorLog(err, query)
  80. return err
  81. }
  82. db.SetGeneralLog(config.GL_ACTION_WRITE, query, "insert movie search")
  83. return nil
  84. }