mirror of
				https://github.com/linux-do/new-api.git
				synced 2025-11-04 13:23:42 +08:00 
			
		
		
		
	修复不能删除注销用户的问题
This commit is contained in:
		@@ -37,7 +37,15 @@ type User struct {
 | 
			
		||||
// CheckUserExistOrDeleted check if user exist or deleted, if not exist, return false, nil, if deleted or exist, return true, nil
 | 
			
		||||
func CheckUserExistOrDeleted(username string, email string) (bool, error) {
 | 
			
		||||
	var user User
 | 
			
		||||
	err := DB.Unscoped().First(&user, "username = ? or email = ?", username, email).Error
 | 
			
		||||
 | 
			
		||||
	// err := DB.Unscoped().First(&user, "username = ? or email = ?", username, email).Error
 | 
			
		||||
	// check email if empty
 | 
			
		||||
	var err error
 | 
			
		||||
	if email == "" {
 | 
			
		||||
		err = DB.Unscoped().First(&user, "username = ?", username).Error
 | 
			
		||||
	} else {
 | 
			
		||||
		err = DB.Unscoped().First(&user, "username = ? or email = ?", username, email).Error
 | 
			
		||||
	}
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		if errors.Is(err, gorm.ErrRecordNotFound) {
 | 
			
		||||
			// not exist, return false, nil
 | 
			
		||||
@@ -208,6 +216,14 @@ func (user *User) Delete() error {
 | 
			
		||||
	return err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (user *User) HardDelete() error {
 | 
			
		||||
	if user.Id == 0 {
 | 
			
		||||
		return errors.New("id 为空!")
 | 
			
		||||
	}
 | 
			
		||||
	err := DB.Unscoped().Delete(user).Error
 | 
			
		||||
	return err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ValidateAndFill check password & user status
 | 
			
		||||
func (user *User) ValidateAndFill() (err error) {
 | 
			
		||||
	// When querying with struct, GORM will only query with non-zero fields,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user