feat: 修改当前点赞逻辑

This commit is contained in:
zerosaturation 2026-05-20 13:21:00 +08:00
parent 02598db333
commit 0d1631263e

View File

@ -152,16 +152,18 @@ func (s *AssetLikeService) LikeAsset(ctx context.Context, assetID, userID, starI
// 3. 开启事务 // 3. 开启事务
err = s.db.Transaction(func(tx *gorm.DB) error { err = s.db.Transaction(func(tx *gorm.DB) error {
// 3.1 创建点赞记录 // 3.1 创建点赞记录(包含 exhibition_id
like := &models.AssetLike{ like := &models.AssetLike{
AssetID: assetID, AssetID: assetID,
UserID: userID, UserID: userID,
StarID: starID, StarID: starID,
ExhibitionID: exhibitionID,
} }
if err := tx.Create(like).Error; err != nil { if err := tx.Create(like).Error; err != nil {
logger.Logger.Error("Failed to create like record", logger.Logger.Error("Failed to create like record",
zap.Error(err), zap.Error(err),
zap.Int64("asset_id", assetID), zap.Int64("asset_id", assetID),
zap.Int64("exhibition_id", exhibitionID),
) )
// 唯一约束冲突 = 已经点赞过 // 唯一约束冲突 = 已经点赞过
if isUniqueConstraintViolation(err) { if isUniqueConstraintViolation(err) {