appraise.go 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package model
  2. import (
  3. "trading-go/common"
  4. "trading-go/response"
  5. )
  6. type Appraise struct {
  7. Id uint `db:"id"`
  8. GoodsId uint `db:"goods_id"`
  9. BuyerId uint `db:"buyer_id"`
  10. Time uint `db:"time"`
  11. Content string `db:"content"`
  12. Star int `db:"star"`
  13. }
  14. type AppraiseJson struct {
  15. GoodsId uint `json:"goodsId"`
  16. BuyerId uint `json:"buyerId"`
  17. Time uint `json:"time"`
  18. Content string `json:"content"`
  19. Star int `json:"star"`
  20. }
  21. func (j AppraiseJson) Change() Appraise {
  22. return Appraise{
  23. GoodsId: j.GoodsId,
  24. BuyerId: j.BuyerId,
  25. Time: j.Time,
  26. Content: j.Content,
  27. Star: j.Star,
  28. }
  29. }
  30. func (a Appraise) Create() error {
  31. db := common.DB
  32. sqlStr := "INSERT INTO appraises(goods_id, buyer_id, time, content, star) VALUES(:goods_id, :buyer_id, :time, :content, :star)"
  33. _, err := db.NamedExec(sqlStr, a)
  34. return err
  35. }
  36. func (a Appraise) Delete() error {
  37. db := common.DB
  38. sqlStr := "DELETE FROM appraises WHERE id = ?"
  39. _, err := db.Exec(sqlStr, a.Id)
  40. return err
  41. }
  42. func (a Appraise) Revise() error {
  43. db := common.DB
  44. sqlStr := "UPDATE appraises SET time = ?, content = ?, star = ? WHERE id = ?"
  45. _, err := db.Exec(sqlStr, a.Time, a.Content, a.Star, a.Id)
  46. return err
  47. }
  48. func (a Appraise) GetOwn() (appraises []Appraise, err error) {
  49. db := common.DB
  50. sqlStr := "SELECT * FROM appraises WHERE buyer_id = ?"
  51. err = db.Select(&appraises, sqlStr, a.BuyerId)
  52. return
  53. }
  54. func (a Appraise) GetPaged(page, pageSize int) (rsp response.PageResponse, err error) {
  55. var apps []Appraise
  56. db := common.DB
  57. sqlStr := "SELECT * FROM appraises LIMIT ?,?"
  58. rsp.Page = page
  59. rsp.PageSize = pageSize
  60. err = db.Select(&apps, sqlStr, (page-1)*pageSize, pageSize)
  61. rsp.Data = apps
  62. return
  63. }
  64. func (a Appraise) GetCnt() (cnt int, err error) {
  65. db := common.DB
  66. sqlStr := "SELECT COUNT(1) FROM appraises"
  67. err = db.Get(&cnt, sqlStr)
  68. return
  69. }