watermark.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package watermark
  2. import (
  3. "context"
  4. "database/sql"
  5. "go-common/app/interface/main/creative/model/watermark"
  6. "go-common/library/log"
  7. )
  8. const (
  9. // insert
  10. _inWmSQL = "INSERT IGNORE INTO watermark (mid,uname,state,type,position,url,info,md5,ctime,mtime) VALUES (?,?,?,?,?,?,?,?,?,?)"
  11. // update
  12. _upWmSQL = "UPDATE watermark SET mid=?,uname=?,state=?,type=?,position=?,url=?,info=?,md5=?,mtime=? WHERE id=?"
  13. // select
  14. _getWmSQL = "SELECT id,mid,uname,state,type,position,url,info,md5,ctime,mtime FROM watermark WHERE mid=?"
  15. )
  16. // AddWaterMark create watermark.
  17. func (d *Dao) AddWaterMark(c context.Context, w *watermark.Watermark) (id int64, err error) {
  18. res, err := d.db.Exec(c, _inWmSQL, w.MID, w.Uname, w.State, w.Ty, w.Pos, w.URL, w.Info, w.MD5, w.CTime, w.MTime)
  19. if err != nil {
  20. log.Error("d.db.Exec(%d) error(%v)", w.MID, err)
  21. return
  22. }
  23. id, err = res.LastInsertId()
  24. return
  25. }
  26. // UpWaterMark update watermark info.
  27. func (d *Dao) UpWaterMark(c context.Context, w *watermark.Watermark) (rows int64, err error) {
  28. res, err := d.db.Exec(c, _upWmSQL, w.MID, w.Uname, w.State, w.Ty, w.Pos, w.URL, w.Info, w.MD5, w.MTime, w.ID)
  29. if err != nil {
  30. log.Error("d.db.Exec(%d) error(%v)", w.MID, err)
  31. return
  32. }
  33. rows, err = res.RowsAffected()
  34. return
  35. }
  36. // WaterMark get watermark.
  37. func (d *Dao) WaterMark(c context.Context, mid int64) (w *watermark.Watermark, err error) {
  38. row := d.db.QueryRow(c, _getWmSQL, mid)
  39. w = &watermark.Watermark{}
  40. if err = row.Scan(&w.ID, &w.MID, &w.Uname, &w.State, &w.Ty, &w.Pos, &w.URL, &w.Info, &w.MD5, &w.CTime, &w.MTime); err != nil {
  41. if err == sql.ErrNoRows {
  42. w = nil
  43. err = nil
  44. } else {
  45. log.Error("row.Scan error(%v)", err)
  46. }
  47. return
  48. }
  49. return
  50. }