44 lines
1.1 KiB
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
|
|
}
|