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} } }