package model import ( "trading-go/common" "trading-go/response" ) type Pic struct { Id uint `db:"id"` Url string `db:"url"` GoodsId uint `db:"goods_id"` } func (p *Pic) Save(uid uint, pics []string) error { db := common.DB sqlStr := "INSERT INTO pics(url, goods_id) VALUES (?, ?)" for _, pic := range pics { _, err := db.Exec(sqlStr, uid, pic) if err != nil { return err } } return nil } func (p *Pic) GetAll() (pics []Pic, err error) { db := common.DB sqlStr := "SELECT * FROM pics" err = db.Select(&pics, sqlStr) return } func (p *Pic) Delete() error { db := common.DB sqlStr := "DELETE FROM pics WHERE id = ?" _, err := db.Exec(sqlStr) return err } func (p *Pic) GetPaged(page, pageSize int) (rsp response.PageResponse, err error) { var pics []Pic db := common.DB sqlStr := "SELECT * FROM pics LIMIT ?,?" rsp.Page = page rsp.PageSize = pageSize err = db.Select(&pics, sqlStr, (page-1)*pageSize, pageSize) rsp.Data = pics return } func (p *Pic) GetCnt() (cnt int, err error) { db := common.DB sqlStr := "SELECT COUNT(1) FROM pics" err = db.Get(&cnt, sqlStr) return } func (p *Pic) GetGoodsPic(id uint) (pics []string, err error) { db := common.DB sqlStr := "SELECT url FROM pics WHERE goods_id = ?" err = db.Select(&pics, sqlStr, id) return }