relation.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package model
  2. import (
  3. "trading-go/common"
  4. "trading-go/util"
  5. )
  6. type Relation struct {
  7. Id uint `db:"id"`
  8. Owner uint `db:"owner"`
  9. Target uint `db:"target"`
  10. Type int `db:"type"`
  11. }
  12. type RelationJson struct {
  13. Owner uint `json:"owner"`
  14. Target uint `json:"target"`
  15. Type int `json:"type"`
  16. }
  17. func (r Relation) Creat() error {
  18. db := common.DB
  19. sqlStr := "INSERT INTO relations(owner, target, type) VALUES (:onwer, :target, :type)"
  20. rows, err := db.NamedExec(sqlStr, r)
  21. if err != nil {
  22. return err
  23. }
  24. affected, err := rows.RowsAffected()
  25. if affected != 1 {
  26. return util.InsertFailError
  27. }
  28. return err
  29. }
  30. func (r Relation) Friend(uid int) ([]int64, error) {
  31. var friends []int64
  32. db := common.DB
  33. sqlStr := "SELECT target From relations WHERE onwer = ? AND type = 1"
  34. err := db.Select(&friends, sqlStr, uid)
  35. return friends, err
  36. }
  37. func (r Relation) BadRelation(uid int) ([]int64, error) {
  38. var badRelation []int64
  39. db := common.DB
  40. sqlStr := "SELECT target From relations WHERE onwer = ? AND type = 2"
  41. err := db.Select(&badRelation, sqlStr, uid)
  42. return badRelation, err
  43. }
  44. func (r Relation) DRelation() error {
  45. db := common.DB
  46. sqlStr := "DELETE FROM relations WHERE id = ?"
  47. _, err := db.Exec(sqlStr, r.Id)
  48. return err
  49. }