From d85a799d0bca3b3a0e5e990638fcc45f94ca02fe Mon Sep 17 00:00:00 2001 From: Tao Chen Date: Sat, 2 Nov 2024 08:24:07 +0800 Subject: [PATCH] set user_id=0 at peers, when the user is deleted --- service/peer.go | 5 +++++ service/user.go | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/service/peer.go b/service/peer.go index 2876874..b4eefc8 100644 --- a/service/peer.go +++ b/service/peer.go @@ -58,6 +58,11 @@ func (ps *PeerService) UuidUnbindUserId(uuid string, userId uint) { } } +// EraseUserId 清除用户id, 用于用户删除 +func (ps *PeerService) EraseUserId(userId uint) error { + return global.DB.Model(&model.Peer{}).Where("user_id = ?", userId).Update("user_id", 0).Error +} + // ListByUserIds 根据用户id取列表 func (ps *PeerService) ListByUserIds(userIds []uint, page, pageSize uint) (res *model.PeerList) { res = &model.PeerList{} diff --git a/service/user.go b/service/user.go index 7859764..56e1ae1 100644 --- a/service/user.go +++ b/service/user.go @@ -207,6 +207,11 @@ func (us *UserService) Delete(u *model.User) error { return err } tx.Commit() + // 删除关联的peer + if err := AllService.PeerService.EraseUserId(u.Id); err != nil { + tx.Rollback() + return err + } return nil }