Version: 0.1.3.dev.260208

refactor: ♻️ 重命名部分接口接收器以避免与 dao 层包名冲突

- 调整部分接口接收器命名,避免与 dao 层包名重名 🧩

feat: 📅 新增获取用户今日日程接口并完成实现

fix: 🐛 修复现实日期与相对日期转换逻辑中的初始化时序问题

- 修复 conv/time.go 中日期转换函数的一个 bug ⏱️
- 解决 viper 在包级变量初始化时机过早的问题
- 避免因过早初始化导致无法读取配置中的学期开学/结束时间 📆
This commit is contained in:
LoveLosita
2026-02-08 19:09:40 +08:00
parent 75a44f2edd
commit 79b6be5f40
12 changed files with 391 additions and 28 deletions

View File

@@ -29,7 +29,7 @@ func (r *UserDAO) WithTx(tx *gorm.DB) *UserDAO {
// Create 创建新用户
// 插入新用户信息到数据库
func (dao *UserDAO) Create(username, phoneNumber, password string) (*model.User, error) {
func (r *UserDAO) Create(username, phoneNumber, password string) (*model.User, error) {
// 创建User实例
user := &model.User{
Username: username,
@@ -41,15 +41,15 @@ func (dao *UserDAO) Create(username, phoneNumber, password string) (*model.User,
}
// 插入数据
if err := dao.db.Create(user).Error; err != nil {
if err := r.db.Create(user).Error; err != nil {
return nil, err
}
return user, nil
}
func (dao *UserDAO) IfUsernameExists(name string) (bool, error) {
err := dao.db.Where("username = ?", name).First(&model.User{}).Error
func (r *UserDAO) IfUsernameExists(name string) (bool, error) {
err := r.db.Where("username = ?", name).First(&model.User{}).Error
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
return false, nil
@@ -59,20 +59,29 @@ func (dao *UserDAO) IfUsernameExists(name string) (bool, error) {
return true, nil
}
func (dao *UserDAO) GetUserHashedPasswordByName(name string) (string, error) {
func (r *UserDAO) GetUserHashedPasswordByName(name string) (string, error) {
var user model.User
err := dao.db.Where("username = ?", name).First(&user).Error
err := r.db.Where("username = ?", name).First(&user).Error
if err != nil {
return "", err
}
return user.Password, nil
}
func (dao *UserDAO) GetUserIDByName(name string) (int, error) {
func (r *UserDAO) GetUserIDByName(name string) (int, error) {
var user model.User
err := dao.db.Where("username = ?", name).First(&user).Error
err := r.db.Where("username = ?", name).First(&user).Error
if err != nil {
return -1, err
}
return int(user.ID), nil
}
func (r *UserDAO) GetUserByID(id int) (*model.User, error) {
var user model.User
err := r.db.Where("id = ?", id).First(&user).Error
if err != nil {
return nil, err
}
return &user, nil
}