12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- package model
- import (
- "trading-go/common"
- "trading-go/util"
- )
- type Relation struct {
- Id uint `db:"id"`
- Owner uint `db:"owner"`
- Target uint `db:"target"`
- Type int `db:"type"`
- }
- type RelationJson struct {
- Owner uint `json:"owner"`
- Target uint `json:"target"`
- Type int `json:"type"`
- }
- func (r RelationJson) Change() Relation {
- return Relation{
- Owner: r.Owner,
- Target: r.Target,
- Type: r.Type,
- }
- }
- func (r Relation) Creat() error {
- db := common.DB
- sqlStr := "INSERT INTO relations(owner, target, type) VALUES (:owner, :target, :type)"
- rows, err := db.NamedExec(sqlStr, r)
- if err != nil {
- return err
- }
- affected, err := rows.RowsAffected()
- if affected != 1 {
- return util.InsertFailError
- }
- return err
- }
- func (r Relation) Friend(uid int) ([]int64, error) {
- var friends []int64
- db := common.DB
- sqlStr := "SELECT target From relations WHERE owner = ? AND type = 1"
- err := db.Select(&friends, sqlStr, uid)
- return friends, err
- }
- func (r Relation) BadRelation(uid int) ([]int64, error) {
- var badRelation []int64
- db := common.DB
- sqlStr := "SELECT target From relations WHERE owner = ? AND type = 2"
- err := db.Select(&badRelation, sqlStr, uid)
- return badRelation, err
- }
- func (r Relation) DRelation() error {
- db := common.DB
- sqlStr := "DELETE FROM relations WHERE id = ?"
- _, err := db.Exec(sqlStr, r.Id)
- return err
- }
|