courses.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package models
  2. import (
  3. "errors"
  4. "zhiyuan/pkg/db"
  5. )
  6. type Courses struct {
  7. ID int `json:"id"`
  8. CourseId int `json:"course_id"`
  9. Name string `json:"name"`
  10. Type int `json:"type"`
  11. Content string `json:"content"`
  12. Orders int `json:"orders"`
  13. CreatedAt int `json:"created_at"`
  14. UpdatedAt int `json:"updated_at"`
  15. }
  16. func (Courses) TableName() string {
  17. return "zy_courses"
  18. }
  19. func (a Courses) GetOne(where map[string]interface{}, fields []string, retVal interface{}) (*Courses, error) {
  20. if retVal == nil {
  21. var courses *Courses
  22. err := db.GetOne(a.TableName(), where, fields, &courses)
  23. return courses, err
  24. } else {
  25. err := db.GetOne(a.TableName(), where, fields, retVal)
  26. return nil, err
  27. }
  28. }
  29. func (a Courses) GetMulti(where map[string]interface{}, fields []string, retVal interface{}) ([]*Courses, error) {
  30. if retVal == nil {
  31. var courses []*Courses
  32. err := db.GetMulti(a.TableName(), where, fields, &courses)
  33. return courses, err
  34. } else {
  35. err := db.GetMulti(a.TableName(), where, fields, retVal)
  36. return nil, err
  37. }
  38. }
  39. func (a Courses) GetOneRaw(where map[string]string, param map[string]interface{}, retVal interface{}) (*Courses, error) {
  40. courses, err := a.GetMultiRaw(where, param, retVal)
  41. if err != nil {
  42. return nil, err
  43. }
  44. if len(courses) == 0 {
  45. return nil, errors.New("empty record2")
  46. }
  47. return courses[0], nil
  48. }
  49. func (a Courses) GetMultiRaw(where map[string]string, param map[string]interface{}, retVal interface{}) ([]*Courses, error) {
  50. field := "SELECT * FROM zy_courses "
  51. if retVal == nil {
  52. var courses []*Courses
  53. err := db.GetMultiRaw(field, where, param, &courses)
  54. return courses, err
  55. } else {
  56. err := db.GetMultiRaw(field, where, param, retVal)
  57. return nil, err
  58. }
  59. }