Quellcode durchsuchen

feat(log): 添加日志模块的 handler、model、repository 和 service- 新增 LogHandler 结构体和 GetLog 方法
- 创建 Log 模型并定义日志表结构
- 实现 LogRepository接口和相关方法
- 添加 LogService 接口和实现类

fusu vor 3 Wochen
Ursprung
Commit
5e7c897ee7
4 geänderte Dateien mit 125 neuen und 0 gelöschten Zeilen
  1. 25 0
      internal/handler/log.go
  2. 17 0
      internal/model/log.go
  3. 38 0
      internal/repository/log.go
  4. 45 0
      internal/service/log.go

+ 25 - 0
internal/handler/log.go

@@ -0,0 +1,25 @@
+package handler
+
+import (
+	"github.com/gin-gonic/gin"
+	"github.com/go-nunu/nunu-layout-advanced/internal/service"
+)
+
+type LogHandler struct {
+	*Handler
+	logService service.LogService
+}
+
+func NewLogHandler(
+    handler *Handler,
+    logService service.LogService,
+) *LogHandler {
+	return &LogHandler{
+		Handler:      handler,
+		logService: logService,
+	}
+}
+
+func (h *LogHandler) GetLog(ctx *gin.Context) {
+
+}

+ 17 - 0
internal/model/log.go

@@ -0,0 +1,17 @@
+package model
+
+import "time"
+
+type Log struct {
+	Id          int64
+	Uid         int64
+	HostId          int64
+	Action      string
+	Operate         string
+	CreatedAt   time.Time
+	UpdatedAt	time.Time
+}
+
+func (m *Log) TableName() string {
+    return "shd_waf_log"
+}

+ 38 - 0
internal/repository/log.go

@@ -0,0 +1,38 @@
+package repository
+
+import (
+    "context"
+	"github.com/go-nunu/nunu-layout-advanced/internal/model"
+)
+
+type LogRepository interface {
+	GetLog(ctx context.Context, id int64) (*model.Log, error)
+	AddLog(ctx context.Context, log *model.Log) error
+	EditLog(ctx context.Context, log *model.Log) error
+}
+
+func NewLogRepository(
+	repository *Repository,
+) LogRepository {
+	return &logRepository{
+		Repository: repository,
+	}
+}
+
+type logRepository struct {
+	*Repository
+}
+
+func (r *logRepository) GetLog(ctx context.Context, id int64) (*model.Log, error) {
+	var log model.Log
+
+	return &log, nil
+}
+
+func (r *logRepository) AddLog(ctx context.Context, log *model.Log) error {
+	return r.DB(ctx).Create(log).Error
+}
+
+func (r *logRepository) EditLog(ctx context.Context, log *model.Log) error {
+	return r.DB(ctx).Updates(log).Error
+}

+ 45 - 0
internal/service/log.go

@@ -0,0 +1,45 @@
+package service
+
+import (
+    "context"
+	"github.com/go-nunu/nunu-layout-advanced/internal/model"
+	"github.com/go-nunu/nunu-layout-advanced/internal/repository"
+)
+
+type LogService interface {
+	GetLog(ctx context.Context, id int64) (*model.Log, error)
+	AddLog(ctx context.Context, log *model.Log) error
+	EditLog(ctx context.Context, log *model.Log) error
+}
+func NewLogService(
+    service *Service,
+    logRepository repository.LogRepository,
+) LogService {
+	return &logService{
+		Service:        service,
+		logRepository: logRepository,
+	}
+}
+
+type logService struct {
+	*Service
+	logRepository repository.LogRepository
+}
+
+func (s *logService) GetLog(ctx context.Context, id int64) (*model.Log, error) {
+	return s.logRepository.GetLog(ctx, id)
+}
+
+func (s *logService) AddLog(ctx context.Context, log *model.Log) error {
+	if err := s.logRepository.AddLog(ctx, log); err != nil {
+		return err
+	}
+	return nil
+}
+
+func (s *logService) EditLog(ctx context.Context, log *model.Log) error {
+	if err := s.logRepository.EditLog(ctx, log); err != nil {
+		return err
+	}
+	return nil
+}