70 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package system
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 	"time"
 | |
| 
 | |
| 	"management/internal/db/model/dto"
 | |
| 	db "management/internal/db/sqlc"
 | |
| )
 | |
| 
 | |
| type AuditBiz interface {
 | |
| 	Create(ctx context.Context, arg *db.CreateSysAuditLogParams) error
 | |
| 	List(ctx context.Context, q dto.SearchDto) ([]*db.SysAuditLog, int64, error)
 | |
| }
 | |
| 
 | |
| type auditBiz struct {
 | |
| 	store db.Store
 | |
| }
 | |
| 
 | |
| var _ AuditBiz = (*auditBiz)(nil)
 | |
| 
 | |
| func NewAudit(store db.Store) *auditBiz {
 | |
| 	return &auditBiz{
 | |
| 		store: store,
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (b *auditBiz) Create(ctx context.Context, arg *db.CreateSysAuditLogParams) error {
 | |
| 	return b.store.CreateSysAuditLog(ctx, arg)
 | |
| }
 | |
| 
 | |
| func (b *auditBiz) List(ctx context.Context, q dto.SearchDto) ([]*db.SysAuditLog, int64, error) {
 | |
| 	start, err := time.ParseInLocation(time.DateTime, q.SearchTimeBegin, time.Local)
 | |
| 	if err != nil {
 | |
| 		return nil, 0, err
 | |
| 	}
 | |
| 	end, err := time.ParseInLocation(time.DateTime, q.SearchTimeEnd, time.Local)
 | |
| 	if err != nil {
 | |
| 		return nil, 0, err
 | |
| 	}
 | |
| 
 | |
| 	countArg := &db.CountSysAuditLogConditionParams{
 | |
| 		StartAt:  start,
 | |
| 		EndAt:    end,
 | |
| 		Email:    q.SearchEmail,
 | |
| 		Username: q.SearchName,
 | |
| 	}
 | |
| 
 | |
| 	dataArg := &db.ListSysAuditLogConditionParams{
 | |
| 		StartAt:  start,
 | |
| 		EndAt:    end,
 | |
| 		Email:    q.SearchEmail,
 | |
| 		Username: q.SearchName,
 | |
| 		Skip:     (int32(q.Page) - 1) * int32(q.Rows),
 | |
| 		Size:     int32(q.Rows),
 | |
| 	}
 | |
| 
 | |
| 	count, err := b.store.CountSysAuditLogCondition(ctx, countArg)
 | |
| 	if err != nil {
 | |
| 		return nil, 0, err
 | |
| 	}
 | |
| 
 | |
| 	audits, err := b.store.ListSysAuditLogCondition(ctx, dataArg)
 | |
| 	if err != nil {
 | |
| 		return nil, 0, err
 | |
| 	}
 | |
| 
 | |
| 	return audits, count, nil
 | |
| }
 |