pic.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package model
  2. import (
  3. "trading-go/common"
  4. "trading-go/response"
  5. )
  6. type Pic struct {
  7. Id uint `db:"id"`
  8. Name string `db:"name"`
  9. Url string `db:"url"`
  10. }
  11. func (p *Pic) Save() error {
  12. db := common.DB
  13. sqlStr := "INSERT INTO pics(name, url) VALUES (:name, :url)"
  14. exec, err := db.NamedExec(sqlStr, p)
  15. if err != nil {
  16. return err
  17. }
  18. id, err := exec.LastInsertId()
  19. if err != nil {
  20. return err
  21. }
  22. p.Id = uint(id)
  23. return nil
  24. }
  25. func (p *Pic) GetAll() (pics []Pic, err error) {
  26. db := common.DB
  27. sqlStr := "SELECT * FROM pics"
  28. err = db.Select(&pics, sqlStr)
  29. return
  30. }
  31. func (p *Pic) Delete() error {
  32. db := common.DB
  33. sqlStr := "DELETE FROM pics WHERE id = ?"
  34. _, err := db.Exec(sqlStr)
  35. return err
  36. }
  37. func (p *Pic) GetPaged(page, pageSize int) (rsp response.PageResponse, err error) {
  38. var pics []Pic
  39. db := common.DB
  40. sqlStr := "SELECT * FROM pics LIMIT ?,?"
  41. rsp.Page = page
  42. rsp.PageSize = pageSize
  43. err = db.Select(&pics, sqlStr, (page-1)*pageSize, pageSize)
  44. rsp.Data = pics
  45. return
  46. }
  47. func (p *Pic) GetCnt() (cnt int, err error) {
  48. db := common.DB
  49. sqlStr := "SELECT COUNT(1) FROM pics"
  50. err = db.Get(&cnt, sqlStr)
  51. return
  52. }