fix: 修复域能相关数据表缺失及首次查询报错

- AutoMigrate 添加 EnergyLog、PostEnergizeLog、DailyExpSummary 三张表
- GetDailyEnergizeExp 无记录时返回 nil, nil 而非 gorm.ErrRecordNotFound
- 调用方增加 summary nil 检查,防止空指针
This commit is contained in:
2026-06-01 12:40:30 +08:00
parent 8cadd19253
commit 52f4e95414
3 changed files with 8 additions and 3 deletions

View File

@ -1,6 +1,7 @@
package repository
import (
"errors"
"time"
"metazone.cc/metalab/internal/model"
@ -80,9 +81,13 @@ func (r *EnergyRepo) CreateEnergizeLog(log *model.PostEnergizeLog) error {
}
// GetDailyEnergizeExp 获取用户当日通过赋能获得的经验值
// 无记录时返回 nil, nil调用方当作 exp=0 处理)
func (r *EnergyRepo) GetDailyEnergizeExp(userID uint, date time.Time) (*model.DailyExpSummary, error) {
var s model.DailyExpSummary
err := r.db.Where("user_id = ? AND date = ?", userID, date).First(&s).Error
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, nil
}
if err != nil {
return nil, err
}