31 lines
812 B
Go
31 lines
812 B
Go
|
package model
|
||
|
|
||
|
func CreateAnimalLikeFactory(sqlType string) *AnimalLike {
|
||
|
return &AnimalLike{BaseModel: BaseModel{DB: UseDbConn(sqlType)}}
|
||
|
}
|
||
|
|
||
|
type AnimalLike struct {
|
||
|
BaseModel
|
||
|
UsersModelId int `gorm:"column:user_id" json:"user_id"`
|
||
|
UsersModel UsersModel
|
||
|
AnimalId int `gorm:"column:animal_id" json:"animal_id"`
|
||
|
Animal Animal
|
||
|
DeletedAt
|
||
|
}
|
||
|
|
||
|
func (a *AnimalLike) Create(userId, animalId int) bool {
|
||
|
a.UsersModelId = userId
|
||
|
a.AnimalId = animalId
|
||
|
|
||
|
a.Unscoped().Where("animal_id = ? AND user_id = ?", a.AnimalId, a.UsersModelId).First(a)
|
||
|
a.IsDel = 0
|
||
|
return a.Save(a).Error == nil
|
||
|
}
|
||
|
|
||
|
func (a *AnimalLike) SoftDelete(userId, animalId int) bool {
|
||
|
a.UsersModelId = userId
|
||
|
|
||
|
a.Unscoped().Where("animal_id = ? AND user_id = ?", a.AnimalId, a.UsersModelId).First(a)
|
||
|
return a.Delete(a).Error == nil
|
||
|
}
|