pic.go 1.3 KB

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