orders.go 2.0 KB

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