Files

43 lines
1009 B
Go
Raw Normal View History

2021-12-27 13:39:17 +08:00
package user
import (
"SciencesServer/app/api/website/model"
model2 "SciencesServer/app/common/model"
"SciencesServer/app/session"
)
type Collect struct {
*session.Enterprise
}
type CollectHandle func(session *session.Enterprise) *Collect
// Launch 收藏发起
2022-01-20 17:22:05 +08:00
func (c *Collect) Launch(kind int, objectID uint64) (bool, error) {
2021-12-27 13:39:17 +08:00
mUserCollect := model.NewUserCollect()
where := []*model2.ModelWhere{
model2.NewWhere("uid", c.UID),
model2.NewWhere("kind", kind),
model2.NewWhere("object_id", objectID),
}
isExist, err := model2.FirstField(mUserCollect.UserCollect, []string{"id"}, where...)
if err != nil {
2022-01-20 17:22:05 +08:00
return false, err
2021-12-27 13:39:17 +08:00
}
if isExist {
2022-01-20 17:22:05 +08:00
return false, model2.Delete(mUserCollect.UserCollect)
2021-12-27 13:39:17 +08:00
}
mUserCollect.UID = c.UID
mUserCollect.Kind = model2.UserCollectKind(kind)
mUserCollect.ObjectID = objectID
2022-01-20 17:22:05 +08:00
return true, model2.Create(mUserCollect.UserCollect)
2021-12-27 13:39:17 +08:00
}
func NewCollect() CollectHandle {
return func(session *session.Enterprise) *Collect {
return &Collect{session}
}
}