fix: 修复域能相关数据表缺失及首次查询报错
- AutoMigrate 添加 EnergyLog、PostEnergizeLog、DailyExpSummary 三张表 - GetDailyEnergizeExp 无记录时返回 nil, nil 而非 gorm.ErrRecordNotFound - 调用方增加 summary nil 检查,防止空指针
This commit is contained in:
@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user