shanshanzhong c582087c0f refactor: 更新项目引用路径从perfect-panel/ppanel-server到perfect-panel/server
feat: 添加版本和构建时间变量
fix: 修正短信队列类型注释错误
style: 清理未使用的代码和测试文件
docs: 更新安装文档中的下载链接
chore: 迁移数据库脚本添加日志和订阅配置
2025-10-13 01:33:03 -07:00

56 lines
1.2 KiB
Go

package log
import (
"context"
"gorm.io/gorm"
)
var _ Model = (*customSystemLogModel)(nil)
type (
Model interface {
systemLogModel
customSystemLogLogicModel
}
systemLogModel interface {
Insert(ctx context.Context, data *SystemLog) error
FindOne(ctx context.Context, id int64) (*SystemLog, error)
Update(ctx context.Context, data *SystemLog) error
Delete(ctx context.Context, id int64) error
}
customSystemLogModel struct {
*defaultLogModel
}
defaultLogModel struct {
*gorm.DB
}
)
func newSystemLogModel(db *gorm.DB) *defaultLogModel {
return &defaultLogModel{
DB: db,
}
}
func (m *defaultLogModel) Insert(ctx context.Context, data *SystemLog) error {
return m.WithContext(ctx).Create(data).Error
}
func (m *defaultLogModel) FindOne(ctx context.Context, id int64) (*SystemLog, error) {
var log SystemLog
err := m.WithContext(ctx).Where("id = ?", id).First(&log).Error
if err != nil {
return nil, err
}
return &log, nil
}
func (m *defaultLogModel) Update(ctx context.Context, data *SystemLog) error {
return m.WithContext(ctx).Where("`id` = ?", data.Id).Save(data).Error
}
func (m *defaultLogModel) Delete(ctx context.Context, id int64) error {
return m.WithContext(ctx).Where("`id` = ?", id).Delete(&SystemLog{}).Error
}