|
@@ -65,13 +65,13 @@ func FollowAnalystsByName(userId int, analysts []UserAnalystFollowList, followTy
|
|
|
if errors.Is(err, gorm.ErrRecordNotFound) {
|
|
|
err = db.Create(&analyst).Error
|
|
|
} else {
|
|
|
- if analyst.Followed == Unfollowed {
|
|
|
+ if dbFollow.Followed == Unfollowed {
|
|
|
analyst.ID = dbFollow.ID
|
|
|
analyst.CreatedTime = dbFollow.CreatedTime
|
|
|
analyst.FollowedTime = dbFollow.FollowedTime
|
|
|
analyst.FollowedTime = time.Now()
|
|
|
+ err = db.Updates(&analyst).Error
|
|
|
}
|
|
|
- err = db.Updates(&analyst).Error
|
|
|
}
|
|
|
if err != nil {
|
|
|
tx.Rollback()
|
|
@@ -88,9 +88,12 @@ func FollowAnalystsByName(userId int, analysts []UserAnalystFollowList, followTy
|
|
|
if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) {
|
|
|
return
|
|
|
}
|
|
|
- if errors.Is(err, gorm.ErrRecordNotFound) || analyst.Followed == Unfollowed {
|
|
|
+ if errors.Is(err, gorm.ErrRecordNotFound) || dbFollow.Followed == Unfollowed {
|
|
|
continue
|
|
|
} else {
|
|
|
+ analyst.ID = dbFollow.ID
|
|
|
+ analyst.CreatedTime = dbFollow.CreatedTime
|
|
|
+ analyst.FollowedTime = dbFollow.FollowedTime
|
|
|
err = db.Updates(&analyst).Error
|
|
|
}
|
|
|
if err != nil {
|
|
@@ -100,10 +103,12 @@ func FollowAnalystsByName(userId int, analysts []UserAnalystFollowList, followTy
|
|
|
}
|
|
|
tx.Commit()
|
|
|
}
|
|
|
+ if errors.Is(err, gorm.ErrRecordNotFound) {
|
|
|
+ err = nil
|
|
|
+ }
|
|
|
return
|
|
|
}
|
|
|
-func CheckFollowStatusByNames(userId int, names []string) (list []FollowStatus, err error) {
|
|
|
- var result []FollowStatus
|
|
|
+func CheckFollowStatusByNames(userId int, names []string) (result []FollowStatus, err error) {
|
|
|
db := models.Main()
|
|
|
var followingList []UserAnalystFollowList
|
|
|
err = db.Select(FollowingStatusColumns).Where("user_id = ? and followed = ? and financial_analyst_name in ?", userId, Following, names).Find(&followingList).Error
|