Files
2022-01-20 17:22:05 +08:00

43 lines
1009 B
Go

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 收藏发起
func (c *Collect) Launch(kind int, objectID uint64) (bool, error) {
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 {
return false, err
}
if isExist {
return false, model2.Delete(mUserCollect.UserCollect)
}
mUserCollect.UID = c.UID
mUserCollect.Kind = model2.UserCollectKind(kind)
mUserCollect.ObjectID = objectID
return true, model2.Create(mUserCollect.UserCollect)
}
func NewCollect() CollectHandle {
return func(session *session.Enterprise) *Collect {
return &Collect{session}
}
}