golang-yitisheng-server/server/modules/system/mapper/sys_user_mapper.go

44 lines
1.1 KiB
Go

// 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
}