1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- package model
- import (
- "trading-go/common"
- "trading-go/response"
- "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
- }
- func (r Relation) GetPaged(page, pageSize int) (rsp response.PageResponse, err error) {
- var relations []Relation
- db := common.DB
- sqlStr := "SELECT * FROM relations LIMIT ?,?"
- rsp.Page = page
- rsp.PageSize = pageSize
- err = db.Select(&relations, sqlStr, (page-1)*pageSize, pageSize)
- rsp.Data = relations
- return
- }
- func (r Relation) GetCnt() (cnt int, err error) {
- db := common.DB
- sqlStr := "SELECT COUNT(1) FROM relations"
- err = db.Get(&cnt, sqlStr)
- return
- }
|