// Package mapper 数据访问层 package mapper import ( "server/common" "server/modules/system/entity" "gorm.io/gorm" ) type SysUserMapper struct { *common.BaseMapper[entity.SysUser] } func NewSysUserMapper() *SysUserMapper { return &SysUserMapper{ BaseMapper: common.NewBaseMapper[entity.SysUser](), } } // GetDB 获取数据库实例,添加逻辑删除过滤 func (m *SysUserMapper) GetDB() *gorm.DB { return m.BaseMapper.GetDB().Where("del_flag = 0") } // Delete 逻辑删除 func (m *SysUserMapper) Delete(id string) error { return m.BaseMapper.GetDB().Model(&entity.SysUser{}).Where("id = ?", id).Update("del_flag", 1).Error } // FindByUsername 根据用户名查找用户 func (m *SysUserMapper) FindByUsername(username string) (*entity.SysUser, error) { var item entity.SysUser err := m.GetDB().First(&item, "username = ?", username).Error return &item, err } // FindByPhone 根据手机号查找用户 func (m *SysUserMapper) FindByPhone(phone string) (*entity.SysUser, error) { var item entity.SysUser err := m.GetDB().First(&item, "phone = ?", phone).Error return &item, err }