course.go 1.7 KB

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